@vellumai/web 0.11.6 → 0.11.7-staging.2

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 (735) hide show
  1. package/dist/assets/{a2a-invite-Dcxf1Lse.js → a2a-invite-CalxmT9U.js} +1 -1
  2. package/dist/assets/about-page-oelEgoKN.js +1 -0
  3. package/dist/assets/account-page-DoWCrccl.js +1 -0
  4. package/dist/assets/account-shell-D6h6YPdW.js +1 -0
  5. package/dist/assets/acp-run-detail-panel-BqBDl6QB.js +5 -0
  6. package/dist/assets/activity-steps-panel-C5Nlm1Ax.js +1 -0
  7. package/dist/assets/add-credits-modal-Clc-YWYG.js +1 -0
  8. package/dist/assets/ai-page-DtRit5K4.js +1 -0
  9. package/dist/assets/android-billing-handoff-D6KkZQcR.js +1 -0
  10. package/dist/assets/api-key-screen-BWXzfFaa.js +1 -0
  11. package/dist/assets/app-info-BzVdvgJM.js +1 -0
  12. package/dist/assets/archive-redirect-page-DD3q7S_q.js +1 -0
  13. package/dist/assets/assistant-status-panel-i2Q5Ng1C.js +1 -0
  14. package/dist/assets/auth-welcome-screen-ghh-qFOz.js +1 -0
  15. package/dist/assets/avatar-random-BEjqLOzH.js +1 -0
  16. package/dist/assets/background-task-detail-panel-igcj1myW.js +1 -0
  17. package/dist/assets/billing-page-BtVWtaxz.js +3 -0
  18. package/dist/assets/billing-redirect-page-DaIhDbvM.js +1 -0
  19. package/dist/assets/bookmarks-page-CvCqY1u_.js +1 -0
  20. package/dist/assets/{build.umd-DjyW4NzX.js → build.umd-CJjt7Lfj.js} +1 -1
  21. package/dist/assets/bundle-confirm-page-DuW3Ltpg.js +1 -0
  22. package/dist/assets/channel-transcript-panel-C5dxI2kC.js +1 -0
  23. package/dist/assets/channels-Dv8-4WT6.js +9 -0
  24. package/dist/assets/channels-NP4ODNxS.js +9 -0
  25. package/dist/assets/channels-page-route-CaZZgVvj.js +1 -0
  26. package/dist/assets/chat-CuSRAhBb.js +3 -0
  27. package/dist/assets/{chat-4LXYoAUR.js → chat-Dw-Xoh_r.js} +2 -2
  28. package/dist/assets/checkout-continuation-gyr3KRhJ.js +1 -0
  29. package/dist/assets/checkout-page-CpaWMY_L.js +1 -0
  30. package/dist/assets/checkout-return-target-uGUiSRvm.js +1 -0
  31. package/dist/assets/command-palette-Dqv1yvzc.js +1 -0
  32. package/dist/assets/command-palette-window-page-C4vKhArq.js +1 -0
  33. package/dist/assets/common-BZmEPLQq.js +1 -0
  34. package/dist/assets/common-wNADLj0r.js +1 -0
  35. package/dist/assets/community-page-xiwPgo2f.js +1 -0
  36. package/dist/assets/companion-layout-BgFk39Te.js +1 -0
  37. package/dist/assets/companion-surface-page-BE_GKIQH.js +1 -0
  38. package/dist/assets/connect-page-1WOW2Uyb.js +1 -0
  39. package/dist/assets/consent-controls-RsRyTWzn.js +1 -0
  40. package/dist/assets/contacts-DY80_acF.js +1 -0
  41. package/dist/assets/contacts-O_w2EdRt.js +1 -0
  42. package/dist/assets/contacts-gateway-aq64PPDs.js +1 -0
  43. package/dist/assets/contacts-page-route-fh_BygpY.js +1 -0
  44. package/dist/assets/credential-entry-page-CHyGUHNE.js +1 -0
  45. package/dist/assets/credentials-page-u4m5eB0e.js +1 -0
  46. package/dist/assets/{csv-preview-rpZix2b7.js → csv-preview-D1DFyAyk.js} +2 -2
  47. package/dist/assets/danger-zone-redirect-page-pm7xtA64.js +1 -0
  48. package/dist/assets/debug-page-BiRFASyO.js +4 -0
  49. package/dist/assets/deploy-dialogs-BQGFr3pp.js +1 -0
  50. package/dist/assets/detail-card-BTciodin.js +1 -0
  51. package/dist/assets/detail-drawer-svbxV7k9.js +1 -0
  52. package/dist/assets/detail-panel-stop-button-DvPi_A52.js +1 -0
  53. package/dist/assets/developer-page-YJ4ePRAY.js +1 -0
  54. package/dist/assets/devices-redirect-page-Bc3d-ANN.js +1 -0
  55. package/dist/assets/dictation-overlay-page-CV5-bWnC.js +1 -0
  56. package/dist/assets/diff-rows-DzBJ95DT.js +1 -0
  57. package/dist/assets/document-viewer-page-B9aeVcPf.js +1 -0
  58. package/dist/assets/ellipsis-vertical-npNyglhR.js +1 -0
  59. package/dist/assets/emails-page-DuxmJeBh.js +1 -0
  60. package/dist/assets/environment-store-Cb7OK6xz.js +1 -0
  61. package/dist/assets/esm-BFMxsKfC.js +2 -0
  62. package/dist/assets/esm-BWaPHKOl.js +2 -0
  63. package/dist/assets/esm-B_9x3_5A.js +2 -0
  64. package/dist/assets/esm-BmkPJcrm.js +1 -0
  65. package/dist/assets/esm-C8_GJq6u.js +1 -0
  66. package/dist/assets/esm-CvsVyyLL.js +2 -0
  67. package/dist/assets/esm-D8F0P9NS.js +1 -0
  68. package/dist/assets/esm-DLD7mc5e.js +2 -0
  69. package/dist/assets/esm-lFkAo6qR.js +2 -0
  70. package/dist/assets/file-editor-qyflOek_.js +1 -0
  71. package/dist/assets/folder-open-8sWiN1cw.js +1 -0
  72. package/dist/assets/format-countdown-Cge3iaM1.js +1 -0
  73. package/dist/assets/general-page-CplJ3sOI.js +1 -0
  74. package/dist/assets/hatching-screen-tqPPQDHG.js +1 -0
  75. package/dist/assets/home-page-route-CMsbxqsW.js +1 -0
  76. package/dist/assets/hosting-screen-7idZudJ8.js +1 -0
  77. package/dist/assets/icons-CSdHOix6.js +1 -0
  78. package/dist/assets/identity-page-route-C4EAb-ac.js +7 -0
  79. package/dist/assets/index-2ECSWhtU.css +2 -0
  80. package/dist/assets/index-7XDiAJ-A.js +357 -0
  81. package/dist/assets/inspect-page-DsXykArJ.js +9 -0
  82. package/dist/assets/integrations-page-CmMVSsvu.js +1 -0
  83. package/dist/assets/{intelligence-DNb2No5j.js → intelligence-DwVUW6jm.js} +1 -1
  84. package/dist/assets/{intelligence-cL2kPl3v.js → intelligence-JlruxYAh.js} +1 -1
  85. package/dist/assets/intelligence-layout-DKknlxHu.js +1 -0
  86. package/dist/assets/keyboard-shortcuts-redirect-page-CFu5x117.js +1 -0
  87. package/dist/assets/{latest-assistant-text-DCyUvxgH.js → latest-assistant-text-CVRVSoFg.js} +2 -2
  88. package/dist/assets/library-detail-page-CKFkI0QY.js +1 -0
  89. package/dist/assets/library-page-dIrR1lib.js +1 -0
  90. package/dist/assets/login-page-Bca-1DK6.js +1 -0
  91. package/dist/assets/logout-page-BzAORi0q.js +1 -0
  92. package/dist/assets/logs-layout-BsqrLQee.js +1 -0
  93. package/dist/assets/markdown-preview-DLXGytZI.js +1 -0
  94. package/dist/assets/media-preview-daMlnyj8.js +1 -0
  95. package/dist/assets/memory-page-route-CX1I7izG.js +2 -0
  96. package/dist/assets/memory-router-playground-page-Mk3rfyGO.js +1 -0
  97. package/dist/assets/message-files-panel-D-C9C2PJ.js +1 -0
  98. package/dist/assets/metric-card-Bij5WGzs.js +1 -0
  99. package/dist/assets/notifications-page-C6zUs2x1.js +1 -0
  100. package/dist/assets/{oauth-complete-page-Bh6VG8SS.js → oauth-complete-page-CuNDqPAt.js} +1 -1
  101. package/dist/assets/{oauth-popup-complete-page-6YLSOCV_.js → oauth-popup-complete-page-hRc3yLWH.js} +2 -2
  102. package/dist/assets/onboarding-BbtVI8KM.js +1 -0
  103. package/dist/assets/onboarding-BoaKLlZ5.js +1 -0
  104. package/dist/assets/page-empty-state-BrGkTMcK.js +1 -0
  105. package/dist/assets/page-shell-DtdXurhX.js +1 -0
  106. package/dist/assets/pairing-page-CwLe0EJV.js +1 -0
  107. package/dist/assets/password-reset-page-C7qvqEJQ.js +1 -0
  108. package/dist/assets/{pdf-a3pPuuVL.js → pdf-fWDhmWcw.js} +1 -1
  109. package/dist/assets/pdf-file-preview-DbwHMWey.js +1 -0
  110. package/dist/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
  111. package/dist/assets/personality-page-Ci_b1dH9.js +1 -0
  112. package/dist/assets/plans-page-CyqILV_j.js +1 -0
  113. package/dist/assets/platform-loopback-page-CgXx1oDQ.js +1 -0
  114. package/dist/assets/plugin-detail-page-CvC_LUz2.js +1 -0
  115. package/dist/assets/plugins-page-9LuPE9IY.js +1 -0
  116. package/dist/assets/preview-error-DbAQP8oG.js +1 -0
  117. package/dist/assets/privacy-page-OIOZKgWi.js +1 -0
  118. package/dist/assets/privacy-screen-DFnrbIrM.js +1 -0
  119. package/dist/assets/provider-callback-page-DGVehvIp.js +1 -0
  120. package/dist/assets/provider-key-CUAJZvaQ.js +1 -0
  121. package/dist/assets/provider-signup-page-B5gnrbym.js +1 -0
  122. package/dist/assets/{provisioning-targets-CE25g21J.js → provisioning-targets-BbLfumae.js} +1 -1
  123. package/dist/assets/quick-input-page-Ccy-FS5S.js +1 -0
  124. package/dist/assets/react-DPM_L_aA.js +12 -0
  125. package/dist/assets/repeat-DVEpBLT_.js +1 -0
  126. package/dist/assets/research-mock-page-DqfkGU9x.js +1 -0
  127. package/dist/assets/research-onboarding-route-D3qFv6SM.js +50 -0
  128. package/dist/assets/review-terms-screen-BD3wP3KC.js +1 -0
  129. package/dist/assets/schedules-B_SL_iV4.js +1 -0
  130. package/dist/assets/schedules-page-D64tvhuZ.js +1 -0
  131. package/dist/assets/security-redirect-page-CWR-HICc.js +1 -0
  132. package/dist/assets/select-assistant-screen-SfWB0oQ2.js +1 -0
  133. package/dist/assets/self-hosted-servers-BHF9gq8j.js +1 -0
  134. package/dist/assets/service-form-controls-DNfWnjSp.js +1 -0
  135. package/dist/assets/setting-row-DRwmii99.js +1 -0
  136. package/dist/assets/settings-divider-X9YnFIFQ.js +1 -0
  137. package/dist/assets/settings-gjWN0WQO.js +3 -0
  138. package/dist/assets/settings-iLTzqZW8.js +3 -0
  139. package/dist/assets/settings-layout-C2Um5qit.js +1 -0
  140. package/dist/assets/share-feedback-modal-BzV03dUO.js +2 -0
  141. package/dist/assets/sidebar-tree-C1t1xfKD.js +1 -0
  142. package/dist/assets/signup-page-Dyhm65FW.js +1 -0
  143. package/dist/assets/signup-shell-CSThcwPa.js +1 -0
  144. package/dist/assets/skill-detail-page-Cja0k8_e.js +2 -0
  145. package/dist/assets/skill-detail-panel-BIOL410z.js +1 -0
  146. package/dist/assets/skill-icon-Me8DDEMt.js +1 -0
  147. package/dist/assets/skill-removal-dialog-bN91N7f8.js +1 -0
  148. package/dist/assets/skills-page-CYogTXmH.js +1 -0
  149. package/dist/assets/sounds-page-DAy2o3wO.js +1 -0
  150. package/dist/assets/start-screen-DyyYavfM.js +1 -0
  151. package/dist/assets/status-badge-pill-BAkXhxwa.js +1 -0
  152. package/dist/assets/stt-language-picker-modal-CpGwbd4g.js +1 -0
  153. package/dist/assets/subagent-detail-panel-330bH7ee.js +4 -0
  154. package/dist/assets/superpowers-page-D6wv3GWO.js +1 -0
  155. package/dist/assets/system-events-page-CFN8tMUJ.js +1 -0
  156. package/dist/assets/system-events-redirect-page-BarOgFkA.js +1 -0
  157. package/dist/assets/text-preview-CZeqyzdw.js +1 -0
  158. package/dist/assets/theme-stage-page-Pcnh0PTQ.js +1 -0
  159. package/dist/assets/{tiptap-document-editor-sg7gdh_H.js → tiptap-document-editor-ZZmtZ799.js} +30 -30
  160. package/dist/assets/tool-detail-panel-BgCSb_m5.js +12 -0
  161. package/dist/assets/trait-cycle-row-BWNJ21g4.js +1 -0
  162. package/dist/assets/upgrade-cancel-page-ByVEWPeH.js +1 -0
  163. package/dist/assets/upgrade-success-page-iAPLJbee.js +1 -0
  164. package/dist/assets/usage-redirect-page-BHd-7in5.js +1 -0
  165. package/dist/assets/use-assistant-identity-details-oVmPdjVe.js +1 -0
  166. package/dist/assets/use-checkout-dismiss-refresh-BO2cN2i8.js +1 -0
  167. package/dist/assets/use-edge-swipe-back-CzESg8qG.js +2 -0
  168. package/dist/assets/use-hotkey-recorder-CY089_4p.js +1 -0
  169. package/dist/assets/use-invite-link-dialog-Ck-LquhT.js +1 -0
  170. package/dist/assets/use-platform-assistant-id-DcVWp7KY.js +1 -0
  171. package/dist/assets/use-return-to-short-circuit-NDSwANeI.js +1 -0
  172. package/dist/assets/use-side-list-room-DQbUPFcU.js +1 -0
  173. package/dist/assets/use-skill-actions-CNBx-WS1.js +1 -0
  174. package/dist/assets/use-skill-detail-files-BGIXJykk.js +1 -0
  175. package/dist/assets/use-supports-credentials-settings-C6S_OHMP.js +1 -0
  176. package/dist/assets/use-transcript-message-by-id-Dqm1PMu3.js +1 -0
  177. package/dist/assets/use-truncated-blob-text-DLF_hf3O.js +1 -0
  178. package/dist/assets/vendor-WUN87CSE.js +385 -0
  179. package/dist/assets/voice-page-nBfEMyWs.js +1 -0
  180. package/dist/assets/weather-forecast-display-B6j-V-yS.js +1 -0
  181. package/dist/assets/web-CE-RjE8i.js +1 -0
  182. package/dist/assets/web-Cv_J7__I.js +1 -0
  183. package/dist/assets/web-Cw24uxYA.js +1 -0
  184. package/dist/assets/web-DDFO9PaS.js +1 -0
  185. package/dist/assets/web-DL2rv-Fb.js +1 -0
  186. package/dist/assets/web-DPEGYPrR.js +1 -0
  187. package/dist/assets/web-Q8lSPj8Z.js +1 -0
  188. package/dist/assets/web-kKGZ0Pbn.js +1 -0
  189. package/dist/assets/web-pwf5Vh3V.js +1 -0
  190. package/dist/assets/welcome-screen-BrwdmDqM.js +1 -0
  191. package/dist/assets/workflow-detail-panel-DcTQSyju.js +1 -0
  192. package/dist/assets/workspace-page-Dwfwnkh5.js +1 -0
  193. package/dist/assets/{xterm-QkObDWKu.js → xterm-DfM4JBPp.js} +1 -1
  194. package/dist/assets/xterm-addon-fit-DuBTfuI9.js +1 -0
  195. package/dist/images/integrations/ATTRIBUTION.md +10 -5
  196. package/dist/images/integrations/calendly.svg +1 -0
  197. package/dist/images/integrations/eventbrite.svg +1 -0
  198. package/dist/images/integrations/monday.svg +1 -0
  199. package/dist/index.html +7 -336
  200. package/package.json +1 -1
  201. package/dist/assets/AnimatePresence-BkWQRluv.js +0 -9
  202. package/dist/assets/Combination-kHxEP36G.js +0 -41
  203. package/dist/assets/QueryClientProvider-BPZM68-A.js +0 -1
  204. package/dist/assets/Trans-CBhhVbOk.js +0 -1
  205. package/dist/assets/about-page-hURQzaZb.js +0 -1
  206. package/dist/assets/account-page-BUHRzIQn.js +0 -1
  207. package/dist/assets/account-shell-Y97PMm-a.js +0 -1
  208. package/dist/assets/acp-run-actions-DznGEBjQ.js +0 -1
  209. package/dist/assets/acp-run-detail-panel-CVPDXyP6.js +0 -5
  210. package/dist/assets/acp-run-store-D8roCscD.js +0 -1
  211. package/dist/assets/activity-steps-panel-BzTDFCQ4.js +0 -1
  212. package/dist/assets/add-credential-modal-aeUdZtSp.js +0 -1
  213. package/dist/assets/add-credits-modal-CtS-PzoH.js +0 -1
  214. package/dist/assets/ai-page-C6zXOVyP.js +0 -1
  215. package/dist/assets/android-billing-handoff-BoSQm4gg.js +0 -1
  216. package/dist/assets/animate-CuPjEtk6.js +0 -1
  217. package/dist/assets/animated-avatar-DAJHVYXE.js +0 -1
  218. package/dist/assets/api-BUuIGDig.js +0 -1
  219. package/dist/assets/api-key-screen-DauZKmq9.js +0 -1
  220. package/dist/assets/app-card-B5AFFdUO.js +0 -1
  221. package/dist/assets/app-info-CBSIGREh.js +0 -1
  222. package/dist/assets/apple-logo-GkgGOZWf.js +0 -1
  223. package/dist/assets/archive-DMKVAVAX.js +0 -1
  224. package/dist/assets/archive-redirect-page-DXqjPmpK.js +0 -1
  225. package/dist/assets/arrow-down-to-line-CJ0OBlcT.js +0 -1
  226. package/dist/assets/arrow-left-DUklm7Fd.js +0 -1
  227. package/dist/assets/arrow-right-De7tYwD7.js +0 -1
  228. package/dist/assets/arrow-up-CijF4S8i.js +0 -1
  229. package/dist/assets/assistant-feature-flag-store-Co_o5uD3.js +0 -1
  230. package/dist/assets/assistant-identity-store-DBkGjqzV.js +0 -1
  231. package/dist/assets/assistant-status-panel-DYkXgK0D.js +0 -1
  232. package/dist/assets/audio-context-YNIG4zMo.js +0 -1
  233. package/dist/assets/auth-store-BVjw4Y6z.js +0 -2
  234. package/dist/assets/auth-welcome-screen-DbDu2DKV.js +0 -1
  235. package/dist/assets/avatar-bundled-components-C1i6ys8w.js +0 -1
  236. package/dist/assets/avatar-random-BOjdaclE.js +0 -1
  237. package/dist/assets/avatar-renderer-CnJd2PqC.js +0 -1
  238. package/dist/assets/avatar-subagent-CdgpbwL0.js +0 -1
  239. package/dist/assets/avatar-svg-compositor-DxBmLeF3.js +0 -1
  240. package/dist/assets/avatar-tone-D_3T6CNS.js +0 -1
  241. package/dist/assets/background-task-actions-Cs3pTNVl.js +0 -1
  242. package/dist/assets/background-task-detail-panel-BWAwy3I3.js +0 -1
  243. package/dist/assets/background-task-store-Ba89lNRi.js +0 -1
  244. package/dist/assets/ban-JFtQ_88n.js +0 -1
  245. package/dist/assets/bell-B3GoRAIC.js +0 -1
  246. package/dist/assets/billing-page-FxI0W3-_.js +0 -3
  247. package/dist/assets/billing-redirect-page-l6nC_qa5.js +0 -1
  248. package/dist/assets/bookmarks-page-6p-UochF.js +0 -1
  249. package/dist/assets/brain-lgsb4JhV.js +0 -1
  250. package/dist/assets/browser-BaGW19xY.js +0 -2
  251. package/dist/assets/browser-timezone-DEQubHhx.js +0 -1
  252. package/dist/assets/bug-DJjWtfUu.js +0 -1
  253. package/dist/assets/build-state-ChDL0BPH.js +0 -1
  254. package/dist/assets/bundle-confirm-page-9jTfMrek.js +0 -1
  255. package/dist/assets/bundle-mjs-CctC_00U.js +0 -1
  256. package/dist/assets/button-B1kEAcLt.js +0 -1
  257. package/dist/assets/by-tool-use-id-index-DOOfRauy.js +0 -1
  258. package/dist/assets/calendar-Bbg9LoLZ.js +0 -1
  259. package/dist/assets/camera-DOhkFhC8.js +0 -1
  260. package/dist/assets/card-B4b9cF6X.js +0 -1
  261. package/dist/assets/channels-DU7UcoR_.js +0 -1
  262. package/dist/assets/channels-P8K1t248.js +0 -1
  263. package/dist/assets/channels-page-route-DBtIRtsL.js +0 -9
  264. package/dist/assets/chart-column-BSXp3tJF.js +0 -1
  265. package/dist/assets/chat-BG7p3zq1.js +0 -3
  266. package/dist/assets/chat-Bfo3dMB3.js +0 -1
  267. package/dist/assets/chat-avatar-DM2DBsml.js +0 -1
  268. package/dist/assets/chat-layout-slots-store-D_NI8Xtw.js +0 -1
  269. package/dist/assets/chat-markdown-message-CTuuKxjN.js +0 -1
  270. package/dist/assets/check-bDVYejGM.js +0 -1
  271. package/dist/assets/checkbox--DYEubRE.js +0 -1
  272. package/dist/assets/checkout-continuation-LLv0HLko.js +0 -1
  273. package/dist/assets/checkout-page-B14XHmIb.js +0 -1
  274. package/dist/assets/checkout-return-target-BX6588K4.js +0 -1
  275. package/dist/assets/chevron-down-D437oaYt.js +0 -1
  276. package/dist/assets/chevron-left-C51UUK4r.js +0 -1
  277. package/dist/assets/chevron-right-D5lPX854.js +0 -1
  278. package/dist/assets/chevron-up-B_I9Uakl.js +0 -1
  279. package/dist/assets/chunk-5KNZJZUH-CPFsMQoz.js +0 -4
  280. package/dist/assets/circle-alert-BaeJJrSp.js +0 -1
  281. package/dist/assets/circle-check-CnoFVsRZ.js +0 -1
  282. package/dist/assets/circle-check-big-CHpJAmSB.js +0 -1
  283. package/dist/assets/circle-minus--pYdZe0n.js +0 -1
  284. package/dist/assets/circle-x-BnqzdPia.js +0 -1
  285. package/dist/assets/client-feature-flag-store-BmjgGl9P.js +0 -1
  286. package/dist/assets/client-perf-CL-Sfpnu.js +0 -1
  287. package/dist/assets/client.gen-D1UKq9QZ.js +0 -6
  288. package/dist/assets/clipboard-copy-BFyCoPu3.js +0 -1
  289. package/dist/assets/clock-HLo0irRS.js +0 -1
  290. package/dist/assets/cloud-6GKvvsQ6.js +0 -1
  291. package/dist/assets/cloud-off-B8SagsfP.js +0 -1
  292. package/dist/assets/cn-naJKasky.js +0 -1
  293. package/dist/assets/code-B7j8vdg9.js +0 -1
  294. package/dist/assets/coins-S_-Fmv_r.js +0 -1
  295. package/dist/assets/command-palette-C0x3z7aQ.js +0 -1
  296. package/dist/assets/command-palette-window-page-BShi7rwo.js +0 -1
  297. package/dist/assets/common-C7YGlfJZ.js +0 -1
  298. package/dist/assets/common-DFfCPRFe.js +0 -1
  299. package/dist/assets/community-page-ChiOX6Op.js +0 -1
  300. package/dist/assets/companion-surface-BYj8yxCS.js +0 -1
  301. package/dist/assets/companion-surface-page-HYtLs0-t.js +0 -1
  302. package/dist/assets/composer-settings-BCehrZgj.js +0 -1
  303. package/dist/assets/confirm-dialog-EPYSBP_B.js +0 -1
  304. package/dist/assets/connect-page-tyHxf7TL.js +0 -1
  305. package/dist/assets/consent-controls-C7U2N-h8.js +0 -1
  306. package/dist/assets/consent-cuDRWUkB.js +0 -1
  307. package/dist/assets/contacts-CotcPejk.js +0 -1
  308. package/dist/assets/contacts-E-8UOrGK.js +0 -1
  309. package/dist/assets/contacts-gateway-BLGKdcif.js +0 -1
  310. package/dist/assets/contacts-page-route-KVjx4fqm.js +0 -1
  311. package/dist/assets/conversation-cache-CrybogTL.js +0 -1
  312. package/dist/assets/conversation-navigation-Ck_iLhjv.js +0 -1
  313. package/dist/assets/conversation-queries-Clrll8jF.js +0 -1
  314. package/dist/assets/conversation-selection-BVLi6RIL.js +0 -1
  315. package/dist/assets/conversation-store-BHWyRtQs.js +0 -1
  316. package/dist/assets/copy-to-clipboard-Blihejp9.js +0 -1
  317. package/dist/assets/cpu-KP1UdyS1.js +0 -1
  318. package/dist/assets/create-selectors-sLdtxUZQ.js +0 -1
  319. package/dist/assets/createLucideIcon-CMfEC_aW.js +0 -1
  320. package/dist/assets/credential-entry-page-Cs6FHnUn.js +0 -1
  321. package/dist/assets/credentials-page-D8G-44GI.js +0 -1
  322. package/dist/assets/danger-zone-redirect-page-Cds_krO3.js +0 -1
  323. package/dist/assets/debug-page-BMqKvkSo.js +0 -4
  324. package/dist/assets/deploy-dialogs-DqkTJUGk.js +0 -1
  325. package/dist/assets/deploy-store-FijtU8HL.js +0 -1
  326. package/dist/assets/desktop-voice-activity-DUGtHbRg.js +0 -1
  327. package/dist/assets/detail-card-D9EAxXI8.js +0 -1
  328. package/dist/assets/detail-drawer-D-CPwyBO.js +0 -1
  329. package/dist/assets/detail-panel-stop-button-ClfJeo-s.js +0 -1
  330. package/dist/assets/detail-shell-CNYbfTO7.js +0 -1
  331. package/dist/assets/developer-page-C7o31rYB.js +0 -1
  332. package/dist/assets/devices-redirect-page-CeKwKvN-.js +0 -1
  333. package/dist/assets/diagnostics-BC7vRbDB.js +0 -1
  334. package/dist/assets/dictation-overlay-C-whP7yL.js +0 -1
  335. package/dist/assets/dictation-overlay-page-sfEwzU14.js +0 -1
  336. package/dist/assets/diff-rows-D_K2ZMJ5.js +0 -1
  337. package/dist/assets/discord-logo-sC02ywjh.js +0 -1
  338. package/dist/assets/dist-BnrwumrD.js +0 -1
  339. package/dist/assets/dist-Cr8OiiXj.js +0 -1
  340. package/dist/assets/dist-Ct3qbbty.js +0 -1
  341. package/dist/assets/dist-Czhl4zX3.js +0 -1
  342. package/dist/assets/dist-D3VsKBK8.js +0 -1
  343. package/dist/assets/dist-DaY2OuMX.js +0 -1
  344. package/dist/assets/doctor-handoff-store-DEirTOZw.js +0 -1
  345. package/dist/assets/document-viewer-container-yyhVIyAB.js +0 -2
  346. package/dist/assets/document-viewer-page-Co_sxuvK.js +0 -1
  347. package/dist/assets/download-BIMKsVBw.js +0 -1
  348. package/dist/assets/edge-swipe-arbiter-store-ByePvbty.js +0 -1
  349. package/dist/assets/edit-chat-session-Cm8kKicc.js +0 -1
  350. package/dist/assets/effective-timezone-BW38Gdmx.js +0 -1
  351. package/dist/assets/ellipsis-DLGzVN7S.js +0 -1
  352. package/dist/assets/ellipsis-vertical-BJaOQqv_.js +0 -1
  353. package/dist/assets/emails-page-a1sfkbkL.js +0 -1
  354. package/dist/assets/environment-store-DKl9RR50.js +0 -1
  355. package/dist/assets/esm-BAE-_6f7.js +0 -1
  356. package/dist/assets/esm-BTQ42Hgz.js +0 -2
  357. package/dist/assets/esm-BnXPDdij.js +0 -2
  358. package/dist/assets/esm-CC077SPL.js +0 -2
  359. package/dist/assets/esm-CbZfwR7m.js +0 -2
  360. package/dist/assets/esm-DA5sciAy.js +0 -2
  361. package/dist/assets/esm-DbODHbQp.js +0 -2
  362. package/dist/assets/esm-Doko4a-G.js +0 -2
  363. package/dist/assets/esm-KUiHjb53.js +0 -1
  364. package/dist/assets/esm-uRwymN1a.js +0 -1
  365. package/dist/assets/event-bus-CN0zipw2.js +0 -1
  366. package/dist/assets/external-anchor-CJ2uCBN2.js +0 -1
  367. package/dist/assets/external-link-cVsOyP-B.js +0 -1
  368. package/dist/assets/external-urls-BE71Yb2T.js +0 -1
  369. package/dist/assets/eye-Bkw-NEUk.js +0 -1
  370. package/dist/assets/eye-bbox-crwIELLL.js +0 -1
  371. package/dist/assets/eye-off-BtRToWVw.js +0 -1
  372. package/dist/assets/feature-flag-catalog-DWnmasL0.js +0 -1
  373. package/dist/assets/feed-item-status-actions-Bw41rlaj.js +0 -1
  374. package/dist/assets/field-quMum4Ij.js +0 -1
  375. package/dist/assets/file-DukGjoT9.js +0 -1
  376. package/dist/assets/file-code-KOdjB_EC.js +0 -1
  377. package/dist/assets/file-editor-Cx3p3Rxf.js +0 -1
  378. package/dist/assets/file-markdown-D43Nsqm2.js +0 -2
  379. package/dist/assets/file-plus-BE5pS64_.js +0 -1
  380. package/dist/assets/file-text-CexzqcsX.js +0 -1
  381. package/dist/assets/first-run-scope-DITgHc6G.js +0 -1
  382. package/dist/assets/folder-BshXYSOQ.js +0 -1
  383. package/dist/assets/folder-open-Dp3CKxO5.js +0 -1
  384. package/dist/assets/format-date-C4mrDYY6.js +0 -1
  385. package/dist/assets/format-usd-Be34KtzB.js +0 -1
  386. package/dist/assets/funnel-events-Dl6Nt7nA.js +0 -1
  387. package/dist/assets/general-page-rg_u_yPE.js +0 -1
  388. package/dist/assets/get-memory-stats-DxspWLxk.js +0 -1
  389. package/dist/assets/globe-DJ3y3hQh.js +0 -1
  390. package/dist/assets/haptics-BS-glrYv.js +0 -2
  391. package/dist/assets/hard-drive-CXysKjuo.js +0 -1
  392. package/dist/assets/hard-navigate-BVv7q79D.js +0 -1
  393. package/dist/assets/hatching-screen-8lXCy9WG.js +0 -1
  394. package/dist/assets/heart-DF_JiyEl.js +0 -1
  395. package/dist/assets/home-page-route-QunjBmtS.js +0 -1
  396. package/dist/assets/hosting-screen-B-5gejYX.js +0 -1
  397. package/dist/assets/i18n-BtV8MCsZ.js +0 -15
  398. package/dist/assets/identity-_6tLszkL.js +0 -1
  399. package/dist/assets/identity-page-route-B0XGpYIE.js +0 -7
  400. package/dist/assets/image-B4sohCAa.js +0 -1
  401. package/dist/assets/inbox-D8dK1dMC.js +0 -1
  402. package/dist/assets/index-C9XKdblY.css +0 -2
  403. package/dist/assets/index-Gjnx86x6.js +0 -11
  404. package/dist/assets/infiniteQueryOptions-DTCCTa10.js +0 -1
  405. package/dist/assets/info-C-HjpKAE.js +0 -1
  406. package/dist/assets/ingest-OJG7HVUh.js +0 -1
  407. package/dist/assets/input-ChbJ2nzd.js +0 -1
  408. package/dist/assets/inspect-page-bs_j1c9j.js +0 -9
  409. package/dist/assets/installed-plugins-query-C8omZZV4.js +0 -1
  410. package/dist/assets/integration-icon-C6Y4VGkv.js +0 -1
  411. package/dist/assets/integrations-page-D7ENik74.js +0 -1
  412. package/dist/assets/intelligence-layout-gaexcakY.js +0 -1
  413. package/dist/assets/interactive-target-h9aYOKy2.js +0 -1
  414. package/dist/assets/internal-thread-actions-DkNfSArh.js +0 -1
  415. package/dist/assets/invalidate-memory-queries-DWuNUXFq.js +0 -1
  416. package/dist/assets/invalidate-plugin-queries-CBgy5O6i.js +0 -1
  417. package/dist/assets/is-electron-D45bjFI8.js +0 -1
  418. package/dist/assets/jsx-runtime-COOF1INC.js +0 -1
  419. package/dist/assets/key-round-BEQmZ4Ji.js +0 -1
  420. package/dist/assets/keyboard-shortcuts-redirect-page-BDuYwofA.js +0 -1
  421. package/dist/assets/laptop-XN6nYvdB.js +0 -1
  422. package/dist/assets/layout-grid-Cyrnt_YU.js +0 -1
  423. package/dist/assets/library-detail-page-DXCZhY4s.js +0 -1
  424. package/dist/assets/library-page-CKAu2a08.js +0 -1
  425. package/dist/assets/lightbulb-BSnKqAOd.js +0 -1
  426. package/dist/assets/link-2-Di62Fo_i.js +0 -1
  427. package/dist/assets/link-CbkkEBEX.js +0 -1
  428. package/dist/assets/list-Dtwz1hOH.js +0 -1
  429. package/dist/assets/list-row-BvCm9O6y.js +0 -1
  430. package/dist/assets/llm-model-catalog-Bk0q_XG4.js +0 -1
  431. package/dist/assets/loader-circle-DZ65N8bz.js +0 -1
  432. package/dist/assets/local-mode-BQ8gp0wB.js +0 -1
  433. package/dist/assets/local-runtime-upgrade-BXc9x-7Y.js +0 -1
  434. package/dist/assets/local-settings-D9SNRv4p.js +0 -1
  435. package/dist/assets/log-in-CGeZfDEs.js +0 -1
  436. package/dist/assets/log-out-DPkGVfNH.js +0 -1
  437. package/dist/assets/login-flow-CrSxmLFE.js +0 -1
  438. package/dist/assets/login-page-uUo0uRmJ.js +0 -1
  439. package/dist/assets/logout-page-BYZfOpa1.js +0 -1
  440. package/dist/assets/logs-layout-B34XKM-k.js +0 -1
  441. package/dist/assets/mail-CqdA6Y_p.js +0 -1
  442. package/dist/assets/markdown-preview-eCDa4paC.js +0 -1
  443. package/dist/assets/media-preview-1xn1SAn9.js +0 -1
  444. package/dist/assets/memory-page-route-DiVaW98S.js +0 -2
  445. package/dist/assets/memory-router-playground-page-DgILWgQu.js +0 -1
  446. package/dist/assets/menu-DPM2p9S5.js +0 -1
  447. package/dist/assets/message-circle-DBYzIjYB.js +0 -1
  448. package/dist/assets/message-content-uWZUlo6D.js +0 -1
  449. package/dist/assets/message-files-panel-Bv-5dvcD.js +0 -1
  450. package/dist/assets/message-square-XpKWNcyv.js +0 -1
  451. package/dist/assets/message-square-text-CvSl10LZ.js +0 -1
  452. package/dist/assets/messages-BXHTKK_v.js +0 -13
  453. package/dist/assets/metric-card-CTonLoYE.js +0 -1
  454. package/dist/assets/mic-DQbnjgmt.js +0 -1
  455. package/dist/assets/middleware-BmAQ4_8P.js +0 -1
  456. package/dist/assets/mime-sniff--WYdEIBE.js +0 -1
  457. package/dist/assets/minimize-2-DzL_lI8t.js +0 -1
  458. package/dist/assets/misc-dA4Wklt2.js +0 -1
  459. package/dist/assets/modal-_49mDK_d.js +0 -1
  460. package/dist/assets/monitor-BKwWxjph.js +0 -1
  461. package/dist/assets/moon-MfogEw5q.js +0 -1
  462. package/dist/assets/native-anchor-CmnMg6B6.js +0 -1
  463. package/dist/assets/native-biometric-DEP8Sr4X.js +0 -6
  464. package/dist/assets/native-deep-link--guFKiPO.js +0 -2
  465. package/dist/assets/native-file-DlQtjxJn.js +0 -2
  466. package/dist/assets/navigation-resolver-CRsrd5gh.js +0 -1
  467. package/dist/assets/not-found-BXR_4Uja.js +0 -1
  468. package/dist/assets/notice-BHeYlKvv.js +0 -1
  469. package/dist/assets/notifications-Dcgkgn8Q.js +0 -1
  470. package/dist/assets/notifications-page-CSH6gHaX.js +0 -1
  471. package/dist/assets/oauth-connection-utils-D_78dCYn.js +0 -1
  472. package/dist/assets/oauth-popup-DEDdbkj2.js +0 -1
  473. package/dist/assets/onboarding-D2bBWpx1.js +0 -1
  474. package/dist/assets/onboarding-DJeJhXd6.js +0 -1
  475. package/dist/assets/onboarding-layout-C9v6Q2QQ.js +0 -1
  476. package/dist/assets/onboarding-navigation-oNFNDeeW.js +0 -1
  477. package/dist/assets/onboarding-store-BhT1z8Wi.js +0 -1
  478. package/dist/assets/open-workspace-file-fIr0qcsc.js +0 -2
  479. package/dist/assets/operational-status-BdcYEcTh.js +0 -1
  480. package/dist/assets/optimistic-lifecycle-BlDyVYIt.js +0 -1
  481. package/dist/assets/page-empty-state-B_nQdAFR.js +0 -1
  482. package/dist/assets/page-shell-BHyGukA1.js +0 -1
  483. package/dist/assets/page-surface-store-D5IgLCtn.js +0 -1
  484. package/dist/assets/pairing-page-fVI54lsD.js +0 -1
  485. package/dist/assets/palette-BlX3XmVL.js +0 -1
  486. package/dist/assets/paperclip-Ce-wbj5L.js +0 -1
  487. package/dist/assets/password-reset-page-ClhMzYsx.js +0 -1
  488. package/dist/assets/pdf-file-preview-BjbSLoD9.js +0 -1
  489. package/dist/assets/pdf-preview-xa07R01f.js +0 -2
  490. package/dist/assets/pencil-1uDrqXvV.js +0 -1
  491. package/dist/assets/personality-page-CK3vkhkl.js +0 -1
  492. package/dist/assets/plans-page-CuZeAQhx.js +0 -1
  493. package/dist/assets/platform-detection-DUeD4WFO.js +0 -1
  494. package/dist/assets/platform-login-notice-B2ZwcEYp.js +0 -1
  495. package/dist/assets/platform-loopback-page-CMnaXj8y.js +0 -1
  496. package/dist/assets/play-D-HSCeZj.js +0 -1
  497. package/dist/assets/plug-AMxPbUcz.js +0 -1
  498. package/dist/assets/plugin-detail-page-D9Qk7GmS.js +0 -1
  499. package/dist/assets/plugins-page-Bm0hcoSf.js +0 -1
  500. package/dist/assets/plugins-surface-DB7dv9Hu.js +0 -1
  501. package/dist/assets/plus-rgqTRjE1.js +0 -1
  502. package/dist/assets/pointer-DktxhCd8.js +0 -1
  503. package/dist/assets/popover-GOTwOlgQ.js +0 -1
  504. package/dist/assets/prechat-Cl2-DnE_.js +0 -1
  505. package/dist/assets/prefs-CAMw44jD.js +0 -1
  506. package/dist/assets/preload-helper-BewR0kVT.js +0 -1
  507. package/dist/assets/preview-error-DW-EUl80.js +0 -1
  508. package/dist/assets/preview-skeleton-CLI9ptyu.js +0 -1
  509. package/dist/assets/privacy-page-D-a7l0YY.js +0 -1
  510. package/dist/assets/privacy-screen-CxwxgE4s.js +0 -1
  511. package/dist/assets/profile-pickers-D8XVv50L.js +0 -1
  512. package/dist/assets/progress-bar-C9zSzt4m.js +0 -1
  513. package/dist/assets/provider-callback-page-65a2DK0l.js +0 -1
  514. package/dist/assets/provider-key-CcPF1Zqp.js +0 -1
  515. package/dist/assets/provider-signup-page-BC86aF7W.js +0 -1
  516. package/dist/assets/proxy-CROyCGs8.js +0 -1
  517. package/dist/assets/public-asset-Dk1mdzbh.js +0 -1
  518. package/dist/assets/push-registration-D0zDMpTx.js +0 -2
  519. package/dist/assets/puzzle-PqInNnOi.js +0 -1
  520. package/dist/assets/queryOptions-DGyQTr3e.js +0 -1
  521. package/dist/assets/quick-input-page-DAf2lbri.js +0 -1
  522. package/dist/assets/react-DJZBPgpf.js +0 -1
  523. package/dist/assets/react-query.gen-C5widOeH.js +0 -1
  524. package/dist/assets/react-query.gen-C_GLKG7m.js +0 -1
  525. package/dist/assets/reduced-motion-B-KLzfs_.js +0 -1
  526. package/dist/assets/refresh-cw-BDh1a2sj.js +0 -1
  527. package/dist/assets/relative-time-COU7Zqre.js +0 -1
  528. package/dist/assets/remote-gateway-session-C3H0Oq0r.js +0 -1
  529. package/dist/assets/remove-from-device-dialog-CXmGFbKk.js +0 -1
  530. package/dist/assets/repeat-6uW-THNc.js +0 -1
  531. package/dist/assets/research-facts-gT4POsZw.js +0 -1
  532. package/dist/assets/research-mock-page-B41v4MzE.js +0 -1
  533. package/dist/assets/research-onboarding-persistence-Bnn7ljSq.js +0 -1
  534. package/dist/assets/research-onboarding-route-CbZ14lCf.js +0 -50
  535. package/dist/assets/research-results-view-BHXLkoKK.js +0 -3
  536. package/dist/assets/resolved-assistants-store-DEtotxhR.js +0 -1
  537. package/dist/assets/retire-confirm-dialog-1nxn6f4M.js +0 -1
  538. package/dist/assets/review-terms-screen-BsDHdmoO.js +0 -1
  539. package/dist/assets/rotate-ccw-BYcZOtjy.js +0 -1
  540. package/dist/assets/routes-C6ueuiMd.js +0 -1
  541. package/dist/assets/routes-Cly3ytK4.js +0 -24
  542. package/dist/assets/runtime-upgrade-banner-DC63rkQ7.js +0 -2
  543. package/dist/assets/sandbox-bridge-DSJSIgUC.js +0 -275
  544. package/dist/assets/schedules-BZzuRuQs.js +0 -1
  545. package/dist/assets/schedules-DVOFbt86.js +0 -1
  546. package/dist/assets/schedules-page-CjqAP78z.js +0 -1
  547. package/dist/assets/schemas-BNPZ_RzM.js +0 -39
  548. package/dist/assets/sdk.gen-BluU0h_N.js +0 -6
  549. package/dist/assets/sdk.gen-BuAyyHNm.js +0 -6
  550. package/dist/assets/sdk.gen-CrcsMCNX.js +0 -1
  551. package/dist/assets/search-DYHr3LM9.js +0 -1
  552. package/dist/assets/section-membership-Bma0R_Bn.js +0 -1
  553. package/dist/assets/security-redirect-page-C3VbbfyM.js +0 -1
  554. package/dist/assets/select-DmdFZj4l.js +0 -1
  555. package/dist/assets/select-assistant-screen-CV_3BKEH.js +0 -1
  556. package/dist/assets/self-hosted-servers-BMPYPayb.js +0 -1
  557. package/dist/assets/semver-CeGQrxWZ.js +0 -1
  558. package/dist/assets/send-1mFY4II3.js +0 -1
  559. package/dist/assets/setting-row-urcByt7n.js +0 -1
  560. package/dist/assets/settings-BggpKBtA.js +0 -3
  561. package/dist/assets/settings-C37vdp_B.js +0 -1
  562. package/dist/assets/settings-DSeJ7uGb.js +0 -3
  563. package/dist/assets/settings-divider-CYam_4yQ.js +0 -1
  564. package/dist/assets/settings-layout-CDRF6b06.js +0 -1
  565. package/dist/assets/settings-navigation-DyFIJJGF.js +0 -1
  566. package/dist/assets/share-feedback-modal-TnZsiNw9.js +0 -2
  567. package/dist/assets/shield-OLSnLaN7.js +0 -1
  568. package/dist/assets/shield-check-BuRfLkGi.js +0 -1
  569. package/dist/assets/sidebar-tree-Y1RDeJ9E.js +0 -1
  570. package/dist/assets/signup-page-DRzsOblS.js +0 -1
  571. package/dist/assets/signup-shell-DH0qR_2b.js +0 -1
  572. package/dist/assets/site-favicon-DLf2W4xi.js +0 -1
  573. package/dist/assets/skeleton-BV6nOVEl.js +0 -1
  574. package/dist/assets/skill-detail-page-3Wiz9A7q.js +0 -2
  575. package/dist/assets/skill-detail-panel-DbLFuSyn.js +0 -1
  576. package/dist/assets/skill-icon-D52BIuW4.js +0 -1
  577. package/dist/assets/skills-DASSBxT-.js +0 -1
  578. package/dist/assets/skills-page-DhKl7Mti.js +0 -1
  579. package/dist/assets/sliders-horizontal-BPa-_UE6.js +0 -1
  580. package/dist/assets/smartphone-P7vq0dcA.js +0 -1
  581. package/dist/assets/sound-manager-D8p3_c3W.js +0 -1
  582. package/dist/assets/sounds-page-CWBPL1YA.js +0 -1
  583. package/dist/assets/sparkles-D6kBPNlr.js +0 -1
  584. package/dist/assets/square-sQS2OW8v.js +0 -1
  585. package/dist/assets/src-BKET5Cno.js +0 -293
  586. package/dist/assets/star-C4JuiUip.js +0 -1
  587. package/dist/assets/start-screen-OMf-yHG3.js +0 -1
  588. package/dist/assets/status-badge-pill-MTA2Lfk-.js +0 -1
  589. package/dist/assets/stt-language-picker-modal-CmeO8yxD.js +0 -1
  590. package/dist/assets/subagent-detail-panel-CUW2rBET.js +0 -4
  591. package/dist/assets/subagent-store-BcbcFnS8.js +0 -3
  592. package/dist/assets/sun-Dtr03Yty.js +0 -1
  593. package/dist/assets/superpowers-page-CuvXfGPO.js +0 -1
  594. package/dist/assets/surface-parse-helpers-f-hT9LIR.js +0 -1
  595. package/dist/assets/swipe-action-reveal-BhA-hrfj.js +0 -1
  596. package/dist/assets/system-events-page-tEAEdDzA.js +0 -1
  597. package/dist/assets/system-events-redirect-page-BMSQQBAs.js +0 -1
  598. package/dist/assets/tag-DAsImP7W.js +0 -1
  599. package/dist/assets/target-zLlNzjMl.js +0 -1
  600. package/dist/assets/telegram-setup-wizard-BT6u6vcb.js +0 -1
  601. package/dist/assets/terminal-Bw8gHw-v.js +0 -1
  602. package/dist/assets/text-preview-qkra1xEh.js +0 -1
  603. package/dist/assets/theme-preferences-ysFQ1QCN.js +0 -1
  604. package/dist/assets/theme-stage-page-DiqUiOmJ.js +0 -1
  605. package/dist/assets/three-dot-indicator-rcDwZDFG.js +0 -1
  606. package/dist/assets/threshold-presets-DF7FTTlD.js +0 -1
  607. package/dist/assets/toast-BKrDuNtu.js +0 -1
  608. package/dist/assets/toggle-CdhdS_iC.js +0 -1
  609. package/dist/assets/tool-detail-panel-BR3PsmdK.js +0 -12
  610. package/dist/assets/transcript-message-body-shared-DWzxxSaD.js +0 -1
  611. package/dist/assets/trash-2-CVpEwOYZ.js +0 -1
  612. package/dist/assets/triangle-alert-B6J57Xfo.js +0 -1
  613. package/dist/assets/trust-rules-api-eZhPplXW.js +0 -1
  614. package/dist/assets/typed-storage-Bw4gW_Pk.js +0 -1
  615. package/dist/assets/typography-SdxpXI_m.js +0 -1
  616. package/dist/assets/upgrade-cancel-page-pljx8YOz.js +0 -1
  617. package/dist/assets/upgrade-success-page-CJUETwIe.js +0 -1
  618. package/dist/assets/upload-8ENnMpW_.js +0 -1
  619. package/dist/assets/usage-redirect-page-DBkOdl41.js +0 -1
  620. package/dist/assets/use-active-assistant-id-lxYJu99R.js +0 -1
  621. package/dist/assets/use-app-theme-CaWLhQW_.js +0 -1
  622. package/dist/assets/use-assistant-avatar-C2TgszRj.js +0 -1
  623. package/dist/assets/use-assistant-capability-De-35T6E.js +0 -1
  624. package/dist/assets/use-assistant-identity-details-rXIIiXr1.js +0 -1
  625. package/dist/assets/use-attachment-preview-BAX_ivri.js +0 -2
  626. package/dist/assets/use-attachment-squares-rU9s8st8.js +0 -1
  627. package/dist/assets/use-body-scroll-lock-8ObBdX00.js +0 -1
  628. package/dist/assets/use-bookmarks-BrjNq3T_.js +0 -1
  629. package/dist/assets/use-bundled-avatar-components-C6-AuQ2I.js +0 -2
  630. package/dist/assets/use-bus-subscription-DfxTm1-Q.js +0 -1
  631. package/dist/assets/use-checkout-dismiss-refresh-CjgC7Pck.js +0 -1
  632. package/dist/assets/use-command-palette-sections-tRUwMswg.js +0 -1
  633. package/dist/assets/use-copy-to-clipboard-B4c7SAc-.js +0 -1
  634. package/dist/assets/use-discord-nudge-BkpFjoOQ.js +0 -1
  635. package/dist/assets/use-edge-swipe-CCn4_Vm3.js +0 -1
  636. package/dist/assets/use-edge-swipe-back-xU9GuipH.js +0 -2
  637. package/dist/assets/use-edit-app-DDA6_WrI.js +0 -1
  638. package/dist/assets/use-effective-timezone-BfyKw5_H.js +0 -1
  639. package/dist/assets/use-element-size-CVF6o81H.js +0 -1
  640. package/dist/assets/use-hotkey-recorder-IMOc7G5D.js +0 -1
  641. package/dist/assets/use-invite-link-dialog-CvA_-72H.js +0 -1
  642. package/dist/assets/use-is-mobile-DYVRtRin.js +0 -1
  643. package/dist/assets/use-is-org-ready-B6oCKWeF.js +0 -1
  644. package/dist/assets/use-local-file-info-CSgzMBYt.js +0 -1
  645. package/dist/assets/use-media-query-BMHGif0t.js +0 -1
  646. package/dist/assets/use-obscure-credits-flag-CWxw1xHq.js +0 -1
  647. package/dist/assets/use-onboarding-login-CJ6HY3Pk.js +0 -1
  648. package/dist/assets/use-platform-assistant-id-DwSyMaOn.js +0 -1
  649. package/dist/assets/use-platform-gate-s29eeyq-.js +0 -1
  650. package/dist/assets/use-reduced-motion-CVyEdyEe.js +0 -1
  651. package/dist/assets/use-return-to-short-circuit-Bx5s2Syg.js +0 -1
  652. package/dist/assets/use-save-twilio-credentials-Zjhi1c0P.js +0 -1
  653. package/dist/assets/use-side-list-room-BT-2EM5d.js +0 -1
  654. package/dist/assets/use-skill-actions-BtnAACsE.js +0 -1
  655. package/dist/assets/use-skill-detail-files-B_E6xY9x.js +0 -1
  656. package/dist/assets/use-sticky-profiles-DpkWeMmN.js +0 -1
  657. package/dist/assets/use-stt-language-selection-BWJdaCRu.js +0 -1
  658. package/dist/assets/use-subagent-card-data-CfuRPesp.js +0 -1
  659. package/dist/assets/use-supports-bookmarks-Qhc5HpKD.js +0 -1
  660. package/dist/assets/use-supports-credentials-settings-BD0GXxL7.js +0 -1
  661. package/dist/assets/use-supports-inference-profiles-DS2ZLoNc.js +0 -1
  662. package/dist/assets/use-swipe-horizontal-B9YOWcB6.js +0 -1
  663. package/dist/assets/use-touch-mobile-hfZPfT1P.js +0 -1
  664. package/dist/assets/use-transcript-message-by-id-DfWH7JRN.js +0 -1
  665. package/dist/assets/use-transcript-messages-CFkvE46_.js +0 -3
  666. package/dist/assets/use-truncated-blob-text-DmnckNwK.js +0 -1
  667. package/dist/assets/use-voice-sample-preview-B8HUywXz.js +0 -1
  668. package/dist/assets/useInfiniteQuery-Dz6qbDTQ.js +0 -1
  669. package/dist/assets/useMutation-Cl7cazkm.js +0 -1
  670. package/dist/assets/useQueries-RuiDsyUH.js +0 -1
  671. package/dist/assets/useQuery-BtL9k7Sh.js +0 -1
  672. package/dist/assets/user-DqmJs6-I.js +0 -1
  673. package/dist/assets/user-plus-Bg01QRAF.js +0 -1
  674. package/dist/assets/users-DLjK4Ffo.js +0 -1
  675. package/dist/assets/utils-CAI1IDgW.js +0 -1
  676. package/dist/assets/viewer-store-CHptQmkY.js +0 -1
  677. package/dist/assets/voice-input-device-DsSHVzmw.js +0 -1
  678. package/dist/assets/voice-page-Dgcf5OOp.js +0 -1
  679. package/dist/assets/voice-providers-note-nJKW4coW.js +0 -1
  680. package/dist/assets/volume-2-DQKLkySB.js +0 -1
  681. package/dist/assets/weather-forecast-display-_NYO0wBC.js +0 -1
  682. package/dist/assets/web-8Dh87AZ1.js +0 -1
  683. package/dist/assets/web-BAQ66WKm.js +0 -1
  684. package/dist/assets/web-BFD28UZm.js +0 -1
  685. package/dist/assets/web-BcIK5wrq.js +0 -1
  686. package/dist/assets/web-C_sL6qhW.js +0 -1
  687. package/dist/assets/web-D0e5_5xl.js +0 -1
  688. package/dist/assets/web-D4Rr20FV.js +0 -1
  689. package/dist/assets/web-iI5WHtNC.js +0 -1
  690. package/dist/assets/web-qqG-3jDd.js +0 -1
  691. package/dist/assets/welcome-screen-DK4_01J3.js +0 -1
  692. package/dist/assets/widget-snapshot-OH8xHYY2.js +0 -1
  693. package/dist/assets/workflow-detail-panel-TqYAg0bB.js +0 -1
  694. package/dist/assets/workflow-kvRB4Mc5.js +0 -1
  695. package/dist/assets/workflow-status-B_zEZCnR.js +0 -1
  696. package/dist/assets/workflow-store-DH4q15s9.js +0 -1
  697. package/dist/assets/workspace-page-Dbwb2RCx.js +0 -1
  698. package/dist/assets/workspace-path-links-Y-WgBhhL.js +0 -1
  699. package/dist/assets/workspace-theme-tokens-DmrDqHwx.js +0 -1
  700. package/dist/assets/workspace-tree-query-DnEMWZ1K.js +0 -1
  701. package/dist/assets/wrench-ajjC5omI.js +0 -1
  702. package/dist/assets/x-nhRPd-Mz.js +0 -1
  703. package/dist/assets/xterm-addon-fit-DIrY4yvs.js +0 -1
  704. package/dist/assets/zap-Db0KA7N4.js +0 -1
  705. /package/dist/assets/{account-Cs9SXbU1.js → account-B6zEi6O8.js} +0 -0
  706. /package/dist/assets/{account-DWeaNEN6.js → account-WSklJ2-s.js} +0 -0
  707. /package/dist/assets/{app-types-CpnkPGh8.js → app-types-BSxLQFrc.js} +0 -0
  708. /package/dist/assets/{credential-requests-D74qo-et.js → credential-requests-DQ9WS6Rl.js} +0 -0
  709. /package/dist/assets/{credential-requests-BsHMMFoG.js → credential-requests-DUwvVpZo.js} +0 -0
  710. /package/dist/assets/{definitions-BKQ6A5IV.js → definitions-BTBjNf1i.js} +0 -0
  711. /package/dist/assets/{definitions-Bi8Nex3B.js → definitions-Dz0UVs0Z.js} +0 -0
  712. /package/dist/assets/{emoji-catalog-data-81v3IYMV.js → emoji-catalog-data-a3DXKyhe.js} +0 -0
  713. /package/dist/assets/{format-file-size-gDJ7ppQ0.js → format-file-size-BCpFMv3k.js} +0 -0
  714. /package/dist/assets/{home-C5CVL0Ta.js → home-BWUNWNMl.js} +0 -0
  715. /package/dist/assets/{home-QpGM3cDE.js → home-DJ6q91Qp.js} +0 -0
  716. /package/dist/assets/{library-mD_34-zu.js → library-Bu_eLt14.js} +0 -0
  717. /package/dist/assets/{library-a7r2rPRX.js → library-Diqzwx-J.js} +0 -0
  718. /package/dist/assets/{link-click-LjKsC7uu.js → link-click-DpfLT-iQ.js} +0 -0
  719. /package/dist/assets/{logs-DYhiKdQ8.js → logs-Bs19Ze4Q.js} +0 -0
  720. /package/dist/assets/{logs-CwEMxFk_.js → logs-FJQpRVDW.js} +0 -0
  721. /package/dist/assets/{machine-sizes-DOMlCbKb.js → machine-sizes-C3ptouhz.js} +0 -0
  722. /package/dist/assets/{onboarding-step-layout-_Fbi43YU.js → onboarding-step-layout-BlSoa02H.js} +0 -0
  723. /package/dist/assets/{plugin-attribution-7tkVwdle.js → plugin-attribution-c6x0DrZM.js} +0 -0
  724. /package/dist/assets/{profile-metadata-BPGeIeNj.js → profile-metadata-Bk4pj7o_.js} +0 -0
  725. /package/dist/assets/{radio-card-nav-C67JvVkE.js → radio-card-nav-DlRweN3g.js} +0 -0
  726. /package/dist/assets/{remote-web-Btj-E-og.js → remote-web-9YsnKwue.js} +0 -0
  727. /package/dist/assets/{remote-web-yAGitwPt.js → remote-web-bapYzahN.js} +0 -0
  728. /package/dist/assets/{chunk-jRWAZmH_.js → rolldown-runtime-BM3Ffeng.js} +0 -0
  729. /package/dist/assets/{schedules-K8jULmC8.js → schedules-CYD1CzCP.js} +0 -0
  730. /package/dist/assets/{schedules-Dd44UKOx.js → schedules-DhwNRBkz.js} +0 -0
  731. /package/dist/assets/{terminal-CazBoirG.js → terminal-7pMYRiby.js} +0 -0
  732. /package/dist/assets/{terminal-DP646Xj3.js → terminal-BMbpDjYx.js} +0 -0
  733. /package/dist/assets/{src-CfUWwwYf.css → vendor-CfUWwwYf.css} +0 -0
  734. /package/dist/assets/{workspace-Dva7bu2g.js → workspace-BAHtR2RN.js} +0 -0
  735. /package/dist/assets/{workspace-xgS4oaDo.js → workspace-BnkQd2SU.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{A as t,Kn as n,N as r,O as i,Yn as a,qn as o}from"./vendor-WUN87CSE.js";import{b as s,f as c,g as l,t as u}from"./react-DPM_L_aA.js";import{Br as d,Cr as f,Fr as p,J as m,Lr as h,P as g,Qt as _,Zt as v,_t as y,et as b,i as x,jr as S,ot as C,pn as w,qn as T,st as E,tn as D,tr as O,x as k,xi as A,zr as j}from"./icons-CSdHOix6.js";import{$h as M,$v as N,Ad as P,Ap as F,Br as I,Cc as L,Cl as R,Cr as z,Dd as ee,Ds as B,Fr as V,Hr as te,Hv as H,Ir as ne,Ki as re,Lr as ie,Lu as ae,Md as oe,Mu as se,Od as ce,Ov as le,Rm as ue,Rr as de,Ru as fe,Sy as U,Tc as pe,Tv as me,Vf as he,Vr as ge,Xp as _e,_f as ve,_y as ye,ay as W,bf as be,bn as xe,ft as Se,hy as G,iy as K,jd as Ce,jg as we,jv as Te,kd as Ee,ly as De,my as Oe,ny as ke,oy as q,sy as J,uv as Ae,uy as Y,vf as je,vv as Me,wc as Ne,wl as Pe,wy as X,xi as Fe,xy as Ie,yf as Le,zf as Re,zr as ze}from"./index-7XDiAJ-A.js";import{t as Be}from"./use-platform-assistant-id-DcVWp7KY.js";var Ve=A(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),He=A(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]),Z=e(s(),1);function Ue({assistantId:e,providerKey:t,displayName:n,managedAvailable:i,connectionsQueryKey:o,allConnections:s}){let c=a(),l=_e(),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),[m,h]=(0,Z.useState)(!1),g=()=>{d.current=null,h(!1)},_=()=>{u.current&&!u.current.closed&&u.current.close(),u.current=null,f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},v=(0,Z.useCallback)(e=>{if(e.type!==`vellum:oauth-complete`||!d.current||e.requestId!==d.current.requestId)return;let{oauthStatus:t,oauthCode:i}=e;_(),g(),t===`connected`?(W.success(r(`useOauthConnect.accountConnected`,{name:n})),c.invalidateQueries({queryKey:o})):W.error(i?r(`useOauthConnect.authorizationError`,{name:n,code:i}):r(`useOauthConnect.authorizationFailed`,{name:n}))},[o,n,c]),y=(0,Z.useCallback)(async(e,n)=>{if(!i)return!1;for(let r=0;r<8;r+=1){r>0&&await ie(750);try{if(c.invalidateQueries({queryKey:o}),ne(await c.fetchQuery({...L({path:{assistant_id:e}}),staleTime:0}),t,n))return!0}catch{}}return!1},[o,i,t,c]);(0,Z.useEffect)(()=>{let e=e=>{let t=d.current;if(!t)return;let n=de(e,window.location.origin,t.requestId);n&&v(n)},t=e=>{let t=d.current;if(!t)return;let n=ze(e,t.requestId);n&&(v(n),window.localStorage.removeItem(I(t.requestId)))};return window.addEventListener(`message`,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(`message`,e),window.removeEventListener(`storage`,t)}},[v]),te((0,Z.useCallback)(e=>{let t=d.current;t&&e.requestId===t.requestId&&v({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[v])),(0,Z.useEffect)(()=>fe(()=>{let e=d.current;e&&(async()=>{let t=await y(e.platformAssistantId,e.baselineConnectionSignatures);d.current&&(g(),t&&W.success(r(`useOauthConnect.accountConnected`,{name:n})))})()}),[y,n]),(0,Z.useEffect)(()=>()=>{f.current&&clearInterval(f.current),p.current&&clearTimeout(p.current),u.current&&!u.current.closed&&u.current.close()},[]);let b=Pe();return{handleConnect:(a=[])=>{if(!i)return;let o=crypto.randomUUID();h(!0);let m=async i=>{let u;try{u=await F(e)}catch(e){_(),g(),W.error(e instanceof Error?e.message:r(`useOauthConnect.startFailed`,{name:n}));return}let f=V(await c.fetchQuery({...L({path:{assistant_id:u}}),staleTime:0}).catch(()=>u===e?s??[]:[]),t);d.current={requestId:o,provider:t,platformAssistantId:u,baselineConnectionSignatures:f},b.mutate({path:{assistant_id:u,provider:t},body:{requested_scopes:a,redirect_after_connect:`${Ae.account.oauth.popupComplete}?requestId=${o}${l?`&native=1`:``}`}},{onSuccess(e){if(l){ae(e.connect_url);return}i&&!i.closed?i.location.href=e.connect_url:d.current&&(_(),g(),W.error(r(`useOauthConnect.popupClosed`,{name:n})))},onError(e){_(),g();let t=me(e,void 0,r(`useOauthConnect.startFailed`,{name:n}));W.error(t)}})};if(l){m(null);return}let x=window.open(``,`_blank`,`width=500,height=600`);if(x===null){g(),W.error(r(`useOauthConnect.popupBlocked`));return}u.current=x,f.current=setInterval(()=>{u.current&&u.current.closed&&d.current&&!p.current&&(p.current=setTimeout(async()=>{p.current=null;let e=d.current;if(!e)return;let t=window.localStorage.getItem(I(e.requestId));if(t){let n=ge(t);if(n&&n.requestId===e.requestId){v(n),window.localStorage.removeItem(I(e.requestId));return}}let i=await y(e.platformAssistantId,e.baselineConnectionSignatures);if(d.current){if(i){_(),g(),W.success(r(`useOauthConnect.accountConnected`,{name:n}));return}_(),g(),W.error(r(`useOauthConnect.authPopupClosed`,{name:n}))}},1e3))},100),m(x)},oauthInProgress:m,startOAuthPending:b.isPending}}var Q=u();function We({displayName:e,providerKey:t,logoUrl:n,connections:r,connectionsLoading:a,startPending:o,oauthInProgress:s,disconnectingId:c,onConnect:l,onDisconnect:u,connectPresets:d=[]}){let{t:f}=i(`settings`),p=o||s;return a?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):r.length===0?o||s?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(z,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),f(`managedOauthTab.waitingForAuthorization`)]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(z,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:f(`managedOauthTab.connectToContinue`)}),(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,Q.jsx)(X,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(E,{}),onClick:()=>l(),disabled:p,children:f(`managedOauthTab.connectAccount`)}),d.map(e=>(0,Q.jsx)(X,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(He,{}),onClick:()=>l(e.scopes),disabled:p,children:e.label},e.id))]})]}):(0,Q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(r=>{let i=c===r.id,a=r.account_label??f(`managedOauthTab.accountFallback`,{name:e});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Q.jsx)(z,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:a}),(0,Q.jsx)(X,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,Q.jsx)(D,{className:`animate-spin`}):(0,Q.jsx)(k,{}),onClick:()=>u(r),disabled:i,"aria-label":f(`managedOauthTab.disconnectAriaLabel`,{account:a})})]},r.id)})}),(0,Q.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:p?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),f(`managedOauthTab.waitingForAuthorization`)]}):(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(X,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(T,{}),onClick:()=>l(),disabled:p,children:f(`managedOauthTab.connectAccountLower`)}),d.map(e=>(0,Q.jsx)(X,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(He,{}),onClick:()=>l(e.scopes),disabled:p,children:e.label},e.id))]})})]})}function Ge(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ke(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function qe({assistantId:e,providerKey:t,displayName:r,logoUrl:s}){let{t:c}=i(`settings`),l=a(),u=n({...Ee({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),f=n({...Ce({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),p=u.data??[],m=f.data??null,h=o({queries:p.map(t=>({...ee({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),g={};p.forEach((e,t)=>{g[e.id]=h[t]?.data??[]});let _=P({path:{assistant_id:e},query:{provider_key:t}}),v=Le({onSuccess:()=>{l.invalidateQueries({queryKey:_}),A(``),M(``),C(!1),W.success(c(`yourOwnOauthTab.appAddedToast`,{name:r}))},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.createFailedToast`))}}),y=je({onSuccess:()=>{l.invalidateQueries({queryKey:_}),W.success(c(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.deleteFailedToast`))}}),b=ve({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.connectFailedToast`))}}),x=be(),[S,C]=(0,Z.useState)(!1),[w,A]=(0,Z.useState)(``),[j,M]=(0,Z.useState)(``),[N,F]=(0,Z.useState)(!1),[I,L]=(0,Z.useState)(null),[R,B]=(0,Z.useState)(null),V=v.isPending,te=y.isPending?y.variables?.path?.id??null:null,H=b.isPending?b.variables?.path?.appId??null:null,ne=x.isPending?x.variables?.path?.id??null:null,re=()=>{let n=w.trim(),r=j.trim();!n||!r||v.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ie=()=>{let t=I;L(null),t&&y.mutate({path:{assistant_id:e,id:t.id}})},ae=t=>{b.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return u.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[p.length===0||S?(0,Q.jsx)(U.Root,{children:(0,Q.jsxs)(U.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:p.length===0?c(`yourOwnOauthTab.addOwnApp`,{name:r}):c(`yourOwnOauthTab.addAnotherApp`,{name:r})}),(0,Q.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.credentialsNote`)})]}),m?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`yourOwnOauthTab.redirectUrl`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(G,{type:`text`,value:m,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(X,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{se(m,{successMessage:c(`yourOwnOauthTab.copiedToast`),errorMessage:c(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{F(!0),setTimeout(()=>F(!1),2e3)}})},"aria-label":c(N?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:N?(0,Q.jsx)(d,{"aria-hidden":!0}):(0,Q.jsx)(O,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Q.jsx)(G,{label:c(`yourOwnOauthTab.clientId`),type:`text`,value:w,onChange:e=>A(e.target.value),placeholder:c(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Q.jsx)(G,{label:c(`yourOwnOauthTab.clientSecret`),type:`password`,value:j,onChange:e=>M(e.target.value),placeholder:c(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[p.length>0?(0,Q.jsx)(X,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{C(!1),A(``),M(``)},disabled:V,children:c(`yourOwnOauthTab.cancel`)}):null,(0,Q.jsx)(X,{type:`button`,size:`compact`,onClick:re,disabled:V||!w.trim()||!j.trim(),leftIcon:V?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(E,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addApp`)})]})]})}):null,p.map(e=>{let n=g[e.id]??[],i=te===e.id,a=H===e.id;return(0,Q.jsx)(U.Root,{children:(0,Q.jsxs)(U.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,Q.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:Ge(e.client_id)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.addedOn`,{date:Ke(e.created_at)})})]}),(0,Q.jsx)(X,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>L(e),disabled:i,"aria-label":c(`yourOwnOauthTab.deleteAppAria`,{id:Ge(e.client_id)}),iconOnly:i?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(k,{"aria-hidden":!0})})]}),n.length>0?(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:n.map(n=>{let i=ne===n.id,a=n.account_info??c(`yourOwnOauthTab.accountFallback`,{name:r});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(z,{providerKey:t,displayName:r,logoUrl:s,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:a}),(0,Q.jsx)(X,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>B({appId:e.id,connection:n}),disabled:i,"aria-label":c(`yourOwnOauthTab.disconnectAria`,{account:a}),iconOnly:i?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(k,{"aria-hidden":!0})})]},n.id)})}):null,(0,Q.jsx)(X,{type:`button`,size:`compact`,onClick:()=>ae(e),disabled:a,className:`w-full`,leftIcon:a?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(T,{"aria-hidden":!0}),children:c(a?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),p.length>0&&!S?(0,Q.jsx)(X,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>C(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(E,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Q.jsx)(K,{open:I!==null,title:c(`yourOwnOauthTab.deleteAppTitle`),message:I?c(`yourOwnOauthTab.deleteAppMessage`,{id:Ge(I.client_id)}):``,confirmLabel:c(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ie,onCancel:()=>L(null)}),(0,Q.jsx)(K,{open:R!==null,title:c(`yourOwnOauthTab.disconnectTitle`,{name:r}),message:R?c(`yourOwnOauthTab.disconnectMessage`,{account:R.connection.account_info??c(`yourOwnOauthTab.accountFallback`,{name:r})}):``,confirmLabel:c(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=R;B(null),t&&x.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let n=ce({path:{assistant_id:e,appId:t.appId}});l.invalidateQueries({queryKey:n}),l.invalidateQueries({queryKey:_}),W.success(c(`yourOwnOauthTab.disconnectedToast`,{name:r}))},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>B(null)})]})}var Je={};function Ye(e){return Je[e]??[]}function Xe({assistantId:e,platformAssistantId:t,providerKey:r,displayName:o,description:s,logoUrl:c,platformGate:l,onClose:u}){let{t:d}=i(`settings`),f=a(),p=l===`full`,m=!Re(),[h,g]=(0,Z.useState)(l===`gated`&&m?`your-own`:`managed`),_=(0,Z.useMemo)(()=>[{value:`managed`,label:d(`integrationDetailModal.managedTab`)},{value:`your-own`,label:d(`integrationDetailModal.yourOwnTab`)}],[d]);(0,Z.useEffect)(()=>{!m&&h===`your-own`&&g(`managed`)},[m,h]);let[v,y]=(0,Z.useState)(null),[b,S]=(0,Z.useState)(null),C=Ne({path:{assistant_id:t}}),{data:w,isLoading:T}=n({...L({path:{assistant_id:t}}),enabled:p}),E=(w??[]).filter(e=>e.provider===r&&e.connected),{handleConnect:D,oauthInProgress:O,startOAuthPending:k}=Ue({assistantId:e,providerKey:r,displayName:o,managedAvailable:p,connectionsQueryKey:C,allConnections:w}),A={path:{assistant_id:t}},j=R({onSuccess(e,t){W.success(d(`integrationDetailModal.disconnectedToast`,{name:o}));let n=t.path.connection_id;pe(f,A,e=>e?.filter(e=>e.id!==n)),f.invalidateQueries({queryKey:C}),y(null)},onError(e){let t=me(e,void 0,d(`integrationDetailModal.disconnectFailedToast`,{name:o}));W.error(t),y(null)}});re(),(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),u())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[u]);let M=e=>{S(e)},N=()=>{let e=b;S(null),e&&(y(e.id),j.mutate({path:{assistant_id:t,connection_id:e.id}}))},P=b?.account_label??d(`integrationDetailModal.accountFallback`,{name:o}),F=s?d(`integrationDetailModal.subtitleWithDescription`,{name:o,description:s}):d(`integrationDetailModal.subtitle`,{name:o});return(0,Q.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,Q.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(z,{providerKey:r,displayName:o,logoUrl:c,size:32}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:d(`integrationDetailModal.title`,{name:o})}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:F})]})]}),(0,Q.jsx)(X,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(x,{}),"aria-label":d(`integrationDetailModal.close`),onClick:u})]}),(0,Q.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[l!==`gated`&&m&&(0,Q.jsx)(De,{ariaLabel:d(`integrationDetailModal.oauthModeAriaLabel`),items:_,value:h,onChange:g}),h===`managed`&&l!==`gated`?l===`disabled`?(0,Q.jsx)(xe,{children:d(`integrationDetailModal.loginNotice`)}):(0,Q.jsx)(We,{displayName:o,providerKey:r,logoUrl:c,connections:E,connectionsLoading:T,startPending:k,oauthInProgress:O,disconnectingId:j.isPending?v:null,onConnect:D,onDisconnect:M,connectPresets:Ye(r)}):m?(0,Q.jsx)(qe,{assistantId:e,providerKey:r,displayName:o,logoUrl:c}):null]}),(0,Q.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,Q.jsx)(X,{variant:`outlined`,size:`compact`,onClick:u,children:d(`integrationDetailModal.confirm`)})})]}),(0,Q.jsx)(K,{open:b!==null,title:d(`integrationDetailModal.disconnectTitle`,{name:o}),message:b?d(`integrationDetailModal.disconnectMessage`,{account:P}):``,confirmLabel:d(`integrationDetailModal.disconnect`),destructive:!0,onConfirm:N,onCancel:()=>S(null)})]})}function Ze({platformAssistantId:e,providerKey:t,displayName:n,description:r,logoUrl:o,connection:s,platformGate:c,onConfigure:l}){let{t:u}=i(`settings`),d=a(),f=!!s?.connected,[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(!1),_=Ne({path:{assistant_id:e}}),v={path:{assistant_id:e}},y=R({onSuccess(e,t){W.success(u(`integrationRow.disconnectedToast`,{name:n}));let r=t.path.connection_id;pe(d,v,e=>e?.filter(e=>e.id!==r)),d.invalidateQueries({queryKey:_})},onError(e){let t=me(e,void 0,u(`integrationRow.disconnectFailedToast`,{name:n}));W.error(t)}}),b=()=>{s?.id&&g(!0)};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(U.Root,{children:(0,Q.jsxs)(U.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,Q.jsx)(z,{providerKey:t,displayName:n,logoUrl:o,size:32}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:n}),r&&(0,Q.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:r})]}),f&&c===`full`?(0,Q.jsx)(`div`,{className:`shrink-0`,children:(0,Q.jsx)(Qe,{displayName:n,open:p,onOpenChange:m,onEditConnections:()=>{m(!1),l()},onDisable:()=>{m(!1),b()},disablePending:y.isPending})}):(0,Q.jsx)(X,{variant:`primary`,onClick:l,className:`shrink-0`,children:u(`integrationRow.enable`)})]})}),(0,Q.jsx)(K,{open:h,title:u(`integrationRow.disconnectTitle`,{name:n}),message:u(`integrationRow.disconnectMessage`,{name:n}),confirmLabel:u(`integrationRow.disconnect`),destructive:!0,onConfirm:()=>{g(!1),s?.id&&y.mutate({path:{assistant_id:e,connection_id:s.id}})},onCancel:()=>g(!1)})]})}function Qe({displayName:e,open:t,onOpenChange:n,onEditConnections:r,onDisable:a,disablePending:o}){let{t:s}=i(`settings`);return Fe()?(0,Q.jsxs)(q.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(q.Trigger,{asChild:!0,children:(0,Q.jsx)(X,{variant:`outlined`,rightIcon:(0,Q.jsx)(j,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,Q.jsxs)(q.Content,{children:[(0,Q.jsx)(q.Header,{children:(0,Q.jsx)(q.Title,{children:e})}),(0,Q.jsxs)(q.Body,{children:[(0,Q.jsx)(ke,{icon:y,label:s(`integrationRow.editConnections`),onSelect:r}),(0,Q.jsx)(ke,{icon:o?D:f,label:s(`integrationRow.disable`),onSelect:()=>{o||a()}})]})]})]}):(0,Q.jsxs)(ye.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(ye.Trigger,{asChild:!0,children:(0,Q.jsx)(X,{variant:`outlined`,rightIcon:(0,Q.jsx)(j,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,Q.jsxs)(ye.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,Q.jsx)(X,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:r,className:`w-full justify-start rounded-none`,leftIcon:(0,Q.jsx)(y,{"aria-hidden":!0}),children:s(`integrationRow.editConnections`)}),(0,Q.jsx)(X,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:a,disabled:o,className:`w-full justify-start rounded-none`,leftIcon:o?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(f,{"aria-hidden":!0}),children:s(`integrationRow.disable`)})]})]})}var $e=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],et=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function tt(e){return $e.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function nt(e){return et.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function rt({open:e,onClose:t,onAdd:n,isPending:r}){let{t:a}=i(`settings`),o=(0,Z.useMemo)(()=>tt(a),[a]),s=(0,Z.useMemo)(()=>nt(a),[a]),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(`sse`),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(``),[g,_]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(`none`),[b,x]=(0,Z.useState)(``),[S,C]=(0,Z.useState)(`X-API-Key`),[w,T]=(0,Z.useState)(``),E=(0,Z.useCallback)(()=>{l(``),d(`sse`),p(``),h(``),_(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,Z.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,Z.useCallback)(()=>{let e=c.trim();if(!e)return;let t={name:e,transportType:u};if(u===`stdio`){let e=m.trim();if(!e)return;t.command=e;let n=g.trim();n&&(t.args=n.split(/\s+/))}else{let e=f.trim();if(!e)return;t.url=e,v===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:v===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:v===`oauth`&&(t.autoAuth=!0)}n(t)},[c,u,f,m,g,v,b,S,w,n]),k=u===`stdio`,A=c.trim()&&(k?m.trim():f.trim());return(0,Q.jsx)(J.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,Q.jsxs)(J.Content,{size:`md`,children:[(0,Q.jsxs)(J.Header,{icon:Ve,children:[(0,Q.jsx)(J.Title,{children:a(`mcpAddServerModal.title`)}),(0,Q.jsx)(J.Description,{children:a(`mcpAddServerModal.description`)})]}),(0,Q.jsx)(J.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:a(`mcpAddServerModal.serverNameLabel`)}),(0,Q.jsx)(G,{id:`mcp-name`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:a(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:a(`mcpAddServerModal.transportLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:u,onChange:e=>d(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:s.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:a(`mcpAddServerModal.commandLabel`)}),(0,Q.jsx)(G,{id:`mcp-command`,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:a(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:a(`mcpAddServerModal.argsLabel`)}),(0,Q.jsx)(G,{id:`mcp-args`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:a(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:a(`mcpAddServerModal.serverUrlLabel`)}),(0,Q.jsx)(G,{id:`mcp-url`,type:`url`,value:f,onChange:e=>p(e.target.value),placeholder:a(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:a(`mcpAddServerModal.authenticationLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:v,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:o.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),v===`oauth`?(0,Q.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-default text-[var(--content-tertiary)]`,children:a(`mcpAddServerModal.oauthHint`)}):null,v===`bearer`?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:a(`mcpAddServerModal.bearerTokenLabel`)}),(0,Q.jsx)(G,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:a(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,v===`api-key`?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:a(`mcpAddServerModal.headerNameLabel`)}),(0,Q.jsx)(G,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:a(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:a(`mcpAddServerModal.apiKeyLabel`)}),(0,Q.jsx)(G,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:a(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(J.Footer,{children:[(0,Q.jsx)(X,{variant:`ghost`,onClick:D,disabled:r,children:a(`mcpAddServerModal.cancel`)}),(0,Q.jsx)(X,{variant:`primary`,onClick:O,disabled:!A||r,children:a(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}async function it(e){let{data:t,response:n}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function at(e){let{data:t,response:n}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function ot(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function st(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function ct(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function lt(e,t){let{data:n,response:r}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function ut(e,t){let{data:n,response:r}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}async function dt(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function ft(e){let{response:t}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}var pt={connected:{icon:S,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:w,className:`text-[var(--system-warning-strong)]`},disabled:{icon:C,className:`text-[var(--content-tertiary)]`}},mt={icon:p,className:`text-[var(--system-negative-strong)]`};function ht(e,t){switch(e){case`connected`:return t(`mcpServerCard.statusConnected`);case`needs-auth`:return t(`mcpServerCard.statusNeedsAuth`);case`disabled`:return t(`mcpServerCard.statusDisabled`);default:return t(`mcpServerCard.statusError`)}}function gt({server:e,toolsSummary:t,onToggleEnabled:n,onRemove:r,onConfigure:a,onAuthenticate:o,onRevokeOAuth:s,isUpdating:c,isAuthenticating:l,isRevoking:u}){let{t:d}=i(`settings`),[f,p]=(0,Z.useState)(!1),m=pt[e.status]??mt,g=m.icon,y=(0,Z.useCallback)(t=>n(e.id,t),[n,e.id]),x=(0,Z.useCallback)(()=>r(e.id),[r,e.id]),S=(0,Z.useCallback)(()=>a(e.id),[a,e.id]),C=(0,Z.useCallback)(()=>o(e.id),[o,e.id]),w=(0,Z.useCallback)(()=>s(e.id),[s,e.id]),T=(0,Z.useCallback)(()=>p(e=>!e),[]);return(0,Q.jsx)(U.Root,{children:(0,Q.jsxs)(U.Body,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.id}),(0,Q.jsxs)(`span`,{className:`flex items-center gap-1 text-label-medium-default ${m.className}`,children:[(0,Q.jsx)(g,{className:`h-3.5 w-3.5`}),ht(e.status,d)]}),e.hasOAuth?(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-secondary)]`,children:d(`mcpServerCard.oauthBadge`)}):null]}),(0,Q.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:e.transport.type}),t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(`span`,{children:d(`mcpServerCard.toolCount`,{count:t.toolCount})}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(`span`,{children:d(`mcpServerCard.estimatedTokens`,{count:t.estimatedTokens.toLocaleString()})})]}):null]})]})}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c||l?(0,Q.jsx)(D,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}):null,e.status===`needs-auth`&&e.transport.type!==`stdio`&&!e.hasOAuth?(0,Q.jsx)(X,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(_,{}),onClick:C,disabled:l,children:d(l?`mcpServerCard.authenticating`:`mcpServerCard.authenticate`)}):null,e.hasOAuth?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(X,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(b,{}),onClick:C,disabled:l,tooltip:d(`mcpServerCard.reAuthTooltip`),children:d(`mcpServerCard.reAuth`)}),(0,Q.jsx)(X,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,Q.jsx)(v,{}),onClick:w,disabled:u,tooltip:d(`mcpServerCard.revokeOAuthTooltip`),children:d(u?`mcpServerCard.revoking`:`mcpServerCard.revoke`)})]}):null,(0,Q.jsx)(Oe,{checked:e.enabled,onChange:y,disabled:c,"aria-label":e.enabled?d(`mcpServerCard.toggleDisableAriaLabel`,{serverId:e.id}):d(`mcpServerCard.toggleEnableAriaLabel`,{serverId:e.id})}),(0,Q.jsx)(X,{variant:`ghost`,size:`compact`,onClick:S,tooltip:d(`mcpServerCard.configureTooltip`),children:d(`mcpServerCard.configure`)}),(0,Q.jsx)(X,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(k,{}),onClick:x,tooltip:d(`mcpServerCard.removeServerTooltip`),"aria-label":d(`mcpServerCard.removeServerAriaLabel`,{serverId:e.id})})]})]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:T,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[f?(0,Q.jsx)(j,{className:`h-3.5 w-3.5`}):(0,Q.jsx)(h,{className:`h-3.5 w-3.5`}),d(`mcpServerCard.registeredTools`,{count:t.toolCount})]}),f?(0,Q.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,Q.jsx)(H,{title:e.name,subtitle:e.description||void 0,trailing:(0,Q.jsx)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:d(`mcpServerCard.toolTokensAbbrev`,{count:e.estimatedTokens.toLocaleString()})})},e.name))}):null]}):null]})})}var _t=[`none`,`bearer`,`api-key`],vt=[`low`,`medium`,`high`];function yt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function bt(e,t){switch(e){case`low`:return t(`mcpServerDetailModal.riskLow`);case`medium`:return t(`mcpServerDetailModal.riskMedium`);case`high`:return t(`mcpServerDetailModal.riskHigh`);default:return e}}function xt({server:e,toolsSummary:t,onClose:n,onSave:r,isPending:a}){let{t:o}=i(`settings`),[s,c]=(0,Z.useState)(`medium`),[l,u]=(0,Z.useState)(`none`),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(`X-API-Key`),[h,g]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(c(e.defaultRiskLevel),u(e.authType),f(``),m(e.authHeaderName??`X-API-Key`),g(``))},[e]);let _=(0,Z.useCallback)(()=>{if(!e)return;let t=l!==e.authType,n=l===`bearer`&&d.trim()!==``,i=l===`api-key`&&p.trim()!==``&&h.trim()!==``,a=t||n||i,o;o=a?l===`none`?null:l===`bearer`&&d.trim()?{Authorization:`Bearer ${d.trim()}`}:l===`api-key`&&p.trim()&&h.trim()?{[p.trim()]:h.trim()}:void 0:void 0,r(e.id,{name:e.id,defaultRiskLevel:s,...o===void 0?{}:{headers:o}})},[e,s,l,d,p,h,r]),v=(0,Z.useCallback)(()=>{a||n()},[a,n]);return e?(0,Q.jsx)(J.Root,{open:!!e,onOpenChange:e=>{e||v()},children:(0,Q.jsxs)(J.Content,{size:`lg`,children:[(0,Q.jsxs)(J.Header,{icon:Ve,children:[(0,Q.jsx)(J.Title,{children:e.id}),(0,Q.jsx)(J.Description,{children:o(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Q.jsx)(J.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-risk`,children:o(`mcpServerDetailModal.defaultRiskLevel`)}),(0,Q.jsx)(`select`,{id:`mcp-risk`,value:s,onChange:e=>c(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:vt.map(e=>(0,Q.jsx)(`option`,{value:e,children:bt(e,o)},e))})]}),e.transport.type===`stdio`?null:(0,Q.jsxs)(Q.Fragment,{children:[e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:o(`mcpServerDetailModal.oauthBadge`)}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:o(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:_t.map(e=>(0,Q.jsx)(`option`,{value:e,children:yt(e,o)},e))})]}),l===`bearer`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:o(`mcpServerDetailModal.bearerToken`)}),(0,Q.jsx)(G,{id:`mcp-detail-bearer`,type:`password`,value:d,onChange:e=>f(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?o(`mcpServerDetailModal.bearerTokenPlaceholderKeep`):o(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,l===`api-key`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:o(`mcpServerDetailModal.headerName`)}),(0,Q.jsx)(G,{id:`mcp-detail-apikey-header`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:o(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:o(`mcpServerDetailModal.apiKey`)}),(0,Q.jsx)(G,{id:`mcp-detail-apikey-value`,type:`password`,value:h,onChange:e=>g(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?o(`mcpServerDetailModal.apiKeyPlaceholderKeep`):o(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:o(`mcpServerDetailModal.registeredToolsHeading`,{count:t.toolCount})}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,Q.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,Q.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableTool`)}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableDescription`)}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableTokens`)})]})}),(0,Q.jsx)(`tbody`,{children:t.tools.map(e=>(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,Q.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||o(`mcpServerDetailModal.emptyDescription`)}),(0,Q.jsx)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]})})]}):null]})}),(0,Q.jsxs)(J.Footer,{children:[(0,Q.jsx)(X,{variant:`ghost`,onClick:v,disabled:a,children:o(`mcpServerDetailModal.cancel`)}),(0,Q.jsx)(X,{variant:`primary`,onClick:_,disabled:a,children:o(a?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}var St=`mcp-servers`,Ct=`mcp-tools-summary`;function wt(){let{t:e}=i(`settings`),t=Se(),r=a(),o=c(),s=we.use.mcpAddServer(),l=we.use.hasHydrated(),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(null),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(new Set),[v,y]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),[T,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(null),{data:N,isLoading:P,isError:F}=n({queryKey:[St,t],queryFn:()=>it(t)}),{data:I}=n({queryKey:[Ct,t],queryFn:()=>at(t)}),L=(0,Z.useCallback)(()=>{r.invalidateQueries({queryKey:[St,t]}),r.invalidateQueries({queryKey:[Ct,t]})},[r,t]),R=(0,Z.useMemo)(()=>{let e=new Map;if(I)for(let t of I.servers)e.set(t.serverId,t);return e},[I]),z=(0,Z.useMemo)(()=>!f||!N?null:N.servers.find(e=>e.id===f)??null,[f,N]),ee=(0,Z.useCallback)(async(n,r)=>{_(e=>new Set(e).add(n));try{await ot(t,{name:n,enabled:r}),L()}catch{W.error(e(r?`mcpPage.toastEnableFailed`:`mcpPage.toastDisableFailed`,{serverId:n}))}finally{_(e=>{let t=new Set(e);return t.delete(n),t})}},[t,L,e]),V=(0,Z.useCallback)(async()=>{if(m){S(!0);try{await ct(t,m),L(),W.success(e(`mcpPage.toastRemoved`,{serverId:m})),h(null)}catch{W.error(e(`mcpPage.toastRemoveFailed`,{serverId:m}))}finally{S(!1)}}},[m,t,L,e]),te=(0,Z.useCallback)(async n=>{A(n);let r;try{r=await lt(t,n)}catch{W.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n})),A(null);return}try{if(r.already_authenticated){W.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n})),L();return}window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await ut(t,n);if(r.status===`complete`){W.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n})),L();return}if(r.status===`error`){W.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n}));return}}W.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n}))}catch{W.error(e(`mcpPage.toastAuthPollingFailed`,{serverId:n}))}finally{A(null),L()}},[t,L,e]),H=(0,Z.useCallback)(async n=>{M(n);try{await dt(t,n),L(),W.success(e(`mcpPage.toastOAuthRevoked`,{serverId:n}))}catch{W.error(e(`mcpPage.toastOAuthRevokeFailed`,{serverId:n}))}finally{M(null)}},[t,L,e]),ne=(0,Z.useCallback)(async n=>{let r=n.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;y(!0);try{await st(t,n),L(),W.success(e(`mcpPage.toastAdded`,{name:n.name})),d(!1)}catch{W.error(e(`mcpPage.toastAddFailed`,{name:n.name})),r?.close(),y(!1);return}if(y(!1),n.autoAuth){A(n.name);try{let i=await lt(t,n.name);if(i.already_authenticated){r?.close(),W.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n.name})),L();return}r?r.location.href=i.auth_url:window.open(i.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await ut(t,n.name);if(r.status===`complete`){W.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n.name})),L();return}if(r.status===`error`){W.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n.name}));return}}W.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n.name}))}catch{r?.close(),W.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n.name}))}finally{A(null),L()}}},[t,L,e]),re=(0,Z.useCallback)(async(n,r)=>{w(!0);try{await ot(t,r),L(),W.success(e(`mcpPage.toastUpdated`,{serverId:n})),p(null)}catch{W.error(e(`mcpPage.toastUpdateFailed`,{serverId:n}))}finally{w(!1)}},[t,L,e]),ie=(0,Z.useCallback)(async()=>{O(!0);try{await ft(t),L(),W.success(e(`mcpPage.toastReloadSuccess`))}catch{W.error(e(`mcpPage.toastReloadFailed`))}finally{O(!1)}},[t,L,e]),ae=(0,Z.useCallback)(()=>{s?d(!0):B(o,{prompt:e(`mcpPage.setupPrompt`)})},[s,o,e]),oe=N?.servers??[];return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`mcpPage.title`)}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`mcpPage.subtitle`)})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(X,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(b,{className:T?`animate-spin`:``}),onClick:ie,disabled:T,tooltip:e(`mcpPage.reloadTooltip`),"aria-label":e(`mcpPage.reloadAriaLabel`)}),s?(0,Q.jsx)(X,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(E,{}),onClick:()=>d(!0),children:e(`mcpPage.addServerButton`)}):null]})]}),I?(0,Q.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:e(`mcpPage.totalTools`,{count:I.totalToolCount})}),(0,Q.jsx)(`span`,{children:e(`mcpPage.totalTokens`,{count:I.totalEstimatedTokens.toLocaleString()})})]}):null,P?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:e(`mcpPage.loading`)})]}):F?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.loadError`)}):oe.length===0?(0,Q.jsxs)(`button`,{type:`button`,onClick:ae,disabled:!l,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,Q.jsx)(Ve,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`mcpPage.emptyTitle`)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(s?`mcpPage.emptyAddSubtitle`:`mcpPage.emptyChatSubtitle`)})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:oe.map(e=>(0,Q.jsx)(gt,{server:e,toolsSummary:R.get(e.id),onToggleEnabled:ee,onRemove:h,onConfigure:p,onAuthenticate:te,onRevokeOAuth:H,isUpdating:g.has(e.id),isAuthenticating:k===e.id,isRevoking:j===e.id},e.id))}),s?(0,Q.jsx)(rt,{open:u,onClose:()=>d(!1),onAdd:ne,isPending:v}):null,(0,Q.jsx)(xt,{server:z,toolsSummary:f?R.get(f):void 0,onClose:()=>p(null),onSave:re,isPending:C}),(0,Q.jsx)(K,{open:!!m,title:e(`mcpPage.removeDialogTitle`),message:m?e(`mcpPage.removeDialogMessage`,{serverId:m}):``,confirmLabel:e(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:x,onConfirm:V,onCancel:()=>h(null)})]})}function Tt(){return(0,Q.jsx)(wt,{})}var Et=`vellum:integrations:bannerDismissed`;function Dt(e,t){return{denied:e(`integrationsPage.oauthErrorDenied`),state_invalid:e(`integrationsPage.oauthErrorStateInvalid`),state_expired:e(`integrationsPage.oauthErrorStateExpired`),exchange_failed:e(`integrationsPage.oauthErrorExchangeFailed`),identity_failed:e(`integrationsPage.oauthErrorIdentityFailed`)}[t]}function Ot(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchTitle`);switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledTitle`);case`not-enabled`:return e(`integrationsPage.emptyAllEnabledTitle`);default:return e(`integrationsPage.emptyDefaultTitle`)}}function kt(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchSubtitle`,{query:t.trim()});switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledSubtitle`);case`not-enabled`:return e(`integrationsPage.emptyNotEnabledSubtitle`);default:return e(`integrationsPage.emptyDefaultSubtitle`)}}var At=[{value:`all`,labelKey:`integrationsPage.filterAll`},{value:`enabled`,labelKey:`integrationsPage.filterEnabled`},{value:`not-enabled`,labelKey:`integrationsPage.filterNotEnabled`}];function $(e,t){return e?.find(e=>e.provider===t)??null}function jt(e){return e===`mcp`?`mcp`:`oauth`}function Mt(){let{t:e}=i(`settings`),[r]=l(),a=c(),o=he(),[s,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(!0),[p,h]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(`all`),[y,b]=(0,Z.useState)(!0),[x,S]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{b(le(Et,`false`)===`true`)},[]);let C=()=>{b(!0),Te(Et,`true`)};(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await ue();e&&t.ok&&u(t.data)}catch(e){Me(e,{context:`integrations.getAssistant`})}finally{e&&f(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:w,isLoading:T}=Be(s?.id,o===`full`),{data:E,isLoading:O,isError:k}=n({...oe({path:{assistant_id:s?.id??``}}),select:e=>e.providers,enabled:!!s}),{data:A,isLoading:j}=n({...L({path:{assistant_id:w??``}}),enabled:!!w&&o===`full`});(0,Z.useEffect)(()=>{let t=r.get(`oauth_status`);if(!t)return;let n=r.get(`oauth_provider`),i=n?n.charAt(0).toUpperCase()+n.slice(1):null;if(t===`connected`)W.success(i?e(`integrationsPage.accountConnectedToast`,{providerLabel:i}):e(`integrationsPage.accountConnectedToastGeneric`));else if(t===`error`){let t=r.get(`oauth_code`)??`unknown`;W.error(Dt(e,t)??(i?e(`integrationsPage.connectFailedToast`,{providerLabel:i}):e(`integrationsPage.connectFailedToastGeneric`)))}a(Ae.settings.integrations,{replace:!0})},[r,a,e]);let M=(0,Z.useMemo)(()=>E?.filter(e=>e.supports_managed_mode)??[],[E]),P=(0,Z.useMemo)(()=>{let e=p.trim().toLowerCase(),t=M.filter(t=>{if(t.provider_key===`slack`)return!1;if(!e)return!0;let n=(t.display_name??t.provider_key).toLowerCase(),r=(t.description??``).toLowerCase();return n.includes(e)||r.includes(e)});return _!==`all`&&(t=t.filter(e=>{let t=!!$(A,e.provider_key)?.connected;return _===`enabled`?t:!t})),[...t].sort((e,t)=>{let n=!!$(A,e.provider_key)?.connected;if(n!==!!$(A,t.provider_key)?.connected)return n?-1:1;let r=(e.display_name??e.provider_key).toLowerCase(),i=(t.display_name??t.provider_key).toLowerCase();return r.localeCompare(i)})},[M,A,p,_]),F=d||O||j||T,I=Ot(e,p,_),R=kt(e,p,_),z=(0,Z.useMemo)(()=>x?M.find(e=>e.provider_key===x)??null:null,[M,x]),ee=At.map(({value:t,labelKey:n})=>({value:t,label:e(n)}));return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[!y&&(0,Q.jsx)(Ie,{tone:`info`,icon:(0,Q.jsx)(g,{className:`h-3.5 w-3.5`}),onDismiss:C,children:(0,Q.jsx)(t,{ns:`settings`,i18nKey:`integrationsPage.tipBanner`,components:{tip:(0,Q.jsx)(`span`,{className:`text-body-medium-default`})}})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(G,{type:`text`,value:p,onChange:e=>h(e.target.value),placeholder:e(`integrationsPage.searchPlaceholder`),"aria-label":e(`integrationsPage.searchAriaLabel`),leftIcon:(0,Q.jsx)(m,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,Q.jsx)(N,{options:ee,value:_,onChange:v,"aria-label":e(`integrationsPage.filterAriaLabel`),menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,Q.jsx)(`div`,{children:F?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:e(`integrationsPage.loading`)})]}):k?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.loadFailed`)}):s?P.length===0?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,Q.jsx)(m,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:I}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:R})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:P.map(e=>(0,Q.jsx)(Ze,{platformAssistantId:w??s.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:$(A,e.provider_key),platformGate:o,onConfigure:()=>S(e.provider_key)},e.provider_key))}):(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.noAssistant`)})}),z&&s&&(0,Q.jsx)(Xe,{assistantId:s.id,platformAssistantId:w??s.id,providerKey:z.provider_key,displayName:z.display_name??z.provider_key,description:z.description,logoUrl:z.logo_url,platformGate:o,onClose:()=>S(null)})]})}function Nt(){let{t:e}=i(`settings`),[t,n]=l(),r=jt(t.get(`tab`));return(0,Q.jsx)(`div`,{className:`space-y-6`,children:(0,Q.jsxs)(Y.Root,{value:r,onValueChange:e=>{let r=jt(e),i=new URLSearchParams(t);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),n(i,{replace:!0})},children:[(0,Q.jsxs)(Y.List,{children:[(0,Q.jsx)(Y.Trigger,{value:`oauth`,children:e(`integrationsPage.tabOAuth`)}),(0,Q.jsx)(Y.Trigger,{value:`mcp`,children:e(`integrationsPage.tabMcp`)})]}),(0,Q.jsx)(Y.Panel,{value:`oauth`,className:`pt-4`,children:(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(Mt,{})})}),(0,Q.jsx)(Y.Panel,{value:`mcp`,className:`pt-4`,children:(0,Q.jsx)(Tt,{})})]})})}export{Nt as IntegrationsPage};
@@ -1,4 +1,4 @@
1
- var e={conversationTitle:`Обновляю личность`},t={conversationTitle:`Обновляю имя`},n={greeting:`Привет, я {name}`,renamingInProgressAriaLabel:`Идёт смена имени`},r={all:`Все`,skillCategoriesAriaLabel:`Категории навыков`},i={askAboutThis:`Спросить об этом`,askPrompt:`Расскажи, что ты помнишь про "{title}" и как это связано с остальным, что ты знаешь.`,backAriaLabel:`Назад`,closeAriaLabel:`Закрыть`,connectionCount:`{count, plural, one {# связь} few {# связи} many {# связей} other {# связи}}`,emptyContent:`У этого понятия пока нет текста. Оно есть как связь в графе, но страница пустая.`,loadError:`Не получилось загрузить это понятие. Повторите попытку через минуту.`,readFullNote:`Читать заметку целиком`,refine:`Уточнить`,refinePrompt:`Хочу уточнить, что ты помнишь про "{title}". Спроси, что не так, и мы поправим вместе.`,showLess:`Свернуть`,trailAriaLabel:`Цепочка понятий`,updated:`Обновлено {date}`,wiredTo:`Связано с`},a={nodeKind:{capability:`Способность`,concept:`Понятие`,other:`Другое`,pending:`Ожидает`,skill:`Навык`}},o={description:`Каждая идея, которую он учит, и связи между ними появляются здесь. Карта растёт и перестраивается по мере разговора: чем больше сведений, тем она богаче.`,dismissAriaLabel:`Скрыть`,title:`Это разум ассистента`},s={coloredByTheme:`Цвет по теме`,learned:`Выучено`,link:`Связь`,moreThemes:`{count, plural, one {+# ещё} few {+# ещё} many {+# ещё} other {+# ещё}}`},c={clearSearchAriaLabel:`Очистить поиск`,dragToRotateHint:`перетащи, чтобы вращать · прокрути, чтобы масштабировать`,emptyDetail:`Когда ассистент будет учиться и связывать идеи, они появятся здесь живой картой его памяти.`,emptyTitle:`Понятий пока нет`,enterFullscreenAriaLabel:`На весь экран`,exitFullscreenAriaLabel:`Выйти из полного экрана`,loadErrorDetail:`Не получилось загрузить память ассистента. Повторите попытку через минуту.`,loadErrorTitle:`Не получилось загрузить граф памяти`,resetViewAriaLabel:`Сбросить вид`,searchConceptsAriaLabel:`Искать понятия`,searchConceptsPlaceholder:`Искать понятия…`,truncatedNotice:`{count, plural, one {Показано # наиболее связанное понятие} few {Показаны # наиболее связанных понятия} many {Показано # наиболее связанных понятий} other {Показаны # наиболее связанных понятия}}`,zoomInAriaLabel:`Приблизить`,zoomOutAriaLabel:`Отдалить`},l={cancel:`Отмена`,contentLabel:`Что мне запомнить?`,contentPlaceholder:`напр. Я предпочитаю короткие списки.`,create:`Создать воспоминание`,createError:`Не получилось создать воспоминание.`,creating:`Создаю…`,helperText:`Сразу появится на карте, а потом станет понятием, когда я его разложу.`,savedFoundToast:`Понял. Сейчас открою.`,savedPendingToast:`Понял. Оно уже на карте, пока я его раскладываю.`,saveError:`Не получилось сохранить это воспоминание.`,title:`Новое воспоминание`},u={failureMessage:`Не получилось загрузить граф памяти.`},d={failureMessage:`Не получилось загрузить это понятие.`},f={cardHoverLine:{channels:`Все места, где можно меня найти`,contacts:`Люди, которых я знаю и которым доверяю`,library:`Приложения и документы, которые я сделал`,memory:`Всё, что я помню`,personality:`Давай, подкрути мне душу`,schedules:`Что я делаю по кругу`,superpowers:`Всё, что я умею`,workspace:`Все файлы, на которых я работаю`},defaultAssistantName:`Ассистент`,memoryCount:`{count, plural, one {# воспоминание} few {# воспоминания} many {# воспоминаний} other {# воспоминания}}`,memoryCountLabel:`{count, plural, one {воспоминание} few {воспоминания} many {воспоминаний} other {воспоминания}}`,renameErrorToast:`Имя не сменилось. Повторите попытку.`,renameSuccessToast:`Знакомься, это {newName}!`,scheduleCadence:`{cadence} · следующее {nextRun}`,updateAvatarAndName:`Изменить аватар и имя`,viewMoreSchedules:`{count, plural, one {Показать ещё #…} few {Показать ещё #…} many {Показать ещё #…} other {Показать ещё #…}}`},p={channels:{description:`Где я слушаю`,label:`Каналы`},contacts:{description:`Кого я знаю`,label:`Контакты`},library:{description:`Мои приложения и документы`,label:`Библиотека`},memory:{description:`Что я помню`,label:`Память`},personality:{description:`Настройка того, как я говорю`,label:`Личность`},schedules:{description:`Мои ритуалы`,label:`Расписания`},superpowers:{description:`Что я умею`,label:`Суперсилы`},workspace:{description:`Мои файлы`,label:`Рабочая область`}},m={failureMessage:`Не получилось установить навык.`},h={backToAriaLabel:`Назад к {name}`,backToTitle:`Назад к {name}`},g={failureMessage:`Не получилось загрузить страницы понятий.`},_={justNow:`только что`},v={createMemory:`Создать воспоминание`},y={sourceType:{direct:`Сказано напрямую`,inferred:`Выведено`,observed:`Замечено`,toldByOther:`Сказано кем-то ещё`}},b={memorySettings:`Настройки памяти`,tryAgain:`Повторить`,turnMemoryOn:`Включить память`,upgradeMemory:`Обновить память`},x={companionCoworker:{left:`Компаньон`,right:`Коллега`},executeCollaborate:{left:`Самостоятельный`,right:`Совместный`},genzBoomer:{left:`Gen Z`,right:`Baby Boomer`},playfulSerious:{left:`Игривый`,right:`Серьёзный`},politeUnfiltered:{left:`Вежливый`,right:`Без фильтра`}},S={back:`Назад`,subtitle:`Сдвиг ползунков и нажатие «обновить»: я перепишу себя под это.`,title:`Формирование личности`,updateErrorToast:`Личность не обновилась. Повторите попытку.`,updatePersonality:`Обновить личность`,updateSuccessToast:`Личность обновлена. Иди поздоровайся!`,updatingPersonality:`Обновляю личность {name}…`},C={ariaLabel:`Личность: {summary}`,axisBalanced:`{left} и {right} в балансе`,axisLean:`{percent}% {label}`},w={rangeAriaLabel:`От {left} до {right}`},T={installError:`Не получилось установить плагин. Повторите попытку.`,removeConfirmMessage:`Удалить "{name}" у этого ассистента?`,removeError:`Не получилось удалить плагин. Повторите попытку.`,riskyUpgradeConfirmLabel:`Всё равно обновить`,riskyUpgradeConfirmMessage:`У "{name}" есть локальные правки, которые пропадут при обновлении. Продолжить?`,toggleError:`Не получилось обновить плагин. Повторите попытку.`,upgradeError:`Не получилось обновить плагин. Повторите попытку.`},E={backToPluginsAriaLabel:`Назад к плагинам`,noReadme:`У этого плагина нет README.`,version:`v{version}`},D={autoIncludeInChat:`Автоматически включать в диалог`,download:`Скачать`,homepageLabel:`Сайт`,hooksLabel:`Hooks`,install:`Установить`,licenseLabel:`Лицензия`,loadErrorDetail:`Его может не быть, или у ассистента старая сборка.`,loadErrorTitle:`Не получилось загрузить этот плагин.`,localSource:`Локальный`,remove:`Удалить`,removePluginTitle:`Удалить плагин`,skillsLabel:`Навыки`,sourceLabel:`Источник`,toolsLabel:`Инструменты`,upgrade:`Обновить`,upgradePluginTitle:`Обновить плагин`,upgradeTitle:`Обновить {fromSha} → {toSha}`},O={disabled:`Выключен`,enabled:`Включён`,installingAriaLabel:`Установка`,installPluginAriaLabel:`Установить плагин`,moreIssues:`{count, plural, one { (+# ещё)} few { (+# ещё)} many { (+# ещё)} other { (+# ещё)}}`,noDescription:`Описания нет.`,pluginTag:`Плагин`,removePluginAriaLabel:`Удалить плагин`,version:`v{version}`},k={external:`Внешний`,local:`Локальный`},A={alreadyUpToDate:`{name} уже в актуальной версии`,installed:`Установлен {name}`,pluginFallback:`плагин`,pluginFallbackCapitalized:`Плагин`,removed:`Удалён {name}`,upgraded:`{name} обновлён до {sha}`},j={all:`Всё`,ariaLabel:`Период`,month:`Месяц`,week:`Неделя`},M={channels:`Каналы`,contacts:`Контакты`,library:`Библиотека`,memory:`Память`,schedules:`Расписания`,superpowers:`Мои суперсилы`,workspace:`Рабочая область`},N={backToSkillsAriaLabel:`Назад к навыкам`,filesTab:`Файлы`,fileViewModeAriaLabel:`Режим просмотра файла`,historyTab:`История`,install:`Установить`,noFilesAvailable:`Файлов нет.`,openInWorkspaceAriaLabel:`Открыть в рабочей области`,pendingAriaLabel:`Ожидание`,preview:`Предпросмотр`,remove:`Удалить`,saveFailed:`Не удалось сохранить`,selectAFile:`Выбор файла`,selectFilePrompt:`Выбор файла, чтобы посмотреть содержимое.`,source:`Код`},P={backToSuperpowers:`Назад к моим суперсилам`,notFoundSubtitle:`Этот навык могли удалить, или ссылка устарела.`,notFoundTitle:`Навык не найден`},F={binaryFile:`Двоичный файл. Предпросмотра нет.`,noPreviewAvailable:`Для {fileName} нет предпросмотра.`},I={assistantMemory:`Память ассистента`,custom:`Свой`},L={loadError:`Не получилось загрузить историю правок.`,noChanges:`Изменений пока нет.`,noPreviewForChange:`Для этого изменения нет предпросмотра.`,truncatedNotice:`Показаны недавние изменения. Старая история периодически сжимается, поэтому она может не доходить до создания навыка.`},R={bundledSkillCannotBeRemovedAriaLabel:`Встроенный навык нельзя удалить`,bundledSkillsCannotBeRemoved:`Встроенные навыки нельзя удалить`,installingAriaLabel:`Установка`,installSkillAriaLabel:`Установить навык`,removeSkillAriaLabel:`Удалить навык`},z={subtitle:`Что-то пошло не так. Обновите страницу.`,title:`Не получилось загрузить навыки`},B={categoriesLabel:`Категории`,done:`Готово`,filterAriaLabel:`Фильтровать суперсилы`,filterLabel:{all:`Все`,assistantMemory:`Память ассистента`,available:`Доступные`,custom:`Свои`,installed:`Установленные`,plugins:`Плагины`,skills:`Навыки`},filtersTitle:`Фильтры`,searchAriaLabel:`Искать суперсилы`,searchPlaceholder:`Искать суперсилы`,sourceLabel:`Источник`,statusLabel:`Статус`,typeLabel:`Тип`},V={catalogBrowsingUnavailableNotice:`Каталог плагинов временно недоступен. Установленные плагины по-прежнему ниже.`,categoriesAriaLabel:`Категории суперсил`,dismissTipAriaLabel:`Скрыть подсказку`,emptyState:{assistantMemorySubtitle:`Здесь появятся навыки, которые ассистент напишет по прошлым диалогам.`,assistantMemoryTitle:`Нет навыков из памяти`,availableSubtitle:`Все доступные навыки и плагины уже установлены.`,availableTitle:`Устанавливать больше нечего`,categorySubtitle:`Выбор другой категории или сброс фильтра.`,categoryTitle:`В этой категории пусто`,clawhubSubtitle:`Навыков Clawhub нет. Поиск в каталоге.`,clawhubTitle:`Нет навыков Clawhub`,customSubtitle:`Создание навыка: описание в диалоге, что нужно.`,customTitle:`Нет своих навыков`,defaultSubtitle:`Проверка связи с каталогом Vellum.`,defaultTitle:`Нет доступных суперсил`,installedSubtitle:`В диалоге можно попросить ассистента найти и установить новые навыки и плагины.`,installedTitle:`Нет установленных суперсил`,pluginsSubtitle:`Каталог плагинов, которые расширят ассистента.`,pluginsTitle:`Плагины не найдены`,skillsshSubtitle:`Навыков skills.sh нет. Поиск в каталоге.`,skillsshTitle:`Нет навыков skills.sh`,skillsSubtitle:`В диалоге можно попросить ассистента найти и установить новые навыки.`,skillsTitle:`Навыки не найдены`,vellumSubtitle:`Встроенных навыков Vellum нет.`,vellumTitle:`Нет навыков Vellum`},errorStateSubtitle:`Что-то пошло не так. Обновите страницу.`,errorStateTitle:`Не получилось загрузить суперсилы`,pluginsUnavailableNotice:`Плагины временно недоступны. Навыки по-прежнему ниже.`,skillsUnavailableNotice:`Навыки временно недоступны. Плагины по-прежнему ниже.`,tipBannerText:`Описание в диалоге нужного навыка или установка плагинов, чтобы расширить ассистента.`},H={updateAvailable:`Есть обновление`,upgradePluginAriaLabel:`Обновить плагин`},U={activeCount:`{count, plural, one {# активное} few {# активных} many {# активных} other {# активных}}`,activeLabel:`{count, plural, one {активное} few {активных} many {активных} other {активных}}`,appAndDocCount:`{count, plural, one {# приложение или документ} few {# приложения и документа} many {# приложений и документов} other {# приложения и документа}}`,appCount:`{count, plural, one {# приложение} few {# приложения} many {# приложений} other {# приложения}}`,connectedCount:`{count, plural, one {# подключённый} few {# подключённых} many {# подключённых} other {# подключённых}}`,connectedLabel:`{count, plural, one {подключённый} few {подключённых} many {подключённых} other {подключённых}}`,itemCount:`{count, plural, one {# элемент} few {# элемента} many {# элементов} other {# элемента}}`,itemLabel:`{count, plural, one {элемент} few {элемента} many {элементов} other {элемента}}`,noSchedulesText:`Пока ничего не запланировано`,personCount:`{count, plural, one {# человек} few {# человека} many {# человек} other {# человека}}`,personLabel:`{count, plural, one {человек} few {человека} many {человек} other {человека}}`,skillAndPluginCount:`{count, plural, one {# навык или плагин} few {# навыка и плагина} many {# навыков и плагинов} other {# навыка и плагина}}`,skillCount:`{count, plural, one {# навык} few {# навыка} many {# навыков} other {# навыка}}`},W={failureMessage:`Не получилось загрузить плагины`},G={statusError:{title:`Не получилось проверить настройки памяти`,detail:`Не вышло прочитать статус памяти этого ассистента, так что пока нечего надёжного сообщить.`},off:{title:`Память выключена`,detail:`Ассистент ничего не сохраняет из диалогов, так что рисовать карту не из чего. Включение Памяти снова запускает запоминание.`},legacy:{title:`Переход на память v3`,detail:`У ассистента старый движок памяти. Память v3 раскладывает то, что он знает, в связанную wiki понятий, и именно эту wiki рисует карта.`},unknown:{title:`Граф памяти недоступен`,detail:`Система памяти этого ассистента сообщает слишком мало, чтобы понять почему. Обновление ассистента даст этой странице понять, чего не хватает.`},prompts:{v2:`Перенеси мою память с v2 на v3. Скорее всего это твой навык "Memory v3 Migration", но разберись, что на самом деле нужно моему корпусу, и точно следуй тому навыку, которым пользуешься.
1
+ var e={conversationTitle:`Обновляю личность`},t={conversationTitle:`Обновляю имя`},n={greeting:`Привет, я {name}`,renamingInProgressAriaLabel:`Идёт смена имени`},r={all:`Все`,skillCategoriesAriaLabel:`Категории навыков`},i={askAboutThis:`Спросить об этом`,askPrompt:`Расскажи, что ты помнишь про "{title}" и как это связано с остальным, что ты знаешь.`,backAriaLabel:`Назад`,closeAriaLabel:`Закрыть`,connectionCount:`{count, plural, one {# связь} few {# связи} many {# связей} other {# связи}}`,emptyContent:`У этого понятия пока нет текста. Оно есть как связь в графе, но страница пустая.`,loadError:`Не получилось загрузить это понятие. Повторите попытку через минуту.`,readFullNote:`Читать заметку целиком`,refine:`Уточнить`,refinePrompt:`Хочу уточнить, что ты помнишь про "{title}". Спроси, что не так, и мы поправим вместе.`,showLess:`Свернуть`,trailAriaLabel:`Цепочка понятий`,updated:`Обновлено {date}`,wiredTo:`Связано с`},a={nodeKind:{capability:`Способность`,concept:`Понятие`,other:`Другое`,pending:`Ожидает`,skill:`Навык`}},o={description:`Каждая идея, которую он учит, и связи между ними появляются здесь. Карта растёт и перестраивается по мере разговора: чем больше сведений, тем она богаче.`,dismissAriaLabel:`Скрыть`,title:`Это разум ассистента`},s={coloredByTheme:`Цвет по теме`,learned:`Выучено`,link:`Связь`,moreThemes:`{count, plural, one {+# ещё} few {+# ещё} many {+# ещё} other {+# ещё}}`},c={clearSearchAriaLabel:`Очистить поиск`,dragToRotateHint:`перетащи, чтобы вращать · прокрути, чтобы масштабировать`,emptyDetail:`Когда ассистент будет учиться и связывать идеи, они появятся здесь живой картой его памяти.`,emptyTitle:`Понятий пока нет`,enterFullscreenAriaLabel:`На весь экран`,exitFullscreenAriaLabel:`Выйти из полного экрана`,loadErrorDetail:`Не получилось загрузить память ассистента. Повторите попытку через минуту.`,loadErrorTitle:`Не получилось загрузить граф памяти`,resetViewAriaLabel:`Сбросить вид`,searchConceptsAriaLabel:`Искать понятия`,searchConceptsPlaceholder:`Искать понятия…`,truncatedNotice:`{count, plural, one {Показано # наиболее связанное понятие} few {Показаны # наиболее связанных понятия} many {Показано # наиболее связанных понятий} other {Показаны # наиболее связанных понятия}}`,zoomInAriaLabel:`Приблизить`,zoomOutAriaLabel:`Отдалить`},l={cancel:`Отмена`,contentLabel:`Что мне запомнить?`,contentPlaceholder:`напр. Я предпочитаю короткие списки.`,create:`Создать воспоминание`,createError:`Не получилось создать воспоминание.`,creating:`Создаю…`,helperText:`Сразу появится на карте, а потом станет понятием, когда я его разложу.`,savedFoundToast:`Понял. Сейчас открою.`,savedPendingToast:`Понял. Оно уже на карте, пока я его раскладываю.`,saveError:`Не получилось сохранить это воспоминание.`,title:`Новое воспоминание`},u={failureMessage:`Не получилось загрузить граф памяти.`},d={failureMessage:`Не получилось загрузить это понятие.`},f={cardHoverLine:{channels:`Все места, где можно меня найти`,contacts:`Люди, которых я знаю и которым доверяю`,library:`Приложения и документы, которые я сделал`,memory:`Всё, что я помню`,personality:`Давай, подкрути мне душу`,schedules:`Что я делаю по кругу`,superpowers:`Всё, что я умею`,workspace:`Все файлы, на которых я работаю`},defaultAssistantName:`Ассистент`,memoryCount:`{count, plural, one {# воспоминание} few {# воспоминания} many {# воспоминаний} other {# воспоминания}}`,memoryCountLabel:`{count, plural, one {воспоминание} few {воспоминания} many {воспоминаний} other {воспоминания}}`,renameErrorToast:`Имя не сменилось. Повторите попытку.`,renameSuccessToast:`Знакомься, это {newName}!`,scheduleCadence:`{cadence} · следующее {nextRun}`,updateAvatarAndName:`Изменить аватар и имя`,viewMoreSchedules:`{count, plural, one {Показать ещё #…} few {Показать ещё #…} many {Показать ещё #…} other {Показать ещё #…}}`},p={channels:{description:`Где я слушаю`,label:`Каналы`},contacts:{description:`Кого я знаю`,label:`Контакты`},library:{description:`Мои приложения и документы`,label:`Библиотека`},memory:{description:`Что я помню`,label:`Память`},personality:{description:`Настройка того, как я говорю`,label:`Личность`},schedules:{description:`Мои ритуалы`,label:`Расписания`},superpowers:{description:`Что я умею`,label:`Суперсилы`},workspace:{description:`Мои файлы`,label:`Рабочая область`}},m={failureMessage:`Не получилось установить навык.`},h={backToAriaLabel:`Назад к {name}`,backToTitle:`Назад к {name}`},g={failureMessage:`Не получилось загрузить страницы понятий.`},_={justNow:`только что`},v={createMemory:`Создать воспоминание`},y={sourceType:{direct:`Сказано напрямую`,inferred:`Выведено`,observed:`Замечено`,toldByOther:`Сказано кем-то ещё`}},b={memorySettings:`Настройки памяти`,tryAgain:`Повторить`,turnMemoryOn:`Включить память`,upgradeMemory:`Обновить память`},x={companionCoworker:{left:`Компаньон`,right:`Коллега`},executeCollaborate:{left:`Самостоятельный`,right:`Совместный`},genzBoomer:{left:`Gen Z`,right:`Baby Boomer`},playfulSerious:{left:`Игривый`,right:`Серьёзный`},politeUnfiltered:{left:`Вежливый`,right:`Без фильтра`}},S={back:`Назад`,subtitle:`Сдвиг ползунков и нажатие «обновить»: я перепишу себя под это.`,title:`Формирование личности`,updateErrorToast:`Личность не обновилась. Повторите попытку.`,updatePersonality:`Обновить личность`,updateSuccessToast:`Личность обновлена. Иди поздоровайся!`,updatingPersonality:`Обновляю личность {name}…`},C={ariaLabel:`Личность: {summary}`,axisBalanced:`{left} и {right} в балансе`,axisLean:`{percent}% {label}`},w={rangeAriaLabel:`От {left} до {right}`},T={installError:`Не получилось установить плагин. Повторите попытку.`,removeConfirmMessage:`Удалить "{name}" у этого ассистента?`,removeError:`Не получилось удалить плагин. Повторите попытку.`,riskyUpgradeConfirmLabel:`Всё равно обновить`,riskyUpgradeConfirmMessage:`У "{name}" есть локальные правки, которые пропадут при обновлении. Продолжить?`,toggleError:`Не получилось обновить плагин. Повторите попытку.`,upgradeError:`Не получилось обновить плагин. Повторите попытку.`},E={backToPluginsAriaLabel:`Назад к плагинам`,noReadme:`У этого плагина нет README.`,version:`v{version}`},D={autoIncludeInChat:`Автоматически включать в диалог`,download:`Скачать`,homepageLabel:`Сайт`,hooksLabel:`Hooks`,install:`Установить`,licenseLabel:`Лицензия`,loadErrorDetail:`Его может не быть, или у ассистента старая сборка.`,loadErrorTitle:`Не получилось загрузить этот плагин.`,localSource:`Локальный`,remove:`Удалить`,removePluginTitle:`Удалить плагин`,skillsLabel:`Навыки`,sourceLabel:`Источник`,toolsLabel:`Инструменты`,upgrade:`Обновить`,upgradePluginTitle:`Обновить плагин`,upgradeTitle:`Обновить {fromSha} → {toSha}`},O={disabled:`Выключен`,enabled:`Включён`,installingAriaLabel:`Установка`,installPluginAriaLabel:`Установить плагин`,moreIssues:`{count, plural, one { (+# ещё)} few { (+# ещё)} many { (+# ещё)} other { (+# ещё)}}`,noDescription:`Описания нет.`,pluginTag:`Плагин`,removePluginAriaLabel:`Удалить плагин`,version:`v{version}`},k={external:`Внешний`,local:`Локальный`},A={alreadyUpToDate:`{name} уже в актуальной версии`,installed:`Установлен {name}`,pluginFallback:`плагин`,pluginFallbackCapitalized:`Плагин`,removed:`Удалён {name}`,upgraded:`{name} обновлён до {sha}`},j={all:`Всё`,ariaLabel:`Период`,month:`Месяц`,week:`Неделя`},M={channels:`Каналы`,contacts:`Контакты`,library:`Библиотека`,memory:`Память`,schedules:`Расписания`,superpowers:`Мои суперсилы`,workspace:`Рабочая область`},N={backToConversationAriaLabel:`Назад к диалогу`,backToSkillsAriaLabel:`Назад к навыкам`,filesTab:`Файлы`,fileViewModeAriaLabel:`Режим просмотра файла`,historyTab:`История`,install:`Установить`,noFilesAvailable:`Файлов нет.`,openInWorkspaceAriaLabel:`Открыть в рабочей области`,pendingAriaLabel:`Ожидание`,preview:`Предпросмотр`,remove:`Удалить`,saveFailed:`Не удалось сохранить`,selectAFile:`Выбор файла`,selectFilePrompt:`Выбор файла, чтобы посмотреть содержимое.`,source:`Код`},P={backToConversation:`Назад к диалогу`,backToSuperpowers:`Назад к моим суперсилам`,notFoundSubtitle:`Этот навык могли удалить, или ссылка устарела.`,notFoundTitle:`Навык не найден`},F={binaryFile:`Двоичный файл. Предпросмотра нет.`,noPreviewAvailable:`Для {fileName} нет предпросмотра.`},I={assistantMemory:`Память ассистента`,custom:`Свой`},L={loadError:`Не получилось загрузить историю правок.`,noChanges:`Изменений пока нет.`,noPreviewForChange:`Для этого изменения нет предпросмотра.`,truncatedNotice:`Показаны недавние изменения. Старая история периодически сжимается, поэтому она может не доходить до создания навыка.`},R={bundledSkillCannotBeRemovedAriaLabel:`Встроенный навык нельзя удалить`,bundledSkillsCannotBeRemoved:`Встроенные навыки нельзя удалить`,installingAriaLabel:`Установка`,installSkillAriaLabel:`Установить навык`,removeSkillAriaLabel:`Удалить навык`},z={subtitle:`Что-то пошло не так. Обновите страницу.`,title:`Не получилось загрузить навыки`},B={categoriesLabel:`Категории`,done:`Готово`,filterAriaLabel:`Фильтровать суперсилы`,filterLabel:{all:`Все`,assistantMemory:`Память ассистента`,available:`Доступные`,custom:`Свои`,installed:`Установленные`,plugins:`Плагины`,skills:`Навыки`},filtersTitle:`Фильтры`,searchAriaLabel:`Искать суперсилы`,searchPlaceholder:`Искать суперсилы`,sourceLabel:`Источник`,statusLabel:`Статус`,typeLabel:`Тип`},V={catalogBrowsingUnavailableNotice:`Каталог плагинов временно недоступен. Установленные плагины по-прежнему ниже.`,categoriesAriaLabel:`Категории суперсил`,dismissTipAriaLabel:`Скрыть подсказку`,emptyState:{assistantMemorySubtitle:`Здесь появятся навыки, которые ассистент напишет по прошлым диалогам.`,assistantMemoryTitle:`Нет навыков из памяти`,availableSubtitle:`Все доступные навыки и плагины уже установлены.`,availableTitle:`Устанавливать больше нечего`,categorySubtitle:`Выбор другой категории или сброс фильтра.`,categoryTitle:`В этой категории пусто`,clawhubSubtitle:`Навыков Clawhub нет. Поиск в каталоге.`,clawhubTitle:`Нет навыков Clawhub`,customSubtitle:`Создание навыка: описание в диалоге, что нужно.`,customTitle:`Нет своих навыков`,defaultSubtitle:`Проверка связи с каталогом Vellum.`,defaultTitle:`Нет доступных суперсил`,installedSubtitle:`В диалоге можно попросить ассистента найти и установить новые навыки и плагины.`,installedTitle:`Нет установленных суперсил`,pluginsSubtitle:`Каталог плагинов, которые расширят ассистента.`,pluginsTitle:`Плагины не найдены`,skillsshSubtitle:`Навыков skills.sh нет. Поиск в каталоге.`,skillsshTitle:`Нет навыков skills.sh`,skillsSubtitle:`В диалоге можно попросить ассистента найти и установить новые навыки.`,skillsTitle:`Навыки не найдены`,vellumSubtitle:`Встроенных навыков Vellum нет.`,vellumTitle:`Нет навыков Vellum`},errorStateSubtitle:`Что-то пошло не так. Обновите страницу.`,errorStateTitle:`Не получилось загрузить суперсилы`,pluginsUnavailableNotice:`Плагины временно недоступны. Навыки по-прежнему ниже.`,skillsUnavailableNotice:`Навыки временно недоступны. Плагины по-прежнему ниже.`,tipBannerText:`Описание в диалоге нужного навыка или установка плагинов, чтобы расширить ассистента.`},H={updateAvailable:`Есть обновление`,upgradePluginAriaLabel:`Обновить плагин`},U={activeCount:`{count, plural, one {# активное} few {# активных} many {# активных} other {# активных}}`,activeLabel:`{count, plural, one {активное} few {активных} many {активных} other {активных}}`,appAndDocCount:`{count, plural, one {# приложение или документ} few {# приложения и документа} many {# приложений и документов} other {# приложения и документа}}`,appCount:`{count, plural, one {# приложение} few {# приложения} many {# приложений} other {# приложения}}`,connectedCount:`{count, plural, one {# подключённый} few {# подключённых} many {# подключённых} other {# подключённых}}`,connectedLabel:`{count, plural, one {подключённый} few {подключённых} many {подключённых} other {подключённых}}`,itemCount:`{count, plural, one {# элемент} few {# элемента} many {# элементов} other {# элемента}}`,itemLabel:`{count, plural, one {элемент} few {элемента} many {элементов} other {элемента}}`,noSchedulesText:`Пока ничего не запланировано`,personCount:`{count, plural, one {# человек} few {# человека} many {# человек} other {# человека}}`,personLabel:`{count, plural, one {человек} few {человека} many {человек} other {человека}}`,skillAndPluginCount:`{count, plural, one {# навык или плагин} few {# навыка и плагина} many {# навыков и плагинов} other {# навыка и плагина}}`,skillCount:`{count, plural, one {# навык} few {# навыка} many {# навыков} other {# навыка}}`},W={failureMessage:`Не получилось загрузить плагины`},G={statusError:{title:`Не получилось проверить настройки памяти`,detail:`Не вышло прочитать статус памяти этого ассистента, так что пока нечего надёжного сообщить.`},off:{title:`Память выключена`,detail:`Ассистент ничего не сохраняет из диалогов, так что рисовать карту не из чего. Включение Памяти снова запускает запоминание.`},legacy:{title:`Переход на память v3`,detail:`У ассистента старый движок памяти. Память v3 раскладывает то, что он знает, в связанную wiki понятий, и именно эту wiki рисует карта.`},unknown:{title:`Граф памяти недоступен`,detail:`Система памяти этого ассистента сообщает слишком мало, чтобы понять почему. Обновление ассистента даст этой странице понять, чего не хватает.`},prompts:{v2:`Перенеси мою память с v2 на v3. Скорее всего это твой навык "Memory v3 Migration", но разберись, что на самом деле нужно моему корпусу, и точно следуй тому навыку, которым пользуешься.
2
2
 
3
3
  Запусти в фоне и скажи, когда закончишь, или если что-то помешает.`,v1:`Перенеси мою память с v1 на v3. Скорее всего это два шага: твой навык "Memory v2 Migration", а затем "Memory v3 Migration". Но разберись, что на самом деле нужно моему ассистенту, и точно следуй тем навыкам, которыми пользуешься.
4
4
 
@@ -1,4 +1,4 @@
1
- var e={conversationTitle:`Actualizando la personalidad`},t={conversationTitle:`Actualizando el nombre`},n={greeting:`Hola, soy {name}`,renamingInProgressAriaLabel:`Cambio de nombre en curso`},r={all:`Todas`,skillCategoriesAriaLabel:`Categorías de habilidades`},i={askAboutThis:`Preguntar sobre esto`,askPrompt:`Cuéntame qué recuerdas sobre "{title}" y cómo se conecta con el resto de lo que sabes.`,backAriaLabel:`Atrás`,closeAriaLabel:`Cerrar`,connectionCount:`{count, plural, one {# conexión} other {# conexiones}}`,emptyContent:`Este concepto todavía no tiene contenido escrito. Existe como un enlace en el grafo, pero su página está vacía.`,loadError:`No se pudo cargar este concepto. Vuelve a intentarlo en un momento.`,readFullNote:`Leer la nota completa`,refine:`Refinar`,refinePrompt:`Quiero refinar lo que recuerdas sobre "{title}". Pregúntame qué no es correcto y lo corregiremos juntos.`,showLess:`Mostrar menos`,trailAriaLabel:`Ruta de conceptos`,updated:`Actualizado el {date}`,wiredTo:`Conectado con`},a={nodeKind:{capability:`Capacidad`,concept:`Concepto`,other:`Otro`,pending:`Pendiente`,skill:`Habilidad`}},o={description:`Cada idea que aprende, y los vínculos que traza entre ellas, aparece aquí. El mapa crece y se reorganiza mientras hablas, así que cuanto más compartas, más rico se vuelve.`,dismissAriaLabel:`Descartar`,title:`Esta es la mente de tu asistente`},s={coloredByTheme:`Coloreado por tema`,learned:`Aprendido`,link:`Enlace`,moreThemes:`{count, plural, one {+# más} other {+# más}}`},c={clearSearchAriaLabel:`Borrar búsqueda`,dragToRotateHint:`arrastra para rotar · desplaza para hacer zoom`,emptyDetail:`A medida que tu asistente aprende y conecta ideas, aparecerán aquí como un mapa vivo de su memoria.`,emptyTitle:`Todavía no hay conceptos`,enterFullscreenAriaLabel:`Entrar en pantalla completa`,exitFullscreenAriaLabel:`Salir de pantalla completa`,loadErrorDetail:`Algo salió mal al obtener la memoria de tu asistente. Vuelve a intentarlo en un momento.`,loadErrorTitle:`No se pudo cargar el grafo de memoria`,resetViewAriaLabel:`Restablecer la vista`,searchConceptsAriaLabel:`Buscar conceptos`,searchConceptsPlaceholder:`Buscar conceptos…`,truncatedNotice:`{count, plural, one {Mostrando el # concepto más conectado} other {Mostrando los # conceptos más conectados}}`,zoomInAriaLabel:`Acercar`,zoomOutAriaLabel:`Alejar`},l={cancel:`Cancelar`,contentLabel:`¿Qué debería recordar?`,contentPlaceholder:`p. ej. Prefiero resúmenes concisos con viñetas.`,create:`Crear recuerdo`,createError:`No se pudo crear el recuerdo.`,creating:`Creando…`,helperText:`Aparece en el mapa de inmediato y luego se asienta en un concepto a medida que se archiva.`,savedFoundToast:`Entendido. Te llevo hasta él.`,savedPendingToast:`Entendido. Está en tu mapa mientras lo archivo.`,saveError:`No se pudo guardar ese recuerdo.`,title:`Nuevo recuerdo`},u={failureMessage:`No se pudo cargar el grafo de memoria.`},d={failureMessage:`No se pudo cargar este concepto.`},f={cardHoverLine:{channels:`Todos los lugares donde puedes contactarme`,contacts:`Las personas que conozco y en quienes confío`,library:`Las apps y documentos que he creado para ti`,memory:`Todo lo que recuerdo`,personality:`Adelante, ajusta mi alma`,schedules:`Lo que hago en bucle`,superpowers:`Todo lo que sé hacer`,workspace:`Todos los archivos que me hacen funcionar`},defaultAssistantName:`Asistente`,memoryCount:`{count, plural, one {# recuerdo} other {# recuerdos}}`,memoryCountLabel:`{count, plural, one {recuerdo} other {recuerdos}}`,renameErrorToast:`El cambio de nombre no se completó. Vuelve a intentarlo.`,renameSuccessToast:`¡Saluda a {newName}!`,scheduleCadence:`{cadence} · próxima {nextRun}`,updateAvatarAndName:`Actualizar avatar y nombre`,viewMoreSchedules:`{count, plural, one {Ver # más…} other {Ver # más…}}`},p={channels:{description:`Donde escucho`,label:`Canales`},contacts:{description:`Personas que conozco`,label:`Contactos`},library:{description:`Mis apps y documentos`,label:`Biblioteca`},memory:{description:`Lo que recuerdo`,label:`Memoria`},personality:{description:`Ajusta cómo hablo`,label:`Personalidad`},schedules:{description:`Mis rutinas`,label:`Programaciones`},superpowers:{description:`Lo que puedo hacer`,label:`Superpoderes`},workspace:{description:`Mis archivos`,label:`Espacio de trabajo`}},m={failureMessage:`No se pudo instalar la habilidad.`},h={backToAriaLabel:`Volver a {name}`,backToTitle:`Volver a {name}`},g={failureMessage:`No se pudieron cargar las páginas de conceptos.`},_={justNow:`justo ahora`},v={createMemory:`Crear recuerdo`},y={sourceType:{direct:`Dicho directamente`,inferred:`Inferido`,observed:`Observado`,toldByOther:`Dicho por otra persona`}},b={memorySettings:`Ajustes de memoria`,tryAgain:`Intentar de nuevo`,turnMemoryOn:`Activar la memoria`,upgradeMemory:`Actualizar memoria`},x={companionCoworker:{left:`Compañero`,right:`Colega`},executeCollaborate:{left:`Independiente`,right:`Colaborativo`},genzBoomer:{left:`Gen Z`,right:`Baby Boomer`},playfulSerious:{left:`Juguetón`,right:`Serio`},politeUnfiltered:{left:`Educado`,right:`Sin filtro`}},S={back:`Atrás`,subtitle:`Mueve los diales y luego pulsa actualizar: me reescribiré para encajar.`,title:`Da forma a mi personalidad`,updateErrorToast:`La actualización de personalidad no se completó. Vuelve a intentarlo.`,updatePersonality:`Actualizar personalidad`,updateSuccessToast:`Personalidad actualizada. ¡Ve a saludar!`,updatingPersonality:`Actualizando la personalidad de {name}…`},C={ariaLabel:`Personalidad: {summary}`,axisBalanced:`{left} y {right} equilibrados`,axisLean:`{percent}% {label}`},w={rangeAriaLabel:`De {left} a {right}`},T={installError:`No se pudo instalar el plugin. Vuelve a intentarlo.`,removeConfirmMessage:`¿Quitar "{name}" de este asistente?`,removeError:`No se pudo quitar el plugin. Vuelve a intentarlo.`,riskyUpgradeConfirmLabel:`Actualizar de todos modos`,riskyUpgradeConfirmMessage:`"{name}" tiene cambios locales que se sobrescribirán con la actualización. ¿Continuar?`,toggleError:`No se pudo actualizar el plugin. Vuelve a intentarlo.`,upgradeError:`No se pudo actualizar el plugin. Vuelve a intentarlo.`},E={backToPluginsAriaLabel:`Volver a los plugins`,noReadme:`Este plugin no incluye un README.`,version:`v{version}`},D={autoIncludeInChat:`Incluir automáticamente en el chat`,download:`Descargar`,homepageLabel:`Sitio web`,hooksLabel:`Hooks`,install:`Instalar`,licenseLabel:`Licencia`,loadErrorDetail:`Puede que no exista, o que tu asistente tenga una versión anterior.`,loadErrorTitle:`No pudimos cargar este plugin.`,localSource:`Local`,remove:`Quitar`,removePluginTitle:`Quitar plugin`,skillsLabel:`Habilidades`,sourceLabel:`Fuente`,toolsLabel:`Herramientas`,upgrade:`Actualizar`,upgradePluginTitle:`Actualizar plugin`,upgradeTitle:`Actualizar {fromSha} → {toSha}`},O={disabled:`Desactivado`,enabled:`Activado`,installingAriaLabel:`Instalando`,installPluginAriaLabel:`Instalar plugin`,moreIssues:`{count, plural, one { (+# más)} other { (+# más)}}`,noDescription:`No se proporcionó descripción.`,pluginTag:`Plugin`,removePluginAriaLabel:`Quitar plugin`,version:`v{version}`},k={external:`Externo`,local:`Local`},A={alreadyUpToDate:`{name} ya está actualizado`,installed:`Se instaló {name}`,pluginFallback:`el plugin`,pluginFallbackCapitalized:`El plugin`,removed:`Se quitó {name}`,upgraded:`Se actualizó {name} a {sha}`},j={all:`Todo`,ariaLabel:`Ventana de antigüedad`,month:`Mes`,week:`Semana`},M={channels:`Canales`,contacts:`Contactos`,library:`Biblioteca`,memory:`Memoria`,schedules:`Programaciones`,superpowers:`Mis superpoderes`,workspace:`Espacio de trabajo`},N={backToSkillsAriaLabel:`Volver a las habilidades`,filesTab:`Archivos`,fileViewModeAriaLabel:`Modo de vista de archivo`,historyTab:`Historial`,install:`Instalar`,noFilesAvailable:`No hay archivos disponibles.`,openInWorkspaceAriaLabel:`Abrir en el espacio de trabajo`,pendingAriaLabel:`Pendiente`,preview:`Vista previa`,remove:`Quitar`,saveFailed:`Error al guardar`,selectAFile:`Selecciona un archivo`,selectFilePrompt:`Selecciona un archivo para ver su contenido.`,source:`Código`},P={backToSuperpowers:`Volver a Mis superpoderes`,notFoundSubtitle:`Es posible que esta habilidad se haya eliminado, o que el enlace esté obsoleto.`,notFoundTitle:`Habilidad no encontrada`},F={binaryFile:`Archivo binario. No hay vista previa disponible.`,noPreviewAvailable:`No hay vista previa disponible para {fileName}.`},I={assistantMemory:`Memoria del asistente`,custom:`Personalizada`},L={loadError:`No se pudo cargar el historial de revisiones.`,noChanges:`Todavía no se registraron cambios.`,noPreviewForChange:`No hay vista previa disponible para este cambio.`,truncatedNotice:`Se muestran los cambios recientes. El historial antiguo se compacta periódicamente, así que puede que no llegue hasta la creación de la habilidad.`},R={bundledSkillCannotBeRemovedAriaLabel:`No se puede quitar una habilidad incluida`,bundledSkillsCannotBeRemoved:`Las habilidades incluidas no se pueden quitar`,installingAriaLabel:`Instalando`,installSkillAriaLabel:`Instalar habilidad`,removeSkillAriaLabel:`Quitar habilidad`},z={subtitle:`Algo salió mal. Intenta actualizar la página.`,title:`No se pudieron cargar las habilidades`},B={categoriesLabel:`Categorías`,done:`Listo`,filterAriaLabel:`Filtrar superpoderes`,filterLabel:{all:`Todos`,assistantMemory:`Memoria del asistente`,available:`Disponibles`,custom:`Personalizadas`,installed:`Instalados`,plugins:`Plugins`,skills:`Habilidades`},filtersTitle:`Filtros`,searchAriaLabel:`Buscar superpoderes`,searchPlaceholder:`Buscar superpoderes`,sourceLabel:`Origen`,statusLabel:`Estado`,typeLabel:`Tipo`},V={catalogBrowsingUnavailableNotice:`La navegación por el catálogo de plugins no está disponible temporalmente. Los plugins instalados siguen apareciendo abajo.`,categoriesAriaLabel:`Categorías de superpoderes`,dismissTipAriaLabel:`Descartar sugerencia`,emptyState:{assistantMemorySubtitle:`Aquí aparecerán las habilidades que tu asistente crea a partir de conversaciones pasadas.`,assistantMemoryTitle:`Ninguna habilidad de la memoria`,availableSubtitle:`Todas las habilidades y plugins disponibles están instalados.`,availableTitle:`No queda nada por instalar`,categorySubtitle:`Intenta seleccionar otra categoría o borrar el filtro.`,categoryTitle:`Nada en esta categoría`,clawhubSubtitle:`No se encontraron habilidades de Clawhub. Intenta buscar en el catálogo.`,clawhubTitle:`Ninguna habilidad de Clawhub`,customSubtitle:`Crea una habilidad personalizada describiendo lo que quieres en el chat.`,customTitle:`Ninguna habilidad personalizada`,defaultSubtitle:`Comprueba tu conexión con el catálogo de Vellum.`,defaultTitle:`No hay superpoderes disponibles`,installedSubtitle:`Pídele a tu asistente en el chat que busque e instale nuevas habilidades y plugins.`,installedTitle:`No hay superpoderes instalados`,pluginsSubtitle:`Explora el catálogo para instalar plugins que amplíen tu asistente.`,pluginsTitle:`No se encontraron plugins`,skillsshSubtitle:`No se encontraron habilidades de skills.sh. Intenta buscar en el catálogo.`,skillsshTitle:`Ninguna habilidad de skills.sh`,skillsSubtitle:`Pídele a tu asistente en el chat que busque e instale nuevas habilidades.`,skillsTitle:`No se encontraron habilidades`,vellumSubtitle:`No se encontraron habilidades de Vellum incluidas.`,vellumTitle:`Ninguna habilidad de Vellum`},errorStateSubtitle:`Algo salió mal. Intenta actualizar la página.`,errorStateTitle:`No se pudieron cargar los superpoderes`,pluginsUnavailableNotice:`Los plugins no están disponibles temporalmente. Las habilidades siguen apareciendo abajo.`,skillsUnavailableNotice:`Las habilidades no están disponibles temporalmente. Los plugins siguen apareciendo abajo.`,tipBannerText:`Crea una habilidad personalizada describiendo lo que quieres en el chat, o instala plugins para ampliar tu asistente.`},H={updateAvailable:`Actualización disponible`,upgradePluginAriaLabel:`Actualizar plugin`},U={activeCount:`{count, plural, one {# activa} other {# activas}}`,activeLabel:`{count, plural, one {activa} other {activas}}`,appAndDocCount:`{count, plural, one {# app o documento} other {# apps y documentos}}`,appCount:`{count, plural, one {# app} other {# apps}}`,connectedCount:`{count, plural, one {# conectado} other {# conectados}}`,connectedLabel:`{count, plural, one {conectado} other {conectados}}`,itemCount:`{count, plural, one {# elemento} other {# elementos}}`,itemLabel:`{count, plural, one {elemento} other {elementos}}`,noSchedulesText:`Todavía no hay nada programado`,personCount:`{count, plural, one {# persona} other {# personas}}`,personLabel:`{count, plural, one {persona} other {personas}}`,skillAndPluginCount:`{count, plural, one {# habilidad o plugin} other {# habilidades y plugins}}`,skillCount:`{count, plural, one {# habilidad} other {# habilidades}}`},W={failureMessage:`No se pudieron cargar los plugins`},G={statusError:{title:`No se pudieron comprobar tus ajustes de memoria`,detail:`Algo falló al leer el estado de memoria de este asistente, así que aún no hay nada fiable que contarte.`},off:{title:`La memoria está desactivada`,detail:`Tu asistente no está guardando nada de vuestras conversaciones, así que no hay mapa que dibujar. Vuelve a activar la memoria para que empiece a recordar otra vez.`},legacy:{title:`Actualiza a memoria v3`,detail:`Tu asistente usa un motor de memoria antiguo. La memoria v3 reorganiza lo que sabe en una wiki enlazada de conceptos, y esa wiki es lo que dibuja este mapa.`},unknown:{title:`El grafo de memoria no está disponible`,detail:`El backend de memoria de este asistente no informa lo suficiente para decir por qué. Actualiza tu asistente y esta página te dirá qué necesita.`},prompts:{v2:`Migra mi memoria de v2 a v3. Lo más probable es que sea tu skill «Memory v3 Migration», pero averigua qué necesita realmente mi corpus y sigue exactamente la skill que uses.
1
+ var e={conversationTitle:`Actualizando la personalidad`},t={conversationTitle:`Actualizando el nombre`},n={greeting:`Hola, soy {name}`,renamingInProgressAriaLabel:`Cambio de nombre en curso`},r={all:`Todas`,skillCategoriesAriaLabel:`Categorías de habilidades`},i={askAboutThis:`Preguntar sobre esto`,askPrompt:`Cuéntame qué recuerdas sobre "{title}" y cómo se conecta con el resto de lo que sabes.`,backAriaLabel:`Atrás`,closeAriaLabel:`Cerrar`,connectionCount:`{count, plural, one {# conexión} other {# conexiones}}`,emptyContent:`Este concepto todavía no tiene contenido escrito. Existe como un enlace en el grafo, pero su página está vacía.`,loadError:`No se pudo cargar este concepto. Vuelve a intentarlo en un momento.`,readFullNote:`Leer la nota completa`,refine:`Refinar`,refinePrompt:`Quiero refinar lo que recuerdas sobre "{title}". Pregúntame qué no es correcto y lo corregiremos juntos.`,showLess:`Mostrar menos`,trailAriaLabel:`Ruta de conceptos`,updated:`Actualizado el {date}`,wiredTo:`Conectado con`},a={nodeKind:{capability:`Capacidad`,concept:`Concepto`,other:`Otro`,pending:`Pendiente`,skill:`Habilidad`}},o={description:`Cada idea que aprende, y los vínculos que traza entre ellas, aparece aquí. El mapa crece y se reorganiza mientras hablas, así que cuanto más compartas, más rico se vuelve.`,dismissAriaLabel:`Descartar`,title:`Esta es la mente de tu asistente`},s={coloredByTheme:`Coloreado por tema`,learned:`Aprendido`,link:`Enlace`,moreThemes:`{count, plural, one {+# más} other {+# más}}`},c={clearSearchAriaLabel:`Borrar búsqueda`,dragToRotateHint:`arrastra para rotar · desplaza para hacer zoom`,emptyDetail:`A medida que tu asistente aprende y conecta ideas, aparecerán aquí como un mapa vivo de su memoria.`,emptyTitle:`Todavía no hay conceptos`,enterFullscreenAriaLabel:`Entrar en pantalla completa`,exitFullscreenAriaLabel:`Salir de pantalla completa`,loadErrorDetail:`Algo salió mal al obtener la memoria de tu asistente. Vuelve a intentarlo en un momento.`,loadErrorTitle:`No se pudo cargar el grafo de memoria`,resetViewAriaLabel:`Restablecer la vista`,searchConceptsAriaLabel:`Buscar conceptos`,searchConceptsPlaceholder:`Buscar conceptos…`,truncatedNotice:`{count, plural, one {Mostrando el # concepto más conectado} other {Mostrando los # conceptos más conectados}}`,zoomInAriaLabel:`Acercar`,zoomOutAriaLabel:`Alejar`},l={cancel:`Cancelar`,contentLabel:`¿Qué debería recordar?`,contentPlaceholder:`p. ej. Prefiero resúmenes concisos con viñetas.`,create:`Crear recuerdo`,createError:`No se pudo crear el recuerdo.`,creating:`Creando…`,helperText:`Aparece en el mapa de inmediato y luego se asienta en un concepto a medida que se archiva.`,savedFoundToast:`Entendido. Te llevo hasta él.`,savedPendingToast:`Entendido. Está en tu mapa mientras lo archivo.`,saveError:`No se pudo guardar ese recuerdo.`,title:`Nuevo recuerdo`},u={failureMessage:`No se pudo cargar el grafo de memoria.`},d={failureMessage:`No se pudo cargar este concepto.`},f={cardHoverLine:{channels:`Todos los lugares donde puedes contactarme`,contacts:`Las personas que conozco y en quienes confío`,library:`Las apps y documentos que he creado para ti`,memory:`Todo lo que recuerdo`,personality:`Adelante, ajusta mi alma`,schedules:`Lo que hago en bucle`,superpowers:`Todo lo que sé hacer`,workspace:`Todos los archivos que me hacen funcionar`},defaultAssistantName:`Asistente`,memoryCount:`{count, plural, one {# recuerdo} other {# recuerdos}}`,memoryCountLabel:`{count, plural, one {recuerdo} other {recuerdos}}`,renameErrorToast:`El cambio de nombre no se completó. Vuelve a intentarlo.`,renameSuccessToast:`¡Saluda a {newName}!`,scheduleCadence:`{cadence} · próxima {nextRun}`,updateAvatarAndName:`Actualizar avatar y nombre`,viewMoreSchedules:`{count, plural, one {Ver # más…} other {Ver # más…}}`},p={channels:{description:`Donde escucho`,label:`Canales`},contacts:{description:`Personas que conozco`,label:`Contactos`},library:{description:`Mis apps y documentos`,label:`Biblioteca`},memory:{description:`Lo que recuerdo`,label:`Memoria`},personality:{description:`Ajusta cómo hablo`,label:`Personalidad`},schedules:{description:`Mis rutinas`,label:`Programaciones`},superpowers:{description:`Lo que puedo hacer`,label:`Superpoderes`},workspace:{description:`Mis archivos`,label:`Espacio de trabajo`}},m={failureMessage:`No se pudo instalar la habilidad.`},h={backToAriaLabel:`Volver a {name}`,backToTitle:`Volver a {name}`},g={failureMessage:`No se pudieron cargar las páginas de conceptos.`},_={justNow:`justo ahora`},v={createMemory:`Crear recuerdo`},y={sourceType:{direct:`Dicho directamente`,inferred:`Inferido`,observed:`Observado`,toldByOther:`Dicho por otra persona`}},b={memorySettings:`Ajustes de memoria`,tryAgain:`Intentar de nuevo`,turnMemoryOn:`Activar la memoria`,upgradeMemory:`Actualizar memoria`},x={companionCoworker:{left:`Compañero`,right:`Colega`},executeCollaborate:{left:`Independiente`,right:`Colaborativo`},genzBoomer:{left:`Gen Z`,right:`Baby Boomer`},playfulSerious:{left:`Juguetón`,right:`Serio`},politeUnfiltered:{left:`Educado`,right:`Sin filtro`}},S={back:`Atrás`,subtitle:`Mueve los diales y luego pulsa actualizar: me reescribiré para encajar.`,title:`Da forma a mi personalidad`,updateErrorToast:`La actualización de personalidad no se completó. Vuelve a intentarlo.`,updatePersonality:`Actualizar personalidad`,updateSuccessToast:`Personalidad actualizada. ¡Ve a saludar!`,updatingPersonality:`Actualizando la personalidad de {name}…`},C={ariaLabel:`Personalidad: {summary}`,axisBalanced:`{left} y {right} equilibrados`,axisLean:`{percent}% {label}`},w={rangeAriaLabel:`De {left} a {right}`},T={installError:`No se pudo instalar el plugin. Vuelve a intentarlo.`,removeConfirmMessage:`¿Quitar "{name}" de este asistente?`,removeError:`No se pudo quitar el plugin. Vuelve a intentarlo.`,riskyUpgradeConfirmLabel:`Actualizar de todos modos`,riskyUpgradeConfirmMessage:`"{name}" tiene cambios locales que se sobrescribirán con la actualización. ¿Continuar?`,toggleError:`No se pudo actualizar el plugin. Vuelve a intentarlo.`,upgradeError:`No se pudo actualizar el plugin. Vuelve a intentarlo.`},E={backToPluginsAriaLabel:`Volver a los plugins`,noReadme:`Este plugin no incluye un README.`,version:`v{version}`},D={autoIncludeInChat:`Incluir automáticamente en el chat`,download:`Descargar`,homepageLabel:`Sitio web`,hooksLabel:`Hooks`,install:`Instalar`,licenseLabel:`Licencia`,loadErrorDetail:`Puede que no exista, o que tu asistente tenga una versión anterior.`,loadErrorTitle:`No pudimos cargar este plugin.`,localSource:`Local`,remove:`Quitar`,removePluginTitle:`Quitar plugin`,skillsLabel:`Habilidades`,sourceLabel:`Fuente`,toolsLabel:`Herramientas`,upgrade:`Actualizar`,upgradePluginTitle:`Actualizar plugin`,upgradeTitle:`Actualizar {fromSha} → {toSha}`},O={disabled:`Desactivado`,enabled:`Activado`,installingAriaLabel:`Instalando`,installPluginAriaLabel:`Instalar plugin`,moreIssues:`{count, plural, one { (+# más)} other { (+# más)}}`,noDescription:`No se proporcionó descripción.`,pluginTag:`Plugin`,removePluginAriaLabel:`Quitar plugin`,version:`v{version}`},k={external:`Externo`,local:`Local`},A={alreadyUpToDate:`{name} ya está actualizado`,installed:`Se instaló {name}`,pluginFallback:`el plugin`,pluginFallbackCapitalized:`El plugin`,removed:`Se quitó {name}`,upgraded:`Se actualizó {name} a {sha}`},j={all:`Todo`,ariaLabel:`Ventana de antigüedad`,month:`Mes`,week:`Semana`},M={channels:`Canales`,contacts:`Contactos`,library:`Biblioteca`,memory:`Memoria`,schedules:`Programaciones`,superpowers:`Mis superpoderes`,workspace:`Espacio de trabajo`},N={backToConversationAriaLabel:`Volver a la conversación`,backToSkillsAriaLabel:`Volver a las habilidades`,filesTab:`Archivos`,fileViewModeAriaLabel:`Modo de vista de archivo`,historyTab:`Historial`,install:`Instalar`,noFilesAvailable:`No hay archivos disponibles.`,openInWorkspaceAriaLabel:`Abrir en el espacio de trabajo`,pendingAriaLabel:`Pendiente`,preview:`Vista previa`,remove:`Quitar`,saveFailed:`Error al guardar`,selectAFile:`Selecciona un archivo`,selectFilePrompt:`Selecciona un archivo para ver su contenido.`,source:`Código`},P={backToConversation:`Volver a la conversación`,backToSuperpowers:`Volver a Mis superpoderes`,notFoundSubtitle:`Es posible que esta habilidad se haya eliminado, o que el enlace esté obsoleto.`,notFoundTitle:`Habilidad no encontrada`},F={binaryFile:`Archivo binario. No hay vista previa disponible.`,noPreviewAvailable:`No hay vista previa disponible para {fileName}.`},I={assistantMemory:`Memoria del asistente`,custom:`Personalizada`},L={loadError:`No se pudo cargar el historial de revisiones.`,noChanges:`Todavía no se registraron cambios.`,noPreviewForChange:`No hay vista previa disponible para este cambio.`,truncatedNotice:`Se muestran los cambios recientes. El historial antiguo se compacta periódicamente, así que puede que no llegue hasta la creación de la habilidad.`},R={bundledSkillCannotBeRemovedAriaLabel:`No se puede quitar una habilidad incluida`,bundledSkillsCannotBeRemoved:`Las habilidades incluidas no se pueden quitar`,installingAriaLabel:`Instalando`,installSkillAriaLabel:`Instalar habilidad`,removeSkillAriaLabel:`Quitar habilidad`},z={subtitle:`Algo salió mal. Intenta actualizar la página.`,title:`No se pudieron cargar las habilidades`},B={categoriesLabel:`Categorías`,done:`Listo`,filterAriaLabel:`Filtrar superpoderes`,filterLabel:{all:`Todos`,assistantMemory:`Memoria del asistente`,available:`Disponibles`,custom:`Personalizadas`,installed:`Instalados`,plugins:`Plugins`,skills:`Habilidades`},filtersTitle:`Filtros`,searchAriaLabel:`Buscar superpoderes`,searchPlaceholder:`Buscar superpoderes`,sourceLabel:`Origen`,statusLabel:`Estado`,typeLabel:`Tipo`},V={catalogBrowsingUnavailableNotice:`La navegación por el catálogo de plugins no está disponible temporalmente. Los plugins instalados siguen apareciendo abajo.`,categoriesAriaLabel:`Categorías de superpoderes`,dismissTipAriaLabel:`Descartar sugerencia`,emptyState:{assistantMemorySubtitle:`Aquí aparecerán las habilidades que tu asistente crea a partir de conversaciones pasadas.`,assistantMemoryTitle:`Ninguna habilidad de la memoria`,availableSubtitle:`Todas las habilidades y plugins disponibles están instalados.`,availableTitle:`No queda nada por instalar`,categorySubtitle:`Intenta seleccionar otra categoría o borrar el filtro.`,categoryTitle:`Nada en esta categoría`,clawhubSubtitle:`No se encontraron habilidades de Clawhub. Intenta buscar en el catálogo.`,clawhubTitle:`Ninguna habilidad de Clawhub`,customSubtitle:`Crea una habilidad personalizada describiendo lo que quieres en el chat.`,customTitle:`Ninguna habilidad personalizada`,defaultSubtitle:`Comprueba tu conexión con el catálogo de Vellum.`,defaultTitle:`No hay superpoderes disponibles`,installedSubtitle:`Pídele a tu asistente en el chat que busque e instale nuevas habilidades y plugins.`,installedTitle:`No hay superpoderes instalados`,pluginsSubtitle:`Explora el catálogo para instalar plugins que amplíen tu asistente.`,pluginsTitle:`No se encontraron plugins`,skillsshSubtitle:`No se encontraron habilidades de skills.sh. Intenta buscar en el catálogo.`,skillsshTitle:`Ninguna habilidad de skills.sh`,skillsSubtitle:`Pídele a tu asistente en el chat que busque e instale nuevas habilidades.`,skillsTitle:`No se encontraron habilidades`,vellumSubtitle:`No se encontraron habilidades de Vellum incluidas.`,vellumTitle:`Ninguna habilidad de Vellum`},errorStateSubtitle:`Algo salió mal. Intenta actualizar la página.`,errorStateTitle:`No se pudieron cargar los superpoderes`,pluginsUnavailableNotice:`Los plugins no están disponibles temporalmente. Las habilidades siguen apareciendo abajo.`,skillsUnavailableNotice:`Las habilidades no están disponibles temporalmente. Los plugins siguen apareciendo abajo.`,tipBannerText:`Crea una habilidad personalizada describiendo lo que quieres en el chat, o instala plugins para ampliar tu asistente.`},H={updateAvailable:`Actualización disponible`,upgradePluginAriaLabel:`Actualizar plugin`},U={activeCount:`{count, plural, one {# activa} other {# activas}}`,activeLabel:`{count, plural, one {activa} other {activas}}`,appAndDocCount:`{count, plural, one {# app o documento} other {# apps y documentos}}`,appCount:`{count, plural, one {# app} other {# apps}}`,connectedCount:`{count, plural, one {# conectado} other {# conectados}}`,connectedLabel:`{count, plural, one {conectado} other {conectados}}`,itemCount:`{count, plural, one {# elemento} other {# elementos}}`,itemLabel:`{count, plural, one {elemento} other {elementos}}`,noSchedulesText:`Todavía no hay nada programado`,personCount:`{count, plural, one {# persona} other {# personas}}`,personLabel:`{count, plural, one {persona} other {personas}}`,skillAndPluginCount:`{count, plural, one {# habilidad o plugin} other {# habilidades y plugins}}`,skillCount:`{count, plural, one {# habilidad} other {# habilidades}}`},W={failureMessage:`No se pudieron cargar los plugins`},G={statusError:{title:`No se pudieron comprobar tus ajustes de memoria`,detail:`Algo falló al leer el estado de memoria de este asistente, así que aún no hay nada fiable que contarte.`},off:{title:`La memoria está desactivada`,detail:`Tu asistente no está guardando nada de vuestras conversaciones, así que no hay mapa que dibujar. Vuelve a activar la memoria para que empiece a recordar otra vez.`},legacy:{title:`Actualiza a memoria v3`,detail:`Tu asistente usa un motor de memoria antiguo. La memoria v3 reorganiza lo que sabe en una wiki enlazada de conceptos, y esa wiki es lo que dibuja este mapa.`},unknown:{title:`El grafo de memoria no está disponible`,detail:`El backend de memoria de este asistente no informa lo suficiente para decir por qué. Actualiza tu asistente y esta página te dirá qué necesita.`},prompts:{v2:`Migra mi memoria de v2 a v3. Lo más probable es que sea tu skill «Memory v3 Migration», pero averigua qué necesita realmente mi corpus y sigue exactamente la skill que uses.
2
2
 
3
3
  Ejecútalo en segundo plano y avísame cuando termine, o si algo lo bloquea.`,v1:`Migra mi memoria de v1 a v3. Lo más probable es que sean dos saltos, tu skill «Memory v2 Migration» y luego tu skill «Memory v3 Migration», pero averigua qué necesita realmente mi asistente y sigue exactamente las skills que uses.
4
4
 
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{O as t}from"./vendor-WUN87CSE.js";import{b as n,d as r,i,n as a,t as o}from"./react-DPM_L_aA.js";import{Rr as s}from"./icons-CSdHOix6.js";import{Cy as c,Os as l,X_ as u,na as d,sv as f,uv as p}from"./index-7XDiAJ-A.js";import{t as m}from"./page-shell-DtdXurhX.js";var h=e(n(),1),g=o(),_={schedules:`sections.schedules`,superpowers:`sections.superpowers`,plugins:`sections.superpowers`,skills:`sections.superpowers`,memory:`sections.memory`,library:`sections.library`,workspace:`sections.workspace`,contacts:`sections.contacts`,channels:`sections.channels`};function v(){let{t:e}=t(`intelligence`),n=u.use.name(),{pathname:o}=r(),v=l(),y=d.use.setTopBarCenter(),b=f(o),x=b?e(_[b.key]):null;return(0,h.useEffect)(()=>(y(v&&x?(0,g.jsx)(c,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:x}):null),()=>{y(null)}),[v,x,y]),b?(0,g.jsxs)(m,{children:[(0,g.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,g.jsx)(a,{to:p.identity,className:`-ml-2 flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors outline-none hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,"aria-label":e(`intelligenceLayout.backToAriaLabel`,{name:n||e(`identityOverview.defaultAssistantName`)}),title:e(`intelligenceLayout.backToTitle`,{name:n||e(`identityOverview.defaultAssistantName`)}),children:(0,g.jsx)(s,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,g.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:x})]}),(0,g.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,g.jsx)(i,{})})]}):(0,g.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,g.jsx)(i,{})})}export{v as IntelligenceLayout};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{uv as r}from"./index-7XDiAJ-A.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.keyboardShortcuts,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{p as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./jsx-runtime-COOF1INC.js";import{Zr as i,ni as a}from"./sdk.gen-BluU0h_N.js";import{r as o}from"./platform-detection-DUeD4WFO.js";import{t as s}from"./proxy-CROyCGs8.js";import{t as c}from"./use-reduced-motion-CVyEdyEe.js";import{r as l}from"./eye-bbox-crwIELLL.js";var u={companionCoworker:`companion-coworker`,genzBoomer:`genz-boomer`,executeCollaborate:`execute-collaborate`,playfulSerious:`playful-serious`,politeUnfiltered:`polite-unfiltered`},d=2;function f({processing:e,sawProcessing:t,hasReply:n,stableReads:r}){return e===void 0?n&&r>=d:!e&&(n||t)}var p=e=>Math.max(0,Math.min(100,Math.round(e)));function m(e,t,n){let r=t=>p(e[t]??50),i=r(u.companionCoworker),a=r(u.executeCollaborate),o=r(u.playfulSerious),s=r(u.politeUnfiltered),c=t?.trim()||`The user`,l=n?.trim(),d=l?`Your name is ${l}. Write exactly \`- **Name:** ${l}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{l as t,p as n,s as r}from"./vendor-WUN87CSE.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Cv as o,Jh as s,Qh as c,jp as l}from"./index-7XDiAJ-A.js";var u={companionCoworker:`companion-coworker`,genzBoomer:`genz-boomer`,executeCollaborate:`execute-collaborate`,playfulSerious:`playful-serious`,politeUnfiltered:`polite-unfiltered`},d=2;function f({processing:e,sawProcessing:t,hasReply:n,stableReads:r}){return e===void 0?n&&r>=d:!e&&(n||t)}var p=e=>Math.max(0,Math.min(100,Math.round(e)));function m(e,t,n){let r=t=>p(e[t]??50),i=r(u.companionCoworker),a=r(u.executeCollaborate),o=r(u.playfulSerious),s=r(u.politeUnfiltered),c=t?.trim()||`The user`,l=n?.trim(),d=l?`Your name is ${l}. Write exactly \`- **Name:** ${l}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
2
2
  ${c} wants to customize your personality.
3
3
  This is what they want you to be:
4
4
  Companion (0-100): ${100-i}
@@ -20,5 +20,5 @@ IDENTITY.md must keep a line reading exactly \`- **Personality:** <one short sen
20
20
  ${d}
21
21
 
22
22
  Each rewritten file must still be complete: SOUL.md keeps everything you operate by — how you use memory, your boundaries, your compliance stance — re-expressed in your new voice rather than dropped. When you finish, both files should read top-to-bottom as this new personality, with nothing left in the generic default voice.
23
- </system-message>`}var h=`data/personality-sliders.json`;function g(e){return[`personality-sliders`,e]}function _(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`number`)}function v(e){return Object.fromEntries(Object.values(u).map(t=>[t,e[t]??50]))}async function y(e){let{data:n,error:r,response:a}=await i({path:{assistant_id:e},query:{path:h},throwOnError:!1});if(t(a,r,`Failed to fetch personality sliders`),a.status===404)return null;if(!a.ok||!n)throw Error(`Failed to fetch personality sliders`);let o=JSON.parse(n.content);if(!_(o))throw Error(`Personality sliders sidecar is malformed`);return o}async function b(e,n){try{let{error:r,response:i}=await a({path:{assistant_id:e},body:{path:h,content:JSON.stringify(n,null,2),encoding:`utf-8`},throwOnError:!1});return t(i,r,`Failed to save personality sliders`),i.ok}catch{return!1}}var x=e(n(),1),S=r(),C=.25,w=.46,T=.3,E=.85,D=.4,O=14,k=8;function A({art:e,stage:t,entrance:n=!1,entranceDelay:r=0,restSinkFraction:i=0,bumpNonce:a}){let o=c(),{w:u,h:d}=t,[f,p]=(0,x.useState)({x:0,y:0});(0,x.useEffect)(()=>{if(o)return;let e=e=>{p({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[o]);let m=n&&!o,h=l();(0,x.useEffect)(()=>{(a??0)>0&&!o&&h.start({y:[0,-34,8,0],transition:{duration:.45,ease:`easeOut`}})},[a,o,h]);let[g,_]=(0,x.useState)(!1),[v,y]=(0,x.useState)(!n);if((0,x.useEffect)(()=>{if(o||!v)return;let e=!1,t,r=n=>{e||(_(!0),t=setTimeout(()=>{e||(_(!1),t=setTimeout(n,140))},140))},i=()=>{t=setTimeout(()=>r(i),2500+Math.random()*4e3)};return n?r(()=>r(i)):i(),()=>{e=!0,clearTimeout(t)}},[o,v,n]),u===0||d===0)return null;let b=u*E,A=Math.min(Math.min(u,d)*T,b*e.bbox.h/e.bbox.w),j=A*e.bbox.w/e.bbox.h,M=(u-j)/2,N=d-(1-C)*A+d*i,P=D*d-(N+A/2),F=(w-C)*A,I=e.bbox.x+e.bbox.w/2,L=e.bbox.y+e.bbox.h/2,R=(0,S.jsx)(`div`,{style:{transform:`translate(${f.x*O}px, ${f.y*k}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,S.jsx)(`svg`,{viewBox:`${e.bbox.x} ${e.bbox.y} ${e.bbox.w} ${e.bbox.h}`,width:j,height:A,style:{overflow:`visible`,display:`block`},children:(0,S.jsx)(`g`,{style:{transform:g?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${I}px ${L}px`,transition:`transform 0.14s ease-in-out`},children:e.paths.map((e,t)=>(0,S.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})});return(0,S.jsx)(s.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:M,top:N,width:j,height:A,transformOrigin:`center`},initial:m?{y:P,scale:.35}:!1,animate:m?{y:[P,F,0],scale:[.35,1,1]}:{y:0,scale:1},transition:m?{duration:1,delay:r,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>y(!0),children:a===void 0?R:(0,S.jsx)(s.div,{animate:h,children:R})})}var j=T*(1-C);function M({conversationId:e,content:t,transport:n}){let r={conversationId:e,content:t,sourceChannel:`vellum`,interface:n,hidden:!0,scripted:!0,clientMessageId:crypto.randomUUID()};return n===`web`&&(r.clientOs=o()),r}function N(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(!n||n.role!==`assistant`))return(n.contentBlocks??[]).filter(e=>e.type===`text`).map(e=>e.text).join(`
23
+ </system-message>`}var h=`data/personality-sliders.json`;function g(e){return[`personality-sliders`,e]}function _(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`number`)}function v(e){return Object.fromEntries(Object.values(u).map(t=>[t,e[t]??50]))}async function y(e){let{data:t,error:n,response:r}=await s({path:{assistant_id:e},query:{path:h},throwOnError:!1});if(o(r,n,`Failed to fetch personality sliders`),r.status===404)return null;if(!r.ok||!t)throw Error(`Failed to fetch personality sliders`);let i=JSON.parse(t.content);if(!_(i))throw Error(`Personality sliders sidecar is malformed`);return i}async function b(e,t){try{let{error:n,response:r}=await c({path:{assistant_id:e},body:{path:h,content:JSON.stringify(t,null,2),encoding:`utf-8`},throwOnError:!1});return o(r,n,`Failed to save personality sliders`),r.ok}catch{return!1}}var x=e(i(),1),S=a(),C=.25,w=.46,T=.3,E=.85,D=.4,O=14,k=8;function A({art:e,stage:i,entrance:a=!1,entranceDelay:o=0,restSinkFraction:s=0,bumpNonce:c}){let l=t(),{w:u,h:d}=i,[f,p]=(0,x.useState)({x:0,y:0});(0,x.useEffect)(()=>{if(l)return;let e=e=>{p({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[l]);let m=a&&!l,h=r();(0,x.useEffect)(()=>{(c??0)>0&&!l&&h.start({y:[0,-34,8,0],transition:{duration:.45,ease:`easeOut`}})},[c,l,h]);let[g,_]=(0,x.useState)(!1),[v,y]=(0,x.useState)(!a);if((0,x.useEffect)(()=>{if(l||!v)return;let e=!1,t,n=n=>{e||(_(!0),t=setTimeout(()=>{e||(_(!1),t=setTimeout(n,140))},140))},r=()=>{t=setTimeout(()=>n(r),2500+Math.random()*4e3)};return a?n(()=>n(r)):r(),()=>{e=!0,clearTimeout(t)}},[l,v,a]),u===0||d===0)return null;let b=u*E,A=Math.min(Math.min(u,d)*T,b*e.bbox.h/e.bbox.w),j=A*e.bbox.w/e.bbox.h,M=(u-j)/2,N=d-(1-C)*A+d*s,P=D*d-(N+A/2),F=(w-C)*A,I=e.bbox.x+e.bbox.w/2,L=e.bbox.y+e.bbox.h/2,R=(0,S.jsx)(`div`,{style:{transform:`translate(${f.x*O}px, ${f.y*k}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,S.jsx)(`svg`,{viewBox:`${e.bbox.x} ${e.bbox.y} ${e.bbox.w} ${e.bbox.h}`,width:j,height:A,style:{overflow:`visible`,display:`block`},children:(0,S.jsx)(`g`,{style:{transform:g?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${I}px ${L}px`,transition:`transform 0.14s ease-in-out`},children:e.paths.map((e,t)=>(0,S.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})});return(0,S.jsx)(n.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:M,top:N,width:j,height:A,transformOrigin:`center`},initial:m?{y:P,scale:.35}:!1,animate:m?{y:[P,F,0],scale:[.35,1,1]}:{y:0,scale:1},transition:m?{duration:1,delay:o,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>y(!0),children:c===void 0?R:(0,S.jsx)(n.div,{animate:h,children:R})})}var j=T*(1-C);function M({conversationId:e,content:t,transport:n}){let r={conversationId:e,content:t,sourceChannel:`vellum`,interface:n,hidden:!0,scripted:!0,clientMessageId:crypto.randomUUID()};return n===`web`&&(r.clientOs=l()),r}function N(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(!n||n.role!==`assistant`))return(n.contentBlocks??[]).filter(e=>e.type===`text`).map(e=>e.text).join(`
24
24
  `).trim()}return``}export{v as a,b as c,A as i,m as l,M as n,y as o,j as r,g as s,N as t,f as u};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{O as t}from"./vendor-WUN87CSE.js";import{b as n,d as r,f as i,m as a,t as o}from"./react-DPM_L_aA.js";import{tn as s}from"./icons-CSdHOix6.js";import{$n as c,Ds as l,E as u,Gm as d,Os as f,ay as p,ft as m,uv as h,vr as g,yr as _,zs as v}from"./index-7XDiAJ-A.js";import{t as y}from"./deploy-dialogs-BQGFr3pp.js";import{t as b}from"./use-edge-swipe-back-CzESg8qG.js";import{t as x}from"./app-types-BSxLQFrc.js";var S=e(n(),1),C=o();function w({enabled:e}){return e?(0,C.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function T(){let{t:e}=t(`library`),{appId:n}=a(),o=m(),T=i(),{pathname:E}=r(),D=f(),O=g.use.isDeploying(),k=(0,S.useRef)(null),[A,j]=(0,S.useState)(null),[M,N]=(0,S.useState)(null),[P,F]=(0,S.useState)(!1),I=(0,S.useRef)(null);(0,S.useEffect)(()=>{if(n)return I.current=n,j(null),N(null),d({path:{assistant_id:o,id:n},throwOnError:!0}).then(({data:e})=>{I.current===n&&(v(o,e.appId,e.html),j({appId:e.appId,dirName:e.dirName,name:e.name,html:e.html,origin:e.origin}))}).catch(e=>{I.current===n&&N(e instanceof Error?e.message:`Failed to open app`)}),()=>{I.current=null}},[o,n]);let L=(0,S.useCallback)(()=>{T(h.library.root)},[T]);b({containerRef:k,onBack:L,enabled:D,navKey:E,prefetchHref:h.library.root});let R=u(),z=(0,S.useCallback)(()=>{A&&R(A)},[A,R]),B=(0,S.useCallback)(async()=>{if(!(!A||P)){F(!0);try{await _(o,A.appId,A.name),p.success(e(`libraryAppCard.exported`),{description:`${A.name}.vellum`})}catch(t){p.error(e(`libraryAppCard.shareFailed`),{description:t instanceof Error?t.message:void 0})}finally{F(!1)}}},[o,A,P,e]),V=(0,S.useCallback)(()=>{A&&g.getState().deployApp(o,A.appId,A.name,A.html)},[o,A]),H=(0,S.useCallback)(e=>{l(T,{prompt:e})},[T]);return n?M?(0,C.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,C.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:M}),(0,C.jsx)(`button`,{type:`button`,onClick:L,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:e(`libraryDetailPage.backToLibrary`)})]}):A?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`div`,{ref:k,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,C.jsx)(w,{enabled:D}),(0,C.jsx)(c,{appId:A.appId,appName:A.name,html:A.html,assistantId:o,onClose:L,...x(A.origin)?{}:{onEdit:z,onShare:B,isSharing:P,onDeploy:V,isDeploying:O},enableFullscreen:!0})]}),(0,C.jsx)(y,{assistantId:o,onStartConversation:H})]}):(0,C.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,C.jsx)(s,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{T as LibraryDetailPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Kn as t,O as n,Yn as r}from"./vendor-WUN87CSE.js";import{b as i,f as a,t as o}from"./react-DPM_L_aA.js";import{Cn as s,In as c,J as l,Yn as u,Zn as d,cn as f,dt as p,et as m,on as h,ui as g,ut as _,x as v}from"./icons-CSdHOix6.js";import{Bu as y,Cn as b,Ds as x,Km as S,Oa as C,Rs as w,S as T,Si as E,Sn as D,ad as O,ai as k,ay as A,er as j,ft as M,hy as N,in as P,pa as F,tr as I,ty as L,uv as R,vr as z,wy as B,yr as V,zu as H}from"./index-7XDiAJ-A.js";import{t as U}from"./deploy-dialogs-BQGFr3pp.js";import{t as W}from"./app-types-BSxLQFrc.js";var G=e(i(),1),K=o();function q(e){return e===1?`1 word`:`${e} words`}function J({document:e,onOpen:t}){return(0,K.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:F(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,K.jsx)(c,{size:34,className:`text-[var(--content-tertiary)]`}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:q(e.wordCount)})]}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:T(new Date(e.updatedAt))})]})]})}function Y({accept:e,fileInputRef:t,isImporting:r,onImportBundle:i,onNewConversation:a}){let{t:o}=n(`library`);return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,K.jsx)(`input`,{ref:t,type:`file`,accept:e,className:`hidden`,onChange:i}),(0,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(f,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:o(`libraryEmptyState.heading`)}),(0,K.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:o(`libraryEmptyState.body`)}),(0,K.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[a?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(B,{variant:`primary`,size:`regular`,onClick:a,children:o(`libraryEmptyState.newConversation`)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:o(`libraryEmptyState.separator`)})]}):null,(0,K.jsxs)(B,{variant:`outlined`,size:`regular`,onClick:()=>t.current?.click(),disabled:r,children:[r?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(d,{size:14}),(0,K.jsx)(`span`,{className:`ml-1.5`,children:o(`libraryEmptyState.importFile`)})]})]})]})}function X({app:e,assistantId:t,isPinned:r,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:c,onAnimationEnd:l}){let{t:u}=n(`library`),[d,f]=(0,G.useState)(!1),m=W(e.origin),h=m?void 0:o,g=m?void 0:s,y=(0,G.useCallback)(()=>w(t,e.id),[t,e.id]),b=(0,G.useCallback)(async()=>{if(!d){f(!0);try{await V(t,e.id,e.name),A.success(u(`libraryAppCard.exported`),{description:`${e.name}.vellum`})}catch(e){A.error(u(`libraryAppCard.shareFailed`),{description:e instanceof Error?e.message:void 0})}finally{f(!1)}}},[t,e.id,e.name,d,u]),[x,S]=(0,G.useState)(!1),[C,D]=(0,G.useState)(!1),O=(0,G.useCallback)(()=>D(!0),[]),{deployedUrl:k}=I(t,e.id,{enabled:C&&g!=null}),M=(0,G.useCallback)(()=>{k!=null&&j(k)},[k]);return(0,K.jsx)(E,{trailingActions:[{id:`pin`,label:r?`Unpin`:`Pin`,icon:r?p:_,onSelect:()=>a(e)},...h?[{id:`delete`,label:`Delete`,icon:v,variant:`destructive`,onSelect:()=>h(e)}]:[]],className:`rounded-xl`,children:(0,K.jsxs)(`div`,{"data-reveal-row":``,className:F(`relative flex flex-col gap-2`,c&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:c?l:void 0,onPointerEnter:O,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:F(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,K.jsx)(P,{name:e.name,icon:e.icon,loadHtml:y})}),(0,K.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,K.jsx)(Z,{appName:e.name,isPinned:r,open:x,onOpenChange:e=>{e&&O(),S(e)},onPin:()=>a(e),onDelete:h?()=>h(e):void 0,onShare:m?void 0:b,onDeploy:g,deployedUrl:k,onCopyDeployedLink:M})}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:T(new Date(e.createdAt))})]})]})})}function Z({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:c,onDeploy:l,deployedUrl:d,onCopyDeployedLink:f}){let{t:y}=n(`library`),b=d!=null&&d!==``&&f!=null,x=y(`libraryAppCard.actionsTitle`,{appName:e});return(0,K.jsxs)(L.Root,{open:r,onOpenChange:i,children:[(0,K.jsx)(L.Trigger,{asChild:!0,children:(0,K.jsx)(B,{variant:`primary`,size:`compact`,iconOnly:(0,K.jsx)(u,{}),"aria-label":x,onClick:e=>e.stopPropagation()})}),(0,K.jsxs)(L.Content,{title:x,children:[(0,K.jsx)(L.Item,{icon:t?p:_,label:y(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:a}),c?(0,K.jsx)(L.Item,{icon:g,label:y(`libraryAppCard.share`),description:y(`libraryAppCard.shareSub`),onSelect:c}):null,l&&b?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(L.Item,{icon:h,label:y(`libraryAppCard.deployed`),description:(0,K.jsx)(`span`,{className:`break-all`,children:d}),shortcut:y(`libraryAppCard.copyLink`),onSelect:()=>f?.()}),(0,K.jsx)(L.Item,{icon:m,label:y(`libraryAppCard.redeploy`),description:y(`libraryAppCard.redeploySub`),onSelect:l})]}):l?(0,K.jsx)(L.Item,{icon:s,label:y(`libraryAppCard.deploy`),description:y(`libraryAppCard.deploySub`),onSelect:l}):null,o?(0,K.jsx)(L.Item,{icon:v,label:y(`libraryAppCard.delete`),tone:`destructive`,onSelect:o}):null]})]})}function Q({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,K.jsx)(X,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var $=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function ee(e){let{pinnedAppIds:n}=k(e),{data:r=[],isLoading:i,error:a}=t({...H({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=t({...O({path:{assistant_id:e}}),select:e=>e.documents}),l=i||s,u=a&&c?a instanceof Error?a.message:`Failed to load library`:null,[d,f]=(0,G.useState)(``),p=(0,G.useMemo)(()=>{if(!d.trim())return r;let e=d.toLowerCase();return r.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[r,d]);return{apps:r,documents:o,filteredApps:p,pinnedApps:(0,G.useMemo)(()=>p.filter(e=>n.has(e.id)).sort($),[p,n]),recentApps:(0,G.useMemo)(()=>p.filter(e=>!n.has(e.id)).sort($),[p,n]),filteredDocuments:(0,G.useMemo)(()=>{if(!d.trim())return o;let e=d.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e))},[o,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function te(e,t){let{data:n,error:r,response:i}=await S({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function ne({assistantId:e,assistantName:t,onNewConversation:i,onOpenDocument:a,onOpenApp:o}){let{t:s}=n(`library`),c=r(),{togglePin:u,pinnedAppIds:f}=k(e),p=z.use.isDeploying(),{apps:m,documents:h,filteredApps:g,pinnedApps:_,recentApps:v,filteredDocuments:x,searchText:S,setSearchText:T,loading:E,error:O}=ee(e),{pendingDelete:j,isDeleting:M,requestDelete:P,confirmDelete:F,cancelDelete:I}=D(e),[L]=(0,G.useState)(()=>C()?void 0:`.vellum`),R=(0,G.useRef)(null),[V,H]=(0,G.useState)(!1),W=(0,G.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||V)){H(!0);try{let t=await te(e,n);await c.invalidateQueries({queryKey:y({path:{assistant_id:e}})}),A.success(s(`libraryView.imported`,{name:t.name})),o(t.appId)}catch(e){A.error(e instanceof Error?e.message:s(`libraryView.importFailed`))}finally{H(!1),R.current&&(R.current.value=``)}}},[e,V,c,o,s]),q=(0,G.useCallback)(async t=>{if(p)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await w(e,t);z.getState().deployApp(e,t,n,r)}catch{z.getState().deployApp(e,t,n,``)}},[e,p,m]),X=(0,G.useCallback)(e=>u(e.id),[u]);return E?(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,K.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":s(`libraryView.loadingAria`)})}):O?(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:O}),(0,K.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:s(`libraryView.retry`)})]}):m.length===0&&h.length===0?(0,K.jsx)(Y,{accept:L,fileInputRef:R,isImporting:V,onImportBundle:W,onNewConversation:i?()=>i():void 0}):(0,K.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,K.jsx)(`div`,{className:`mb-4 flex shrink-0 items-center justify-end gap-4`,children:(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{ref:R,type:`file`,accept:L,className:`hidden`,onChange:W}),(0,K.jsxs)(B,{variant:`outlined`,size:`regular`,onClick:()=>R.current?.click(),disabled:V,children:[V?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(d,{size:14}),(0,K.jsx)(`span`,{className:`ml-1.5`,children:s(`libraryView.import`)})]})]})}),(0,K.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,K.jsx)(N,{fullWidth:!0,type:`text`,placeholder:s(`libraryView.searchPlaceholder`),value:S,onChange:e=>T(e.target.value),leftIcon:(0,K.jsx)(l,{size:16})})}),(0,K.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:g.length===0&&x.length===0?(0,K.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,K.jsx)(l,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:s(`libraryView.noMatches`,{query:S})})]}):(0,K.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,K.jsx)(Q,{title:s(`libraryView.pinned`),apps:_,assistantId:e,pinnedAppIds:f,onOpen:o,onPin:X,onDelete:P,onDeploy:q}),(0,K.jsx)(Q,{title:s(`libraryView.recents`),apps:v,assistantId:e,pinnedAppIds:f,onOpen:o,onPin:X,onDelete:P,onDeploy:q}),x.length>0?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:s(`libraryView.documents`)}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:x.map(e=>(0,K.jsx)(J,{document:e,onOpen:e=>{a&&a(e)}},e.surfaceId))})]}):null]})}),(0,K.jsx)(U,{assistantId:e,assistantName:t,onStartConversation:i}),(0,K.jsx)(b,{app:j,isDeleting:M,onConfirm:F,onCancel:I})]})}function re(){let e=M(),t=a();return(0,K.jsx)(ne,{assistantId:e,onNewConversation:(0,G.useCallback)(e=>{x(t,{prompt:e})},[t]),onOpenDocument:(0,G.useCallback)(e=>{t(R.document(e))},[t]),onOpenApp:(0,G.useCallback)(e=>{t(R.library.app(e))},[t])})}export{re as LibraryPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{O as t}from"./vendor-WUN87CSE.js";import{b as n,d as r,t as i}from"./react-DPM_L_aA.js";import{Dy as a,Go as o,Ko as s,Uo as c,Wo as l,Wr as u,Xp as d,Yp as f,mm as p,uv as m,vv as h,wy as g}from"./index-7XDiAJ-A.js";import{n as _,t as v}from"./auth-welcome-screen-ghh-qFOz.js";import{n as y,t as b}from"./use-return-to-short-circuit-NDSwANeI.js";var x=e(n(),1),S=i();function C({children:e}){let{t:n}=t();return(0,S.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,S.jsx)(`img`,{src:u(`/vellum-logo.svg`),alt:n(`nativeSplash.logoAlt`),width:220,height:66,className:`block dark:hidden`}),(0,S.jsx)(`img`,{src:u(`/vellum-logo-white.svg`),alt:n(`nativeSplash.logoAlt`),width:220,height:66,className:`hidden dark:block`}),e,(0,S.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute left-1/2 w-full max-w-[900px] -translate-x-1/2`,style:{bottom:0},children:(0,S.jsx)(`img`,{src:u(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}function w({children:e,className:t}){return(0,S.jsx)(`p`,{className:a(`text-body-small-default text-center text-[var(--system-negative-strong)]`,t),children:e})}function T({returnTo:e}){let{t:n}=t(`account`),[r,i]=(0,x.useState)(null),[a,u]=(0,x.useState)(!1),d=async()=>{i(null),u(!0);try{await f({returnTo:e??null})}catch(e){if(l(e)){u(!1);return}h(e,{context:`native_login`,tags:{authError:o(e)??`unclassified`}}),i(n(s(e),{community:c})),u(!1)}};return(0,S.jsx)(C,{children:(0,S.jsxs)(`div`,{className:`z-10 mt-8 flex w-full max-w-[320px] flex-col items-center gap-3`,children:[r&&(0,S.jsx)(w,{className:`max-w-[280px]`,children:r}),(0,S.jsx)(g,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>{d()},disabled:a,className:`max-w-[300px]`,children:n(`loginPage.signIn`)})]})})}function E({returnTo:e}){let{t:n}=t(`account`),{search:i}=r(),a=p(e?`${m.account.signup}?returnTo=${encodeURIComponent(e)}`:m.account.signup,i);return(0,S.jsx)(v,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:n(`loginPage.signUp`),href:a}})}function D(){let e=d(),t=b();return t.kind===`wait`?e?(0,S.jsx)(C,{}):(0,S.jsx)(_,{fillsViewport:!0,children:(0,S.jsx)(y,{})}):t.kind===`redirect`?t.node:e?(0,S.jsx)(T,{returnTo:t.returnTo}):(0,S.jsx)(E,{returnTo:t.returnTo})}export{D as LoginPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{O as t}from"./vendor-WUN87CSE.js";import{b as n,g as r,t as i}from"./react-DPM_L_aA.js";import{Uf as a,fm as o,gs as s,uv as c}from"./index-7XDiAJ-A.js";import{r as l,t as u}from"./account-shell-D6h6YPdW.js";var d=e(n(),1),f=i();function p(){let{t:e}=t(`account`),[n]=r(),i=a.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=o(n.get(`returnTo`),c.account.login),t=e.startsWith(`http`)||e===c.account.login?e:`${c.account.login}?returnTo=${encodeURIComponent(e)}`,r=!1;return i().then(()=>{r||s(t)},()=>{r||s(t)}),()=>{r=!0}},[i,n]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,d as n,i as r,t as i}from"./react-DPM_L_aA.js";import{Jt as a,xi as o}from"./icons-CSdHOix6.js";import{Vf as s,uv as c}from"./index-7XDiAJ-A.js";import{n as l,t as u}from"./sidebar-tree-C1t1xfKD.js";var d=o(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),f=e(t(),1),p=[{id:`emails`,label:`Emails`,href:c.logs.emails,icon:a},{id:`system-events`,label:`System Events`,href:c.logs.systemEvents,icon:d}],m=i();function h(){let e=s({platformHostedOnly:!0}),t=s(),{pathname:i}=n(),a=(0,f.useMemo)(()=>p.filter(n=>!(n.id===`system-events`&&e===`gated`||n.id===`emails`&&t===`gated`)),[e,t]),o=(0,f.useMemo)(()=>{let e=p.find(e=>i===e.href||i.startsWith(e.href+`/`));return e?e.label:i===c.logs.root?p[0]?.label??`Logs & Usage`:`Logs & Usage`},[i]);return(0,m.jsx)(l,{backHref:c.assistant,sidebar:(0,m.jsx)(u,{items:a,indexPath:c.logs.root}),title:o,menuRoute:c.logs.root,children:(0,m.jsx)(r,{})})}export{h as LogsLayout};
@@ -0,0 +1 @@
1
+ import{t as e}from"./react-DPM_L_aA.js";import{t}from"./preview-error-DbAQP8oG.js";import{Cy as n,Xn as r,dn as i}from"./index-7XDiAJ-A.js";import{t as a}from"./use-truncated-blob-text-DLF_hf3O.js";var o=e(),s=512*1024,c=`Showing the first 512 KB`;function l({blob:e,filename:l}){let{text:u,truncated:d,decodeFailed:f}=a(e,s);return f?(0,o.jsx)(t,{filename:l}):u===null?(0,o.jsx)(r,{}):(0,o.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,o.jsx)(i,{content:u}),d&&(0,o.jsx)(n,{as:`p`,variant:`label-small-default`,className:`border-t border-[var(--border-element)] pt-2 text-[var(--content-tertiary)]`,children:c})]})}export{l as MarkdownPreview};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,t as n}from"./react-DPM_L_aA.js";import{Xn as r,Yn as i,oo as a}from"./index-7XDiAJ-A.js";var o=e(t(),1),s=n(),c=`nodownload noplaybackrate`;function l({blob:e,filename:t,kind:n}){let l=i(e,(0,o.useMemo)(()=>a({sniffedMime:null,serverMime:e.type.length>0?e.type:null,filename:t}).mime,[e,t]));return l===null?(0,s.jsx)(r,{}):n===`image`?(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(`img`,{src:l,alt:t,className:`h-auto max-w-full rounded-lg border border-[var(--border-element)]`})}):n===`audio`?(0,s.jsx)(`audio`,{src:l,controls:!0,controlsList:c,preload:`metadata`,"aria-label":t,className:`w-full`}):(0,s.jsx)(`video`,{src:l,controls:!0,controlsList:c,playsInline:!0,preload:`metadata`,"aria-label":t,className:`max-w-full rounded-lg border border-[var(--border-element)]`})}export{l as MediaPreview};
@@ -0,0 +1,2 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Gn as t,Kn as n,N as r,O as i,Yn as a}from"./vendor-WUN87CSE.js";import{b as o,f as s,t as c}from"./react-DPM_L_aA.js";import{Gt as l,Ht as u,Ir as d,J as f,K as p,P as m,Pt as h,Q as g,Rr as _,et as v,i as y,n as b,st as x,t as ee,tn as S,zr as C}from"./icons-CSdHOix6.js";import{Cv as w,Cy as T,Ds as te,Fo as ne,Mo as E,Po as D,Sh as re,Sv as O,Tv as k,ay as A,dn as ie,ft as j,gy as ae,ho as M,jg as oe,ly as N,mu as P,ru as F,sy as I,uv as se,wy as L,yh as ce}from"./index-7XDiAJ-A.js";var R=e(o(),1),z={x:600,y:450},le=`memory_tab_v1`,ue=crypto.randomUUID();function B(e){typeof window>`u`||P()&&F([{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:Date.now(),screen:`memory`,session_id:ue,step_name:e,funnel_version:le}])}var V=Math.PI*(3-Math.sqrt(5)),H=7,U=2.4,W=34,de=10;function G(e){return Math.min(W,H+U*Math.sqrt(e))}function fe(e){return e===`concept`||e===`skill`||e===`capability`||e===`pending`?e:`other`}function K(e){return e===`link`||e===`learned`?e:`other`}function pe(e,t={}){let n=t.center??z,r=e.nodes,i=r.length;if(i===0)return{nodes:[],edges:[]};let a=new Map;r.forEach((e,t)=>a.set(e.id,t));let o=e.edges.filter(e=>e.source!==e.target&&a.has(e.source)&&a.has(e.target)),s=Array(i).fill(0),c=[];for(let e of o){let t=a.get(e.source),n=a.get(e.target);s[t]++,s[n]++,c.push([t,n])}let l=r.map((e,t)=>G(s[t])),u=70+26*Math.sqrt(i),d=r.map((e,t)=>{let r=(t+.5)/i,a=Math.acos(1-2*r),o=t*V,s=u*Math.cbrt(r),c=Math.sin(a);return{x:n.x+s*c*Math.cos(o),y:n.y+s*c*Math.sin(o),z:s*Math.cos(a),vx:0,vy:0,vz:0}}),f=t.iterations??Math.max(90,Math.min(340,Math.round(46e3/i))),p=.011,m=.82,h=.5,g=1,_=1-.001**(1/f);for(let e=0;e<f;e++){for(let e=0;e<i;e++){let t=d[e];for(let n=e+1;n<i;n++){let r=d[n],i=t.x-r.x,a=t.y-r.y,o=t.z-r.z,s=i*i+a*a+o*o;s<.01&&(i=(e-n)*.1+.1,a=.1,o=.05,s=i*i+a*a+o*o);let c=Math.sqrt(s),l=6400/s,u=i/c*l,f=a/c*l,p=o/c*l;t.vx+=u,t.vy+=f,t.vz+=p,r.vx-=u,r.vy-=f,r.vz-=p}}for(let[e,t]of c){let n=d[e],r=d[t],i=r.x-n.x,a=r.y-n.y,o=r.z-n.z,s=Math.sqrt(i*i+a*a+o*o)||.01,c=.05*(s-140),l=i/s*c,u=a/s*c,f=o/s*c;n.vx+=l,n.vy+=u,n.vz+=f,r.vx-=l,r.vy-=u,r.vz-=f}for(let e=0;e<i;e++){let t=d[e];t.vx+=(n.x-t.x)*p,t.vy+=(n.y-t.y)*p,t.vz+=(0-t.z)*p,t.x+=t.vx*g*h,t.y+=t.vy*g*h,t.z+=t.vz*g*h,t.vx*=m,t.vy*=m,t.vz*=m}g*=1-_}for(let e=0;e<10;e++){let e=!1;for(let t=0;t<i;t++){let n=d[t];for(let r=t+1;r<i;r++){let i=d[r],a=i.x-n.x,o=i.y-n.y,s=i.z-n.z,c=Math.sqrt(a*a+o*o+s*s),u=l[t]+l[r]+de;if(c>=u)continue;c<.01&&(a=(r-t)*.1+.1,o=.1,s=.05,c=Math.sqrt(a*a+o*o+s*s));let f=(u-c)/2,p=a/c*f,m=o/c*f,h=s/c*f;n.x-=p,n.y-=m,n.z-=h,i.x+=p,i.y+=m,i.z+=h,e=!0}}if(!e)break}return{nodes:r.map((e,t)=>{let n={id:e.id,x:d[t].x,y:d[t].y,z:d[t].z,radius:l[t],label:e.label,kind:fe(e.kind),degree:s[t]};return e.summary&&(n.summary=e.summary),e.updatedAtMs!==void 0&&(n.updatedAtMs=e.updatedAtMs),n}),edges:o.map((e,t)=>{let n={id:`${e.source}__${e.target}__${t}`,fromId:e.source,toId:e.target,kind:K(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var q=c();function me({title:e,detail:t,action:n}){return(0,q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,q.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,q.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null,n?(0,q.jsx)(`div`,{className:`mt-2`,children:n}):null]})}function J(){return r(`getMemoryGraphNode.failureMessage`,{ns:`intelligence`})}function he(e,n){return t({queryKey:[`memory-graph-node`,e,n],enabled:!!(e&&n),queryFn:async()=>{let{data:t,error:r,response:i}=await re({path:{assistant_id:e},query:{id:n??``},throwOnError:!1});if(w(i,r,J()),!i.ok)throw new O(i.status,k(r,i,J()));return t??{found:!1}}})}var ge={concept:`#467CC8`,skill:`#DB4B77`,capability:`#0E9B8B`,pending:`#F1B21E`,other:`#8D99A5`},_e=[`#467CC8`,`#E86B40`,`#7A5AF5`,`#22B8CF`,`#3DB85E`,`#E9C91A`,`#E83F5B`,`#6ECF87`,`#F39B74`,`#F5C94E`],Y={concept:`conceptGraphConstants.nodeKind.concept`,skill:`conceptGraphConstants.nodeKind.skill`,capability:`conceptGraphConstants.nodeKind.capability`,pending:`conceptGraphConstants.nodeKind.pending`,other:`conceptGraphConstants.nodeKind.other`};function ve(e){return r(Y[e],{ns:`intelligence`})}var ye=`#F1B21E`;function be(e){if(e.length<=4)return e.map((e,t)=>({node:e,index:t}));let t=e.slice(-3).map((t,n)=>({node:t,index:e.length-3+n}));return[{node:e[0],index:0},`ellipsis`,...t]}function xe(e){return e?new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):null}var X=600;function Se(e){let t=e.slice(0,X),n=t.lastIndexOf(`
2
+ `);return n>X/2?e.slice(0,n):t}function Ce({content:e}){let[t,n]=(0,R.useState)(!1),{t:r}=i(`intelligence`);return e.length<=X?(0,q.jsx)(ie,{content:e}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ie,{content:t?e:Se(e)}),(0,q.jsx)(L,{variant:`ghost`,size:`compact`,className:`-ml-2 mt-1`,onClick:()=>n(e=>!e),rightIcon:t?(0,q.jsx)(d,{size:16,"aria-hidden":!0}):(0,q.jsx)(C,{size:16,"aria-hidden":!0}),children:r(t?`conceptDetailPanel.showLess`:`conceptDetailPanel.readFullNote`)})]})}function we({assistantId:e,node:t,trail:r,neighbors:a,onTravel:o,onCrumb:s,onClose:c,onOpenThread:l}){let{t:d}=i(`intelligence`),f=n(he(e,t.id)),p=f.data,h=xe(t.updatedAtMs),g=p?.title??t.label,v=be(r);return(0,R.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),c())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c]),(0,q.jsxs)(`div`,{"data-graph-panel":!0,className:`absolute inset-0 z-20 flex justify-end`,onPointerDown:e=>e.stopPropagation(),onPointerMove:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),children:[(0,q.jsx)(`div`,{className:`absolute inset-0`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 16%, transparent)`},onClick:c}),(0,q.jsxs)(`aside`,{className:`relative flex h-full min-h-0 w-full max-w-md flex-col overflow-hidden`,style:{backgroundColor:`var(--surface-lift)`,borderLeft:`1px solid var(--border-base)`},children:[r.length>1?(0,q.jsxs)(`nav`,{"aria-label":d(`conceptDetailPanel.trailAriaLabel`),className:`flex shrink-0 items-center gap-1 overflow-hidden border-b px-5 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>s(r.length-2),"aria-label":d(`conceptDetailPanel.backAriaLabel`),className:`-ml-1 mr-0.5 flex shrink-0 items-center rounded p-0.5 hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-tertiary)`},children:(0,q.jsx)(_,{size:16,"aria-hidden":!0})}),v.map((e,t)=>(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[t>0?(0,q.jsx)(`span`,{"aria-hidden":!0,children:`›`}):null,e===`ellipsis`?(0,q.jsx)(`span`,{"aria-hidden":!0,children:`…`}):e.index===r.length-1?(0,q.jsx)(`span`,{"aria-current":`page`,className:`max-w-[9rem] truncate`,style:{color:`var(--content-default)`},children:e.node.label}):(0,q.jsx)(`button`,{type:`button`,onClick:()=>s(e.index),className:`max-w-[8rem] truncate rounded hover:underline`,style:{color:`var(--content-tertiary)`},children:e.node.label})]},e===`ellipsis`?`ellipsis`:e.index))]}):null,(0,q.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-3 border-b px-5 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`h2`,{className:`truncate text-title-small`,style:{color:`var(--content-default)`},title:p?.title??t.label,children:p?.title??t.label}),h?(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.updated`,{date:h})}):null]}),(0,q.jsx)(L,{variant:`ghost`,iconOnly:(0,q.jsx)(y,{"aria-hidden":!0}),onClick:c,"aria-label":d(`conceptDetailPanel.closeAriaLabel`),tintColor:`var(--content-tertiary)`})]}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,style:{touchAction:`pan-y`},children:[f.isLoading?(0,q.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,q.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):f.isError?(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.loadError`)}):p?.found&&p.content?.trim()?(0,q.jsx)(Ce,{content:p.content},t.id):(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.emptyContent`)}),a.length>0?(0,q.jsxs)(`section`,{className:`mt-6 border-t pt-4`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,q.jsx)(`h3`,{className:`text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.wiredTo`)}),(0,q.jsx)(`span`,{className:`text-body-small-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.connectionCount`,{count:a.length})})]}),(0,q.jsx)(`ul`,{className:`flex list-none flex-col gap-0.5`,children:a.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o({id:e.id,label:e.label}),className:`flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-body-medium-default hover:bg-[color-mix(in_srgb,var(--content-tertiary)_12%,transparent)]`,style:{color:`var(--content-default)`},children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e.kind===`learned`?ye:`var(--content-tertiary)`}}),(0,q.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id))})]}):null]}),l?(0,q.jsxs)(`footer`,{className:`flex shrink-0 gap-2 border-t px-5 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsx)(L,{variant:`outlined`,size:`regular`,className:`flex-1`,leftIcon:(0,q.jsx)(u,{size:16,"aria-hidden":!0}),onClick:()=>l(d(`conceptDetailPanel.askPrompt`,{title:g})),children:d(`conceptDetailPanel.askAboutThis`)}),(0,q.jsx)(L,{variant:`primary`,size:`regular`,className:`flex-1`,leftIcon:(0,q.jsx)(m,{size:16,"aria-hidden":!0}),onClick:()=>l(d(`conceptDetailPanel.refinePrompt`,{title:g})),children:d(`conceptDetailPanel.refine`)})]}):null]})]})}function Te({onDismiss:e}){let{t}=i(`intelligence`);return(0,q.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-auto absolute left-1/2 top-4 z-10 flex w-[min(30rem,calc(100%-6rem))] -translate-x-1/2 items-start gap-3 rounded-xl px-4 py-3`,style:{backgroundColor:`var(--surface-lift)`,border:`1px solid var(--border-base)`,boxShadow:`0 4px 12px rgba(0, 0, 0, 0.25)`},children:[(0,q.jsx)(`span`,{className:`mt-0.5 shrink-0`,style:{color:`var(--primary-base)`},"aria-hidden":!0,children:(0,q.jsx)(m,{size:18})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`p`,{className:`text-body-medium-emphasised`,style:{color:`var(--content-default)`},children:t(`conceptGraphIntroBanner.title`)}),(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t(`conceptGraphIntroBanner.description`)})]}),(0,q.jsx)(L,{variant:`ghost`,iconOnly:(0,q.jsx)(y,{"aria-hidden":!0}),onClick:e,"aria-label":t(`conceptGraphIntroBanner.dismissAriaLabel`),tintColor:`var(--content-tertiary)`})]})}var Ee=8;function De({nodeKinds:e,coloredByTheme:t,themes:n,hasLinks:r,hasLearned:a,onToggleLink:o,onToggleLearned:s,linkActive:c,learnedActive:l}){let{t:u}=i(`intelligence`);return(0,q.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-none absolute bottom-4 left-4 flex flex-col gap-1.5 rounded-lg px-3 py-2`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 78%, transparent)`,border:`1px solid var(--border-base)`},children:[e.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{backgroundColor:ge[e]}}),(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:ve(e)})]},e)),t&&(n&&n.length>0?(0,q.jsxs)(q.Fragment,{children:[n.slice(0,Ee).map((e,t)=>(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,q.jsx)(`span`,{className:`max-w-[9rem] truncate text-[11px]`,style:{color:`var(--content-tertiary)`},title:e.concepts?.join(` · `)??e.name,children:e.name})]},t)),n.length>Ee&&(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphLegend.moreThemes`,{count:n.length-Ee})})]}):(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphLegend.coloredByTheme`)})),(e.length>0||t)&&(r||a)&&(0,q.jsx)(`div`,{className:`mt-0.5 border-t pt-1.5`,style:{borderColor:`var(--border-base)`}}),r&&(0,q.jsx)(Oe,{swatchStyle:{borderTop:`2px solid var(--content-tertiary)`},label:u(`conceptGraphLegend.link`),onToggle:o,active:c}),a&&(0,q.jsx)(Oe,{swatchStyle:{borderTop:`2px dashed #F1B21E`},label:u(`conceptGraphLegend.learned`),onToggle:s,active:l})]})}function Oe({swatchStyle:e,label:t,onToggle:n,active:r}){let i=(0,q.jsx)(`span`,{className:`inline-block h-0 w-4`,style:e}),a=(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:t});return n?(0,q.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":r,className:`pointer-events-auto flex cursor-pointer items-center gap-2 border-0 bg-transparent p-0 transition-opacity`,style:{opacity:r===!1?.4:1},children:[i,a]}):(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]})}var Z=8;function ke(e,t){let n=e.length;if(n===0)return new Map;let r=new Map;e.forEach((e,t)=>r.set(e.id,t));let i=e.map(()=>[]);for(let e of t){let t=r.get(e.fromId),n=r.get(e.toId);t===void 0||n===void 0||t===n||(i[t].push(n),i[n].push(t))}let a=e.map((e,t)=>t);for(let e=0;e<Z;e++)for(let e=0;e<n;e++){let t=i[e];if(t.length===0)continue;let n=new Map;for(let e of t)n.set(a[e],(n.get(a[e])??0)+1);let r=a[e],o=-1;for(let[e,t]of n)(t>o||t===o&&e<r)&&(r=e,o=t);a[e]=r}let o=new Map,s=new Map;return e.forEach((e,t)=>{let n=a[t],r=o.get(n);r===void 0&&(r=o.size,o.set(n,r)),s.set(e.id,r)}),s}function Q(){return r(`memoryUnavailable.prompts.v2`,{ns:`intelligence`})}function Ae(){return r(`memoryUnavailable.prompts.v1`,{ns:`intelligence`})}function je(){return r(`memoryUnavailable.prompts.enable`,{ns:`intelligence`})}function Me(){return{title:r(`memoryUnavailable.statusError.title`,{ns:`intelligence`}),detail:r(`memoryUnavailable.statusError.detail`,{ns:`intelligence`}),action:`retry`}}function Ne(e){return e===`off`?{title:r(`memoryUnavailable.off.title`,{ns:`intelligence`}),detail:r(`memoryUnavailable.off.detail`,{ns:`intelligence`}),action:`settings`,prompt:je()}:e===`v1`||e===`v2`?{title:r(`memoryUnavailable.legacy.title`,{ns:`intelligence`}),detail:r(`memoryUnavailable.legacy.detail`,{ns:`intelligence`}),action:`upgrade`,prompt:e===`v1`?Ae():Q()}:{title:r(`memoryUnavailable.unknown.title`,{ns:`intelligence`}),detail:r(`memoryUnavailable.unknown.detail`,{ns:`intelligence`}),action:`none`}}function Pe({assistantId:e,onOpenThread:t}){let{t:r}=i(`intelligence`),o=s(),c=a(),l=n(D(e));(0,R.useEffect)(()=>{E(c,e)},[c,e]);let u=M(`memoryOptOut`),d=oe.use.settingsDeveloperNav(),f=u&&d===!0;if(l.isLoading)return null;let h=l.data?.kind===`ready`?l.data.tier:void 0,g=l.isError?Me():Ne(h),_=g.prompt,y=null;return g.action===`upgrade`&&t&&_?y=(0,q.jsx)(L,{variant:`primary`,size:`compact`,leftIcon:(0,q.jsx)(m,{}),onClick:()=>{B(`upgrade_v3_clicked`),t(_)},children:r(`memoryUpgradePrompt.upgradeMemory`)}):g.action===`retry`?y=(0,q.jsx)(L,{variant:`outlined`,size:`compact`,leftIcon:(0,q.jsx)(v,{}),onClick:()=>{l.refetch()},children:r(`memoryUpgradePrompt.tryAgain`)}):g.action===`settings`&&f?y=(0,q.jsx)(L,{variant:`outlined`,size:`compact`,leftIcon:(0,q.jsx)(p,{}),onClick:()=>o(`${se.settings.developer}?tab=memory`),children:r(`memoryUpgradePrompt.memorySettings`)}):g.action===`settings`&&t&&_&&(y=(0,q.jsx)(L,{variant:`primary`,size:`compact`,leftIcon:(0,q.jsx)(m,{}),onClick:()=>{B(`enable_memory_clicked`),t(_)},children:r(`memoryUpgradePrompt.turnMemoryOn`)})),(0,q.jsx)(me,{title:g.title,detail:g.detail,action:y})}function Fe({value:e,onChange:t}){let{t:n}=i(`intelligence`),r=[{value:`all`,label:n(`recencyLens.all`)},{value:`month`,label:n(`recencyLens.month`)},{value:`week`,label:n(`recencyLens.week`)}];return(0,q.jsx)(N,{ariaLabel:n(`recencyLens.ariaLabel`),items:r,value:e,onChange:t,className:`!w-auto [&>*]:!flex-none`})}var Ie=`vellum:memoryGraph:introDismissed:`;function Le(e){return`${Ie}${e}`}function $(e){if(!e)return!0;try{return window.localStorage.getItem(Le(e))===`1`}catch{return!0}}function Re(e){let[t,n]=(0,R.useState)(()=>$(e));return(0,R.useEffect)(()=>{n($(e))},[e]),[t,(0,R.useCallback)(()=>{n(!0);try{window.localStorage.setItem(Le(e),`1`)}catch{}},[e])]}var ze=[`concept`,`skill`,`capability`,`pending`,`other`],Be=.13,Ve=2600,He=.006,Ue=1.15,We=3,Ge=.32,Ke=.45,qe=3,Je=4,Ye=1440*60*1e3,Xe=14*Ye,Ze=12,Qe=2*Ye,$e=80,et=340,tt=.12,nt=.05,rt=.03,it=12,at=2600;function ot(e){let t=getComputedStyle(e);return{content:t.getPropertyValue(`--content-default`).trim()||`#e5e7eb`,tertiary:t.getPropertyValue(`--content-tertiary`).trim()||`#8792a0`}}function st(e){return e.kind===`learned`?`Learned association`:e.description??`Linked concepts`}function ct(e,t,n){return t==null?!1:e==null||n-e>t}function lt(e,t){let n=t?e.get(t):void 0;return e=>t!=null&&(e===t||(n?.has(e)??!1))}function ut({assistantId:e,className:t,isFullscreen:r,onToggleFullscreen:a,onOpenThread:o,headerAction:s,handleRef:c}){let{t:u}=i(`intelligence`),d=(0,R.useRef)(null),p=(0,R.useRef)(null),m=n(ne(e)),_=m.data?.kind===`ready`?m.data.graph:null,v=(0,R.useMemo)(()=>_?pe(_):{nodes:[],edges:[]},[_]),x=m.data?.kind===`ready`&&v.nodes.length>0,S=(0,R.useMemo)(()=>ke(v.nodes,v.edges),[v.nodes,v.edges]),C=(0,R.useMemo)(()=>{let e=new Map;for(let t of v.nodes){let n=S.get(t.id);if(n==null||t.degree===0)continue;let r=e.get(n);r?r.push(t):e.set(n,[t])}return[...e.entries()].map(([e,t])=>{let n=[...t].sort((e,t)=>t.degree-e.degree||(e.id<t.id?-1:1)).slice(0,3);return{hubId:n[0].id,color:_e[e%_e.length],name:n[0].label,concepts:n.map(e=>e.label),size:t.length}}).sort((e,t)=>t.size-e.size)},[S,v.nodes]),w=(0,R.useMemo)(()=>new Set(C.map(e=>e.hubId)),[C]),T=(0,R.useMemo)(()=>{let e=new Map,t=(t,n)=>{let r=e.get(t);r||(r=new Set,e.set(t,r)),r.add(n)};for(let e of v.edges)t(e.fromId,e.toId),t(e.toId,e.fromId);return e},[v.edges]),te=(0,R.useMemo)(()=>{if(v.nodes.length===0)return 1;let e=v.nodes.map(e=>{let t=e.x-z.x,n=e.y-z.y;return Math.sqrt(t*t+n*n+e.z*e.z)+e.radius}).sort((e,t)=>e-t),t=Math.min(e.length-1,Math.floor(e.length*.92));return Math.max(1,e[t])},[v.nodes]),E=(0,R.useRef)({yaw:.5,pitch:.32,zoom:1,hoveredId:null,dragging:!1,moved:!1,lastX:0,lastY:0,lastInteractAt:-1/0,dirty:!0}),D=(0,R.useRef)([]),re=(0,R.useRef)([]),O=(0,R.useRef)({content:`#e5e7eb`,tertiary:`#8792a0`}),k=(0,R.useRef)(null),A=(0,R.useRef)(!1),ie=(0,R.useRef)(null),j=(0,R.useRef)(null),[ae,M]=(0,R.useState)(null),[oe,N]=(0,R.useState)(null),[P,F]=(0,R.useState)([]),I=P.at(-1)??null,se=(0,R.useCallback)(e=>{B(`node_opened`),F(t=>[...t,e])},[]),ce=(0,R.useRef)(null);(0,R.useEffect)(()=>{ce.current=I?.id??null,E.current.dirty=!0},[I?.id]);let[le,ue]=Re(e),[V,H]=(0,R.useState)(``),[U,W]=(0,R.useState)(!1),de=(0,R.useRef)(null);(0,R.useEffect)(()=>{U&&de.current?.focus()},[U]);let G=(0,R.useRef)(!1),fe=V.trim().toLowerCase(),K=(0,R.useMemo)(()=>{if(!fe)return null;let e=new Set;for(let t of v.nodes)t.label.toLowerCase().includes(fe)&&e.add(t.id);return e},[fe,v.nodes]),J=(0,R.useRef)({active:!1,matches:null});(0,R.useEffect)(()=>{J.current={active:!!K,matches:K},E.current.dirty=!0},[K]),(0,R.useEffect)(()=>{V.trim()||(G.current=!1)},[V]);let he=(0,R.useMemo)(()=>!K||K.size===0?[]:v.nodes.filter(e=>K.has(e.id)).sort((e,t)=>t.degree-e.degree).slice(0,8),[K,v.nodes]),[Y,ve]=(0,R.useState)(`all`),be=(0,R.useRef)(null);(0,R.useEffect)(()=>{be.current=Y===`week`?7*Ye:Y===`month`?30*Ye:null,E.current.dirty=!0},[Y]);let xe=(0,R.useMemo)(()=>v.nodes.some(e=>e.updatedAtMs!=null),[v.nodes]);(0,R.useEffect)(()=>{!xe&&Y!==`all`&&ve(`all`)},[xe,Y]);let[X,Se]=(0,R.useState)({link:!0,learned:!0}),Ce=(0,R.useRef)(X);(0,R.useEffect)(()=>{Ce.current=X,E.current.dirty=!0},[X]),(0,R.useEffect)(()=>{H(``),ve(`all`),Se({link:!0,learned:!0}),F([]),G.current=!1},[e]);let Ee=(0,R.useCallback)(()=>{let e=E.current;e.yaw=.5,e.pitch=.32,e.zoom=1,e.lastInteractAt=-1/0,e.dirty=!0,M(null)},[]),Oe=(0,R.useCallback)(e=>{let t=E.current;t.zoom=Math.max(Ke,Math.min(qe,t.zoom*e)),t.lastInteractAt=performance.now(),t.dirty=!0},[]),Z=(0,R.useCallback)(e=>{k.current=e,E.current.lastInteractAt=performance.now(),E.current.dirty=!0},[]),Q=(0,R.useCallback)(e=>{se(e),Z(e.id)},[se,Z]),Ae=(0,R.useCallback)(e=>{ie.current={id:e,start:performance.now()},Z(e),window.setTimeout(()=>{E.current.dirty=!0},at+60)},[Z]),je=(0,R.useCallback)(e=>{v.nodes.some(t=>t.id===e)?Ae(e):j.current=e},[v.nodes,Ae]);(0,R.useEffect)(()=>{let e=j.current;e&&v.nodes.some(t=>t.id===e)&&(j.current=null,Ae(e))},[v.nodes,Ae]),(0,R.useImperativeHandle)(c,()=>({focusNode:je}),[je]);let Me=(0,R.useCallback)(()=>{F([]),H(``),M(null),k.current=null,A.current=!0},[]),Ne=(0,R.useCallback)(e=>{H(``);let t=P.slice(0,e+1);F(t);let n=t.at(-1);n?Z(n.id):M(null)},[P,Z]),Ie=(0,R.useCallback)(e=>{H(``),Q(e)},[Q]),Le=(0,R.useMemo)(()=>{let e=I?.id;if(!e)return[];let t=T.get(e);if(!t||t.size===0)return[];let n=new Map(v.nodes.map(e=>[e.id,e.label])),r=new Map;for(let t of v.edges)t.fromId===e?r.set(t.toId,t.kind):t.toId===e&&r.set(t.fromId,t.kind);let i=[];for(let e of t){let t=n.get(e);t!=null&&i.push({id:e,label:t,kind:r.get(e)})}return i.sort((e,t)=>e.label.localeCompare(t.label)),i},[I?.id,T,v.nodes,v.edges]);(0,R.useEffect)(()=>{if(!x)return;let e=p.current,t=d.current;if(!e||!t)return;let n=e.getContext(`2d`);if(!n)return;let r=v.nodes,i=v.edges,a=S,o=w,s=T,c=new Set(r.map(e=>e.id)),l=te,u=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;O.current=ot(t);let f=Math.min(window.devicePixelRatio||1,2),m=0,h=0,g=()=>{let n=t.getBoundingClientRect();m=n.width,h=n.height,f=Math.min(window.devicePixelRatio||1,2),e.width=Math.max(1,Math.round(m*f)),e.height=Math.max(1,Math.round(h*f)),e.style.width=`${m}px`,e.style.height=`${h}px`,O.current=ot(t),E.current.dirty=!0};g();let _=new ResizeObserver(g);_.observe(t);let y=new MutationObserver(()=>{O.current=ot(t),E.current.dirty=!0});y.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`,`class`,`style`]});let b=0,ee=0,C=e=>{let t=ee?Math.min(.05,(e-ee)/1e3):0;ee=e;let d=E.current,p=O.current,g=Date.now(),_=k.current;if(!d.dragging&&e-d.lastInteractAt>Ve&&!u&&!_&&(d.yaw+=Be*t),_){let e=r.find(e=>e.id===_);if(!e)k.current=null;else{let t=e.x-z.x,n=e.y-z.y,r=e.z,i=-Math.atan2(t,r),a=Math.hypot(t,r),o=Math.max(-Ue,Math.min(Ue,Math.atan2(n,a))),s=Math.min(qe,1.6),c=u?1:.15,l=i-d.yaw;l=Math.atan2(Math.sin(l),Math.cos(l)),d.yaw+=l*c,d.pitch+=(o-d.pitch)*c,d.zoom+=(s-d.zoom)*c,d.dirty=!0,Math.abs(l)<.01&&Math.abs(o-d.pitch)<.01&&Math.abs(s-d.zoom)<.02&&(k.current=null)}}if(A.current&&!d.dragging){let e=u?1:.15;d.pitch+=(.32-d.pitch)*e,d.zoom+=(1-d.zoom)*e,d.dirty=!0,Math.abs(.32-d.pitch)<.01&&Math.abs(1-d.zoom)<.02&&(A.current=!1)}if(u&&!d.dirty){b=requestAnimationFrame(C);return}d.dirty=!1;let v=Math.cos(d.yaw),y=Math.sin(d.yaw),x=Math.cos(d.pitch),S=Math.sin(d.pitch),w=We*l,T=Math.min(m,h)*.88/(2*l)*d.zoom,te=m/2,ne=h/2;n.setTransform(f,0,0,f,0,0),n.clearRect(0,0,m,h);let j=d.hoveredId,ae=j?s.get(j):void 0,M=e=>!j||e===j||(ae?.has(e)??!1),oe=J.current,N=oe.active,P=e=>!N||(oe.matches?.has(e)??!1),F=be.current,I=e=>ct(e.updatedAtMs,F,g),se=Ce.current,L=ce.current,R=L!=null&&c.has(L),le=lt(s,R?L:null),ue=r.length<=$e?1:Math.max(tt,1-(r.length-$e)/(et-$e)*(1-tt)),B=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e],n=t.x-z.x,i=t.y-z.y,a=t.z,o=n*v+a*y,s=-n*y+a*v,c=i*x-s*S,u=i*S+s*x,d=w/(w-u);B[e]={node:t,sx:te+o*T*d,sy:ne+c*T*d,sr:Math.max(1.2,t.radius*T*d),depth:Math.max(0,Math.min(1,(u+l)/(2*l)))}}let V=B.map((e,t)=>t).sort((e,t)=>B[e].depth-B[t].depth),H=new Map;for(let e of B)H.set(e.node.id,e);let U=[];n.lineCap=`round`;for(let e of i){let t=H.get(e.fromId),r=H.get(e.toId);if(!t||!r)continue;let i=e.kind===`learned`,a=L!=null&&(e.fromId===L||e.toId===L);if(!a&&(i?!se.learned:!se.link))continue;let o=N&&(!P(e.fromId)||!P(e.toId))||!a&&(I(t.node)||I(r.node)),s=j!=null&&(e.fromId===j||e.toId===j),c=(t.depth+r.depth)/2;!o&&(!R||a)&&U.push({ax:t.sx,ay:t.sy,bx:r.sx,by:r.sy,kind:e.kind,description:e.description,depth:c});let l=(i?.34:.28)*(.4+.6*c),u=i?l*ue:l,d;d=o?.03:R?a?.9:rt:j==null?u:s?.9:M(e.fromId)&&M(e.toId)?l:.05,n.globalAlpha=d,n.strokeStyle=i?ye:p.tertiary,n.lineWidth=(s||R&&a?2:1)*(.6+.6*c),n.setLineDash(i?[4,4]:[]),n.beginPath(),n.moveTo(t.sx,t.sy),n.lineTo(r.sx,r.sy),n.stroke()}n.setLineDash([]);for(let t of V){let r=B[t],i=r.node,o=i.kind===`concept`?_e[(a.get(i.id)??0)%_e.length]:ge[i.kind],s=N&&!P(i.id),c=le(i.id),l=s||I(i)&&!c,d=R?c&&!l:!l&&M(i.id),f=i.id===j,p=Ge+(1-Ge)*r.depth,m=R&&!c?p*nt:l?p*.08:d?p:p*.18,h=(f?16:i.degree>=Je?8:4)*r.depth,_=i.updatedAtMs;if(_){let n=g-_,i=Math.max(0,1-n/Xe);if(i>0){let a=i*Ze;!u&&n<Qe&&(a*=.55+.45*Math.sin(e/420+t*1.7)),h+=a*r.depth}}n.shadowColor=o,n.shadowBlur=d?h:0;let v=i.kind===`pending`;n.globalAlpha=m*(v?.3:.55),n.fillStyle=o,n.beginPath(),n.arc(r.sx,r.sy,r.sr,0,Math.PI*2),n.fill(),n.shadowBlur=0,n.globalAlpha=m,n.lineWidth=f?2.5:1.4,n.strokeStyle=o,n.setLineDash(v?[3,3]:[]),n.stroke(),n.setLineDash([]);let y=ie.current;if(y&&y.id===i.id){let t=e-y.start;if(t>at)ie.current=null;else if(u)n.globalAlpha=.7,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+7,0,Math.PI*2),n.stroke();else for(let e=0;e<3;e++){let i=(t-e*320)/1100;i<=0||i>=1||(n.globalAlpha=(1-i)*.8,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+i*46*r.depth,0,Math.PI*2),n.stroke())}}}n.shadowBlur=0,n.textAlign=`center`,n.textBaseline=`top`,n.font=`11px ui-sans-serif, system-ui, sans-serif`;for(let e of V){let t=B[e],r=t.node,i=le(r.id);if(N&&!P(r.id)||I(r)&&!i||!(R?i:N?t.depth>.3:j==null?o.has(r.id)||r.degree>=Je&&t.depth>.55:M(r.id)))continue;n.globalAlpha=(r.id===j||r.id===L?1:.85)*(.4+.6*t.depth),n.fillStyle=p.content;let a=r.label.length>22?`${r.label.slice(0,21)}…`:r.label;n.fillText(a,t.sx,t.sy+t.sr+3)}n.globalAlpha=1,D.current=B.map(e=>({id:e.node.id,sx:e.sx,sy:e.sy,sr:e.sr,depth:e.depth,updatedAtMs:e.node.updatedAtMs})),re.current=U,b=requestAnimationFrame(C)};return b=requestAnimationFrame(C),()=>{cancelAnimationFrame(b),_.disconnect(),y.disconnect()}},[x,v,T,te,S,w]);let $=(0,R.useCallback)((e,t)=>{let n=J.current,r=be.current,i=lt(T,ce.current),a=Date.now(),o=null,s=-1;for(let c of D.current){if(n.active&&!(n.matches?.has(c.id)??!1)||!i(c.id)&&ct(c.updatedAtMs,r,a))continue;let l=e-c.sx,u=t-c.sy;l*l+u*u<=(c.sr+5)*(c.sr+5)&&c.depth>s&&(o=c.id,s=c.depth)}return o},[T]),ut=(0,R.useCallback)((e,t)=>{let n=null,r=1/0,i=-1;for(let a of re.current){let o=a.bx-a.ax,s=a.by-a.ay,c=o*o+s*s,l=0;c>0&&(l=((e-a.ax)*o+(t-a.ay)*s)/c,l=Math.max(0,Math.min(1,l)));let u=e-(a.ax+l*o),d=t-(a.ay+l*s),f=Math.sqrt(u*u+d*d);f>5||(f<r||f===r&&a.depth>i)&&(n={kind:a.kind,description:a.description},r=f,i=a.depth)}return n},[]),dt=e=>{let t=d.current.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},ft=(0,R.useCallback)(e=>{if(e.button!==0||e.target.closest(`[data-graph-control]`))return;let t=E.current;k.current=null,t.dragging=!0,t.moved=!1,t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),e.currentTarget.setPointerCapture(e.pointerId)},[]),pt=(0,R.useCallback)(e=>{let t=E.current;if(t.dragging){let n=e.clientX-t.lastX,r=e.clientY-t.lastY;(Math.abs(n)>2||Math.abs(r)>2)&&(t.moved=!0),t.yaw+=n*He,t.pitch=Math.max(-Ue,Math.min(Ue,t.pitch+r*He)),t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),t.dirty=!0;return}let{x:n,y:r}=dt(e),i=$(n,r);if(i!==t.hoveredId&&(t.hoveredId=i,t.dirty=!0),i)N(null);else{let e=ut(n,r);N(e?st(e):null)}},[$,ut]),mt=(0,R.useCallback)(e=>{let t=E.current;if(!t.dragging)return;t.dragging=!1,t.lastInteractAt=performance.now(),t.dirty=!0;let n=e.currentTarget;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),!t.moved){let{x:t,y:n}=dt(e),r=$(t,n);if(r){let e=v.nodes.find(e=>e.id===r);e&&Q({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs})}else M(null)}},[$,v.nodes,Q]),ht=(0,R.useCallback)(()=>{let e=E.current;N(null),!(e.dragging||e.hoveredId==null)&&(e.hoveredId=null,e.dirty=!0,M(null))},[]);(0,R.useEffect)(()=>{let e=d.current;if(!e||!x)return;let t=e=>{if(e.target.closest?.(`[data-graph-panel]`))return;e.preventDefault();let t=E.current;t.zoom=Math.max(Ke,Math.min(qe,t.zoom*(1-e.deltaY/500))),t.lastInteractAt=performance.now(),t.dirty=!0};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[x]);let gt=(0,R.useMemo)(()=>{let e=new Set(v.nodes.map(e=>e.kind));return ze.filter(t=>e.has(t))},[v.nodes]),_t=(0,R.useMemo)(()=>v.edges.some(e=>e.kind===`learned`),[v.edges]),vt=(0,R.useMemo)(()=>v.edges.some(e=>e.kind!==`learned`),[v.edges]);(0,R.useEffect)(()=>{!(vt&&_t)&&(!X.link||!X.learned)&&Se({link:!0,learned:!0})},[vt,_t,X]);let yt=m.data?.kind===`ready`&&!le,bt=v.nodes.length,xt=v.edges.length,St=new Set(S.values()).size,Ct=(e,t)=>`${e} ${t}${e===1?``:`s`}`,wt=yt?null:ae??oe,Tt=x&&(v.nodes.length>it||!!V),Et=!!(a||s)||x,Dt;return Dt=m.isLoading?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,q.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):m.isError?(0,q.jsx)(me,{title:u(`conceptGraphView.loadErrorTitle`),detail:u(`conceptGraphView.loadErrorDetail`)}):m.data?.kind===`unsupported`?(0,q.jsx)(Pe,{assistantId:e,onOpenThread:o}):x?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`canvas`,{ref:p,className:`absolute inset-0 h-full w-full`}),(v.nodes.length>it||Y!==`all`)&&xe?(0,q.jsx)(`div`,{"data-graph-control":!0,className:`absolute left-4 top-4 z-10`,children:(0,q.jsx)(Fe,{value:Y,onChange:ve})}):null,(0,q.jsx)(De,{nodeKinds:gt.filter(e=>e!==`concept`),coloredByTheme:gt.includes(`concept`),themes:C,hasLinks:vt,hasLearned:_t,...vt&&_t?{onToggleLink:()=>Se(e=>({...e,link:!e.link})),onToggleLearned:()=>Se(e=>({...e,learned:!e.learned})),linkActive:X.link,learnedActive:X.learned}:{}}),(0,q.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphView.dragToRotateHint`)}),_?.truncated?(0,q.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 left-1/2 -translate-x-1/2 rounded-full px-3 py-1 text-[11px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:u(`conceptGraphView.truncatedNotice`,{count:v.nodes.length})}):null,(0,q.jsxs)(`div`,{"data-graph-control":!0,className:`absolute right-4 top-4 flex flex-col gap-1`,children:[(0,q.jsx)(L,{variant:`ghost`,iconOnly:(0,q.jsx)(ee,{}),onClick:()=>Oe(1.25),"aria-label":u(`conceptGraphView.zoomInAriaLabel`),tooltip:u(`conceptGraphView.zoomInAriaLabel`)}),(0,q.jsx)(L,{variant:`ghost`,iconOnly:(0,q.jsx)(b,{}),onClick:()=>Oe(.8),"aria-label":u(`conceptGraphView.zoomOutAriaLabel`),tooltip:u(`conceptGraphView.zoomOutAriaLabel`)}),(0,q.jsx)(L,{variant:`ghost`,iconOnly:(0,q.jsx)(g,{}),onClick:Ee,"aria-label":u(`conceptGraphView.resetViewAriaLabel`),tooltip:u(`conceptGraphView.resetViewAriaLabel`)})]})]}):(0,q.jsx)(me,{title:u(`conceptGraphView.emptyTitle`),detail:u(`conceptGraphView.emptyDetail`)}),(0,q.jsxs)(`div`,{className:`@container flex select-none flex-col overflow-hidden rounded-xl ${t??``}`,style:{backgroundColor:`var(--surface-base)`},children:[Et?(0,q.jsxs)(`div`,{className:`flex h-12 flex-none items-center gap-2 px-3`,style:{borderBottom:`1px solid var(--border-base)`},children:[a?(0,q.jsx)(L,{variant:`ghost`,iconOnly:r?(0,q.jsx)(h,{}):(0,q.jsx)(l,{}),onClick:a,"aria-label":u(r?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`),tooltip:u(r?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`)}):null,Tt?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(L,{variant:`ghost`,iconOnly:(0,q.jsx)(f,{}),onClick:()=>W(!0),"aria-label":u(`conceptGraphView.searchConceptsAriaLabel`),tooltip:u(`conceptGraphView.searchConceptsAriaLabel`),className:U?`hidden`:`@2xl:hidden`}),(0,q.jsxs)(`div`,{className:`relative ${U?``:`hidden @2xl:block`}`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full px-2.5 py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`},children:[(0,q.jsx)(f,{size:14,"aria-hidden":!0,style:{color:`var(--content-tertiary)`}}),(0,q.jsx)(`input`,{ref:de,type:`text`,value:V,onChange:e=>{let t=e.target.value;t.trim()&&!G.current&&(B(`search`),G.current=!0),H(t)},onKeyDown:e=>{e.key===`Escape`?(V||U)&&(e.preventDefault(),e.stopPropagation(),H(``),W(!1)):e.key===`Enter`&&he.length>0&&(e.preventDefault(),Z(he[0].id))},placeholder:u(`conceptGraphView.searchConceptsPlaceholder`),"aria-label":u(`conceptGraphView.searchConceptsAriaLabel`),className:`w-36 bg-transparent text-[12px] outline-none placeholder:text-[var(--content-tertiary)]`,style:{color:`var(--content-default)`}}),V?(0,q.jsx)(`span`,{className:`text-[11px] tabular-nums`,style:{color:`var(--content-tertiary)`},children:K?.size??0}):null,V||U?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{H(``),W(!1)},"aria-label":u(`conceptGraphView.clearSearchAriaLabel`),className:`flex items-center`,style:{color:`var(--content-tertiary)`},children:(0,q.jsx)(y,{size:13})}):null]}),V&&he.length>0?(0,q.jsx)(`ul`,{className:`absolute left-0 top-full z-30 mt-1.5 flex max-h-56 w-52 list-none flex-col overflow-y-auto rounded-xl py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 92%, transparent)`,border:`1px solid var(--border-base)`},children:he.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>{Q({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs}),H(``),W(!1)},className:`block w-full truncate px-3 py-1 text-left text-[12px] hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-default)`},children:e.label})},e.id))}):null]})]}):null,(0,q.jsx)(`div`,{className:`pointer-events-none mx-auto min-w-0`,children:wt?(0,q.jsx)(`div`,{className:`truncate rounded-full px-3 py-1 text-[12px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-default)`},children:wt}):x&&!yt&&!U?(0,q.jsxs)(`div`,{className:`rounded-full px-3 py-1 text-[11px] tabular-nums`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,q.jsxs)(`span`,{className:`@max-md:hidden`,children:[Ct(bt,`neuron`),` · `,Ct(xt,`synapse`),` ·`,` `,Ct(St,`lobe`)]}),(0,q.jsxs)(`span`,{className:`hidden @max-md:inline`,children:[bt,` · `,xt,` · `,St]})]}):null}),s?(0,q.jsx)(`div`,{className:`flex-none`,children:s}):null]}):null,(0,q.jsxs)(`div`,{ref:d,className:`relative min-h-0 flex-1`,style:{backgroundImage:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 8%, transparent), transparent 62%)`,touchAction:`none`,cursor:x?`grab`:`default`},onPointerDown:x?ft:void 0,onPointerMove:x?pt:void 0,onPointerUp:x?mt:void 0,onPointerCancel:x?mt:void 0,onPointerLeave:x?ht:void 0,children:[yt?(0,q.jsx)(Te,{onDismiss:ue}):null,Dt,x&&I?(0,q.jsx)(we,{assistantId:e,node:I,trail:P,neighbors:Le,onTravel:Ie,onCrumb:Ne,onClose:Me,onOpenThread:o}):null]})]})}async function dt(e,t){let{data:n}=await ce({path:{assistant_id:e},body:{content:t},throwOnError:!0});return n}function ft({open:e,onOpenChange:t,assistantId:n,onCreated:r}){let{t:o}=i(`intelligence`),s=a(),[c,l]=(0,R.useState)(``),[u,d]=(0,R.useState)(!1),f=(0,R.useCallback)(async()=>{let e=c.trim();if(e){d(!0);try{let i=await dt(n,e);if(!i.success){A.error(i.message||o(`createMemoryModal.saveError`));return}A.success(i.pendingNodeId?o(`createMemoryModal.savedFoundToast`):o(`createMemoryModal.savedPendingToast`)),l(``),t(!1),r?.(i.pendingNodeId),await Promise.all([s.invalidateQueries({queryKey:ne(n).queryKey}),s.invalidateQueries({queryKey:D(n).queryKey})])}catch(e){let t=e instanceof Error?e.message:o(`createMemoryModal.createError`);A.error(t)}finally{d(!1)}}},[n,c,t,r,s,o]);return(0,q.jsx)(I.Root,{open:e,onOpenChange:t,children:(0,q.jsxs)(I.Content,{size:`sm`,children:[(0,q.jsx)(I.Header,{children:(0,q.jsx)(I.Title,{children:o(`createMemoryModal.title`)})}),(0,q.jsx)(I.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsx)(ae,{label:o(`createMemoryModal.contentLabel`),placeholder:o(`createMemoryModal.contentPlaceholder`),value:c,onChange:e=>l(e.target.value),disabled:u,rows:3,fullWidth:!0}),(0,q.jsx)(T,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:o(`createMemoryModal.helperText`)})]})}),(0,q.jsxs)(I.Footer,{children:[(0,q.jsx)(I.Close,{asChild:!0,children:(0,q.jsx)(L,{variant:`outlined`,disabled:u,children:o(`createMemoryModal.cancel`)})}),(0,q.jsx)(L,{variant:`primary`,onClick:f,disabled:u||!c.trim(),leftIcon:u?(0,q.jsx)(S,{className:`animate-spin`}):void 0,children:o(u?`createMemoryModal.creating`:`createMemoryModal.create`)})]})]})})}function pt({onOpenThread:e}){let{t}=i(`intelligence`),r=j(),[a,o]=(0,R.useState)(!1),s=(0,R.useRef)(null),c=n(ne(r)),l=n(D(r)),u=c.data?.kind===`ready`&&l.data?.kind===`ready`,d=(0,R.useRef)(!1);return(0,R.useEffect)(()=>{d.current||(d.current=!0,B(`opened`))},[]),(0,q.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[(0,q.jsx)(ut,{assistantId:r,className:`h-full w-full`,onOpenThread:e,handleRef:s,headerAction:u?(0,q.jsx)(L,{variant:`primary`,size:`compact`,leftIcon:(0,q.jsx)(x,{}),onClick:()=>o(!0),children:t(`memoryPage.createMemory`)}):void 0}),u?(0,q.jsx)(ft,{open:a,onOpenChange:o,assistantId:r,onCreated:e=>{e&&s.current?.focusNode(e)}}):null]})}function mt(){let e=s();return(0,q.jsx)(pt,{onOpenThread:t=>{B(`chat_from_node`),te(e,{prompt:t})}},j())}export{mt as MemoryPageRoute};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{A as t,Kn as n,N as r,O as i,Un as a}from"./vendor-WUN87CSE.js";import{b as o,t as s}from"./react-DPM_L_aA.js";import{Au as c,Cd as l,Jf as u,Sy as d,Zu as f,ft as ee,wd as p,xh as m,zi as h}from"./index-7XDiAJ-A.js";var g=e(o(),1),_=class extends Error{status;constructor(e,t){super(t),this.name=`SimulateMemoryRouterError`,this.status=e}};async function v(e,t,n){let{data:r,response:i}=await m({path:{assistant_id:e},body:t,signal:n,throwOnError:!1}),a=i?await i.clone().text().catch(()=>``):``;if(!i||!i.ok)throw new _(i?.status??0,a||i?.statusText||`Failed to simulate memory router`);if(!r)throw new _(i.status,`Empty response from memory router simulator endpoint`);return{response:r,rawRequest:JSON.stringify(t,null,2),rawResponse:y(a)}}function y(e){if(e.length===0)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function b(e){return a({mutationFn:async t=>{if(!e)throw new _(0,`Missing assistantId`);return v(e,t)}})}function x(e){return n({...f({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4})}function S(e){return n({...p({path:{assistant_id:e}}),enabled:!!e,staleTime:1440*60*1e3})}function C(e){return n({...l({path:{assistant_id:e}}),enabled:!!e,staleTime:1/0})}var w=s();function T(){let{t:e}=i(`chat`),t=h(),n=u(),r=c.use.memoryRouterPlayground();return n?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.loading`)}):!t||!r?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.notAvailable`)}):(0,w.jsx)(D,{})}var E={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function D(){let{t:e}=i(`chat`),t=ee(),n=b(t),r=b(t),a=x(t),o=S(t),s=C(t),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)([{assistantMessage:``,userMessage:``}]),[f,p]=(0,g.useState)(!1);(0,g.useEffect)(()=>{if(f)return;let e=s.data?.nowText;typeof e==`string`&&c===``&&l(e)},[s.data?.nowText,c,f]);let[m,h]=(0,g.useState)(E),[_,v]=(0,g.useState)(E),[y,T]=(0,g.useState)(null),[D,k]=(0,g.useState)(null),M=u[u.length-1].userMessage,P=t=>{let i=t===`A`?m:_,a=t===`A`?T:k,o=t===`A`?n:r;a(null);let s;try{s=O(i)}catch(t){a(t instanceof Error?t.message:e(`memoryRouterPlaygroundPage.invalidOverrideInput`));return}let l=i.profile.trim().length>0?i.profile:void 0,d=i.customPrompt.trim().length>0?i.customPrompt:void 0,f=u.map((e,t)=>t===u.length-1?{...e,userMessage:e.userMessage.trim()}:e);o.mutate({recentTurnPairs:f,nowText:c,...s?{configOverrides:s}:{},...l===void 0?{}:{profileOverride:l},...d===void 0?{}:{routerPromptOverride:d}})},F=()=>{P(`A`),P(`B`)},I=M.trim().length>0,L=I&&!n.isPending,z=I&&!r.isPending;return(0,w.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-y-auto`,children:(0,w.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1280px] flex-col gap-6 p-6`,children:[(0,w.jsx)(A,{}),(0,w.jsx)(j,{nowText:c,onNowTextChange:e=>{p(!0),l(e)},onReloadNowText:()=>{let e=s.data?.nowText;typeof e==`string`&&(l(e),p(!1))},nowTextLoading:s.isLoading,pairs:u,onPairsChange:d}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,w.jsx)(N,{paneId:`A`,overrides:m,onChange:h,onRun:()=>P(`A`),canRun:L,isRunning:n.isPending,profiles:a.data?.profiles??[],activeProfile:a.data?.activeProfile??null,defaultPromptTemplate:o.data?.template??``}),(0,w.jsx)(N,{paneId:`B`,overrides:_,onChange:v,onRun:()=>P(`B`),canRun:z,isRunning:r.isPending,profiles:a.data?.profiles??[],activeProfile:a.data?.activeProfile??null,defaultPromptTemplate:o.data?.template??``})]}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(te,{onClick:F,disabled:!I||n.isPending||r.isPending,isRunning:n.isPending||r.isPending})}),(0,w.jsx)(ne,{visible:n.data!==void 0&&r.data!==void 0}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,w.jsx)(R,{paneId:`A`,userMessage:M,mutation:n,otherResult:r.data?.response,validation:y}),(0,w.jsx)(R,{paneId:`B`,userMessage:M,mutation:r,otherResult:n.data?.response,validation:D})]})]})})}function O(e){let t={...k(`tier1_size`,e.tier1),...k(`tier2_size`,e.tier2),...k(`batch_size`,e.batch)};return Object.keys(t).length===0?void 0:t}function k(e,t){let n=t.trim();if(n===``)return{};if(n===`null`)return{[e]:null};let i=Number(n);if(!Number.isInteger(i)||i<1)throw Error(r(`chat:memoryRouterPlaygroundPage.overrideMustBePositiveInteger`,{fieldName:e,value:n}));return{[e]:i}}function A(){let{t:e}=i(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`h1`,{className:`text-body-large-default`,style:{color:`var(--content-default)`},children:e(`memoryRouterPlaygroundPage.title`)}),(0,w.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:(0,w.jsx)(t,{ns:`chat`,i18nKey:`memoryRouterPlaygroundPage.description`,components:{code:(0,w.jsx)(`code`,{})}})})]})}function j({nowText:e,onNowTextChange:t,onReloadNowText:n,nowTextLoading:r,pairs:a,onPairsChange:o}){let{t:s}=i(`chat`),c=(e,t)=>{o(a.map((n,r)=>r===e?{...n,...t}:n))},l=()=>{o([{assistantMessage:``,userMessage:``},...a])},u=e=>{e!==a.length-1&&o(a.filter((t,n)=>n!==e))};return(0,w.jsx)(d,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:s(`memoryRouterPlaygroundPage.conversationalContextTitle`)}),(0,w.jsx)(M,{id:`memory-router-playground-now`,label:s(`memoryRouterPlaygroundPage.nowBlockLabel`),value:e,onChange:t,rows:6,monospace:!0,placeholder:s(r?`memoryRouterPlaygroundPage.nowLoadingPlaceholder`:`memoryRouterPlaygroundPage.nowDefaultPlaceholder`),trailing:(0,w.jsx)(`button`,{type:`button`,onClick:n,disabled:r,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r?`not-allowed`:`pointer`},children:s(`memoryRouterPlaygroundPage.reloadNowButton`)})}),(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:s(`memoryRouterPlaygroundPage.recentPairsLabel`)}),(0,w.jsx)(`button`,{type:`button`,onClick:l,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.addOlderPairButton`)})]}),a.map((e,t)=>{let n=t===a.length-1;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border p-3`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`},children:[(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsxs)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[s(`memoryRouterPlaygroundPage.pairLabel`,{index:t+1,total:a.length}),n?s(`memoryRouterPlaygroundPage.pairMostRecentSuffix`):``]}),!n&&(0,w.jsx)(`button`,{type:`button`,onClick:()=>u(t),className:`rounded px-2 py-1 text-label-default`,style:{background:`transparent`,color:`var(--system-negative-strong)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.removeButton`)})]}),(0,w.jsx)(M,{id:`memory-router-playground-pair-${t}-assistant`,label:s(`memoryRouterPlaygroundPage.assistantReplyLabel`),value:e.assistantMessage,onChange:e=>c(t,{assistantMessage:e}),rows:3,placeholder:t===0&&a.length===1?s(`memoryRouterPlaygroundPage.firstTurnAssistantPlaceholder`):s(`memoryRouterPlaygroundPage.assistantReplyPlaceholder`)}),(0,w.jsx)(M,{id:`memory-router-playground-pair-${t}-user`,label:s(n?`memoryRouterPlaygroundPage.justArrivedUserLabel`:`memoryRouterPlaygroundPage.userMessageLabel`),value:e.userMessage,onChange:e=>c(t,{userMessage:e}),rows:3,placeholder:s(n?`memoryRouterPlaygroundPage.lastUserPlaceholder`:`memoryRouterPlaygroundPage.userMessagePlaceholder`),required:n})]},t)})]})})}function M({id:e,label:t,value:n,onChange:r,rows:i,placeholder:a,monospace:o,trailing:s,required:c}){return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsxs)(`label`,{htmlFor:e,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[t,c?` *`:``]}),s]}),(0,w.jsx)(`textarea`,{id:e,value:n,onChange:e=>r(e.target.value),rows:i,placeholder:a,className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,resize:`vertical`,...o?{fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`}:{}}})]})}function N({paneId:e,overrides:t,onChange:n,onRun:r,canRun:a,isRunning:o,profiles:s,activeProfile:c,defaultPromptTemplate:l}){let{t:u}=i(`chat`);return(0,w.jsx)(d,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,w.jsx)(`div`,{className:`text-body-medium-default`,style:{color:X(e)},children:u(`memoryRouterPlaygroundPage.configTitle`,{paneId:e})}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,w.jsx)(I,{paneId:e,label:`tier1_size`,value:t.tier1,onChange:e=>n({...t,tier1:e})}),(0,w.jsx)(I,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>n({...t,tier2:e})}),(0,w.jsx)(I,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>n({...t,batch:e})})]}),(0,w.jsx)(F,{paneId:e,value:t.profile,onChange:e=>n({...t,profile:e}),profiles:s,activeProfile:c}),(0,w.jsx)(P,{paneId:e,value:t.customPrompt,onChange:e=>n({...t,customPrompt:e}),defaultTemplate:l}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(`button`,{type:`button`,onClick:r,disabled:!a,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:a?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:a?`var(--content-on-positive)`:`var(--content-disabled)`,border:`none`,cursor:a?`pointer`:`not-allowed`},children:o?u(`memoryRouterPlaygroundPage.running`):u(`memoryRouterPlaygroundPage.runPane`,{paneId:e})})})]})})}function P({paneId:e,value:t,onChange:n,defaultTemplate:r}){let{t:a}=i(`chat`),[o,s]=(0,g.useState)(!1),c=`memory-router-playground-${e}-prompt`,l=t.trim().length>0;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[o?`▾`:`▸`,` `,a(`memoryRouterPlaygroundPage.systemPrompt`),` `,(0,w.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,a(l?`memoryRouterPlaygroundPage.promptModeCustom`:`memoryRouterPlaygroundPage.promptModeBundled`),`)`]})]}),o&&(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`button`,{type:`button`,onClick:()=>n(r),disabled:r.length===0,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r.length===0?`not-allowed`:`pointer`},children:a(`memoryRouterPlaygroundPage.loadDefault`)}),(0,w.jsx)(`button`,{type:`button`,onClick:()=>n(``),disabled:!l,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:l?`pointer`:`not-allowed`},children:a(`memoryRouterPlaygroundPage.reset`)})]})]}),o&&(0,w.jsx)(`textarea`,{id:c,value:t,onChange:e=>n(e.target.value),rows:12,placeholder:a(`memoryRouterPlaygroundPage.customPromptPlaceholder`),className:`rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,resize:`vertical`,minHeight:`120px`}})]})}function F({paneId:e,value:t,onChange:n,profiles:r,activeProfile:a}){let{t:o}=i(`chat`),s=`memory-router-playground-${e}-profile`,c=a!==null&&a.length>0?o(`memoryRouterPlaygroundPage.inheritActiveWithProfile`,{profile:a}):o(`memoryRouterPlaygroundPage.inheritActive`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:s,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.llmProfilesOverride`)}),(0,w.jsxs)(`select`,{id:s,value:t,onChange:e=>n(e.target.value),className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`},children:[(0,w.jsx)(`option`,{value:``,children:c}),r.map(e=>(0,w.jsx)(`option`,{value:e,children:e},e))]})]})}function I({paneId:e,label:t,value:n,onChange:r}){let{t:a}=i(`chat`),o=`memory-router-playground-${e}-${t}`;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:o,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:t}),(0,w.jsx)(`input`,{id:o,value:n,onChange:e=>r(e.target.value),placeholder:a(`memoryRouterPlaygroundPage.inheritPlaceholder`),className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`}})]})}function te({onClick:e,disabled:t,isRunning:n}){let{t:r}=i(`chat`);return(0,w.jsx)(`button`,{type:`button`,onClick:e,disabled:t,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:t?`var(--surface-overlay)`:`var(--primary-base)`,color:t?`var(--content-disabled)`:`var(--content-on-primary)`,border:`none`,cursor:t?`not-allowed`:`pointer`},children:r(n?`memoryRouterPlaygroundPage.running`:`memoryRouterPlaygroundPage.runBoth`)})}function ne({visible:e}){let{t}=i(`chat`);return e?(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 rounded-md px-4 py-2 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`},children:[(0,w.jsx)(L,{marker:`●`,markerColor:`var(--content-default)`,label:t(`memoryRouterPlaygroundPage.legendInBoth`)}),(0,w.jsx)(L,{marker:`◆`,markerColor:X(`A`),label:t(`memoryRouterPlaygroundPage.legendAOnly`)}),(0,w.jsx)(L,{marker:`◇`,markerColor:X(`B`),label:t(`memoryRouterPlaygroundPage.legendBOnly`)})]}):null}function L({marker:e,markerColor:t,label:n}){return(0,w.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,w.jsx)(`span`,{style:{color:t},children:e}),(0,w.jsx)(`span`,{children:n})]})}function R({paneId:e,userMessage:t,mutation:n,otherResult:r,validation:a}){let{t:o}=i(`chat`),s=n.data;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(V,{paneId:e}),a!==null&&(0,w.jsx)(Q,{message:a}),n.isError&&(0,w.jsx)(Q,{message:n.error instanceof Error?n.error.message:o(`memoryRouterPlaygroundPage.failedToRunSimulation`)}),s!==void 0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(H,{paneId:e,userMessage:t,result:s.response,otherResult:r}),(0,w.jsx)(z,{paneId:e,rawRequest:s.rawRequest,rawResponse:s.rawResponse})]})]})}function z({paneId:e,rawRequest:t,rawResponse:n}){let{t:r}=i(`chat`),[a,o]=(0,g.useState)(!1);return(0,w.jsx)(d,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[a?`▾`:`▸`,` `,r(`memoryRouterPlaygroundPage.rawApiExchange`)]}),a&&(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(B,{label:r(`memoryRouterPlaygroundPage.requestLabel`,{paneId:e}),body:t}),(0,w.jsx)(B,{label:r(`memoryRouterPlaygroundPage.responseLabel`,{paneId:e}),body:n})]})]})})}function B({label:e,body:t}){let{t:n}=i(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,w.jsx)(`pre`,{className:`overflow-auto rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,maxHeight:`320px`,whiteSpace:`pre`},children:t.length===0?n(`memoryRouterPlaygroundPage.empty`):t})]})}function V({paneId:e}){let{t}=i(`chat`);return(0,w.jsx)(`div`,{className:`text-body-medium-default`,style:{color:X(e)},children:t(`memoryRouterPlaygroundPage.paneTitle`,{paneId:e})})}function H({paneId:e,userMessage:t,result:n,otherResult:r}){let{t:a}=i(`chat`),o=(0,g.useMemo)(()=>U(n,r),[n,r]),s=(0,g.useMemo)(()=>q(n),[n]);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,w.jsx)(G,{result:n,userMessage:t,otherResult:r,counts:(0,g.useMemo)(()=>W(o),[o])}),(0,w.jsx)(K,{result:n}),n.failureReason!==null&&(0,w.jsx)(Q,{message:a(`memoryRouterPlaygroundPage.routerFailure`,{reason:n.failureReason})}),s.length===0?(0,w.jsx)(ae,{}):s.map(t=>(0,w.jsx)(ie,{paneId:e,source:t.source,slugs:t.slugs,scores:n.scores,diff:o},t.source))]})}function U(e,t){let n=new Map;if(t===void 0){for(let t of e.selectedSlugs)n.set(t,`both`);return n}let r=new Set(t.selectedSlugs);for(let t of e.selectedSlugs)n.set(t,r.has(t)?`both`:`only-here`);return n}function W(e){let t=0,n=0;for(let r of e.values())r===`both`?t++:n++;return{total:e.size,shared:t,unique:n}}function G({result:e,userMessage:t,otherResult:n,counts:r}){let{t:a}=i(`chat`),o=[{label:a(`memoryRouterPlaygroundPage.summaryUserMessageLabel`),value:t},{label:a(`memoryRouterPlaygroundPage.totalCandidatePagesLabel`),value:e.totalCandidatePages.toLocaleString()},{label:a(`memoryRouterPlaygroundPage.selectedLabel`),value:a(`memoryRouterPlaygroundPage.selectedValue`,{count:e.selectedSlugs.length,maxPageIds:e.effectiveConfig.max_page_ids})}];return n!==void 0&&o.push({label:a(`memoryRouterPlaygroundPage.diffLabel`),value:a(`memoryRouterPlaygroundPage.diffValue`,{shared:r.shared,unique:r.unique})}),(0,w.jsx)(d,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:a(`memoryRouterPlaygroundPage.summary`)}),(0,w.jsx)(Z,{rows:o})]})})}function K({result:e}){let{t}=i(`chat`),n=[`tier1_size`,`tier2_size`,`batch_size`,`max_page_ids`].map(n=>{let r=e.effectiveConfig[n],i=e.overrides[n];return{label:n,value:`${r===null?t(`memoryRouterPlaygroundPage.nullValue`):String(r)}${i===void 0?``:t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}});return n.push({label:t(`memoryRouterPlaygroundPage.llmProfilesOverride`),value:e.profileOverride===null?t(`memoryRouterPlaygroundPage.inheritActive`):`${e.profileOverride}${t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}),n.push({label:t(`memoryRouterPlaygroundPage.systemPromptConfigLabel`),value:e.routerPromptOverridden?t(`memoryRouterPlaygroundPage.promptModeCustom`):t(`memoryRouterPlaygroundPage.promptModeBundled`)}),(0,w.jsx)(d,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t(`memoryRouterPlaygroundPage.effectiveConfig`)}),(0,w.jsx)(Z,{rows:n})]})})}function q(e){let t=new Map;for(let n of e.selectedSlugs){let r=e.sourceBySlug[n];if(r===void 0)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return[...t.keys()].sort((e,t)=>J(e)-J(t)).map(e=>({source:e,slugs:t.get(e)}))}function J(e){return e===`tier1`?0:e===`tier2`?1:e.startsWith(`tier3:`)?2+Number(e.slice(6)):2**53-1}function Y(e,t){return e===`tier1`?t(`memoryRouterPlaygroundPage.tier1Label`):e===`tier2`?t(`memoryRouterPlaygroundPage.tier2Label`):e.startsWith(`tier3:`)?t(`memoryRouterPlaygroundPage.tier3Label`,{batch:e.slice(6)}):e}function X(e){return e===`A`?`var(--system-mid-strong)`:`var(--primary-base)`}function re(e,t){return t===`both`?{color:`var(--content-default)`,marker:`●`}:{color:X(e),marker:e===`A`?`◆`:`◇`}}function ie({paneId:e,source:t,slugs:n,scores:r,diff:a}){let{t:o}=i(`chat`);return(0,w.jsx)(d,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:Y(t,o)}),(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.pageCount`,{count:n.length})})]}),(0,w.jsx)(`ul`,{className:`flex flex-col gap-1`,children:n.map(n=>{let{color:i,marker:s}=re(e,a.get(n)??`only-here`);return(0,w.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3`,children:[(0,w.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,w.jsx)(`span`,{style:{color:i},children:s}),(0,w.jsx)(`code`,{className:`text-body-medium-default`,style:{color:i},children:n})]}),t===`tier2`&&(0,w.jsx)(`span`,{className:`tabular-nums text-label-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.emaScore`,{score:(r[n]??0).toFixed(3)})})]},n)})})]})})}function ae(){let{t:e}=i(`chat`);return(0,w.jsx)(d,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e(`memoryRouterPlaygroundPage.noPagesSelected`)}),(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:e(`memoryRouterPlaygroundPage.emptySelectionHint`)})]})})}function Z({rows:e}){return(0,w.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(({label:e,value:t})=>(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,w.jsx)(`span`,{className:`shrink-0 text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,w.jsx)(`span`,{className:`text-right text-body-medium-lighter`,style:{color:`var(--content-default)`},children:t})]},e))})}function Q({message:e}){return(0,w.jsx)(`div`,{className:`rounded-md px-4 py-3 text-body-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--system-negative-strong)`},children:e})}function $({children:e}){return(0,w.jsx)(`div`,{className:`flex h-full w-full items-center justify-center p-8 text-label-default`,style:{color:`var(--content-tertiary)`},children:e})}export{T as MemoryRouterPlaygroundPage};
@@ -0,0 +1 @@
1
+ import{O as e}from"./vendor-WUN87CSE.js";import{t}from"./react-DPM_L_aA.js";import{bt as n}from"./icons-CSdHOix6.js";import{Bt as r,Cy as i,P as a}from"./index-7XDiAJ-A.js";import{t as o}from"./use-transcript-message-by-id-Dqm1PMu3.js";var s=[];function c(e){let t=o(e);return t?t.attachments??s:null}var l=t();function u({payload:t,onClose:o}){let{t:s}=e(`chat`),{displayAttachments:u,renderSquare:d,previewModal:f}=r({attachments:c(t.messageId)??t.attachments,assistantId:t.assistantId});return(0,l.jsxs)(a,{Glyph:n,titleNode:(0,l.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 py-0.5`,children:[(0,l.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:s(`messageFilesPanel.title`)}),(0,l.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,l.jsx)(i,{variant:`title-medium`,className:`shrink-0 whitespace-nowrap leading-snug text-[var(--content-secondary)]`,children:u.length})]}),closeLabel:s(`messageFilesPanel.closeAria`),onClose:o,children:[u.length===0?(0,l.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:s(`messageFilesPanel.empty`)}):(0,l.jsx)(`div`,{className:`flex flex-wrap items-start gap-3`,children:u.map((e,t)=>d(e,t))}),f]})}export{u as MessageFilesPanel};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{l as t}from"./vendor-WUN87CSE.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{xi as i}from"./icons-CSdHOix6.js";import{Cy as a}from"./index-7XDiAJ-A.js";var o=i(`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(n(),1),c=r();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 n=t(),[r,i]=(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,n){cancelAnimationFrame(c.current),c.current=0,a.current=e,i(e);return}if(a.current===e||c.current)return;let t=performance.now(),r=a.current,s=e=>{let n=o.current,l=Math.min((e-t)/300,1),u=1-(1-l)**3;a.current=l>=1?n:r+(n-r)*u,i(a.current),l<1?c.current=requestAnimationFrame(s):c.current=0};c.current=requestAnimationFrame(s)},[e,n]),(0,s.useEffect)(()=>()=>cancelAnimationFrame(c.current),[]),r}function d({icon:e,value:t,label:n}){return(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,c.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:e}),(0,c.jsxs)(`div`,{className:`min-w-0`,children:[(0,c.jsx)(a,{variant:`title-small`,className:`block text-[var(--content-default)]`,children:t}),(0,c.jsx)(a,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:n})]})]})}function f({icon:e,label:t,target:n,format:r}){return(0,c.jsx)(d,{icon:e,label:t,value:r(u(n))})}export{l as n,o as r,f as t};