@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.
- package/dist/assets/{a2a-invite-Dcxf1Lse.js → a2a-invite-CalxmT9U.js} +1 -1
- package/dist/assets/about-page-oelEgoKN.js +1 -0
- package/dist/assets/account-page-DoWCrccl.js +1 -0
- package/dist/assets/account-shell-D6h6YPdW.js +1 -0
- package/dist/assets/acp-run-detail-panel-BqBDl6QB.js +5 -0
- package/dist/assets/activity-steps-panel-C5Nlm1Ax.js +1 -0
- package/dist/assets/add-credits-modal-Clc-YWYG.js +1 -0
- package/dist/assets/ai-page-DtRit5K4.js +1 -0
- package/dist/assets/android-billing-handoff-D6KkZQcR.js +1 -0
- package/dist/assets/api-key-screen-BWXzfFaa.js +1 -0
- package/dist/assets/app-info-BzVdvgJM.js +1 -0
- package/dist/assets/archive-redirect-page-DD3q7S_q.js +1 -0
- package/dist/assets/assistant-status-panel-i2Q5Ng1C.js +1 -0
- package/dist/assets/auth-welcome-screen-ghh-qFOz.js +1 -0
- package/dist/assets/avatar-random-BEjqLOzH.js +1 -0
- package/dist/assets/background-task-detail-panel-igcj1myW.js +1 -0
- package/dist/assets/billing-page-BtVWtaxz.js +3 -0
- package/dist/assets/billing-redirect-page-DaIhDbvM.js +1 -0
- package/dist/assets/bookmarks-page-CvCqY1u_.js +1 -0
- package/dist/assets/{build.umd-DjyW4NzX.js → build.umd-CJjt7Lfj.js} +1 -1
- package/dist/assets/bundle-confirm-page-DuW3Ltpg.js +1 -0
- package/dist/assets/channel-transcript-panel-C5dxI2kC.js +1 -0
- package/dist/assets/channels-Dv8-4WT6.js +9 -0
- package/dist/assets/channels-NP4ODNxS.js +9 -0
- package/dist/assets/channels-page-route-CaZZgVvj.js +1 -0
- package/dist/assets/chat-CuSRAhBb.js +3 -0
- package/dist/assets/{chat-4LXYoAUR.js → chat-Dw-Xoh_r.js} +2 -2
- package/dist/assets/checkout-continuation-gyr3KRhJ.js +1 -0
- package/dist/assets/checkout-page-CpaWMY_L.js +1 -0
- package/dist/assets/checkout-return-target-uGUiSRvm.js +1 -0
- package/dist/assets/command-palette-Dqv1yvzc.js +1 -0
- package/dist/assets/command-palette-window-page-C4vKhArq.js +1 -0
- package/dist/assets/common-BZmEPLQq.js +1 -0
- package/dist/assets/common-wNADLj0r.js +1 -0
- package/dist/assets/community-page-xiwPgo2f.js +1 -0
- package/dist/assets/companion-layout-BgFk39Te.js +1 -0
- package/dist/assets/companion-surface-page-BE_GKIQH.js +1 -0
- package/dist/assets/connect-page-1WOW2Uyb.js +1 -0
- package/dist/assets/consent-controls-RsRyTWzn.js +1 -0
- package/dist/assets/contacts-DY80_acF.js +1 -0
- package/dist/assets/contacts-O_w2EdRt.js +1 -0
- package/dist/assets/contacts-gateway-aq64PPDs.js +1 -0
- package/dist/assets/contacts-page-route-fh_BygpY.js +1 -0
- package/dist/assets/credential-entry-page-CHyGUHNE.js +1 -0
- package/dist/assets/credentials-page-u4m5eB0e.js +1 -0
- package/dist/assets/{csv-preview-rpZix2b7.js → csv-preview-D1DFyAyk.js} +2 -2
- package/dist/assets/danger-zone-redirect-page-pm7xtA64.js +1 -0
- package/dist/assets/debug-page-BiRFASyO.js +4 -0
- package/dist/assets/deploy-dialogs-BQGFr3pp.js +1 -0
- package/dist/assets/detail-card-BTciodin.js +1 -0
- package/dist/assets/detail-drawer-svbxV7k9.js +1 -0
- package/dist/assets/detail-panel-stop-button-DvPi_A52.js +1 -0
- package/dist/assets/developer-page-YJ4ePRAY.js +1 -0
- package/dist/assets/devices-redirect-page-Bc3d-ANN.js +1 -0
- package/dist/assets/dictation-overlay-page-CV5-bWnC.js +1 -0
- package/dist/assets/diff-rows-DzBJ95DT.js +1 -0
- package/dist/assets/document-viewer-page-B9aeVcPf.js +1 -0
- package/dist/assets/ellipsis-vertical-npNyglhR.js +1 -0
- package/dist/assets/emails-page-DuxmJeBh.js +1 -0
- package/dist/assets/environment-store-Cb7OK6xz.js +1 -0
- package/dist/assets/esm-BFMxsKfC.js +2 -0
- package/dist/assets/esm-BWaPHKOl.js +2 -0
- package/dist/assets/esm-B_9x3_5A.js +2 -0
- package/dist/assets/esm-BmkPJcrm.js +1 -0
- package/dist/assets/esm-C8_GJq6u.js +1 -0
- package/dist/assets/esm-CvsVyyLL.js +2 -0
- package/dist/assets/esm-D8F0P9NS.js +1 -0
- package/dist/assets/esm-DLD7mc5e.js +2 -0
- package/dist/assets/esm-lFkAo6qR.js +2 -0
- package/dist/assets/file-editor-qyflOek_.js +1 -0
- package/dist/assets/folder-open-8sWiN1cw.js +1 -0
- package/dist/assets/format-countdown-Cge3iaM1.js +1 -0
- package/dist/assets/general-page-CplJ3sOI.js +1 -0
- package/dist/assets/hatching-screen-tqPPQDHG.js +1 -0
- package/dist/assets/home-page-route-CMsbxqsW.js +1 -0
- package/dist/assets/hosting-screen-7idZudJ8.js +1 -0
- package/dist/assets/icons-CSdHOix6.js +1 -0
- package/dist/assets/identity-page-route-C4EAb-ac.js +7 -0
- package/dist/assets/index-2ECSWhtU.css +2 -0
- package/dist/assets/index-7XDiAJ-A.js +357 -0
- package/dist/assets/inspect-page-DsXykArJ.js +9 -0
- package/dist/assets/integrations-page-CmMVSsvu.js +1 -0
- package/dist/assets/{intelligence-DNb2No5j.js → intelligence-DwVUW6jm.js} +1 -1
- package/dist/assets/{intelligence-cL2kPl3v.js → intelligence-JlruxYAh.js} +1 -1
- package/dist/assets/intelligence-layout-DKknlxHu.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-CFu5x117.js +1 -0
- package/dist/assets/{latest-assistant-text-DCyUvxgH.js → latest-assistant-text-CVRVSoFg.js} +2 -2
- package/dist/assets/library-detail-page-CKFkI0QY.js +1 -0
- package/dist/assets/library-page-dIrR1lib.js +1 -0
- package/dist/assets/login-page-Bca-1DK6.js +1 -0
- package/dist/assets/logout-page-BzAORi0q.js +1 -0
- package/dist/assets/logs-layout-BsqrLQee.js +1 -0
- package/dist/assets/markdown-preview-DLXGytZI.js +1 -0
- package/dist/assets/media-preview-daMlnyj8.js +1 -0
- package/dist/assets/memory-page-route-CX1I7izG.js +2 -0
- package/dist/assets/memory-router-playground-page-Mk3rfyGO.js +1 -0
- package/dist/assets/message-files-panel-D-C9C2PJ.js +1 -0
- package/dist/assets/metric-card-Bij5WGzs.js +1 -0
- package/dist/assets/notifications-page-C6zUs2x1.js +1 -0
- package/dist/assets/{oauth-complete-page-Bh6VG8SS.js → oauth-complete-page-CuNDqPAt.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-6YLSOCV_.js → oauth-popup-complete-page-hRc3yLWH.js} +2 -2
- package/dist/assets/onboarding-BbtVI8KM.js +1 -0
- package/dist/assets/onboarding-BoaKLlZ5.js +1 -0
- package/dist/assets/page-empty-state-BrGkTMcK.js +1 -0
- package/dist/assets/page-shell-DtdXurhX.js +1 -0
- package/dist/assets/pairing-page-CwLe0EJV.js +1 -0
- package/dist/assets/password-reset-page-C7qvqEJQ.js +1 -0
- package/dist/assets/{pdf-a3pPuuVL.js → pdf-fWDhmWcw.js} +1 -1
- package/dist/assets/pdf-file-preview-DbwHMWey.js +1 -0
- package/dist/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
- package/dist/assets/personality-page-Ci_b1dH9.js +1 -0
- package/dist/assets/plans-page-CyqILV_j.js +1 -0
- package/dist/assets/platform-loopback-page-CgXx1oDQ.js +1 -0
- package/dist/assets/plugin-detail-page-CvC_LUz2.js +1 -0
- package/dist/assets/plugins-page-9LuPE9IY.js +1 -0
- package/dist/assets/preview-error-DbAQP8oG.js +1 -0
- package/dist/assets/privacy-page-OIOZKgWi.js +1 -0
- package/dist/assets/privacy-screen-DFnrbIrM.js +1 -0
- package/dist/assets/provider-callback-page-DGVehvIp.js +1 -0
- package/dist/assets/provider-key-CUAJZvaQ.js +1 -0
- package/dist/assets/provider-signup-page-B5gnrbym.js +1 -0
- package/dist/assets/{provisioning-targets-CE25g21J.js → provisioning-targets-BbLfumae.js} +1 -1
- package/dist/assets/quick-input-page-Ccy-FS5S.js +1 -0
- package/dist/assets/react-DPM_L_aA.js +12 -0
- package/dist/assets/repeat-DVEpBLT_.js +1 -0
- package/dist/assets/research-mock-page-DqfkGU9x.js +1 -0
- package/dist/assets/research-onboarding-route-D3qFv6SM.js +50 -0
- package/dist/assets/review-terms-screen-BD3wP3KC.js +1 -0
- package/dist/assets/schedules-B_SL_iV4.js +1 -0
- package/dist/assets/schedules-page-D64tvhuZ.js +1 -0
- package/dist/assets/security-redirect-page-CWR-HICc.js +1 -0
- package/dist/assets/select-assistant-screen-SfWB0oQ2.js +1 -0
- package/dist/assets/self-hosted-servers-BHF9gq8j.js +1 -0
- package/dist/assets/service-form-controls-DNfWnjSp.js +1 -0
- package/dist/assets/setting-row-DRwmii99.js +1 -0
- package/dist/assets/settings-divider-X9YnFIFQ.js +1 -0
- package/dist/assets/settings-gjWN0WQO.js +3 -0
- package/dist/assets/settings-iLTzqZW8.js +3 -0
- package/dist/assets/settings-layout-C2Um5qit.js +1 -0
- package/dist/assets/share-feedback-modal-BzV03dUO.js +2 -0
- package/dist/assets/sidebar-tree-C1t1xfKD.js +1 -0
- package/dist/assets/signup-page-Dyhm65FW.js +1 -0
- package/dist/assets/signup-shell-CSThcwPa.js +1 -0
- package/dist/assets/skill-detail-page-Cja0k8_e.js +2 -0
- package/dist/assets/skill-detail-panel-BIOL410z.js +1 -0
- package/dist/assets/skill-icon-Me8DDEMt.js +1 -0
- package/dist/assets/skill-removal-dialog-bN91N7f8.js +1 -0
- package/dist/assets/skills-page-CYogTXmH.js +1 -0
- package/dist/assets/sounds-page-DAy2o3wO.js +1 -0
- package/dist/assets/start-screen-DyyYavfM.js +1 -0
- package/dist/assets/status-badge-pill-BAkXhxwa.js +1 -0
- package/dist/assets/stt-language-picker-modal-CpGwbd4g.js +1 -0
- package/dist/assets/subagent-detail-panel-330bH7ee.js +4 -0
- package/dist/assets/superpowers-page-D6wv3GWO.js +1 -0
- package/dist/assets/system-events-page-CFN8tMUJ.js +1 -0
- package/dist/assets/system-events-redirect-page-BarOgFkA.js +1 -0
- package/dist/assets/text-preview-CZeqyzdw.js +1 -0
- package/dist/assets/theme-stage-page-Pcnh0PTQ.js +1 -0
- package/dist/assets/{tiptap-document-editor-sg7gdh_H.js → tiptap-document-editor-ZZmtZ799.js} +30 -30
- package/dist/assets/tool-detail-panel-BgCSb_m5.js +12 -0
- package/dist/assets/trait-cycle-row-BWNJ21g4.js +1 -0
- package/dist/assets/upgrade-cancel-page-ByVEWPeH.js +1 -0
- package/dist/assets/upgrade-success-page-iAPLJbee.js +1 -0
- package/dist/assets/usage-redirect-page-BHd-7in5.js +1 -0
- package/dist/assets/use-assistant-identity-details-oVmPdjVe.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-BO2cN2i8.js +1 -0
- package/dist/assets/use-edge-swipe-back-CzESg8qG.js +2 -0
- package/dist/assets/use-hotkey-recorder-CY089_4p.js +1 -0
- package/dist/assets/use-invite-link-dialog-Ck-LquhT.js +1 -0
- package/dist/assets/use-platform-assistant-id-DcVWp7KY.js +1 -0
- package/dist/assets/use-return-to-short-circuit-NDSwANeI.js +1 -0
- package/dist/assets/use-side-list-room-DQbUPFcU.js +1 -0
- package/dist/assets/use-skill-actions-CNBx-WS1.js +1 -0
- package/dist/assets/use-skill-detail-files-BGIXJykk.js +1 -0
- package/dist/assets/use-supports-credentials-settings-C6S_OHMP.js +1 -0
- package/dist/assets/use-transcript-message-by-id-Dqm1PMu3.js +1 -0
- package/dist/assets/use-truncated-blob-text-DLF_hf3O.js +1 -0
- package/dist/assets/vendor-WUN87CSE.js +385 -0
- package/dist/assets/voice-page-nBfEMyWs.js +1 -0
- package/dist/assets/weather-forecast-display-B6j-V-yS.js +1 -0
- package/dist/assets/web-CE-RjE8i.js +1 -0
- package/dist/assets/web-Cv_J7__I.js +1 -0
- package/dist/assets/web-Cw24uxYA.js +1 -0
- package/dist/assets/web-DDFO9PaS.js +1 -0
- package/dist/assets/web-DL2rv-Fb.js +1 -0
- package/dist/assets/web-DPEGYPrR.js +1 -0
- package/dist/assets/web-Q8lSPj8Z.js +1 -0
- package/dist/assets/web-kKGZ0Pbn.js +1 -0
- package/dist/assets/web-pwf5Vh3V.js +1 -0
- package/dist/assets/welcome-screen-BrwdmDqM.js +1 -0
- package/dist/assets/workflow-detail-panel-DcTQSyju.js +1 -0
- package/dist/assets/workspace-page-Dwfwnkh5.js +1 -0
- package/dist/assets/{xterm-QkObDWKu.js → xterm-DfM4JBPp.js} +1 -1
- package/dist/assets/xterm-addon-fit-DuBTfuI9.js +1 -0
- package/dist/images/integrations/ATTRIBUTION.md +10 -5
- package/dist/images/integrations/calendly.svg +1 -0
- package/dist/images/integrations/eventbrite.svg +1 -0
- package/dist/images/integrations/monday.svg +1 -0
- package/dist/index.html +7 -336
- package/package.json +1 -1
- package/dist/assets/AnimatePresence-BkWQRluv.js +0 -9
- package/dist/assets/Combination-kHxEP36G.js +0 -41
- package/dist/assets/QueryClientProvider-BPZM68-A.js +0 -1
- package/dist/assets/Trans-CBhhVbOk.js +0 -1
- package/dist/assets/about-page-hURQzaZb.js +0 -1
- package/dist/assets/account-page-BUHRzIQn.js +0 -1
- package/dist/assets/account-shell-Y97PMm-a.js +0 -1
- package/dist/assets/acp-run-actions-DznGEBjQ.js +0 -1
- package/dist/assets/acp-run-detail-panel-CVPDXyP6.js +0 -5
- package/dist/assets/acp-run-store-D8roCscD.js +0 -1
- package/dist/assets/activity-steps-panel-BzTDFCQ4.js +0 -1
- package/dist/assets/add-credential-modal-aeUdZtSp.js +0 -1
- package/dist/assets/add-credits-modal-CtS-PzoH.js +0 -1
- package/dist/assets/ai-page-C6zXOVyP.js +0 -1
- package/dist/assets/android-billing-handoff-BoSQm4gg.js +0 -1
- package/dist/assets/animate-CuPjEtk6.js +0 -1
- package/dist/assets/animated-avatar-DAJHVYXE.js +0 -1
- package/dist/assets/api-BUuIGDig.js +0 -1
- package/dist/assets/api-key-screen-DauZKmq9.js +0 -1
- package/dist/assets/app-card-B5AFFdUO.js +0 -1
- package/dist/assets/app-info-CBSIGREh.js +0 -1
- package/dist/assets/apple-logo-GkgGOZWf.js +0 -1
- package/dist/assets/archive-DMKVAVAX.js +0 -1
- package/dist/assets/archive-redirect-page-DXqjPmpK.js +0 -1
- package/dist/assets/arrow-down-to-line-CJ0OBlcT.js +0 -1
- package/dist/assets/arrow-left-DUklm7Fd.js +0 -1
- package/dist/assets/arrow-right-De7tYwD7.js +0 -1
- package/dist/assets/arrow-up-CijF4S8i.js +0 -1
- package/dist/assets/assistant-feature-flag-store-Co_o5uD3.js +0 -1
- package/dist/assets/assistant-identity-store-DBkGjqzV.js +0 -1
- package/dist/assets/assistant-status-panel-DYkXgK0D.js +0 -1
- package/dist/assets/audio-context-YNIG4zMo.js +0 -1
- package/dist/assets/auth-store-BVjw4Y6z.js +0 -2
- package/dist/assets/auth-welcome-screen-DbDu2DKV.js +0 -1
- package/dist/assets/avatar-bundled-components-C1i6ys8w.js +0 -1
- package/dist/assets/avatar-random-BOjdaclE.js +0 -1
- package/dist/assets/avatar-renderer-CnJd2PqC.js +0 -1
- package/dist/assets/avatar-subagent-CdgpbwL0.js +0 -1
- package/dist/assets/avatar-svg-compositor-DxBmLeF3.js +0 -1
- package/dist/assets/avatar-tone-D_3T6CNS.js +0 -1
- package/dist/assets/background-task-actions-Cs3pTNVl.js +0 -1
- package/dist/assets/background-task-detail-panel-BWAwy3I3.js +0 -1
- package/dist/assets/background-task-store-Ba89lNRi.js +0 -1
- package/dist/assets/ban-JFtQ_88n.js +0 -1
- package/dist/assets/bell-B3GoRAIC.js +0 -1
- package/dist/assets/billing-page-FxI0W3-_.js +0 -3
- package/dist/assets/billing-redirect-page-l6nC_qa5.js +0 -1
- package/dist/assets/bookmarks-page-6p-UochF.js +0 -1
- package/dist/assets/brain-lgsb4JhV.js +0 -1
- package/dist/assets/browser-BaGW19xY.js +0 -2
- package/dist/assets/browser-timezone-DEQubHhx.js +0 -1
- package/dist/assets/bug-DJjWtfUu.js +0 -1
- package/dist/assets/build-state-ChDL0BPH.js +0 -1
- package/dist/assets/bundle-confirm-page-9jTfMrek.js +0 -1
- package/dist/assets/bundle-mjs-CctC_00U.js +0 -1
- package/dist/assets/button-B1kEAcLt.js +0 -1
- package/dist/assets/by-tool-use-id-index-DOOfRauy.js +0 -1
- package/dist/assets/calendar-Bbg9LoLZ.js +0 -1
- package/dist/assets/camera-DOhkFhC8.js +0 -1
- package/dist/assets/card-B4b9cF6X.js +0 -1
- package/dist/assets/channels-DU7UcoR_.js +0 -1
- package/dist/assets/channels-P8K1t248.js +0 -1
- package/dist/assets/channels-page-route-DBtIRtsL.js +0 -9
- package/dist/assets/chart-column-BSXp3tJF.js +0 -1
- package/dist/assets/chat-BG7p3zq1.js +0 -3
- package/dist/assets/chat-Bfo3dMB3.js +0 -1
- package/dist/assets/chat-avatar-DM2DBsml.js +0 -1
- package/dist/assets/chat-layout-slots-store-D_NI8Xtw.js +0 -1
- package/dist/assets/chat-markdown-message-CTuuKxjN.js +0 -1
- package/dist/assets/check-bDVYejGM.js +0 -1
- package/dist/assets/checkbox--DYEubRE.js +0 -1
- package/dist/assets/checkout-continuation-LLv0HLko.js +0 -1
- package/dist/assets/checkout-page-B14XHmIb.js +0 -1
- package/dist/assets/checkout-return-target-BX6588K4.js +0 -1
- package/dist/assets/chevron-down-D437oaYt.js +0 -1
- package/dist/assets/chevron-left-C51UUK4r.js +0 -1
- package/dist/assets/chevron-right-D5lPX854.js +0 -1
- package/dist/assets/chevron-up-B_I9Uakl.js +0 -1
- package/dist/assets/chunk-5KNZJZUH-CPFsMQoz.js +0 -4
- package/dist/assets/circle-alert-BaeJJrSp.js +0 -1
- package/dist/assets/circle-check-CnoFVsRZ.js +0 -1
- package/dist/assets/circle-check-big-CHpJAmSB.js +0 -1
- package/dist/assets/circle-minus--pYdZe0n.js +0 -1
- package/dist/assets/circle-x-BnqzdPia.js +0 -1
- package/dist/assets/client-feature-flag-store-BmjgGl9P.js +0 -1
- package/dist/assets/client-perf-CL-Sfpnu.js +0 -1
- package/dist/assets/client.gen-D1UKq9QZ.js +0 -6
- package/dist/assets/clipboard-copy-BFyCoPu3.js +0 -1
- package/dist/assets/clock-HLo0irRS.js +0 -1
- package/dist/assets/cloud-6GKvvsQ6.js +0 -1
- package/dist/assets/cloud-off-B8SagsfP.js +0 -1
- package/dist/assets/cn-naJKasky.js +0 -1
- package/dist/assets/code-B7j8vdg9.js +0 -1
- package/dist/assets/coins-S_-Fmv_r.js +0 -1
- package/dist/assets/command-palette-C0x3z7aQ.js +0 -1
- package/dist/assets/command-palette-window-page-BShi7rwo.js +0 -1
- package/dist/assets/common-C7YGlfJZ.js +0 -1
- package/dist/assets/common-DFfCPRFe.js +0 -1
- package/dist/assets/community-page-ChiOX6Op.js +0 -1
- package/dist/assets/companion-surface-BYj8yxCS.js +0 -1
- package/dist/assets/companion-surface-page-HYtLs0-t.js +0 -1
- package/dist/assets/composer-settings-BCehrZgj.js +0 -1
- package/dist/assets/confirm-dialog-EPYSBP_B.js +0 -1
- package/dist/assets/connect-page-tyHxf7TL.js +0 -1
- package/dist/assets/consent-controls-C7U2N-h8.js +0 -1
- package/dist/assets/consent-cuDRWUkB.js +0 -1
- package/dist/assets/contacts-CotcPejk.js +0 -1
- package/dist/assets/contacts-E-8UOrGK.js +0 -1
- package/dist/assets/contacts-gateway-BLGKdcif.js +0 -1
- package/dist/assets/contacts-page-route-KVjx4fqm.js +0 -1
- package/dist/assets/conversation-cache-CrybogTL.js +0 -1
- package/dist/assets/conversation-navigation-Ck_iLhjv.js +0 -1
- package/dist/assets/conversation-queries-Clrll8jF.js +0 -1
- package/dist/assets/conversation-selection-BVLi6RIL.js +0 -1
- package/dist/assets/conversation-store-BHWyRtQs.js +0 -1
- package/dist/assets/copy-to-clipboard-Blihejp9.js +0 -1
- package/dist/assets/cpu-KP1UdyS1.js +0 -1
- package/dist/assets/create-selectors-sLdtxUZQ.js +0 -1
- package/dist/assets/createLucideIcon-CMfEC_aW.js +0 -1
- package/dist/assets/credential-entry-page-Cs6FHnUn.js +0 -1
- package/dist/assets/credentials-page-D8G-44GI.js +0 -1
- package/dist/assets/danger-zone-redirect-page-Cds_krO3.js +0 -1
- package/dist/assets/debug-page-BMqKvkSo.js +0 -4
- package/dist/assets/deploy-dialogs-DqkTJUGk.js +0 -1
- package/dist/assets/deploy-store-FijtU8HL.js +0 -1
- package/dist/assets/desktop-voice-activity-DUGtHbRg.js +0 -1
- package/dist/assets/detail-card-D9EAxXI8.js +0 -1
- package/dist/assets/detail-drawer-D-CPwyBO.js +0 -1
- package/dist/assets/detail-panel-stop-button-ClfJeo-s.js +0 -1
- package/dist/assets/detail-shell-CNYbfTO7.js +0 -1
- package/dist/assets/developer-page-C7o31rYB.js +0 -1
- package/dist/assets/devices-redirect-page-CeKwKvN-.js +0 -1
- package/dist/assets/diagnostics-BC7vRbDB.js +0 -1
- package/dist/assets/dictation-overlay-C-whP7yL.js +0 -1
- package/dist/assets/dictation-overlay-page-sfEwzU14.js +0 -1
- package/dist/assets/diff-rows-D_K2ZMJ5.js +0 -1
- package/dist/assets/discord-logo-sC02ywjh.js +0 -1
- package/dist/assets/dist-BnrwumrD.js +0 -1
- package/dist/assets/dist-Cr8OiiXj.js +0 -1
- package/dist/assets/dist-Ct3qbbty.js +0 -1
- package/dist/assets/dist-Czhl4zX3.js +0 -1
- package/dist/assets/dist-D3VsKBK8.js +0 -1
- package/dist/assets/dist-DaY2OuMX.js +0 -1
- package/dist/assets/doctor-handoff-store-DEirTOZw.js +0 -1
- package/dist/assets/document-viewer-container-yyhVIyAB.js +0 -2
- package/dist/assets/document-viewer-page-Co_sxuvK.js +0 -1
- package/dist/assets/download-BIMKsVBw.js +0 -1
- package/dist/assets/edge-swipe-arbiter-store-ByePvbty.js +0 -1
- package/dist/assets/edit-chat-session-Cm8kKicc.js +0 -1
- package/dist/assets/effective-timezone-BW38Gdmx.js +0 -1
- package/dist/assets/ellipsis-DLGzVN7S.js +0 -1
- package/dist/assets/ellipsis-vertical-BJaOQqv_.js +0 -1
- package/dist/assets/emails-page-a1sfkbkL.js +0 -1
- package/dist/assets/environment-store-DKl9RR50.js +0 -1
- package/dist/assets/esm-BAE-_6f7.js +0 -1
- package/dist/assets/esm-BTQ42Hgz.js +0 -2
- package/dist/assets/esm-BnXPDdij.js +0 -2
- package/dist/assets/esm-CC077SPL.js +0 -2
- package/dist/assets/esm-CbZfwR7m.js +0 -2
- package/dist/assets/esm-DA5sciAy.js +0 -2
- package/dist/assets/esm-DbODHbQp.js +0 -2
- package/dist/assets/esm-Doko4a-G.js +0 -2
- package/dist/assets/esm-KUiHjb53.js +0 -1
- package/dist/assets/esm-uRwymN1a.js +0 -1
- package/dist/assets/event-bus-CN0zipw2.js +0 -1
- package/dist/assets/external-anchor-CJ2uCBN2.js +0 -1
- package/dist/assets/external-link-cVsOyP-B.js +0 -1
- package/dist/assets/external-urls-BE71Yb2T.js +0 -1
- package/dist/assets/eye-Bkw-NEUk.js +0 -1
- package/dist/assets/eye-bbox-crwIELLL.js +0 -1
- package/dist/assets/eye-off-BtRToWVw.js +0 -1
- package/dist/assets/feature-flag-catalog-DWnmasL0.js +0 -1
- package/dist/assets/feed-item-status-actions-Bw41rlaj.js +0 -1
- package/dist/assets/field-quMum4Ij.js +0 -1
- package/dist/assets/file-DukGjoT9.js +0 -1
- package/dist/assets/file-code-KOdjB_EC.js +0 -1
- package/dist/assets/file-editor-Cx3p3Rxf.js +0 -1
- package/dist/assets/file-markdown-D43Nsqm2.js +0 -2
- package/dist/assets/file-plus-BE5pS64_.js +0 -1
- package/dist/assets/file-text-CexzqcsX.js +0 -1
- package/dist/assets/first-run-scope-DITgHc6G.js +0 -1
- package/dist/assets/folder-BshXYSOQ.js +0 -1
- package/dist/assets/folder-open-Dp3CKxO5.js +0 -1
- package/dist/assets/format-date-C4mrDYY6.js +0 -1
- package/dist/assets/format-usd-Be34KtzB.js +0 -1
- package/dist/assets/funnel-events-Dl6Nt7nA.js +0 -1
- package/dist/assets/general-page-rg_u_yPE.js +0 -1
- package/dist/assets/get-memory-stats-DxspWLxk.js +0 -1
- package/dist/assets/globe-DJ3y3hQh.js +0 -1
- package/dist/assets/haptics-BS-glrYv.js +0 -2
- package/dist/assets/hard-drive-CXysKjuo.js +0 -1
- package/dist/assets/hard-navigate-BVv7q79D.js +0 -1
- package/dist/assets/hatching-screen-8lXCy9WG.js +0 -1
- package/dist/assets/heart-DF_JiyEl.js +0 -1
- package/dist/assets/home-page-route-QunjBmtS.js +0 -1
- package/dist/assets/hosting-screen-B-5gejYX.js +0 -1
- package/dist/assets/i18n-BtV8MCsZ.js +0 -15
- package/dist/assets/identity-_6tLszkL.js +0 -1
- package/dist/assets/identity-page-route-B0XGpYIE.js +0 -7
- package/dist/assets/image-B4sohCAa.js +0 -1
- package/dist/assets/inbox-D8dK1dMC.js +0 -1
- package/dist/assets/index-C9XKdblY.css +0 -2
- package/dist/assets/index-Gjnx86x6.js +0 -11
- package/dist/assets/infiniteQueryOptions-DTCCTa10.js +0 -1
- package/dist/assets/info-C-HjpKAE.js +0 -1
- package/dist/assets/ingest-OJG7HVUh.js +0 -1
- package/dist/assets/input-ChbJ2nzd.js +0 -1
- package/dist/assets/inspect-page-bs_j1c9j.js +0 -9
- package/dist/assets/installed-plugins-query-C8omZZV4.js +0 -1
- package/dist/assets/integration-icon-C6Y4VGkv.js +0 -1
- package/dist/assets/integrations-page-D7ENik74.js +0 -1
- package/dist/assets/intelligence-layout-gaexcakY.js +0 -1
- package/dist/assets/interactive-target-h9aYOKy2.js +0 -1
- package/dist/assets/internal-thread-actions-DkNfSArh.js +0 -1
- package/dist/assets/invalidate-memory-queries-DWuNUXFq.js +0 -1
- package/dist/assets/invalidate-plugin-queries-CBgy5O6i.js +0 -1
- package/dist/assets/is-electron-D45bjFI8.js +0 -1
- package/dist/assets/jsx-runtime-COOF1INC.js +0 -1
- package/dist/assets/key-round-BEQmZ4Ji.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-BDuYwofA.js +0 -1
- package/dist/assets/laptop-XN6nYvdB.js +0 -1
- package/dist/assets/layout-grid-Cyrnt_YU.js +0 -1
- package/dist/assets/library-detail-page-DXCZhY4s.js +0 -1
- package/dist/assets/library-page-CKAu2a08.js +0 -1
- package/dist/assets/lightbulb-BSnKqAOd.js +0 -1
- package/dist/assets/link-2-Di62Fo_i.js +0 -1
- package/dist/assets/link-CbkkEBEX.js +0 -1
- package/dist/assets/list-Dtwz1hOH.js +0 -1
- package/dist/assets/list-row-BvCm9O6y.js +0 -1
- package/dist/assets/llm-model-catalog-Bk0q_XG4.js +0 -1
- package/dist/assets/loader-circle-DZ65N8bz.js +0 -1
- package/dist/assets/local-mode-BQ8gp0wB.js +0 -1
- package/dist/assets/local-runtime-upgrade-BXc9x-7Y.js +0 -1
- package/dist/assets/local-settings-D9SNRv4p.js +0 -1
- package/dist/assets/log-in-CGeZfDEs.js +0 -1
- package/dist/assets/log-out-DPkGVfNH.js +0 -1
- package/dist/assets/login-flow-CrSxmLFE.js +0 -1
- package/dist/assets/login-page-uUo0uRmJ.js +0 -1
- package/dist/assets/logout-page-BYZfOpa1.js +0 -1
- package/dist/assets/logs-layout-B34XKM-k.js +0 -1
- package/dist/assets/mail-CqdA6Y_p.js +0 -1
- package/dist/assets/markdown-preview-eCDa4paC.js +0 -1
- package/dist/assets/media-preview-1xn1SAn9.js +0 -1
- package/dist/assets/memory-page-route-DiVaW98S.js +0 -2
- package/dist/assets/memory-router-playground-page-DgILWgQu.js +0 -1
- package/dist/assets/menu-DPM2p9S5.js +0 -1
- package/dist/assets/message-circle-DBYzIjYB.js +0 -1
- package/dist/assets/message-content-uWZUlo6D.js +0 -1
- package/dist/assets/message-files-panel-Bv-5dvcD.js +0 -1
- package/dist/assets/message-square-XpKWNcyv.js +0 -1
- package/dist/assets/message-square-text-CvSl10LZ.js +0 -1
- package/dist/assets/messages-BXHTKK_v.js +0 -13
- package/dist/assets/metric-card-CTonLoYE.js +0 -1
- package/dist/assets/mic-DQbnjgmt.js +0 -1
- package/dist/assets/middleware-BmAQ4_8P.js +0 -1
- package/dist/assets/mime-sniff--WYdEIBE.js +0 -1
- package/dist/assets/minimize-2-DzL_lI8t.js +0 -1
- package/dist/assets/misc-dA4Wklt2.js +0 -1
- package/dist/assets/modal-_49mDK_d.js +0 -1
- package/dist/assets/monitor-BKwWxjph.js +0 -1
- package/dist/assets/moon-MfogEw5q.js +0 -1
- package/dist/assets/native-anchor-CmnMg6B6.js +0 -1
- package/dist/assets/native-biometric-DEP8Sr4X.js +0 -6
- package/dist/assets/native-deep-link--guFKiPO.js +0 -2
- package/dist/assets/native-file-DlQtjxJn.js +0 -2
- package/dist/assets/navigation-resolver-CRsrd5gh.js +0 -1
- package/dist/assets/not-found-BXR_4Uja.js +0 -1
- package/dist/assets/notice-BHeYlKvv.js +0 -1
- package/dist/assets/notifications-Dcgkgn8Q.js +0 -1
- package/dist/assets/notifications-page-CSH6gHaX.js +0 -1
- package/dist/assets/oauth-connection-utils-D_78dCYn.js +0 -1
- package/dist/assets/oauth-popup-DEDdbkj2.js +0 -1
- package/dist/assets/onboarding-D2bBWpx1.js +0 -1
- package/dist/assets/onboarding-DJeJhXd6.js +0 -1
- package/dist/assets/onboarding-layout-C9v6Q2QQ.js +0 -1
- package/dist/assets/onboarding-navigation-oNFNDeeW.js +0 -1
- package/dist/assets/onboarding-store-BhT1z8Wi.js +0 -1
- package/dist/assets/open-workspace-file-fIr0qcsc.js +0 -2
- package/dist/assets/operational-status-BdcYEcTh.js +0 -1
- package/dist/assets/optimistic-lifecycle-BlDyVYIt.js +0 -1
- package/dist/assets/page-empty-state-B_nQdAFR.js +0 -1
- package/dist/assets/page-shell-BHyGukA1.js +0 -1
- package/dist/assets/page-surface-store-D5IgLCtn.js +0 -1
- package/dist/assets/pairing-page-fVI54lsD.js +0 -1
- package/dist/assets/palette-BlX3XmVL.js +0 -1
- package/dist/assets/paperclip-Ce-wbj5L.js +0 -1
- package/dist/assets/password-reset-page-ClhMzYsx.js +0 -1
- package/dist/assets/pdf-file-preview-BjbSLoD9.js +0 -1
- package/dist/assets/pdf-preview-xa07R01f.js +0 -2
- package/dist/assets/pencil-1uDrqXvV.js +0 -1
- package/dist/assets/personality-page-CK3vkhkl.js +0 -1
- package/dist/assets/plans-page-CuZeAQhx.js +0 -1
- package/dist/assets/platform-detection-DUeD4WFO.js +0 -1
- package/dist/assets/platform-login-notice-B2ZwcEYp.js +0 -1
- package/dist/assets/platform-loopback-page-CMnaXj8y.js +0 -1
- package/dist/assets/play-D-HSCeZj.js +0 -1
- package/dist/assets/plug-AMxPbUcz.js +0 -1
- package/dist/assets/plugin-detail-page-D9Qk7GmS.js +0 -1
- package/dist/assets/plugins-page-Bm0hcoSf.js +0 -1
- package/dist/assets/plugins-surface-DB7dv9Hu.js +0 -1
- package/dist/assets/plus-rgqTRjE1.js +0 -1
- package/dist/assets/pointer-DktxhCd8.js +0 -1
- package/dist/assets/popover-GOTwOlgQ.js +0 -1
- package/dist/assets/prechat-Cl2-DnE_.js +0 -1
- package/dist/assets/prefs-CAMw44jD.js +0 -1
- package/dist/assets/preload-helper-BewR0kVT.js +0 -1
- package/dist/assets/preview-error-DW-EUl80.js +0 -1
- package/dist/assets/preview-skeleton-CLI9ptyu.js +0 -1
- package/dist/assets/privacy-page-D-a7l0YY.js +0 -1
- package/dist/assets/privacy-screen-CxwxgE4s.js +0 -1
- package/dist/assets/profile-pickers-D8XVv50L.js +0 -1
- package/dist/assets/progress-bar-C9zSzt4m.js +0 -1
- package/dist/assets/provider-callback-page-65a2DK0l.js +0 -1
- package/dist/assets/provider-key-CcPF1Zqp.js +0 -1
- package/dist/assets/provider-signup-page-BC86aF7W.js +0 -1
- package/dist/assets/proxy-CROyCGs8.js +0 -1
- package/dist/assets/public-asset-Dk1mdzbh.js +0 -1
- package/dist/assets/push-registration-D0zDMpTx.js +0 -2
- package/dist/assets/puzzle-PqInNnOi.js +0 -1
- package/dist/assets/queryOptions-DGyQTr3e.js +0 -1
- package/dist/assets/quick-input-page-DAf2lbri.js +0 -1
- package/dist/assets/react-DJZBPgpf.js +0 -1
- package/dist/assets/react-query.gen-C5widOeH.js +0 -1
- package/dist/assets/react-query.gen-C_GLKG7m.js +0 -1
- package/dist/assets/reduced-motion-B-KLzfs_.js +0 -1
- package/dist/assets/refresh-cw-BDh1a2sj.js +0 -1
- package/dist/assets/relative-time-COU7Zqre.js +0 -1
- package/dist/assets/remote-gateway-session-C3H0Oq0r.js +0 -1
- package/dist/assets/remove-from-device-dialog-CXmGFbKk.js +0 -1
- package/dist/assets/repeat-6uW-THNc.js +0 -1
- package/dist/assets/research-facts-gT4POsZw.js +0 -1
- package/dist/assets/research-mock-page-B41v4MzE.js +0 -1
- package/dist/assets/research-onboarding-persistence-Bnn7ljSq.js +0 -1
- package/dist/assets/research-onboarding-route-CbZ14lCf.js +0 -50
- package/dist/assets/research-results-view-BHXLkoKK.js +0 -3
- package/dist/assets/resolved-assistants-store-DEtotxhR.js +0 -1
- package/dist/assets/retire-confirm-dialog-1nxn6f4M.js +0 -1
- package/dist/assets/review-terms-screen-BsDHdmoO.js +0 -1
- package/dist/assets/rotate-ccw-BYcZOtjy.js +0 -1
- package/dist/assets/routes-C6ueuiMd.js +0 -1
- package/dist/assets/routes-Cly3ytK4.js +0 -24
- package/dist/assets/runtime-upgrade-banner-DC63rkQ7.js +0 -2
- package/dist/assets/sandbox-bridge-DSJSIgUC.js +0 -275
- package/dist/assets/schedules-BZzuRuQs.js +0 -1
- package/dist/assets/schedules-DVOFbt86.js +0 -1
- package/dist/assets/schedules-page-CjqAP78z.js +0 -1
- package/dist/assets/schemas-BNPZ_RzM.js +0 -39
- package/dist/assets/sdk.gen-BluU0h_N.js +0 -6
- package/dist/assets/sdk.gen-BuAyyHNm.js +0 -6
- package/dist/assets/sdk.gen-CrcsMCNX.js +0 -1
- package/dist/assets/search-DYHr3LM9.js +0 -1
- package/dist/assets/section-membership-Bma0R_Bn.js +0 -1
- package/dist/assets/security-redirect-page-C3VbbfyM.js +0 -1
- package/dist/assets/select-DmdFZj4l.js +0 -1
- package/dist/assets/select-assistant-screen-CV_3BKEH.js +0 -1
- package/dist/assets/self-hosted-servers-BMPYPayb.js +0 -1
- package/dist/assets/semver-CeGQrxWZ.js +0 -1
- package/dist/assets/send-1mFY4II3.js +0 -1
- package/dist/assets/setting-row-urcByt7n.js +0 -1
- package/dist/assets/settings-BggpKBtA.js +0 -3
- package/dist/assets/settings-C37vdp_B.js +0 -1
- package/dist/assets/settings-DSeJ7uGb.js +0 -3
- package/dist/assets/settings-divider-CYam_4yQ.js +0 -1
- package/dist/assets/settings-layout-CDRF6b06.js +0 -1
- package/dist/assets/settings-navigation-DyFIJJGF.js +0 -1
- package/dist/assets/share-feedback-modal-TnZsiNw9.js +0 -2
- package/dist/assets/shield-OLSnLaN7.js +0 -1
- package/dist/assets/shield-check-BuRfLkGi.js +0 -1
- package/dist/assets/sidebar-tree-Y1RDeJ9E.js +0 -1
- package/dist/assets/signup-page-DRzsOblS.js +0 -1
- package/dist/assets/signup-shell-DH0qR_2b.js +0 -1
- package/dist/assets/site-favicon-DLf2W4xi.js +0 -1
- package/dist/assets/skeleton-BV6nOVEl.js +0 -1
- package/dist/assets/skill-detail-page-3Wiz9A7q.js +0 -2
- package/dist/assets/skill-detail-panel-DbLFuSyn.js +0 -1
- package/dist/assets/skill-icon-D52BIuW4.js +0 -1
- package/dist/assets/skills-DASSBxT-.js +0 -1
- package/dist/assets/skills-page-DhKl7Mti.js +0 -1
- package/dist/assets/sliders-horizontal-BPa-_UE6.js +0 -1
- package/dist/assets/smartphone-P7vq0dcA.js +0 -1
- package/dist/assets/sound-manager-D8p3_c3W.js +0 -1
- package/dist/assets/sounds-page-CWBPL1YA.js +0 -1
- package/dist/assets/sparkles-D6kBPNlr.js +0 -1
- package/dist/assets/square-sQS2OW8v.js +0 -1
- package/dist/assets/src-BKET5Cno.js +0 -293
- package/dist/assets/star-C4JuiUip.js +0 -1
- package/dist/assets/start-screen-OMf-yHG3.js +0 -1
- package/dist/assets/status-badge-pill-MTA2Lfk-.js +0 -1
- package/dist/assets/stt-language-picker-modal-CmeO8yxD.js +0 -1
- package/dist/assets/subagent-detail-panel-CUW2rBET.js +0 -4
- package/dist/assets/subagent-store-BcbcFnS8.js +0 -3
- package/dist/assets/sun-Dtr03Yty.js +0 -1
- package/dist/assets/superpowers-page-CuvXfGPO.js +0 -1
- package/dist/assets/surface-parse-helpers-f-hT9LIR.js +0 -1
- package/dist/assets/swipe-action-reveal-BhA-hrfj.js +0 -1
- package/dist/assets/system-events-page-tEAEdDzA.js +0 -1
- package/dist/assets/system-events-redirect-page-BMSQQBAs.js +0 -1
- package/dist/assets/tag-DAsImP7W.js +0 -1
- package/dist/assets/target-zLlNzjMl.js +0 -1
- package/dist/assets/telegram-setup-wizard-BT6u6vcb.js +0 -1
- package/dist/assets/terminal-Bw8gHw-v.js +0 -1
- package/dist/assets/text-preview-qkra1xEh.js +0 -1
- package/dist/assets/theme-preferences-ysFQ1QCN.js +0 -1
- package/dist/assets/theme-stage-page-DiqUiOmJ.js +0 -1
- package/dist/assets/three-dot-indicator-rcDwZDFG.js +0 -1
- package/dist/assets/threshold-presets-DF7FTTlD.js +0 -1
- package/dist/assets/toast-BKrDuNtu.js +0 -1
- package/dist/assets/toggle-CdhdS_iC.js +0 -1
- package/dist/assets/tool-detail-panel-BR3PsmdK.js +0 -12
- package/dist/assets/transcript-message-body-shared-DWzxxSaD.js +0 -1
- package/dist/assets/trash-2-CVpEwOYZ.js +0 -1
- package/dist/assets/triangle-alert-B6J57Xfo.js +0 -1
- package/dist/assets/trust-rules-api-eZhPplXW.js +0 -1
- package/dist/assets/typed-storage-Bw4gW_Pk.js +0 -1
- package/dist/assets/typography-SdxpXI_m.js +0 -1
- package/dist/assets/upgrade-cancel-page-pljx8YOz.js +0 -1
- package/dist/assets/upgrade-success-page-CJUETwIe.js +0 -1
- package/dist/assets/upload-8ENnMpW_.js +0 -1
- package/dist/assets/usage-redirect-page-DBkOdl41.js +0 -1
- package/dist/assets/use-active-assistant-id-lxYJu99R.js +0 -1
- package/dist/assets/use-app-theme-CaWLhQW_.js +0 -1
- package/dist/assets/use-assistant-avatar-C2TgszRj.js +0 -1
- package/dist/assets/use-assistant-capability-De-35T6E.js +0 -1
- package/dist/assets/use-assistant-identity-details-rXIIiXr1.js +0 -1
- package/dist/assets/use-attachment-preview-BAX_ivri.js +0 -2
- package/dist/assets/use-attachment-squares-rU9s8st8.js +0 -1
- package/dist/assets/use-body-scroll-lock-8ObBdX00.js +0 -1
- package/dist/assets/use-bookmarks-BrjNq3T_.js +0 -1
- package/dist/assets/use-bundled-avatar-components-C6-AuQ2I.js +0 -2
- package/dist/assets/use-bus-subscription-DfxTm1-Q.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-CjgC7Pck.js +0 -1
- package/dist/assets/use-command-palette-sections-tRUwMswg.js +0 -1
- package/dist/assets/use-copy-to-clipboard-B4c7SAc-.js +0 -1
- package/dist/assets/use-discord-nudge-BkpFjoOQ.js +0 -1
- package/dist/assets/use-edge-swipe-CCn4_Vm3.js +0 -1
- package/dist/assets/use-edge-swipe-back-xU9GuipH.js +0 -2
- package/dist/assets/use-edit-app-DDA6_WrI.js +0 -1
- package/dist/assets/use-effective-timezone-BfyKw5_H.js +0 -1
- package/dist/assets/use-element-size-CVF6o81H.js +0 -1
- package/dist/assets/use-hotkey-recorder-IMOc7G5D.js +0 -1
- package/dist/assets/use-invite-link-dialog-CvA_-72H.js +0 -1
- package/dist/assets/use-is-mobile-DYVRtRin.js +0 -1
- package/dist/assets/use-is-org-ready-B6oCKWeF.js +0 -1
- package/dist/assets/use-local-file-info-CSgzMBYt.js +0 -1
- package/dist/assets/use-media-query-BMHGif0t.js +0 -1
- package/dist/assets/use-obscure-credits-flag-CWxw1xHq.js +0 -1
- package/dist/assets/use-onboarding-login-CJ6HY3Pk.js +0 -1
- package/dist/assets/use-platform-assistant-id-DwSyMaOn.js +0 -1
- package/dist/assets/use-platform-gate-s29eeyq-.js +0 -1
- package/dist/assets/use-reduced-motion-CVyEdyEe.js +0 -1
- package/dist/assets/use-return-to-short-circuit-Bx5s2Syg.js +0 -1
- package/dist/assets/use-save-twilio-credentials-Zjhi1c0P.js +0 -1
- package/dist/assets/use-side-list-room-BT-2EM5d.js +0 -1
- package/dist/assets/use-skill-actions-BtnAACsE.js +0 -1
- package/dist/assets/use-skill-detail-files-B_E6xY9x.js +0 -1
- package/dist/assets/use-sticky-profiles-DpkWeMmN.js +0 -1
- package/dist/assets/use-stt-language-selection-BWJdaCRu.js +0 -1
- package/dist/assets/use-subagent-card-data-CfuRPesp.js +0 -1
- package/dist/assets/use-supports-bookmarks-Qhc5HpKD.js +0 -1
- package/dist/assets/use-supports-credentials-settings-BD0GXxL7.js +0 -1
- package/dist/assets/use-supports-inference-profiles-DS2ZLoNc.js +0 -1
- package/dist/assets/use-swipe-horizontal-B9YOWcB6.js +0 -1
- package/dist/assets/use-touch-mobile-hfZPfT1P.js +0 -1
- package/dist/assets/use-transcript-message-by-id-DfWH7JRN.js +0 -1
- package/dist/assets/use-transcript-messages-CFkvE46_.js +0 -3
- package/dist/assets/use-truncated-blob-text-DmnckNwK.js +0 -1
- package/dist/assets/use-voice-sample-preview-B8HUywXz.js +0 -1
- package/dist/assets/useInfiniteQuery-Dz6qbDTQ.js +0 -1
- package/dist/assets/useMutation-Cl7cazkm.js +0 -1
- package/dist/assets/useQueries-RuiDsyUH.js +0 -1
- package/dist/assets/useQuery-BtL9k7Sh.js +0 -1
- package/dist/assets/user-DqmJs6-I.js +0 -1
- package/dist/assets/user-plus-Bg01QRAF.js +0 -1
- package/dist/assets/users-DLjK4Ffo.js +0 -1
- package/dist/assets/utils-CAI1IDgW.js +0 -1
- package/dist/assets/viewer-store-CHptQmkY.js +0 -1
- package/dist/assets/voice-input-device-DsSHVzmw.js +0 -1
- package/dist/assets/voice-page-Dgcf5OOp.js +0 -1
- package/dist/assets/voice-providers-note-nJKW4coW.js +0 -1
- package/dist/assets/volume-2-DQKLkySB.js +0 -1
- package/dist/assets/weather-forecast-display-_NYO0wBC.js +0 -1
- package/dist/assets/web-8Dh87AZ1.js +0 -1
- package/dist/assets/web-BAQ66WKm.js +0 -1
- package/dist/assets/web-BFD28UZm.js +0 -1
- package/dist/assets/web-BcIK5wrq.js +0 -1
- package/dist/assets/web-C_sL6qhW.js +0 -1
- package/dist/assets/web-D0e5_5xl.js +0 -1
- package/dist/assets/web-D4Rr20FV.js +0 -1
- package/dist/assets/web-iI5WHtNC.js +0 -1
- package/dist/assets/web-qqG-3jDd.js +0 -1
- package/dist/assets/welcome-screen-DK4_01J3.js +0 -1
- package/dist/assets/widget-snapshot-OH8xHYY2.js +0 -1
- package/dist/assets/workflow-detail-panel-TqYAg0bB.js +0 -1
- package/dist/assets/workflow-kvRB4Mc5.js +0 -1
- package/dist/assets/workflow-status-B_zEZCnR.js +0 -1
- package/dist/assets/workflow-store-DH4q15s9.js +0 -1
- package/dist/assets/workspace-page-Dbwb2RCx.js +0 -1
- package/dist/assets/workspace-path-links-Y-WgBhhL.js +0 -1
- package/dist/assets/workspace-theme-tokens-DmrDqHwx.js +0 -1
- package/dist/assets/workspace-tree-query-DnEMWZ1K.js +0 -1
- package/dist/assets/wrench-ajjC5omI.js +0 -1
- package/dist/assets/x-nhRPd-Mz.js +0 -1
- package/dist/assets/xterm-addon-fit-DIrY4yvs.js +0 -1
- package/dist/assets/zap-Db0KA7N4.js +0 -1
- /package/dist/assets/{account-Cs9SXbU1.js → account-B6zEi6O8.js} +0 -0
- /package/dist/assets/{account-DWeaNEN6.js → account-WSklJ2-s.js} +0 -0
- /package/dist/assets/{app-types-CpnkPGh8.js → app-types-BSxLQFrc.js} +0 -0
- /package/dist/assets/{credential-requests-D74qo-et.js → credential-requests-DQ9WS6Rl.js} +0 -0
- /package/dist/assets/{credential-requests-BsHMMFoG.js → credential-requests-DUwvVpZo.js} +0 -0
- /package/dist/assets/{definitions-BKQ6A5IV.js → definitions-BTBjNf1i.js} +0 -0
- /package/dist/assets/{definitions-Bi8Nex3B.js → definitions-Dz0UVs0Z.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-81v3IYMV.js → emoji-catalog-data-a3DXKyhe.js} +0 -0
- /package/dist/assets/{format-file-size-gDJ7ppQ0.js → format-file-size-BCpFMv3k.js} +0 -0
- /package/dist/assets/{home-C5CVL0Ta.js → home-BWUNWNMl.js} +0 -0
- /package/dist/assets/{home-QpGM3cDE.js → home-DJ6q91Qp.js} +0 -0
- /package/dist/assets/{library-mD_34-zu.js → library-Bu_eLt14.js} +0 -0
- /package/dist/assets/{library-a7r2rPRX.js → library-Diqzwx-J.js} +0 -0
- /package/dist/assets/{link-click-LjKsC7uu.js → link-click-DpfLT-iQ.js} +0 -0
- /package/dist/assets/{logs-DYhiKdQ8.js → logs-Bs19Ze4Q.js} +0 -0
- /package/dist/assets/{logs-CwEMxFk_.js → logs-FJQpRVDW.js} +0 -0
- /package/dist/assets/{machine-sizes-DOMlCbKb.js → machine-sizes-C3ptouhz.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-_Fbi43YU.js → onboarding-step-layout-BlSoa02H.js} +0 -0
- /package/dist/assets/{plugin-attribution-7tkVwdle.js → plugin-attribution-c6x0DrZM.js} +0 -0
- /package/dist/assets/{profile-metadata-BPGeIeNj.js → profile-metadata-Bk4pj7o_.js} +0 -0
- /package/dist/assets/{radio-card-nav-C67JvVkE.js → radio-card-nav-DlRweN3g.js} +0 -0
- /package/dist/assets/{remote-web-Btj-E-og.js → remote-web-9YsnKwue.js} +0 -0
- /package/dist/assets/{remote-web-yAGitwPt.js → remote-web-bapYzahN.js} +0 -0
- /package/dist/assets/{chunk-jRWAZmH_.js → rolldown-runtime-BM3Ffeng.js} +0 -0
- /package/dist/assets/{schedules-K8jULmC8.js → schedules-CYD1CzCP.js} +0 -0
- /package/dist/assets/{schedules-Dd44UKOx.js → schedules-DhwNRBkz.js} +0 -0
- /package/dist/assets/{terminal-CazBoirG.js → terminal-7pMYRiby.js} +0 -0
- /package/dist/assets/{terminal-DP646Xj3.js → terminal-BMbpDjYx.js} +0 -0
- /package/dist/assets/{src-CfUWwwYf.css → vendor-CfUWwwYf.css} +0 -0
- /package/dist/assets/{workspace-Dva7bu2g.js → workspace-BAHtR2RN.js} +0 -0
- /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,O as r,Un as i,Yn as a}from"./vendor-WUN87CSE.js";import{b as o,d as s,f as c,g as l,m as u,n as d,t as f}from"./react-DPM_L_aA.js";import{$t as p,Br as m,Fr as h,J as g,Jt as _,Rt as v,bn as y,ct as b,gr as x,jr as S,mn as C,qn as w,tn as T,x as E,zr as D}from"./icons-CSdHOix6.js";import{$ as O,$v as k,Co as A,Cy as j,Ds as M,Dy as N,Fa as P,Gv as F,Hs as ee,Hv as I,I as L,Ia as te,Ig as R,Ka as z,Kv as B,L as V,Lg as H,N as U,Ov as W,Q as G,R as ne,Rg as K,Sc as re,So as ie,Sy as q,Tv as ae,Ty as oe,Us as se,Vf as ce,Vs as le,Vu as ue,Wr as de,X_ as fe,_c as pe,_o as me,_u as he,ay as J,bn as ge,bo as _e,co as ve,dc as ye,dy as be,et as xe,fc as Se,fl as Ce,ft as we,fy as Te,gc as Ee,gi as De,go as Oe,gu as ke,hc as Ae,hi as je,hy as Me,ip as Ne,iy as Y,jg as Pe,jv as Fe,lc as Ie,ly as Le,mc as Re,nh as ze,ny as Be,pc as Ve,pp as He,uc as Ue,uv as We,vc as Ge,vi as Ke,vo as qe,vv as Je,vy as Ye,wy as X,xc as Xe,xo as Ze,xv as Qe,xy as $e,yc as et,yi as tt,yo as nt}from"./index-7XDiAJ-A.js";import{t as rt}from"./detail-card-BTciodin.js";import{n as it,r as at,t as ot}from"./use-side-list-room-DQbUPFcU.js";import{a as st,c as Z,i as ct,n as lt,o as ut,r as dt,s as ft,t as pt,u as mt}from"./use-invite-link-dialog-Ck-LquhT.js";import{t as ht}from"./use-platform-assistant-id-DcVWp7KY.js";import{t as gt}from"./environment-store-Cb7OK6xz.js";import{i as _t,r as vt}from"./service-form-controls-DNfWnjSp.js";var Q=e(o(),1);function yt(){let{channelId:e}=u(),t=c(),{search:n}=s();return{selected:e,select:(0,Q.useCallback)(e=>{t({pathname:`/assistant/channels/${encodeURIComponent(e)}`,search:n},{replace:!0})},[t,n])}}var $=f();function bt({channels:e,pluginChannels:t=[],selectedKey:n,onSelect:r}){return(0,$.jsx)(q.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,$.jsx)(q.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.map(e=>(0,$.jsx)(xt,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key)),t.map(e=>(0,$.jsx)(St,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key))]})})})}function xt({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=Ke(e.key),a=r?`Connected`:`Not connected`;return(0,$.jsx)(Be,{asChild:!0,active:t,"aria-label":`${i}, ${a}`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,$.jsx)(je,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,$.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,$.jsx)(Ye,{tone:r?`positive`:`neutral`,children:a})})]})})}function St({channel:e,selected:t,onClick:n}){let{t:i}=r(`channels`);return(0,$.jsx)(Be,{asChild:!0,active:t,"aria-label":i(`channelAdapterList.pluginChannelAria`,{channel:e.label}),children:(0,$.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,$.jsx)(De,{icon:e.icon,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:e.label}),(0,$.jsx)(b,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`})]})})}function Ct({icon:e,title:t,description:n,action:r,className:i}){return(0,$.jsxs)(`div`,{className:N(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,$.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,$.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,$.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,$.jsx)(`div`,{className:`mt-1`,children:r}):null]})}var wt={no_one:{labelKey:`channelTrustFloor.noOne.label`,descriptionKey:`channelTrustFloor.noOne.description`,confirm:{titleKey:`channelTrustFloor.noOne.confirmTitle`,messageKey:`channelTrustFloor.noOne.confirmMessage`,actionKey:`channelTrustFloor.noOne.confirmAction`,destructive:!0}},guardian_only:{labelKey:`channelTrustFloor.guardianOnly.label`,descriptionKey:`channelTrustFloor.guardianOnly.description`,confirm:void 0},trusted_contacts:{labelKey:`channelTrustFloor.trustedContacts.label`,descriptionKey:`channelTrustFloor.trustedContacts.description`,confirm:void 0},any_contact:{labelKey:`channelTrustFloor.anyContact.label`,descriptionKey:`channelTrustFloor.anyContact.description`,confirm:{titleKey:`channelTrustFloor.anyContact.confirmTitle`,messageKey:`channelTrustFloor.anyContact.confirmMessage`,actionKey:`channelTrustFloor.anyContact.confirmAction`,destructive:!1}},strangers:{labelKey:`channelTrustFloor.strangers.label`,descriptionKey:`channelTrustFloor.strangers.description`,confirm:{titleKey:`channelTrustFloor.strangers.confirmTitle`,messageKey:`channelTrustFloor.strangers.confirmMessage`,actionKey:`channelTrustFloor.strangers.confirmAction`,destructive:!0}}};function Tt({assistantDisplayName:e,policy:t,saving:n=!1,loading:i=!1,error:a=!1,onChange:o}){let{t:s}=r(`channels`),c=t??`trusted_contacts`,l=mt.map(t=>({value:t,label:s(wt[t].labelKey),tooltip:s(wt[t].descriptionKey,{assistant:e})})),[u,d]=(0,Q.useState)(null),f=u?wt[u].confirm:void 0;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(j,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:s(`channelTrustFloor.heading`,{assistant:e})}),i?(0,$.jsx)(j,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s(`channelTrustFloor.loading`)}):a?(0,$.jsx)(j,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:s(`channelTrustFloor.loadFailed`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{style:{maxWidth:280},children:(0,$.jsx)(k,{value:c,onChange:e=>{if(wt[e].confirm){d(e);return}o(e)},options:l,disabled:n,"aria-label":s(`channelTrustFloor.selectAria`,{assistant:e})})}),(0,$.jsx)(j,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s(wt[c].descriptionKey,{assistant:e})}),c===`trusted_contacts`?(0,$.jsx)($e,{tone:`info`,className:`max-w-lg`,children:s(`channelTrustFloor.trustedContactsNotice`,{assistant:e})}):null]}),(0,$.jsx)(Y,{open:u!==null,title:f?s(f.titleKey):``,message:f?s(f.messageKey):``,confirmLabel:s(f?f.actionKey:`channelTrustFloor.confirmFallback`),destructive:f?.destructive??!1,onConfirm:()=>{u&&o(u),d(null)},onCancel:()=>d(null)})]})}function Et({mode:e,onChange:t}){let{t:n}=r(`common`);return(0,$.jsx)(`div`,{className:`max-w-[280px]`,children:(0,$.jsx)(Le,{ariaLabel:n(`serviceCard.modeToggleAriaLabel`),value:e,onChange:t,items:[{value:`managed`,label:n(`serviceCard.managedLabel`)},{value:`your-own`,label:n(`serviceCard.yourOwnLabel`)}]})})}function Dt({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,$.jsxs)(rt,{id:e,title:t,subtitle:n,accessory:(0,$.jsx)(Et,{mode:r,onChange:i}),children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:a})]})}function Ot(e,t){return e===`managed`||e===`your-own`?e:t}function kt({subdomain:e,onSubdomainChange:t,domainSuffix:n,subdomainPlaceholder:i=`my-assistant`,disabled:a,autoFocus:o,prefix:s,error:c,locked:l,lockedMessage:u}){let{t:d}=r(`settings`);return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${c?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[s,(0,$.jsx)(`input`,{value:e,onChange:e=>t(e.target.value.toLowerCase().trim()),disabled:a||l,readOnly:l,autoFocus:o,placeholder:i,"aria-label":d(`domainField.subdomainAriaLabel`),"aria-invalid":!!c,className:`h-full min-w-0 flex-1 bg-transparent ${s?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,n]})]}),c&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:c}),l&&u&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:u})]})}function At({status:e,isLoading:t}){let{t:n}=r(`common`);return t?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,$.jsx)(T,{className:`h-3 w-3 animate-spin`}),n(`domainVerificationChip.checkingDomain`)]}):!e||e===`unknown`?(0,$.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:n(`domainVerificationChip.unknownStatusTitle`),children:n(`domainVerificationChip.unknownStatus`)}):e===`verified`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:n(`domainVerificationChip.verifiedTitle`),children:[(0,$.jsx)(m,{className:`h-3 w-3`}),n(`domainVerificationChip.domainVerified`)]}):e===`pending`||e===`not_started`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:n(`domainVerificationChip.verifyingTitle`),children:[(0,$.jsx)(x,{className:`h-3 w-3`}),n(`domainVerificationChip.verifyingDomain`)]}):(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:n(`domainVerificationChip.failedTitle`),children:[(0,$.jsx)(h,{className:`h-3 w-3`}),n(`domainVerificationChip.verificationFailed`)]})}var jt=`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`;function Mt({assistantId:e,assistantHandle:o,emailRootDomain:s}){let{t:u}=r(`channels`),d=a(),f=c(),[p,m]=l(),[h,g]=(0,Q.useState)(``),[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(``),[w,D]=(0,Q.useState)(null),[O,k]=(0,Q.useState)(!1),[A,j]=(0,Q.useState)(!1),[M,N]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{v||!o||h||(g(o),y(!0))},[o,v,h]);let P=n({...Ce(),enabled:!0}),F=P.data,ee=F?.entitlements,I=ee?.managed_email===!0,L=!!ee&&!I,te=!F&&P.isError&&!P.isFetching,R=n({...ye({path:{assistant_id:e}}),enabled:!L}),z=n({...Ee({path:{assistant_id:e}}),enabled:!L}),B=R.data?.results?.[0],V=z.data?.results?.[0],H=B?`${B.subdomain}.${s}`:null,U=n({...Ge({path:{assistant_id:e,id:V?.id??``}}),enabled:!!V?.id,refetchOnWindowFocus:!1}),W=n({...Ve({path:{assistant_id:e,id:B?.id??``}}),enabled:!!B?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,Q.useEffect)(()=>{p.get(`release`)!==`1`||!B||V||(j(!0),m(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[V,B,p,m]);let G=i(Ie()),ne=i(Ue()),K=i(Re()),ie=i(Ae()),q=(0,Q.useCallback)(()=>{let t={assistant_id:e};d.invalidateQueries({queryKey:Se({path:t})}),d.invalidateQueries({queryKey:pe({path:t})}),V?.id&&d.invalidateQueries({queryKey:et({path:{...t,id:V.id}})}),d.invalidateQueries({queryKey:re()})},[V?.id,e,d]),oe=(0,Q.useCallback)(async()=>{let t=h.trim().toLowerCase();if(!t){x(u(`emailManagedContent.enterSubdomainError`));return}k(!1);try{await G.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),g(``),x(null),q(),J.success(u(`emailManagedContent.domainRegisteredToast`,{domain:`${t}.${s}`}))}catch(e){x(ae(e,void 0,u(`emailManagedContent.registerDomainFailedFallback`)))}},[e,s,q,G,h,u]),se=(0,Q.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){D(u(`emailManagedContent.enterUsernameError`));return}try{await K.mutateAsync({path:{assistant_id:e},body:{username:t}}),C(``),D(null),q(),J.success(u(`emailManagedContent.emailCreatedToast`))}catch(e){D(ae(e,void 0,u(`emailManagedContent.createEmailFailedFallback`)))}},[e,q,K,S,u]),ce=(0,Q.useCallback)(async()=>{if(V?.id){N(!1);try{await ie.mutateAsync({path:{assistant_id:e,id:V.id}}),q(),J.success(u(`emailManagedContent.emailRemovedToast`))}catch(e){Je(e,{context:`email_address_delete`}),J.error(u(`emailManagedContent.emailRemoveFailedToast`))}}},[V?.id,e,ie,q,u]),le=(0,Q.useCallback)(async()=>{if(!B?.id)return;if(V){J.error(u(`emailManagedContent.removeAddressFirstToast`));return}j(!1);let t=B.subdomain;try{await ne.mutateAsync({path:{assistant_id:e,id:B.id}}),g(t),q(),J.success(u(`emailManagedContent.domainReleasedToast`))}catch(e){Je(e,{context:`email_domain_release`}),J.error(u(`emailManagedContent.domainReleaseFailedToast`))}},[V,e,ne,B?.id,B?.subdomain,q,u]);if(P.isLoading)return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(T,{className:`h-4 w-4 animate-spin`}),u(`emailManagedContent.checkingSubscription`)]});if(L)return(0,$.jsx)($e,{tone:`info`,icon:(0,$.jsx)(_,{className:`h-4 w-4`,"aria-hidden":!0}),title:u(`emailManagedContent.upgradeNoticeTitle`),actions:(0,$.jsx)(X,{size:`compact`,onClick:()=>f(We.plans),children:u(`emailManagedContent.upgradeButton`)}),children:u(`emailManagedContent.upgradeNoticeBody`)});let ue=te?(0,$.jsx)($e,{tone:`warning`,title:u(`emailManagedContent.subscriptionWarningTitle`),actions:(0,$.jsx)(X,{size:`compact`,variant:`outlined`,onClick:()=>P.refetch(),children:u(`emailManagedContent.retry`)}),children:u(`emailManagedContent.subscriptionWarningBody`)}):null;return B?V?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[ue,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.addressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:V.address}),(0,$.jsx)(At,{status:W.data?.status,isLoading:W.isLoading}),(0,$.jsx)(X,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(E,{}),onClick:()=>N(!0),disabled:ie.isPending,"aria-label":u(`emailManagedContent.removeEmailAriaLabel`)})]}),(0,$.jsx)(Y,{open:M,title:u(`emailManagedContent.removeEmailTitle`),message:(0,$.jsx)(t,{i18nKey:`emailManagedContent.removeEmailConfirmMessage`,ns:`channels`,values:{address:V.address},components:{code:(0,$.jsx)(`code`,{className:jt})}}),confirmLabel:u(`emailManagedContent.removeConfirm`),destructive:!0,onConfirm:ce,onCancel:()=>N(!1)})]}),U.data?.usage&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.usageSummary`,{sent:U.data.usage.sent_today,limit:U.data.usage.daily_limit,received:U.data.usage.received_today})})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[ue,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.domainLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[B.subdomain,`.`,s]}),(0,$.jsx)(At,{status:W.data?.status,isLoading:W.isLoading}),(0,$.jsx)(X,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(E,{}),onClick:()=>j(!0),disabled:ne.isPending,"aria-label":u(`emailManagedContent.releaseDomainAriaLabel`)})]}),(0,$.jsx)(Y,{open:A,title:u(`emailManagedContent.releaseDomainTitle`),message:(0,$.jsx)(t,{i18nKey:`emailManagedContent.releaseDomainConfirmMessage`,ns:`channels`,values:{domain:`${B.subdomain}.${s}`},components:{code:(0,$.jsx)(`code`,{className:jt})}}),confirmLabel:u(`emailManagedContent.releaseConfirm`),destructive:!0,onConfirm:le,onCancel:()=>j(!1)})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.emailAddressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${w?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,$.jsx)(`input`,{value:S,onChange:e=>{C(e.target.value.toLowerCase()),w&&D(null)},placeholder:u(`emailManagedContent.emailUsernamePlaceholder`),"aria-label":u(`emailManagedContent.emailUsernameAriaLabel`),"aria-invalid":!!w,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,H]})]}),(0,$.jsx)(X,{onClick:se,disabled:K.isPending||!S.trim(),children:K.isPending?u(`emailManagedContent.creating`):u(`emailManagedContent.create`)})]}),w&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:w})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[ue,(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.subdomainLabel`)}),(0,$.jsx)(kt,{subdomain:h,onSubdomainChange:e=>{g(e),b&&x(null)},domainSuffix:s,subdomainPlaceholder:u(`emailManagedContent.subdomainExamplePlaceholder`),error:b}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.subdomainHint`)}),(0,$.jsx)(X,{onClick:()=>k(!0),disabled:G.isPending||!h.trim(),children:G.isPending?u(`emailManagedContent.registering`):u(`emailManagedContent.register`)}),(0,$.jsx)(Y,{open:O,title:u(`emailManagedContent.setSubdomainTitle`),message:(0,$.jsx)(t,{i18nKey:`emailManagedContent.setSubdomainConfirmMessage`,ns:`channels`,values:{subdomain:h.trim().toLowerCase()||u(`emailManagedContent.subdomainFallback`)},components:{code:(0,$.jsx)(`code`,{className:jt})}}),confirmLabel:u(`emailManagedContent.confirm`),onConfirm:oe,onCancel:()=>k(!1)})]})}function Nt(){let{t:e}=r(`channels`),i=we(),a=Ne(),{data:o}=n({...Xe(),enabled:a}),s=o?.results?.[0]?.handle,c=gt.use.emailRootDomain(),l=ce(),[u,d]=(0,Q.useState)(()=>l===`gated`?`your-own`:Ot(W(te,`managed`),`managed`)),[f,p]=(0,Q.useState)(()=>{let e=W(P,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),{platformAssistantId:m,error:h}=ht(i,l===`full`&&u===`managed`),g=m??(h?i:null),_=n({queryKey:[`byoEmailCredential`,i,f],queryFn:async()=>{let{data:e}=await ze({path:{assistant_id:i},body:{service:f,field:`api_key`},throwOnError:!0});return e},enabled:u===`your-own`||l===`gated`,staleTime:6e4,retry:Qe,meta:{errorContext:`byo_email_credential_check`}});(0,Q.useEffect)(()=>{_.error&&Je(_.error,{context:`byo_email_credential_check`,bestEffort:!0})},[_.error]);let v=_.data?.hasSecret===!0,y=(0,Q.useCallback)(e=>{d(e),Fe(te,e)},[]),b=(0,Q.useCallback)(()=>{Fe(P,f),J.success(e(`emailChannelSection.saveSuccessToast`))},[f,e]),x=(0,Q.useMemo)(()=>z.find(e=>e.id===f)??z[0],[f]),E=(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(C,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:(0,$.jsx)(t,{i18nKey:`emailChannelSection.setupInstructions`,ns:`channels`,values:{providerName:x.displayName,setupSkill:x.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})}),(0,$.jsxs)(`a`,{href:x.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailChannelSection.openProvider`,{providerName:x.displayName}),(0,$.jsx)(w,{className:`h-3 w-3`})]})]})]}),D=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`emailChannelSection.providerLabel`)}),(0,$.jsx)(k,{value:f,onChange:e=>{(e===`mailgun`||e===`resend`)&&p(e)},options:z.map(e=>({value:e.id,label:e.displayName}))})]}),v?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,$.jsx)(S,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsx)(`span`,{children:(0,$.jsx)(t,{i18nKey:`emailChannelSection.apiKeyConfigured`,ns:`channels`,values:{providerName:x.displayName,setupSkill:x.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})})]}),(0,$.jsxs)(`a`,{href:x.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailChannelSection.openProvider`,{providerName:x.displayName}),(0,$.jsx)(w,{className:`h-3 w-3`})]})]}):E,(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(vt,{onClick:b,disabled:!1})})]});return l===`gated`?(0,$.jsx)(_t,{id:`email`,title:e(`emailChannelSection.title`),subtitle:e(`emailChannelSection.subtitle`),children:D}):(0,$.jsx)(Dt,{id:`email`,title:e(`emailChannelSection.title`),subtitle:e(`emailChannelSection.subtitle`),mode:u,onModeChange:y,children:u===`managed`?(0,$.jsx)(`div`,{className:`space-y-4`,children:l===`disabled`?(0,$.jsx)(ge,{children:e(`emailChannelSection.platformLoginNotice`)}):g===null?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(T,{className:`h-4 w-4 animate-spin`}),e(`emailChannelSection.connecting`)]}):(0,$.jsx)(Mt,{assistantId:g,assistantHandle:s,emailRootDomain:c})}):D})}function Pt({health:e}){let{Icon:t,label:n,tone:r}=tt(e);return(0,$.jsx)(Ye,{tone:r,leftIcon:(0,$.jsx)(t,{}),children:n})}function Ft({address:e,health:t,pending:n,onDisconnect:i}){let{t:a}=r(`channels`);return(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(Pt,{health:t}),e?(0,$.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,$.jsx)(`div`,{className:`ml-auto`,children:(0,$.jsx)(X,{type:`button`,variant:`danger`,onClick:i,disabled:!i||n,children:a(n?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}function It({children:e}){let{t}=r(`channels`);return(0,$.jsxs)(q.Root,{children:[(0,$.jsx)(q.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`img`,{src:de(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,$.jsx)(j,{as:`span`,variant:`body-medium-default`,children:t(`slackChannelCard.setupHeading`)})]})}),(0,$.jsx)(q.Body,{children:e})]})}G.map(e=>e.riskThreshold);var Lt=[`none`,`low`];function Rt(e){if(e!==void 0)return e===`none`?`none`:`low`}var zt={none:{label:O(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:O(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:O(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:O(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Bt=[`trusted_contact`,`unverified_contact`,`unknown`];function Vt(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function Ht(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Ut(e,t,n){let r;for(let i of e)Ht(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var Wt=`__default__`;function Gt({color:e}){return(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Kt({tier:e,defaultTier:t,disabled:n,onTierChange:i,onReset:a,"aria-label":o}){let{t:s}=r(`channels`),c=Rt(e??t??void 0),l=Rt(t??void 0)??null,u=Lt.map(e=>({value:e,label:zt[e].label,icon:(0,$.jsx)(Gt,{color:zt[e].dotColor}),suffix:e===l?(0,$.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:s(`tierPicker.defaultSuffix`)}):void 0,tooltip:zt[e].sublabel}));return u.unshift({value:Wt,label:`Default`,icon:(0,$.jsx)(Gt,{color:`transparent`}),tooltip:`follows the default level`}),(0,$.jsx)(k,{value:c??``,onChange:e=>{e===Wt||e===l?a():i(e)},options:u,placeholder:s(`tierPicker.defaultPlaceholder`),disabled:n,size:`compact`,menuAlign:`end`,"aria-label":o})}function qt(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Jt(e){return e.filter(e=>qt(e)!==`dm`)}function Yt(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||qt(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Xt(e){let t={public:0,private:0,dm:0};for(let n of e)t[qt(n)]+=1;return t}function Zt(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var Qt=[{value:null,labelKey:`slackChannelList.filterAll`},{value:`public`,labelKey:`slackChannelList.filterPublic`},{value:`private`,labelKey:`slackChannelList.filterPrivate`}],$t={public:y,private:p},en=100,tn=new Set;function nn({assistantDisplayName:e,slackHandle:n,channels:i,loading:a=!1,error:o=!1,tierOverrides:s,defaultTier:c=null,accessControlsSupported:l=!0,tierOverridesLoading:u=!1,tierOverridesError:d=!1,pendingChannelIds:f=tn,onTierChange:p,onTierReset:m}){let{t:h}=r(`channels`),[_,v]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(null),S=(0,Q.useMemo)(()=>Jt(i??[]),[i]),C=(0,Q.useMemo)(()=>Yt(S,_,b),[S,_,b]),w=(0,Q.useMemo)(()=>Xt(S),[S]);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,$.jsx)(j,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,$.jsx)(t,{i18nKey:`slackChannelList.presenceHint`,ns:`channels`,values:{handle:n??`@${e}`,assistant:e},components:{invite:(0,$.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`}),remove:(0,$.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`})}})}),a?(0,$.jsx)(j,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.loading`)}):o?(0,$.jsx)(j,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:h(`slackChannelList.loadFailed`)}):S.length===0?(0,$.jsx)(Ct,{icon:(0,$.jsx)(y,{className:`h-6 w-6`}),title:h(`slackChannelList.emptyTitle`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,$.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,$.jsx)(Me,{type:`search`,value:_,onChange:e=>v(e.target.value),placeholder:h(`slackChannelList.searchPlaceholder`),"aria-label":h(`slackChannelList.searchAria`),leftIcon:(0,$.jsx)(g,{className:`h-4 w-4`}),fullWidth:!0})}),(0,$.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":h(`slackChannelList.filterGroupAria`),children:Qt.map(({value:e,labelKey:t})=>{let n=b===e,r=e===null?S.length:w[e];return(0,$.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>x(e),className:N(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:h(t,{count:r})},e??`all`)})})]}),C.length===0?(0,$.jsx)(j,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.noMatches`)}):C.length>en?(0,$.jsx)(`div`,{className:`h-96`,children:(0,$.jsx)(B,{items:C,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,$.jsx)(rn,{channel:t,pending:f.has(t.id),overridesLoading:u,overridesError:d,defaultTier:c,accessControls:l,tierOverride:s?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,$.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:C.map(e=>(0,$.jsx)(rn,{channel:e,pending:f.has(e.id),overridesLoading:u,overridesError:d,defaultTier:c,accessControls:l,tierOverride:s?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function rn({channel:e,pending:t,overridesLoading:n,overridesError:i,defaultTier:a,accessControls:o,tierOverride:s,onTierChange:c,onReset:l}){let{t:u}=r(`channels`),d=qt(e);if(d===`dm`)return null;let f=$t[d],p=Zt(e),m=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return o?(0,$.jsx)(I,{className:m,leading:(0,$.jsx)(f,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:p??void 0,trailing:(0,$.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,$.jsx)(Kt,{tier:s,defaultTier:a,disabled:t||n||i,onTierChange:c,onReset:l,"aria-label":u(`slackChannelList.accessAria`,{channel:e.name})})})}):(0,$.jsx)(I,{className:m,leading:(0,$.jsx)(f,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:p==null?void 0:(0,$.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:p})})}function an(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function on({defaultTier:e}){let{t}=r(`channels`),n=Rt(e??void 0)??null;return(0,$.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,$.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...Lt].reverse().map(e=>{let r=zt[e];return(0,$.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Gt,{color:r.dotColor}),(0,$.jsx)(j,{as:`span`,variant:`body-small-emphasised`,children:r.label}),e===n?(0,$.jsx)(j,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:t(`slackChannelTierLegend.defaultMarker`)}):null]}),(0,$.jsx)(j,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:an(e)})]},e)})})})}var sn=[{bucket:`channels`,icon:y,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:v,title:`Direct messages`,description:`One-on-one DMs`}];function cn({assistantName:e,globalDefaultTier:n,bucketTiers:i,loading:a,error:o,pendingBuckets:s,onBucketChange:c,onBucketReset:l}){let{t:u}=r(`channels`);return(0,$.jsxs)(q.Root,{children:[(0,$.jsx)(q.Header,{children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[u(`slackChannelTypeDefaults.heading`),(0,$.jsx)(j,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,$.jsx)(t,{i18nKey:`slackChannelTypeDefaults.subtitle`,ns:`channels`,values:{assistant:e},components:{trustRules:(0,$.jsx)(d,{to:We.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`})}})})]})}),(0,$.jsx)(q.Body,{className:`py-1`,children:sn.map(({bucket:e,icon:t,title:r,description:d})=>{let f=e===`dm`?i?.channels??n:n;return(0,$.jsx)(I,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,$.jsx)(t,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:r,subtitle:d,trailing:(0,$.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,$.jsx)(Kt,{tier:i?.[e],defaultTier:f,disabled:a||o||s.has(e),onTierChange:t=>c(e,t),onReset:()=>l(e),"aria-label":u(`slackChannelTypeDefaults.bucketAria`,{bucket:r})})})},e)})}),(0,$.jsx)(q.Footer,{className:`p-0`,children:(0,$.jsx)(on,{defaultTier:n})})]})}var ln=`0.11.0`;function un(){return He(ln)}var dn=new Set([404,501]);function fn(e){let t=ke(e);return t!==void 0&&dn.has(t)}function pn(e,t,n){return Bt.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function mn(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function hn(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function gn(e,t,n){let r=hn(e,t);return Bt.map(e=>({selector:r,contactType:e,threshold:n}))}function _n({assistantId:e,adapter:t}){let r=a(),o=un()&&!!e,s=(0,Q.useMemo)(()=>({path:{assistant_id:e}}),[e]),c=(0,Q.useMemo)(()=>A(s),[s]),l=(0,Q.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=n({...ie(s),enabled:o}),d=u.data?.cells,f=(0,Q.useMemo)(()=>d?Vt(d,t):void 0,[d,t]),p=(0,Q.useMemo)(()=>d?{channels:Ut(d,t,`channels`),dm:Ut(d,t,`dm`)}:void 0,[d,t]),m=n({queryKey:l,queryFn:async()=>{let{data:e}=await K({...s,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:o,retry:!1,staleTime:3e4}),h=(e,t)=>{let n=r.getQueryData(c),i=Date.now();return r.setQueryData(c,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:n}},g=i({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(pn(t,e,n).map(e=>H({...s,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>h(n=>mn(n,t,e),pn(t,e,n)),onError:(e,t,n)=>{r.setQueryData(c,n?.previous),Z(`Failed to save channel settings`)(e)},onSettled:()=>r.invalidateQueries({queryKey:c})}),_=i({mutationFn:async({channelExternalId:e})=>{await Promise.all(Bt.map(n=>R({...s,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>h(n=>mn(n,t,e),[]),onError:(e,t,n)=>{r.setQueryData(c,n?.previous),Z(`Failed to reset channel settings`)(e)},onSettled:()=>r.invalidateQueries({queryKey:c})}),v=i({mutationFn:async({bucket:e,tier:n})=>{await Promise.all(gn(t,e,n).map(e=>H({...s,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>h(n=>Ht(n,t,e),gn(t,e,n)),onError:(e,t,n)=>{r.setQueryData(c,n?.previous),Z(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:n})=>{r.invalidateQueries({queryKey:c}),n===`channels`&&r.invalidateQueries({queryKey:l})}}),y=i({mutationFn:async({bucket:e})=>{let n=hn(t,e);await Promise.all(Bt.map(e=>R({...s,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>h(n=>Ht(n,t,e),[]),onError:(e,t,n)=>{r.setQueryData(c,n?.previous),Z(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:n})=>{r.invalidateQueries({queryKey:c}),n===`channels`&&r.invalidateQueries({queryKey:l})}}),b=(0,Q.useMemo)(()=>{let e=new Set;return g.isPending&&g.variables&&e.add(g.variables.channelExternalId),_.isPending&&_.variables&&e.add(_.variables.channelExternalId),e},[g.isPending,g.variables,_.isPending,_.variables]),x=(0,Q.useMemo)(()=>{let e=new Set;return v.isPending&&v.variables&&e.add(v.variables.bucket),y.isPending&&y.variables&&e.add(y.variables.bucket),e},[v.isPending,v.variables,y.isPending,y.variables]);return!o||u.isError&&fn(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:m.data,bucketTiers:p,pendingChannelIds:b,pendingBuckets:x,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>g.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&_.mutate({channelExternalId:e})},onBucketChange:(e,t)=>v.mutate({bucket:e,tier:t}),onBucketReset:e=>{p?.[e]!==void 0&&y.mutate({bucket:e})}}}function vn({assistantId:e,assistantDisplayName:t,slackHandle:i}){let{t:a}=r(`channels`),o=n({...U(e),enabled:!!e,select:e=>e.channels}),s=_n({assistantId:e,adapter:`slack`}),c=n({queryKey:[`thresholds`,e],queryFn:()=>xe(e),enabled:s.supported&&!!e,staleTime:3e4}).data?.interactive??null,l=s.defaultCellTier===void 0?null:s.defaultCellTier??c,u=(0,$.jsx)(nn,{assistantDisplayName:t,slackHandle:i,accessControlsSupported:s.supported,defaultTier:l,channels:o.data,loading:o.isPending,error:o.isError,tierOverrides:s.tierOverrides,tierOverridesLoading:s.isLoading,tierOverridesError:s.isError,pendingChannelIds:s.pendingChannelIds,onTierChange:s.onTierChange,onTierReset:s.onTierReset});return!s.supported||!s.onBucketChange||!s.onBucketReset?(0,$.jsx)(q.Root,{noPadding:!0,clipContents:!0,children:u}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[s.isError?(0,$.jsx)($e,{tone:`error`,children:a(`slackChannelSection.overridesLoadFailed`)}):null,(0,$.jsx)(cn,{assistantName:t,globalDefaultTier:c,bucketTiers:s.bucketTiers,loading:s.isLoading,error:s.isError,pendingBuckets:s.pendingBuckets,onBucketChange:s.onBucketChange,onBucketReset:s.onBucketReset}),(0,$.jsx)(q.Root,{noPadding:!0,clipContents:!0,children:(0,$.jsx)(F.Root,{type:`single`,collapsible:!0,children:(0,$.jsxs)(F.Item,{value:`per-channel-overrides`,children:[(0,$.jsxs)(F.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,$.jsx)(j,{as:`span`,variant:`body-small-emphasised`,children:a(`slackChannelSection.perChannelOverrides`)}),(0,$.jsx)(D,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,$.jsx)(F.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:u})]})})})]})}function yn({slackHandle:e,health:t,disconnectPending:n=!1,onDisconnect:i,children:a}){let{t:o}=r(`channels`);return(0,$.jsxs)(q.Root,{children:[(0,$.jsx)(q.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`img`,{src:de(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,$.jsx)(j,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,$.jsx)(Pt,{health:t}),(0,$.jsx)(`div`,{className:`ml-auto`,children:(0,$.jsx)(X,{type:`button`,variant:`ghost`,onClick:i,disabled:!i||n,children:o(n?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}),(0,$.jsx)(q.Body,{children:a})]})}function bn({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){let{t:i}=r(`channels`);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsx)(j,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:i(`slackThreadBehavior.heading`)}),(0,$.jsxs)(Te,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":i(`slackThreadBehavior.selectAria`),children:[(0,$.jsx)(be,{value:`mention_only`,label:i(`slackThreadBehavior.mentionsOnly`),helperText:i(`slackThreadBehavior.mentionsOnlyHelp`)}),(0,$.jsx)(be,{value:`mention_then_thread`,label:i(`slackThreadBehavior.followThreads`),helperText:i(`slackThreadBehavior.followThreadsHelp`)})]})]})}function xn({onSave:e}){let{t}=r(`channels`),[n,i]=(0,Q.useState)(``),[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(null),d=n.trim().length>0&&a.trim().length>0&&!s;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsx)(Me,{label:t(`twilioCredentialEntry.accountSid`),type:`text`,value:n,onChange:e=>i(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:s,fullWidth:!0}),(0,$.jsx)(Me,{label:t(`twilioCredentialEntry.authToken`),type:`password`,value:a,onChange:e=>o(e.target.value),placeholder:t(`twilioCredentialEntry.authTokenPlaceholder`),disabled:s,fullWidth:!0}),l?(0,$.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:l}):null,(0,$.jsx)(`div`,{children:(0,$.jsx)(X,{type:`button`,onClick:async()=>{if(!(!e||!d)){c(!0),u(null);try{await e(n.trim(),a.trim()),i(``),o(``)}catch(e){u(e instanceof Error?e.message:`Failed to save`)}finally{c(!1)}}},disabled:!d,children:t(s?`twilioCredentialEntry.saving`:`twilioCredentialEntry.save`)})})]})}function Sn({channel:e,assistantId:t,assistantName:n,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,telegramSaveStatus:u,telegramSaveError:d,onSaveDiscordToken:f,discordSaveStatus:p,discordSaveError:m=null,discordInviteUrl:h,onSaveSlackConfig:g,slackSaveStatus:_,slackSaveError:v,slackThreadMode:y,slackThreadModePending:b=!1,onSlackThreadModeChange:x,onSaveTwilioCredentials:S,policy:C,policySaving:w=!1,policyLoading:T=!1,policyError:E=!1,onPolicyChange:D}){let{t:O}=r(`channels`),k=e.status===`incomplete`,[A,j]=(0,Q.useState)(o),M=e.key===`discord`&&A&&p===`success`,N=e.configured&&!M;if(e.key===`email`)return(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,$.jsx)(Nt,{}),N&&D?(0,$.jsx)(rt,{children:(0,$.jsx)(Tt,{assistantDisplayName:i,policy:C,saving:w,loading:T,error:E,onChange:D})}):null]});if(e.key===`slack`)return(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[N?(0,$.jsx)(yn,{slackHandle:e.address,health:e.health,disconnectPending:a,onDisconnect:c,children:(0,$.jsx)(bn,{threadMode:y,threadModePending:b,onThreadModeChange:x})}):(0,$.jsx)(It,{children:(0,$.jsx)(ne,{assistantName:n,onSave:g,saveStatus:_,saveError:v})}),N?(0,$.jsx)(vn,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null]});let P=se[e.key];return(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:N?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ft,{health:e.health,address:e.address,pending:a,onDisconnect:c}),P.hasTrustFloorControl&&D?(0,$.jsx)(Tt,{assistantDisplayName:i,policy:C,saving:w,loading:T,error:E,onChange:D}):null]}):A&&e.canManualEntry&&P.credentialForm?(e=>{switch(e){case`slack-wizard`:return null;case`telegram-token`:return(0,$.jsx)(L,{assistantName:n,saveStatus:u,saveError:d,onSave:l});case`discord-token`:return(0,$.jsx)(V,{saveStatus:p,saveError:m,onSave:f,...h?{inviteUrl:h}:{}});case`twilio-credentials`:return(0,$.jsx)(xn,{onSave:S});default:return e}})(P.credentialForm):(0,$.jsx)(Ct,{icon:(0,$.jsx)(je,{channelId:e.key,className:`h-6 w-6`}),title:O(k?`channelPanel.incompleteTitle`:`channelPanel.disconnectedTitle`,{channel:Ke(e.key)}),description:k?e.warning??O(`channelPanel.incompleteDescription`,{channel:Ke(e.key)}):P.disconnectedPitchKey?O(P.disconnectedPitchKey,{assistant:i}):void 0,action:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,$.jsx)(X,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:O(a?`channelPanel.opening`:k?`channelPanel.finishSetup`:`channelPanel.setUp`)}),e.canManualEntry&&P.credentialForm?(0,$.jsx)(X,{type:`button`,variant:`link`,onClick:()=>j(!0),children:O(`channelPanel.connectManually`)}):null]})})})}var Cn=new Set([404,501]),wn=new Set([401,403]);function Tn(e){let t=ke(e);return t!==void 0&&Cn.has(t)?`unsupported`:t!==void 0&&wn.has(t)?`forbidden`:`unreadable`}function En(e,t,n){let r=e===`unreadable`?t:n;return r?r instanceof Error&&r.message?r.message:`Something went wrong`:null}function Dn(e,t){let r=a(),o={assistant_id:e},s=n({...nt({path:o}),enabled:!!e,retry:he}),c=()=>r.invalidateQueries({queryKey:_e({path:o})}),l=i({...qe(),onSuccess:c}),u=i({...Ze(),onSuccess:c}),d=s.data?.sources?.find(e=>e.source===t),f;f=s.isError?Tn(s.error):s.isPending?`loading`:d?d.state:`none`;let p=En(f,s.error,l.error??u.error);return{status:f,paths:d?.routes?.map(e=>({path:e.publicPath,approvalGoverned:e.signer!==`vellum`,deliversInbound:e.deliversInbound===!0}))??[],deciding:l.isPending||u.isPending,approve:()=>{d?.digest&&l.mutate({path:{...o,source:t},body:{digest:d.digest}})},revoke:()=>u.mutate({path:{...o,source:t}}),error:p}}var On=`plugin`;function kn(e){let t=a(),r=st(),o=(0,Q.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,Q.useMemo)(()=>me(o),[o]),c=n({...Oe(o),enabled:r&&!!e,select:ft}),l=i({mutationFn:t=>ut(e,On,t),onSuccess:()=>t.invalidateQueries({queryKey:s}),onError:Z(`Failed to save channel policy`)}),u=(0,Q.useCallback)(e=>{l.mutate(e)},[l]);return r?{policy:c.data?.find(e=>e.channelType===On)?.policy,isLoading:c.isPending,isError:c.isError,isSaving:l.isPending,onChange:u}:{policy:void 0,isLoading:!1,isError:!1,isSaving:!1,onChange:void 0}}function An({channel:e,assistantId:t,assistantDisplayName:n}){let{t:i}=r(`channels`),a=c(),o=Dn(t,e.plugin),s=kn(t);return(0,$.jsxs)(`div`,{className:`relative flex flex-col items-center gap-3 py-10 text-center`,children:[(0,$.jsx)(X,{className:`absolute top-0 right-0`,variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(b,{}),tooltip:i(`pluginChannelPanel.navigateToPluginPage`),"aria-label":i(`pluginChannelPanel.navigateToPluginPage`),onClick:()=>a(`/assistant/plugins/${e.plugin}`)}),(0,$.jsx)(De,{icon:e.icon,className:`h-8 w-8 text-[color:var(--content-secondary)]`}),(0,$.jsx)(`h3`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e.label}),e.description?(0,$.jsx)(`p`,{className:`max-w-[420px] text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e.description}):null,(0,$.jsx)(jn,{channel:e,ingress:o}),s.onChange?(0,$.jsx)(`div`,{className:`w-full max-w-[420px] text-left`,children:(0,$.jsx)(Tt,{assistantDisplayName:n,policy:s.policy,saving:s.isSaving,loading:s.isLoading,error:s.isError,onChange:s.onChange})}):null]})}function jn({channel:e,ingress:t}){let{t:n}=r(`channels`);switch(t.status){case`loading`:return(0,$.jsx)(Nn,{children:n(`pluginChannelPanel.ingressLoading`,{channel:e.label})});case`unsupported`:return(0,$.jsx)(Nn,{children:n(`pluginChannelPanel.ingressUnsupported`)});case`forbidden`:return(0,$.jsx)(Nn,{children:n(`pluginChannelPanel.ingressForbidden`)});case`unreadable`:return(0,$.jsxs)(Nn,{children:[n(`pluginChannelPanel.ingressUnreadable`,{channel:e.label}),t.error?` ${t.error}`:``]});case`none`:return(0,$.jsx)(Nn,{children:n(`pluginChannelPanel.ingressNone`,{channel:e.label})});case`pending`:case`approved`:return(0,$.jsx)(Mn,{ingress:t})}}function Mn({ingress:e}){let{t}=r(`channels`),n=e.status===`approved`;return(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,$.jsx)(Ye,{tone:n?`positive`:`neutral`,children:t(n?`pluginChannelPanel.ingressApprovedTag`:`pluginChannelPanel.ingressPendingTag`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(X,{onClick:n?e.revoke:e.approve,disabled:e.deciding,variant:n?`outlined`:`primary`,children:t(n?`pluginChannelPanel.revokeChannel`:`pluginChannelPanel.approveChannel`)}),(0,$.jsx)(oe,{content:t(`pluginChannelPanel.approveChannelInfo`),children:(0,$.jsx)(`span`,{tabIndex:0,className:`inline-flex cursor-default p-0.5 text-[color:var(--content-secondary)]`,"aria-label":t(`pluginChannelPanel.approveChannelInfo`),children:(0,$.jsx)(C,{className:`h-4 w-4`,"aria-hidden":`true`})})})]}),e.error?(0,$.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:e.error}):null]})}function Nn({children:e}){return(0,$.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}function Pn({assistantId:e,assistantName:t,channels:n,pluginChannels:i=[],pendingChannelKey:a=null,slackThreadMode:o,slackThreadModePending:s=!1,channelPolicies:c,policySavingKey:l=null,policiesLoading:u=!1,policiesError:d=!1,onChannelPolicyChange:f,onSetup:p,onDisconnect:m,onSaveTelegramToken:h,telegramSaveStatus:g,onSaveDiscordToken:_,discordSaveStatus:v,discordSaveError:y=null,discordInviteUrl:b,telegramSaveError:x,onSaveSlackConfig:S,slackSaveStatus:C,slackSaveError:w,onSlackThreadModeChange:T,onSaveTwilioCredentials:E,initialChannel:D=null}){let{t:O}=r(`channels`),{selected:k,select:A}=yt(),[j,M]=(0,Q.useState)(null),{paneRef:N,hasRoomForList:P,drawerOpen:F,openDrawer:ee,closeDrawer:I}=ot(),[L]=(0,Q.useState)(D);(0,Q.useEffect)(()=>{L&&A(L)},[L,A]);let te=ve(t),R=j?se[j]:null,z=e=>{A(e),I()},B=i.find(e=>e.key===k),V=B?void 0:n.find(e=>e.key===k)??n[0];if(!V&&!B)return null;let H=B?B.key:V.key,U=B?(0,$.jsx)(An,{channel:B,assistantId:e,assistantDisplayName:te},B.key):(0,$.jsx)(Sn,{channel:V,assistantId:e,assistantName:t,assistantDisplayName:te,pending:a===V.key,initialManualEntry:L===V.key,onSetup:p?()=>p(V.key,V.status===`incomplete`):void 0,onDisconnect:m&&V.canDisconnect?()=>M(V.key):void 0,onSaveTelegramToken:h,telegramSaveStatus:g,onSaveDiscordToken:_,discordSaveStatus:v,discordSaveError:y,...b?{discordInviteUrl:b}:{},telegramSaveError:x,onSaveSlackConfig:S,slackSaveStatus:C,slackSaveError:w,slackThreadMode:o,slackThreadModePending:s,onSlackThreadModeChange:T,onSaveTwilioCredentials:E,policy:c?.[V.key],policySaving:l===V.key,policyLoading:u,policyError:d,onPolicyChange:f?e=>f(V.key,e):void 0},V.key);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{ref:N,className:`flex min-h-0 flex-1 overflow-hidden ${P?`flex-row gap-6`:`flex-col gap-4`}`,children:[P?(0,$.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,$.jsx)(bt,{channels:n,pluginChannels:i,selectedKey:H,onSelect:z})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex items-center`,children:(0,$.jsx)(at,{onClick:ee})}),(0,$.jsx)(it,{open:F,onClose:I,title:O(`assistantChannelsList.drawerTitle`),children:(0,$.jsx)(bt,{channels:n,pluginChannels:i,selectedKey:H,onSelect:z})})]}),(0,$.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:H===`slack`||H===`email`?U:(0,$.jsx)(rt,{children:U})})]}),(0,$.jsx)(Y,{open:j!==null,title:O(`assistantChannelsList.disconnectTitle`,{channel:R?O(R.labelKey):``}),message:R?.disconnectMessageKey?O(R.disconnectMessageKey):``,confirmLabel:O(`assistantChannelsList.disconnectConfirm`),destructive:!0,onConfirm:()=>{j&&m&&m(j),M(null)},onCancel:()=>M(null)})]})}var Fn=`plugin:`;function In(e){let{data:t}=n({...ue({path:{assistant_id:e}}),enabled:!!e,select:e=>e.channels.filter(e=>e.source?.startsWith(Fn)).map(e=>({plugin:e.id,key:ee(e.id),label:e.label,description:e.subtitle,icon:e.icon}))});return t??[]}function Ln(){let[e,t]=l(),n=e.get(`setup`),r=n&&le(n)?n:null;return(0,Q.useEffect)(()=>{r&&t(e=>(e.delete(`setup`),e),{replace:!0})},[r,t]),r}function Rn({assistantId:e,onStartSetupConversation:t}){let n=Pe.use.a2aChannel(),r=fe.use.name(),i=Ln(),a=pt(e),o=ve(r),s=lt({assistantId:e,onStartSetupConversation:t});return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-6 overflow-hidden`,children:[(0,$.jsx)(Pn,{assistantId:e,assistantName:o,initialChannel:i,pluginChannels:In(e),...s}),n?(0,$.jsx)(dt,{onClick:a.open}):null,(0,$.jsx)(ct,{open:a.isOpen,assistantId:e,onClose:a.close})]})}function zn(){let e=c(),t=we();return(0,$.jsx)(Rn,{assistantId:t,onStartSetupConversation:t=>{M(e,{prompt:t})}},t)}export{zn as ChannelsPageRoute};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var e={plan:`Plan`},t={atTime:`a las {time}`,cancelled:`Cancelado`,completed:`Completado`,refused:`Rechazado`,runFailed:`La ejecución falló`,stoppedLimitReached:`Detenido: se alcanzó el límite`},n={hideRaw:`Ocultar entrada/salida en bruto`,rawInput:`Entrada en bruto`,rawOutput:`Salida en bruto`,showRaw:`Mostrar entrada/salida en bruto`},r={connectButton:`Conectar`,errorFallback:`No se pudo conectar Claude. Inténtalo de nuevo.`,pastePlaceholder:`Pega tu clave`,saveButton:`Guardar`,subtitleConnected:`Claude Code conectado, continuando...`,subtitleExchanging:`Completando el inicio de sesión...`,subtitleIdle:`Usa tu suscripción a Claude Code`,subtitlePaste:`Pega la clave de la pestaña que se abrió`,subtitleStarting:`Preparando el inicio de sesión...`,subtitleWaiting:`Esperando el inicio de sesión de Claude...`,title:`Conectar Claude Code`},i={backToConversationAria:`Volver a la conversación`,backTooltip:`Volver`,closeRunDetail:`Cerrar el detalle de la ejecución`,goToNewest:`Ir al más reciente`,inputLabel:`Entrada`,objective:`Objetivo`,outputLabel:`Salida`,sendSteerAria:`Enviar instrucción de orientación`,steerAria:`Instrucción de orientación`,steerPlaceholder:`Orientar la ejecución…`,stopRunAria:`Detener la ejecución`},a={retryConfirm:`Reintentar`,retryMessage:`Se descartará la última respuesta y se generará de nuevo. Esto no se puede deshacer.`,retryTitle:`¿Reintentar esta respuesta?`,startingFirst:`Iniciando tu primera conversación…`,stillWorking:`Tu asistente sigue trabajando…`,summarizeConfirm:`Resumir`,summarizeMessage:`El asistente resumirá la conversación hasta este punto y solo llevará el resumen en su memoria de trabajo a partir de ahora. Los mensajes siguen visibles y nunca se eliminan.`,summarizeTitle:`¿Resumir hasta aquí?`,takingLonger:`Tu asistente está tardando más de lo esperado.`,tryAgain:`Reintentar`},o={backAria:`Volver a todos los pasos`,backTooltip:`Todos los pasos`,closeSteps:`Cerrar pasos`,thinkingTitle:`Pensando`,viewThinkingAria:`Ver razonamiento`},s={camera:`Cámara`,closeAriaLabel:`Cerrar`,files:`Archivos`,gallery:`Fototeca`,pickFailed:`No se pudo añadir ese archivo. Inténtalo de nuevo.`,pickFull:`{count, plural, one {# archivo no cupo en este lote. Añádelo por separado.} other {# archivos no cupieron en este lote. Añádelos por separado.}}`,title:`Añadir al chat`,tooLarge:`{count, plural, one {# archivo es demasiado grande para adjuntarlo} other {# archivos son demasiado grandes para adjuntarlos}}`},c={allowAndCreateRule:`Permitir y crear regla`,trigger:`Más opciones para permitir`},l={appExported:`Aplicación exportada`,shareFailed:`No se pudo compartir la aplicación`},u={confirm:`Archivar todo`,message:`{count, plural, one {¿Archivar la conversación en “{groupName}”? Las conversaciones archivadas salen de la barra lateral. Puedes encontrarlas después buscando “is:archived”.} other {¿Archivar las # conversaciones en “{groupName}”? Las conversaciones archivadas salen de la barra lateral. Puedes encontrarlas después buscando “is:archived”.}}`,title:`Archivar todo`},d={earlierActivity:`Actividad anterior`},f={newChat:`Chat nuevo`},p={bulkActionMembersFailed:`No se pudieron cargar todas las conversaciones de esta sección. Inténtalo de nuevo.`,closeNavAria:`Cerrar navegación`,navAria:`Navegación del asistente`,searchShortcut:`Buscar ({shortcut})`},m={collapse:`Ocultar asistentes`,currentAssistant:`{name}, asistente actual`,expand:`Cambiar de asistente`,switchFailed:`No se pudo cambiar de asistente. Inténtalo de nuevo.`,switchTo:`Cambiar a {name}`,unnamedAssistant:`Asistente sin nombre`},h={removeAria:`Eliminar {filename}`},g={download:`Descargar`,downloadAria:`Descargar {filename}`},_={cancelUploadAria:`Cancelar la carga de {filename}`,uploadingTitle:`Subiendo {filename}`},v={moreTitle:`{count} más`,showAllAria:`Mostrar todos los archivos ({count} más)`},y={closePreviewAria:`Cerrar vista previa`,downloadAria:`Descargar {filename}`,downloadLabel:`Descargar`,nextAttachmentAria:`Adjunto siguiente`,previewAria:`Vista previa de {filename}`,previousAttachmentAria:`Adjunto anterior`},b={closeDetail:`Cerrar detalle de la tarea`,command:`Comando`,exitCode:`Código de salida: {code}`,output:`Salida`,stopCommandAria:`Detener comando`},x={dismiss:`Descartar`},S={description:`Dónde {count, plural, one {cayó # punto de corte de caché} other {cayeron # puntos de corte de caché}} en el prefijo de esta solicitud, y qué segmentos se leyeron frente a los que se volvieron a crear.`,estimatedTokens:`≈ {count} tokens`,fullMissBody:`Todos los segmentos se volvieron a crear en este turno. Compara con el turno anterior en la diferencia de caché de arriba para encontrar el bloque que cambió.`,fullMissTitle:`Fallo total de caché`,loadError:`No se pudo cargar la carga de la solicitud para mapear los puntos de corte de caché.`,loading:`Cargando la carga de la solicitud para mapear los puntos de corte de caché…`,noBreakpoints:`Esta solicitud no tenía puntos de corte de caché: la caché del prompt estaba desactivada para la llamada.`,splitEstimatedNote:` La división leído/creado se atribuye por tamaño de segmento; el proveedor solo informa los totales.`,statusCreated:`Vuelto a crear`,statusRead:`Leído de la caché`,statusUnknown:`En caché`,title:`Puntos de corte de caché`,tokenEstimateNote:`Los recuentos de tokens se estiman a partir de la longitud del texto.`},C={changedLabel:`Cambiado`,changedMessageFallback:`un mensaje`,chipMessages:`Mensajes`,chipModel:`Modelo`,chipSettings:`Configuración`,chipSystem:`Sistema`,chipTools:`Herramientas`,currentModelFallback:`este modelo`,description:`Qué cambió desde la solicitud del turno anterior: el bloque que volvió a crear la caché del prompt.`,diffAnyway:`Comparar de todos modos ({lineCount} líneas)`,diffLabel:`{label} diff`,diffLargeDefault:`El texto cambiado es grande, así que no se compara por defecto.`,diffStillTooLarge:`Sigue siendo demasiado grande para comparar aquí (más de {maxLines} líneas). Abre la pestaña Raw para ver la carga completa.`,diffTooLarge:`El texto cambiado es demasiado grande para comparar aquí. Abre la pestaña Raw para ver la carga completa.`,loadPreviousCallError:`No se pudo cargar la llamada anterior para comparar.`,loadingPreviousCall:`Cargando la llamada anterior para comparar…`,messageStatsAppended:`{count} añadido(s)`,messageStatsLeading:`Mensajes iniciales: {parts}`,messageStatsRemoved:`{count} eliminado(s)`,messageStatsShared:`{count} compartido(s)`,previousModelFallback:`el modelo anterior`,previousPromptUnavailable:`El prompt de la llamada anterior no está disponible para comparar.`,showLess:`Mostrar menos`,showMoreDiffLines:`Mostrar {count} línea(s) de diferencia más`,statusMessagesEarlierBody:`{label} #{index} difiere del turno anterior, así que todo lo que estaba en caché después se vuelve a procesar en este turno.`,statusMessagesEarlierTitle:`Un mensaje anterior cambió`,statusMessagesHistoryBody:`Faltan {removedCount} mensaje(s) anterior(es) en este turno (probablemente por compactación del historial), así que el prefijo de mensajes en caché ya no coincide.`,statusMessagesHistoryTitle:`Historial de mensajes cambiado`,statusModelBody:`Este turno usó {current}, pero el turno anterior usó {previous}. Un modelo distinto no puede reutilizar la caché del prompt anterior, así que todo el prompt se vuelve a crear.`,statusModelTitle:`Modelo cambiado`,statusPrefixUnchangedBodyAppended:`El prefijo en caché coincide con el turno anterior y se añadieron {count} mensaje(s) nuevo(s). Un fallo de caché aquí apunta a la caducidad del TTL de la caché, no a contenido cambiado.`,statusPrefixUnchangedBodyIdentical:`El prefijo en caché es idéntico al del turno anterior. Un fallo de caché aquí apunta a la caducidad del TTL de la caché, no a contenido cambiado.`,statusPrefixUnchangedTitle:`Prefijo del prompt sin cambios`,statusSettingsBody:`Solo la configuración de la solicitud (p. ej., temperatura) difiere del turno anterior. En la mayoría de proveedores, esto por sí solo no invalida la caché del prompt.`,statusSettingsTitle:`Configuración de la solicitud cambiada`,statusSystemBody:`Parte del prompt del sistema cambió desde el turno anterior. El contenido volátil aquí (una marca de tiempo, memoria o un bloque por turno) vuelve a crear la caché en cada turno.`,statusSystemTitle:`Prompt del sistema cambiado`,statusToolsBody:`El conjunto de herramientas o sus definiciones difieren del turno anterior. Las herramientas están al inicio del prefijo en caché, así que cualquier cambio aquí vuelve a crear la caché antes de llegar al prompt del sistema y a los mensajes.`,statusToolsTitle:`Definiciones de herramientas cambiadas`,title:`Diferencia de caché`,unchangedLines:`⋯ {count} línea(s) sin cambios`},w={barAriaLabel:`Desglose de la caché del prompt de {total} tokens: {segments} ({percent} en caché).`,barSegment:`{count} {label}`,cached:`en caché`,description:`Cuánto del prompt de esta llamada se sirvió desde la caché del prompt.`,segmentCreated:`Vuelto a crear`,segmentFresh:`Entrada nueva`,segmentRead:`Leído de la caché`,statusFullMissBody:`Ninguna parte del prompt de esta llamada se leyó de la caché.`,statusFullMissReCreatedSuffix:` Se escribieron {count} tokens en la caché en este turno, pero no se reutilizó ninguno; esto suele significar que el prefijo en caché cambió desde el turno anterior.`,statusFullMissTitle:`Fallo total de caché`,statusHealthyBody:`El {percent} del prompt de esta llamada ({count} tokens) se sirvió desde la caché.`,statusHealthyTitle:`Reutilización saludable de la caché`,statusPartialBody:`El {percent} del prompt de esta llamada ({count} tokens) se sirvió desde la caché; el resto se volvió a procesar en este turno.`,statusPartialTitle:`Reutilización parcial de la caché`,title:`Estado de la caché`,unavailableNote:`Esta llamada no informó del uso de la caché del prompt.`,unavailableNoteForProvider:`Esta llamada no informó del uso de la caché del prompt para {provider}.`},T={callCount:`{count, plural, one {# llamada LLM} other {# llamadas LLM}}`,callLabel:`Llamada {number}`,compaction:`Compactación`,cost:`Costo`,empty:`No hay llamadas LLM registradas.`,failed:`Fallida`,latest:`Más reciente`,navAriaLabel:`Llamadas LLM`,syntheticAgentLoopError:`Error del bucle del agente`,syntheticAgentLoopErrorWithReason:`Error del bucle del agente · {reason}`,syntheticYield:`Rendimiento · la compactación no cupo en el siguiente paso`,unrecognizedCall:`Llamada no reconocida`},E={eventsRecorded:`{count, plural, one {# evento} other {# eventos}} registrados.`},D={captureFailed:`No se pudo tomar esa foto. Inténtalo de nuevo.`,close:`Cerrar cámara`,flip:`Cambiar de cámara`,openFailed:`No se pudo abrir la cámara.`,shutter:`Tomar foto`,title:`Tomar una foto`},O={tasksProgress:`{completed} / {total} tareas`},k={heading:`Haciendo referencia a un mensaje de {channel}`,headingWithSender:`Haciendo referencia a {sender} en {channel}`,removeAria:`Quitar el mensaje referenciado`},A={accountSid:`SID de la cuenta`,accountSidPlaceholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,authToken:`Token de autenticación`,authTokenPlaceholder:`Token de autenticación de Twilio`,close:`Cerrar`,closeSetupAria:`Cerrar el panel de configuración`,connectedHeading:`{channel} está conectado`,credentialsSaved:`Credenciales guardadas. Vuelve al chat para terminar la configuración.`,phoneConnected:`Tu asistente ya puede hacer llamadas telefónicas con Twilio.`,phoneLabel:`Teléfono`,save:`Guardar`,saving:`Guardando…`,settingsTitle:`Ajustes de {channel}`,setupTitle:`Configuración de {channel}`,slackConnected:`Tu asistente ya puede recibir mensajes en Slack.`,telegramConnected:`Tu asistente ya puede recibir mensajes en Telegram.`,twilioIntro:`Introduce tus credenciales de Twilio desde la <consoleLink>consola de Twilio</consoleLink>. Después de guardar, vuelve al chat. Tu asistente terminará de configurar tu número de teléfono y los webhooks.`,discordConnected:`Discord esta conectado. Anade el bot a un servidor y empezara a responder alli.`},j={closeAria:`Cerrar el hilo de {channel}`,label:`Hilo de {channel}`,openAria:`Abrir el hilo de {channel}`},M={assistantSender:`Asistente`,closeAria:`Cerrar el hilo del canal`,closeTooltip:`Cerrar`,emptyNoMessageDetail:`{channel} no envía a Vellum los detalles por mensaje que necesita esta vista, así que no hay nada que mostrar aquí. Abre la conversación en {channel} para leerla completa.`,emptyThread:`Todavía no hay mensajes de {channel} en esta conversación.`,namedTitle:`{channel} · {thread}`,noText:`Sin contenido de texto`,openInChannel:`Abrir en {channel}`,reactionAdded:`Reaccionó con {emoji}`,reactionRemoved:`Quitó la reacción {emoji}`,readOnly:`Solo lectura`,readOnlyNote:`Esta es la conversación tal como está en {channel}. El campo de escritura de Vellum es el único lugar donde puedes escribir.`,reference:`Referenciar en Vellum`,referenceAria:`Referenciar este mensaje de {channel} en Vellum`,referenced:`Referenciado`,removeReferenceAria:`Quitar esta referencia del campo de escritura de Vellum`,title:`Hilo de {channel}`,unknownSender:`Remitente desconocido`},N={attachFileAria:`Adjuntar archivo`,dismiss:`Descartar`,removeAria:`Quitar {filename}`},P={dropFiles:`Suelta archivos para adjuntarlos`},F={addToChat:`Añadir al chat`,askAssistantPlaceholder:`Pregunta a {assistantName}`,configureVoice:`Configurar la voz`,endOtherVoiceSession:`Finalizar y empezar aquí`,goToVoiceSession:`Ir a la sesión`,recording:`Grabando`,sendMessage:`Enviar mensaje`,stopGenerating:`Detener la generación`,transcribing:`Transcribiendo`,transcribingEllipsis:`Transcribiendo…`,typeToSend:`Escribe un mensaje para enviarlo`,uploadingAttachments:`Subiendo archivos adjuntos…`},I={archived:`[Archivado]`,newChat:`Chat nuevo`,untitled:`Sin título`},L={navigationAria:`Navegación`},R={backAria:`Atrás (Ctrl+[)`,forwardAria:`Adelante (Ctrl+])`,openNavigationAria:`Abrir navegación`,searchAria:`Buscar (Ctrl+K)`,toggleSidebarAria:`Mostrar u ocultar la barra lateral`},z={expandImageAria:`Ampliar imagen`,expandImageAriaWithAlt:`Ampliar imagen: {alt}`,imageFailed:`No se pudo cargar la imagen`,imageFailedWithAlt:`No se pudo cargar la imagen ({alt})`,loadingImage:`Cargando imagen…`,loadingImageWithAlt:`Cargando imagen… ({alt})`},B={connecting:`Conectando…`,connectingStuck:`Todavía se está conectando a tu asistente; parece que algo se ha quedado atascado. Inténtalo de nuevo, o actualiza la página si sigue ocurriendo.`,retryNow:`Reintentar ahora`,selfHostedUnreachable:`No se pudo contactar con tu asistente autoalojado. Asegúrate de que el asistente esté en ejecución e inténtalo de nuevo.`,tryAgain:`Intentar de nuevo`},V={askTheDoctor:`Preguntar al Doctor`,copyCliFix:`Copiar corrección de CLI`,goToDoctor:`Ir al Doctor`,openPage:`Abrir página`,suggestionFallback:`Sugerencia`},H={applyTo:`Aplicar a`,cancel:`Cancelar`,createTitle:`Crear regla de confianza`,description:`Las llamadas a herramientas que coincidan usan el nivel de riesgo de esta regla, para que tu tolerancia de aprobación pueda autoaprobarlas.`,editTitle:`Editar regla de confianza`,narrowerScopeAria:`Alcance más estrecho`,orNarrowScope:`O reduce el alcance:`,save:`Guardar`,saveAsNew:`Guardar como nueva`,saveRule:`Guardar regla`,saving:`Guardando…`,suggested:`Sugerido: {risk}`,treatAs:`Tratar como`},U={continue:`Continuar`,recommended:`Recomendado`},W={broomAria:`escoba`,hatchHint:`Podrás crear un nuevo asistente cuando esto termine.`,hintAlmostDone:`Casi listo…`,hintCleaning:`Limpiando tu asistente…`,hintWrapping:`Cerrando todo…`,timeoutBody:`Prueba a ejecutar Vellum Doctor para diagnosticar el problema, o <communityLink>pregunta a la comunidad</communityLink> para pedir ayuda.`,timeoutTitle:`La limpieza está tardando más de lo esperado`,title:`Limpiando tu asistente…`,warningAria:`advertencia`},G={noConversations:`No hay conversaciones`},K={ariaLabel:`Compactación automática en pausa`,message:`Compactación automática en pausa: una conversación larga puede desbordarse. Usa /compact para compactar manualmente.`},q={compactedMessages:`{count} compactados`,compactedPreserved:`Compactados / preservados`,contextTokens:`Tokens de contexto`,duration:`Duración`,durationMs:`{count} ms`,emptyBody:`Una compactación se atribuye a la llamada que se ejecutó justo después. Si esperas una aquí, verifica que la conversación superó su presupuesto de contexto justo antes de esta llamada.`,emptyTitle:`Ninguna compactación está asociada a esta llamada`,eventIndex:` · {index} de {totalCount}`,hideSummaryText:`Ocultar texto del resumen`,loadFailedDefault:`No se pudo cargar la compactación.`,loadFailedTitle:`Error al cargar`,loading:`Cargando compactación…`,messageRange:`{before} → {after}`,messages:`Mensajes`,outcomeCompacted:`Compactado`,outcomeFailed:`Compactación fallida`,outcomeFailedDetail:`La llamada del resumidor falló, por lo que el contexto quedó intacto.`,outcomeNoChange:`Sin cambios`,outcomeUnavailable:`Resultado no disponible`,outcomeUnavailableDetail:`No se registraron métricas detalladas antes/después para esta compactación.`,preservedMessages:`{count} preservados`,reductionRatio:`{ratio}× más pequeño`,retry:`Reintentar`,showSummaryText:`Mostrar texto del resumen`,summarizerUsage:`{input} entrada / {output} salida`,summaryCost:`Costo del resumen`,summaryModel:`Modelo de resumen`,tokenRange:`{before} → {after}`,tokenRangeWithReduction:`{before} → {after} ({reduction})`,trigger:`Disparador`},J={draftRestored:`Borrador restaurado de tu sesión anterior.`,waitingUpload:`{count, plural, one {Esperando a que termine de subirse el adjunto antes de enviar.} other {Esperando a que terminen de subirse # adjuntos antes de enviar.}}`},Y={allowMicrophone:`Permitir micrófono`,openSettings:`Abrir configuración`},X={blockedTitle:`Mensaje no enviado. Parece que contiene una clave de API.`,body:`Las credenciales enviadas en el chat son visibles en la transcripción. Guárdala de forma segura en su lugar.`,dismiss:`Descartar`,sendAnyway:`Enviar de todos modos`,storeSecurely:`Guardar de forma segura`,warningTitle:`Esto parece una clave de API`},Z={accessAria:`Acceso del asistente: {label}`,assistantAccess:`Acceso del asistente`,assistantAccessTitle:`Acceso del asistente`,compactAria:`Acceso del asistente y perfil del modelo`,compactAriaWithSummary:`Acceso del asistente y perfil del modelo: {summary}`,defaultLabel:`{label} (predeterminado)`,defaultSuffix:`(predeterminado)`,loadingProfiles:`Cargando perfiles…`,modelProfile:`Perfil del modelo`,modelProfileTitle:`Perfil del modelo`,profileAria:`Perfil del modelo: {label}`,profileAriaFallback:`Perfil del modelo`,profileSwitchFailed:`Perfil creado, pero no se pudo cambiar a él`,profileSwitchFallback:`No se pudo cambiar de perfil. Inténtalo de nuevo.`,quickAdd:`Nuevo modelo`},Q={submitFailed:`No se pudo enviar la confirmación. Inténtalo de nuevo.`,submitFailedRuleAvailable:`No se pudo enviar la confirmación, pero aún puedes crear una regla.`},$={allow:`Permitir`,deny:`Denegar`,hideDetails:`Ocultar detalles`,showDetails:`Mostrar detalles`,titleFallback:`Confirmación necesaria`,toolLabel:`Herramienta:`},ee={saveFailed:`No se pudo guardar el contacto. Inténtalo de nuevo.`},te={addContact:`Añadir un contacto`,cancel:`Cancelar`,contactSaved:`Contacto guardado`,dismiss:`Descartar`,enterAddress:`Introduce la dirección de {channel}`,save:`Guardar`,saving:`Guardando…`},ne={clearContext:`Borrar contexto`,compactsHint:`{name} compacta<br></br>su contexto automáticamente.`,compactsHintInline:`{name} compacta el contexto automáticamente`,defaultAssistantName:`Tu asistente`,label:`Ventana de contexto:`,percentFull:`{percentage} % lleno`,ringAria:`Ventana de contexto al {percentage} %`,title:`Ventana de contexto`,tokensUsed:`{used} / {max} tokens usados`},re={archive:`Archivar`,copyConversation:`Copiar conversación completa`,copyConversationId:`Copiar ID de conversación`,delete:`Eliminar`,forkConversation:`Bifurcar conversación`,inspect:`Analizar conversación`,markRead:`Marcar como leída`,markUnread:`Marcar como no leída`,moveToGroup:`Mover al grupo`,newGroup:`Nuevo grupo…`,openInNewWindow:`Abrir en una ventana nueva`,pin:`Fijar`,refresh:`Actualizar`,removeFromGroup:`Quitar del grupo`,rename:`Cambiar nombre`,shareFeedback:`Enviar comentarios`,triggerAriaLabel:`Acciones de conversación`,unarchive:`Desarchivar`,unpin:`Dejar de fijar`},ie={closeAriaLabel:`Cerrar`,title:`Acciones de conversación`},ae={activity:`Actividad`,recent:`Recientes`,running:`En ejecución`},oe={delete:`Eliminar`,downloadPdf:`Descargar PDF`,exportAsVellum:`Exportar como archivo .vellum`,open:`Abrir`,optionsFor:`Opciones para {name}`,pin:`Anclar`,share:`Compartir`,unpin:`Desanclar`},se={ariaLabel:`Recursos de la conversación, {count, plural, one {# elemento} other {# elementos}}`,ariaLabelUnseen:`Recursos de la conversación, {count, plural, one {# elemento} other {# elementos}} (cambios sin ver)`,heading:`Recursos`,label:`{count, plural, one {# recurso} other {# recursos}}`},ce={untitled:`Sin título`},le={caption:`Prueba algunas sugerencias:`},ue={sendAria:`Enviar: {label}`},de={copied:`Copiado`,copy:`Copiar`},fe={copied:`Copiado`,copyFailed:`No se pudo copiar al portapapeles.`},pe={conversationCopied:`ID de conversación copiado al portapapeles.`,conversationFailed:`No se pudo copiar el ID de conversación.`,groupCopied:`ID de grupo copiado al portapapeles.`,groupFailed:`No se pudo copiar el ID de grupo.`},me={balanceAria:`{balance} créditos`,balanceShort:`{balance} c`,credits:`Créditos`},he={loginToAddCredits:`Inicia sesión en la plataforma Vellum para agregar créditos.`},ge={emptyFile:`Este archivo está vacío`,summary:`{rows} filas x {columns} columnas`,summaryTruncated:`{rows} filas x {columns} columnas (truncado)`},_e={skipConfirmTitle:`¿Omitir el límite de créditos de hoy?`,skipError:`No se pudo omitir el límite de hoy. Inténtalo de nuevo.`,skipForToday:`Omitir por hoy`,subtitle:`El gasto de créditos de Vellum está pausado hasta que tu límite se reinicie a las {resetPhrase}.`,title:`Límite diario de créditos alcanzado`},ve={cancel:`Cancelar`,confirm:`Eliminar`,message:`¿Eliminar “{title}”? Esto borra la conversación y sus mensajes de forma permanente. Esta acción no se puede deshacer.`,title:`Eliminar conversación`,untitled:`Sin título`},ye={pdfDownloadFailed:`No se pudo descargar el PDF`},be={send:`Enviar`,sending:`Enviando…`},xe={addCommentPlaceholder:`Agregar un comentario…`,closeAria:`Cerrar el panel de comentarios`,empty:`Aún no hay comentarios`,loading:`Cargando comentarios…`,submitFeedback:`Enviar comentarios`,title:`Comentarios`},Se={assistantMonogram:`V`,authorAssistant:`Asistente`,authorYou:`Tú`,deleteCommentAria:`Eliminar comentario`,jumpToHighlight:`Ir al texto resaltado`,open:`Abierto`,reopen:`Reabrir`,reply:`Responder`,replyPlaceholder:`Escribe una respuesta…`,resolve:`Resolver`,resolved:`Resuelto`},Ce={openAria:`Abrir {name}`},we={openAria:`Abrir {name}`},Te={close:`Cerrar`,closeDocumentAria:`Cerrar documento`,comments:`Comentarios`,export:`Exportar`,hideComments:`Ocultar comentarios`,menuAria:`Opciones del documento`,rename:`Cambiar nombre`,renameFailed:`No se pudo cambiar el nombre del documento.`,renameSave:`Guardar`,renameTitle:`Cambiar el nombre del documento`,saved:`Guardado`,saving:`Guardando…`,wordCount:`{count, plural, one {# palabra} other {# palabras}}`},Ee={exportFailed:`No se pudo exportar el PDF`,notFound:`Documento no encontrado.`},De={titleFallback:`Contenido dinámico`},Oe={cancel:`Cancelar`,close:`Cerrar`,defaultError:`No se pudieron exportar los datos del inspector.`,descriptionDone:`La descarga debería haber comenzado automáticamente.`,descriptionError:`Algo salió mal al recopilar la exportación.`,descriptionRunning:`Recopilando cargas del proveedor y contexto normalizado. Esto puede tardar un momento en conversaciones largas.`,done:`Listo`,progressAriaLabel:`Progreso de exportación`,retry:`Reintentar`,statusDone:`Listo`,statusPackaging:`Empaquetando ZIP…`,statusProgress:`{completed} de {total} llamadas`,titleDone:`Exportación completa`,titleError:`Error al exportar`,titleRunning:`Exportando datos del inspector`},ke={diffForAria:`Diferencias de {path}`},Ae={failed:`No se pudo descargar el archivo`},je={closePreviewAria:`Cerrar previsualización`,closeTooltip:`Cerrar`,download:`Descargar`,downloadAria:`Descargar {name}`,loadError:`No se pudo cargar este archivo`,overLimit:`{size}, por encima del límite de previsualización de {limit}`,tooLarge:`Este archivo es demasiado grande para previsualizar`,tryAgain:`Reintentar`},Me={accepted:`Aceptados: {types}`,dropHint:`Arrastra y suelta archivos aquí, o haz clic para explorar`,maxSize:`Tamaño máximo: {size}`,upload:`Subir`,uploading:`Subiendo...`},Ne={secureHint:`Este valor se enviará de forma segura y no se guardará en tu navegador.`,selectPlaceholder:`Seleccionar...`},Pe={archiveAll:`Archivar todas…`,copyGroupId:`Copiar ID del grupo`,deleteGroup:`Eliminar grupo`,deleteGroupWithConversations:`Eliminar grupo…`,groupByChannel:`Agrupar por canal`,markAllRead:`Marcar todas como leídas`,moveSectionDown:`Bajar sección`,moveSectionUp:`Subir sección`,rename:`Cambiar nombre`,ungroup:`Desagrupar`},Fe={title:`Acciones de {name}`},Ie={create:`Crear`,newTitle:`Grupo nuevo`,renameTitle:`Renombrar grupo`,save:`Guardar`},Le={next:`Siguiente`,showMeAround:`Muéstrame cómo funciona`,skipTour:`Omitir recorrido`},Re={ariaLabel:`Plugins del chat, {count} activos`,costCaption:`Cambiar la configuración de plugins puede generar costes altos.`,countLabel:`{count, plural, one {# plugin} other {# plugins}}`,manage:`Administrar`,plugins:`Plugins`},ze={stop:`Detener`},Be={accessDenied:`El inspector está disponible cuando la marca Internal Thread Actions está habilitada.`,allMessages:`Todos los mensajes`,back:`Volver`,backToConversationAria:`Volver a la conversación`,chooseCall:`Elige una llamada de la barra lateral para inspeccionar su contexto.`,conversationScopeSubtitle:`Mostrando cada llamada LLM registrada en esta conversación.`,detailLoadFailed:`No se pudo cargar el contexto normalizado de esta llamada.`,emptyBodyConversation:`Ningún mensaje de la conversación fue producido por una llamada LLM o los registros de solicitud fueron recortados por retención.`,emptyBodyMessage:`Este mensaje no fue producido por una llamada LLM o sus registros de solicitud fueron recortados por retención.`,emptyTitleConversation:`No hay llamadas LLM registradas para esta conversación.`,emptyTitleMessage:`No hay llamadas LLM registradas para este mensaje.`,enableLogging:`Habilitar registro`,enableLoggingFailed:`No se pudo habilitar el registro`,enableLoggingFailedWithMessage:`No se pudo habilitar el registro ({message})`,enabling:`Habilitando…`,exportFailed:`No se pudieron exportar los datos del inspector`,exportZip:`Exportar ZIP`,exportZipAria:`Exportar datos del inspector como ZIP`,exporting:`Exportando…`,filterToMessage:`Filtrar por mensaje:`,llmCallCount:`{count, plural, one {1 llamada LLM} other {# llamadas LLM}}`,loadContextFailed:`No se pudo cargar el contexto LLM.`,loadFailedTitle:`Error al cargar`,loading:`Cargando…`,loggingDisabledBody:`Las cargas útiles de solicitud y respuesta no se están registrando, así que no hay nada que inspeccionar. Habilita el registro para capturar futuras llamadas LLM.`,loggingDisabledTitle:`El registro de solicitudes LLM está desactivado`,loggingEnabledToast:`Registro de solicitudes LLM habilitado`,messageOptionDeepLink:`Mensaje {messageId}`,messageOptionNoText:`{index}. (sin texto)`,messageOptionWithPreview:`{index}. {preview}`,retry:`Reintentar`,scopedToOneMessage:`Limitado a un mensaje · `,scopedToTurn:`Limitado al turno {index} de {count} · `,title:`Inspector de contexto LLM`},Ve={android:`La voz ya está activa en la aplicación de Android.`,ios:`La voz ya está activa en la aplicación de iOS.`,macos:`La voz ya está activa en la aplicación de Mac.`,unknown:`La voz ya está activa en otro lugar.`,web:`La voz ya está activa en otra pestaña del navegador.`,windows:`La voz ya está activa en la aplicación de Windows.`},He={startVoiceMode:`Iniciar el modo de voz`},Ue={chipCode:`Código`,chipProvider:`Proveedor`,chipRequestId:`ID de solicitud`,chipStatus:`Estado`,chipType:`Tipo`,chipUpstreamCode:`Código ascendente`,chipUpstreamParam:`Parámetro ascendente`,chipUpstreamType:`Tipo ascendente`,noResponse:`El proveedor rechazó esta llamada y no devolvió respuesta.`,title:`Llamada fallida`},We={loadingAria:`Cargando {label}`,pictureInPictureUnavailable:`Imagen sobre imagen no está disponible`},Ge={unavailable:`Este archivo no está disponible aquí`},Ke={download:`Descargar`,fileActionsAria:`Acciones del archivo`,goToFile:`Ir al archivo`,pictureInPicture:`Imagen en imagen`},qe={addCredits:`Añadir créditos`,ariaLabel:`Tus créditos se están agotando. {detail}`,subtitle:`Añade créditos para evitar una interrupción.`,title:`Tus créditos se están agotando`},Je={body:`El espacio de trabajo de tu asistente está conectado actualmente a un terminal de depuración. El chat no está disponible en el modo de recuperación.`,loginHint:`Inicia sesión en la plataforma Vellum para salir del modo de recuperación.`,resume:`Reanudar asistente`,title:`Asistente en modo de recuperación`},Ye={body:`El chat no está disponible mientras el mantenimiento está activo.`,goToDebug:`Ir a ajustes de depuración`,title:`El asistente está en modo de recuperación`},Xe={addOlderPairButton:`+ Añadir par más antiguo`,assistantReplyLabel:`[assistant]: respuesta`,assistantReplyPlaceholder:`Respuesta del asistente que precedió al mensaje del usuario de abajo.`,configTitle:`Configuración {paneId}`,conversationalContextTitle:`Contexto conversacional (compartido por ambos paneles)`,customPromptPlaceholder:`Prompt del sistema del enrutador personalizado. Marcadores de posición disponibles:
|
|
2
|
+
'{ASSISTANT_NAME}, {USER_NAME}, {PAGE_INDEX}'
|
|
3
|
+
Déjalo en blanco para usar la plantilla incluida. "Cargar predeterminado" rellena el área de texto con el cuerpo incluido para editar.`,description:`Ejecuta en seco el enrutador v4 con anulaciones personalizadas de nivel/lote. Solo lectura: no se escriben filas en <code>memory_v2_injection_events</code> ni en <code>memory_v2_activation_logs</code>, y no se modifica el estado de activación. Deja una anulación en blanco para heredar el valor de configuración activo; escribe <code>null</code> para desactivar explícitamente un nivel.`,diffLabel:`Diferencia`,diffValue:`{shared} compartidas · {unique} exclusivas de este panel`,effectiveConfig:`Configuración efectiva`,emaScore:`EMA {score}`,empty:`(vacío)`,emptySelectionHint:`El enrutador devolvió una selección vacía. Prueba una consulta más específica o relaja los valores de anulación.`,failedToRunSimulation:`No se pudo ejecutar la simulación`,firstTurnAssistantPlaceholder:`Déjalo en blanco para un escenario de primer turno.`,inheritActive:`heredar activo`,inheritActiveWithProfile:`heredar activo ({profile})`,inheritPlaceholder:`heredar`,invalidOverrideInput:`Entrada de anulación no válida`,justArrivedUserLabel:`[user]: mensaje recién llegado`,lastUserPlaceholder:`p. ej. qué deberíamos lanzar después`,legendAOnly:`solo A`,legendBOnly:`solo B`,legendInBoth:`en ambos`,llmProfilesOverride:`anulación de llm.profiles`,loadDefault:`Cargar predeterminado`,loading:`Cargando…`,noPagesSelected:`No se seleccionaron páginas`,notAvailable:`El patio de pruebas del enrutador de memoria no está disponible.`,nowBlockLabel:`bloque '<now>'`,nowDefaultPlaceholder:`Rellenado con el NOW.md activo. Edita para probar estados alternativos.`,nowLoadingPlaceholder:`Cargando NOW.md actual…`,nullValue:`null`,overrideMustBePositiveInteger:`{fieldName} debe ser un entero positivo o 'null' (se obtuvo "{value}")`,overrideSuffix:` (anulación)`,pageCount:`{count, plural, one {# página} other {# páginas}}`,pairLabel:`Par {index} de {total}`,pairMostRecentSuffix:` · más reciente`,paneTitle:`Panel {paneId}`,promptModeBundled:`incluido`,promptModeCustom:`personalizado`,rawApiExchange:`Intercambio de API sin procesar`,recentPairsLabel:`Pares recientes (asistente, usuario) · más antiguos primero`,reloadNowButton:`Recargar NOW.md activo`,removeButton:`Eliminar`,requestLabel:`Solicitud (panel {paneId})`,reset:`Restablecer`,responseLabel:`Respuesta (panel {paneId})`,routerFailure:`Fallo del enrutador: {reason}`,runBoth:`Ejecutar ambos`,runPane:`Ejecutar {paneId}`,running:`Ejecutando…`,selectedLabel:`Seleccionadas`,selectedValue:`{count} (max_page_ids activo: {maxPageIds})`,summary:`Resumen`,summaryUserMessageLabel:`Mensaje del usuario`,systemPrompt:`Prompt del sistema`,systemPromptConfigLabel:`prompt del sistema`,tier1Label:`nivel 1`,tier2Label:`nivel 2`,tier3Label:`nivel 3 · b{batch}`,title:`Patio de pruebas del enrutador de memoria`,totalCandidatePagesLabel:`Total de páginas candidatas`,userMessageLabel:`[user]: mensaje`,userMessagePlaceholder:`Mensaje del usuario.`},Ze={afterMergeLabel:`Tras la fusión`,breakdownCAssistantRerank:`c_assistant · rerank Δ_a`,breakdownCAssistantSim:`c_assistant · sim_a`,breakdownCNowSim:`c_now · sim_n`,breakdownCUserRerank:`c_user · rerank Δ_u`,breakdownCUserSim:`c_user · sim_u`,breakdownOwnActivation:`A_o (propio)`,breakdownPriorActivation:`prior · d`,breakdownRerankScaledRaw:`+{scaled} (bruto {raw})`,breakdownScaledRaw:`{scaled} (bruto {raw})`,breakdownSource:`fuente`,breakdownSpreadDelta:`spread Δ`,breakdownStatus:`estado`,candidateScores:`sem {semantic} · rec {recency}`,carriedPill:`Arrastradas: {count}`,conceptActivationsSubtitle:"Ordenadas por activación final. Las entradas de habilidades aparecen con el prefijo `skills/`; expande una fila para ver el desglose de activación.",conceptActivationsTitle:`Activaciones de conceptos ({count})`,configCAssistant:`c_assistant`,configCNow:`c_now`,configCUser:`c_user`,configDDecay:`d (decaimiento)`,configEpsilon:`epsilon`,configHops:`saltos`,configKSharpening:`k (agudización)`,configSubtitle:`Pesos de activación y umbrales de selección.`,configTitle:`Configuración`,configTopK:`top_k`,copyAriaLabel:`Copiar al portapapeles`,copyAriaLabelCopied:`Copiado`,copyButtonCopied:`Copiado`,copyButtonCopy:`Copiar`,copyErrorMessage:`No se pudo copiar al portapapeles.`,copyTitle:`Copiar`,copyTitleCopied:`¡Copiado!`,corePill:`Núcleo: {count}`,degradationTitle:`Degradación`,fallbackSourcesLabel:`Fuentes de respaldo`,hybridSearchLabel:`Búsqueda híbrida`,inContextPill:`En contexto: {count}`,injectedMemoryContextTitle:`Contexto de memoria inyectado`,injectedPill:`Inyectados: {count}`,injectedTokensLabel:`Tokens inyectados`,latencyMs:`{ms} ms`,loading:`Cargando…`,loggedMemorySelectionSubtitle:`Renderizado desde la selección v3, no inyectado en este turno.`,loggedMemorySelectionTitle:`Selección de memoria registrada`,memoryDisabledDefaultReason:`La recuperación de memoria se desactivó para este turno.`,memoryDisabledTitle:`Memoria desactivada`,missingValue:`-`,modelLabel:`Modelo`,no:`No`,noDataBody:`La información de recuperación de memoria no está disponible para este mensaje.`,noDataTitle:`Sin datos de memoria`,noEntriesRanked:`No hay entradas clasificadas.`,noPagesSelected:`No hay páginas seleccionadas.`,notInjectedPill:`No inyectados: {count}`,pageContentLabel:`contenido de la página`,pageNotFound:`Página no encontrada en disco. El slug puede hacer referencia a una entrada obsoleta de Qdrant.`,pillMemoryV2:`Memoria V2`,pillMemoryV3:`Memoria V3`,pillRecallV1:`Recuperación (v1)`,pinnedChip:`fijada`,pinnedPill:`Fijadas: {count}`,providerLabel:`Proveedor`,queryContextSubtitle:`El texto incrustado como vector de búsqueda para la recuperación semántica.`,queryContextTitle:`Contexto de consulta`,reasonLabel:`Motivo`,retrievalFunnelSubtitle:`Cómo se filtraron las memorias desde la búsqueda semántica hasta la inyección.`,retrievalFunnelTitle:`Embudo de recuperación`,searchDetailsTitle:`Detalles de búsqueda`,selectedLabel:`Seleccionadas`,selectedPagesSubtitle:`Páginas que v3 seleccionó, etiquetadas por el carril que las mostró y la sección coincidente (cuando un carril de búsqueda mostró una).`,selectedPagesTitle:`Páginas seleccionadas ({count})`,selectedPill:`Seleccionadas: {count}`,semanticHitsLabel:`Coincidencias semánticas`,semanticUnavailableLabel:`Semántica no disponible`,sparseDenseOnly:`Solo densos`,sparseUsed:`Usados`,sparseVectorsLabel:`Vectores dispersos`,statusActive:`Activo`,statusDegraded:`Degradado`,statusLabel:`Estado`,statusSubtitle:`Proveedor, modelo y latencia de esta recuperación.`,statusTitle:`Estado`,tier1Label:`Nivel 1`,tier2Label:`Nivel 2`,topCandidatesSubtitle:`{count, plural, one {# candidato clasificado por puntuación final.} other {# candidatos clasificados por puntuación final.}}`,topCandidatesTitle:`Mejores candidatos`,totalLatencyLabel:`Latencia total`,turnLevelRecallBody:`La recuperación de memoria se ejecuta una vez por turno. Estos datos se aplican a todas las llamadas LLM de este mensaje.`,turnLevelRecallTitle:`Recuperación por turno`,turnPill:`Turno {turn}`,unavailable:`No disponible`,unknown:`Desconocido`,v2StatusInContext:`En contexto`,v2StatusInjected:`Inyectado`,v2StatusNotInjected:`No inyectado`,v2StatusPageMissing:`Página no encontrada`,v2TurnBody:`Paso de memoria por activación en cascada que clasifica conceptos y habilidades para este turno.`,v2TurnTitle:`Memoria - turno {turn} ({mode})`,v3LiveInjectionBody:`v3 es la fuente de memoria en vivo en este turno: el bloque de abajo se inyectó en el contexto (v2 suprimido).`,v3LiveInjectionTitle:`Memoria V3 - inyección en vivo`,v3LoggedSelectionBody:`v3 no es la fuente de memoria en vivo para este asistente: estas selecciones se registraron pero no se inyectaron en este turno; la memoria del turno provino de v2.`,v3LoggedSelectionTitle:`Memoria V3 - selección registrada (no inyectada)`,v3SourceCarried:`arrastrada`,v3SourceCore:`núcleo`,v3SourceL1L2:`L1+L2`,v3SourceNeedle:`aguja`,yes:`Sí`},Qe={closeAria:`Cerrar archivos`,empty:`No hay archivos en este mensaje`,title:`Archivos`},$e={bookmark:`Marcador`,copied:`Copiado`,copy:`Copiar`,forkFromHere:`Bifurcar desde aquí`,inspect:`Inspeccionar`,openInSlack:`Abrir en Slack`,removeBookmark:`Quitar marcador`,retry:`Reintentar`,summarizeUpToHere:`Resumir hasta aquí`},et={bookmark:`Marcar`,copied:`Copiado`,removeBookmark:`Quitar marcador`,title:`Acciones del mensaje`},tt={cancel:`Cancelar`,continue:`Continuar`,description:`La entrada de voz requiere acceso al micrófono. El audio lo transcribe tu proveedor de voz a texto configurado, o el dictado integrado del dispositivo cuando no hay proveedor.`,title:`Acceso al micrófono`},nt={ariaLabel:`Se requiere una clave API`,body:`Añade una clave API en Ajustes → Modelos y servicios para empezar a chatear.`,dismiss:`Descartar`,dismissAria:`Descartar la alerta de clave API requerida`,openSettings:`Abrir ajustes`,title:`Se requiere una clave API`},rt={callOfTotal:`Llamada {number} de {total}`,llmCallCount:`{count, plural, one {1 llamada LLM} other {# llamadas LLM}}`,selectCallAria:`Seleccionar una llamada LLM para inspeccionar`,sheetTitle:`Seleccionar una llamada`},it={dismissAria:`Descartar`,unknownCommandNudge:`Este comando no se reconoció. <ruleLink>Crea una regla</ruleLink> para clasificarlo la próxima vez.`,viewSteps:`Ver pasos`},at={cancel:`Cancelar`,icon:`Icono`,name:`Nombre`,noIcon:`Sin icono`},ot={heading:`Añadir plugins para el chat nuevo`,managePlugins:`Administrar plugins`,showAll:`Mostrar todos (+{count})`,showLess:`Mostrar menos`,tooltip:`Elige qué plugins puede usar este chat. Tu selección se aplica al enviar el primer mensaje y permanece con esta conversación.`},st={managePlugins:`Gestionar plugins`},ct={approvalAria:`Acerca de la aprobación del asistente`,approvalTooltip:`{name} nunca actúa en tu nombre sin tu aprobación`,connect:`Conectar`,connectTitle:`Conectar {name}`,connected:`Conectado`,defaultDescription:`Conecta {name} para que pueda usarlo en esta tarea.`,dismiss:`Descartar`,missingDetails:`Faltan detalles del asistente o del proveedor.`,thisAccount:`esta cuenta`,waiting:`Esperando...`,yourAssistant:`Tu asistente`},lt={continue:`Continuar`,helpWithHeading:`¿En qué puedo ayudarte?`,letsChat:`Hablemos`,other:`Otro`,otherPlaceholder:`¿Con qué necesitas ayuda?`,selectAll:`Selecciona todas las que correspondan`,somethingElse:`otra cosa`,specific:`Tengo algo concreto`},ut={message:`La conversación de la que esta se ramificó se eliminó, así que los mensajes anteriores al punto de ramificación ya no están. Todo lo enviado desde entonces sigue intacto.`},dt={cacheTokensLabel:`Tokens de caché`,conversationSubtitle:`Totales acumulados de cada llamada LLM con precio hasta ahora.`,conversationTitle:`Conversación`,createdLabel:`Creado`,durationLabel:`Duración`,estimatedCostLabel:`Costo estimado`,failedStatus:`Fallido`,firstTokenKindLabel:`Tipo de primer token`,firstTokenLatencySubtitle:`Dónde se fue el tiempo hasta el primer token de este turno, medido por el asistente.`,firstTokenLatencyTitle:`Latencia del primer token`,inputTokensLabel:`Tokens de entrada`,latencyMs:`{ms} ms`,loopExitReasonLabel:`Motivo de salida del bucle`,modelLabel:`Modelo`,normalizedMetadataSubtitle:`Proveedor, modelo, marcas de tiempo y recuentos de uso.`,normalizedMetadataTitle:`Metadatos normalizados`,normalizedSummaryUnavailableSubtitle:`Esta llamada aún tiene cargas útiles de solicitud y respuesta sin procesar.`,normalizedSummaryUnavailableTitle:`Resumen normalizado no disponible`,otherLabel:`Otro`,outputTokensLabel:`Tokens de salida`,providerLabel:`Proveedor`,requestMessagesLabel:`Mensajes de solicitud`,statusLabel:`Estado`,stopReasonLabel:`Motivo de parada`,toolCallsLabel:`Llamadas a herramientas`,toolsAvailableLabel:`Herramientas disponibles`,totalCostSoFarLabel:`Costo total hasta ahora`,totalToFirstTokenLabel:`Total hasta el primer token`,usageSubtitle:`Recuentos de tokens y llamadas normalizados por la ruta del asistente.`,usageTitle:`Uso`},ft={formStepsAria:`Pasos del formulario`},pt={startedAt:`Comenzó a las {time}`},mt={colors:{green:`Verde`,orange:`Naranja`,pink:`Rosa`,purple:`Morado`,teal:`Turquesa`,yellow:`Amarillo`},noColor:`Sin color`},ht={unpin:`Dejar de fijar`,unpinAria:`Dejar de fijar {name}`},gt={disableAria:`Desactivar {name} para este chat`,enableAria:`Activar {name} para este chat`},_t={admin:`Admin`,preferences:`Preferencias`,settings:`Ajustes`,shareFeedback:`Compartir comentarios`},vt={addCreditsAriaLabel:`Añadir créditos`,exhausted:`Añade créditos para continuar.`,extraCredits:`Usando créditos de uso adicional`,pctUsed:`{pct}% usado`,settingsAriaLabel:`Ajustes de uso y facturación`,title:`Uso`},yt={download:`Descargar`,downloadAria:`Descargar {filename}`},bt={loadingPreview:`Cargando vista previa`},xt={downloadFile:`Descargar archivo`,goToFile:`Ir al archivo`},St={noActiveSession:`No hay ninguna sesión activa. Inténtalo de nuevo.`},Ct={availableTools:`Herramientas disponibles`,bannerNoSections:`Esta llamada aún no tiene secciones de prompt normalizadas.`,bannerSectionsCount:`{count, plural, one {# sección de solicitud normalizada mostrada en el orden devuelto por la ruta del asistente.} other {# secciones de solicitud normalizadas mostradas en el orden devuelto por la ruta del asistente.}}`,collapseAll:`Contraer todo`,copyAriaLabel:`Copiar {title}`,emptyBody:`Esta llamada no tiene secciones de prompt normalizadas. Usa la pestaña Raw para inspeccionar la carga útil completa de la solicitud.`,emptyTitle:`Sin secciones de prompt normalizadas`,expandAll:`Expandir todo`,formatJavaScript:`JavaScript`,formatJson:`JSON`,formatMarkdown:`Markdown`,formatTypeScript:`TypeScript`,noContentAvailable:`No hay contenido disponible.`,promptSectionsTitle:`Secciones del prompt`},wt={body:`Añade fondos con tu proveedor o baja el límite de tokens del modelo.`,title:`Tu clave de API necesita créditos`},Tt={refreshing:`Actualizando`},Et={submitFailed:`No se pudo enviar tu respuesta. Inténtalo de nuevo.`},Dt={closeQuestionAria:`Cerrar pregunta`,minimizeAria:`Minimizar pregunta`,minimizedSummary:`{count, plural, one {# opción} other {# opciones}} · Toca para reabrir`,nextQuestionAria:`Pregunta siguiente`,optionAria:`Opción {number}: {label}`,previousQuestionAria:`Pregunta anterior`,position:`{current} de {total}`,sendResponseAria:`Enviar respuesta`,skip:`Omitir`,skipAria:`Omitir esta pregunta`,skipped:`Omitida`,skippedHint:`Omitida: elige una opción para anular`,typeDifferentAnswerAria:`Escribe una respuesta diferente`,typeSomethingElsePlaceholder:`Escribe algo más`},Ot={cancelAll:`Cancelar todos`,cancelAllAria:`Cancelar todos los mensajes en cola`,cancelAria:`Cancelar mensaje en cola`,editAria:`Editar mensaje en cola`,pushToAgentAria:`Enviar al agente`,queueHeading:`Cola · {count}`,showActionsAria:`Mostrar acciones del mensaje en cola`},kt={addToChat:`Añadir al chat`,ariaLabel:`Citar y responder`,cancel:`Cancelar`,placeholder:`Escribe tu respuesta…`},At={copyRequestPayloadAriaLabel:`Copiar carga de la solicitud`,copyResponsePayloadAriaLabel:`Copiar carga de la respuesta`,downloadFailedToast:`No se pudo descargar la carga.`,downloadRequestPayloadAriaLabel:`Descargar carga de la solicitud`,downloadResponsePayloadAriaLabel:`Descargar carga de la respuesta`,loadErrorTitle:`No se pudieron cargar las cargas sin procesar`,loading:`Cargando cargas sin procesar…`,payloadRequestFailed:`La solicitud de la carga falló. Inténtalo de nuevo.`,request:`Solicitud`,requestPayload:`Carga de la solicitud`,response:`Respuesta`,responsePayload:`Carga de la respuesta`,retry:`Reintentar`},jt={clickToReveal:`Haz clic para revelar`,clickToRevealTitle:`{label} · haz clic para revelar`,copyValue:`Copiar valor`,copyValueAria:`Copiar valor de {name}`,hideValue:`Ocultar valor`,hideValueAria:`Ocultar valor de {name}`,redacted:`Redactado`,redactedTitle:`Redactado: este valor no está vinculado a una credencial guardada`,redactionMarkerTitle:`Marcador de redacción: no verificado por el asistente`,revealFailed:`No se pudo revelar {name}.`,revealValueAria:`Revelar valor de {name}`},Mt={retryAria:`Reintentar actualización`},Nt={save:`Guardar`,title:`Renombrar conversación`},Pt={defaultStatus:`Buscando en la web para conocerte.`,heading:`Conociéndote…`,reading:`Leyendo <title>{title}</title><domain> · {domain}</domain>`,searchingFor:`Buscando <query>“{query}”</query>`,warmingUp:`Preparando la búsqueda…`},Ft={editRemovalAria:`Editar eliminación`,keepIt:`Conservarlo`,removeAria:`Eliminar`,sources:`Fuentes`,whyRemove:`¿Por qué eliminar esto?`},It={heading:`Conociéndote…`,mockNote:`(mock: el flujo en vivo muestra aquí el feed de actividad de búsqueda)`,resultsTitle:`Esto es lo que sé de ti. Puedes quitar lo que no sea cierto:`},Lt={body:`Esto es lo que sé de ti. Puedes quitar lo que no sea cierto:`,loading:`Conociéndote…`},Rt={continue:`Continuar`,emptyBody:`Esta vez no pude armar un perfil limpio. Podemos conocernos sobre la marcha.`,emptyTitle:`Empecemos de una vez.`},zt={heading:`Así podría ayudarte para empezar:`},Bt={argumentsPreview:`Vista previa de argumentos`,copySectionAria:`Copiar contenido de la sección`,kindAssistantText:`Texto del asistente`,kindFunctionResponse:`Respuesta de función`,kindReasoning:`Razonamiento`,kindToolCall:`Llamada de herramienta`,kindToolResult:`Resultado de herramienta`,modeResultOnly:`Respuesta solo de resultado`,modeTextOnly:`Respuesta solo de texto`,modeToolCalling:`Respuesta con llamada de herramienta`,noArgumentsPreview:`No hay vista previa de argumentos estructurados disponible para esta llamada de herramienta.`,noAssistantText:`No se capturó texto del asistente para esta sección.`,noSectionsFallback:`Esta respuesta no tiene secciones renderizadas. Las cargas útiles sin procesar siguen disponibles en la pestaña Raw, y cualquier metadato de respuesta normalizado se mostrará cuando esté presente.`,rawTabHint:`¿Necesitas la carga útil completa del proveedor? Abre la pestaña Raw para el JSON de solicitud y respuesta.`,responseMetadata:`Metadatos de respuesta`,sectionTitle:`Sección {number}`,sectionUnavailable:`Renderizado de sección no disponible`,stopReasonChip:`Motivo de parada: {reason}`,toolChip:`Herramienta: {name}`},Vt={saveFailed:`No se pudo guardar la regla de confianza. Inténtalo de nuevo.`},Ht={aria:`Ir al mensaje más reciente`,label:`Ir al más reciente`},Ut={submitFailed:`No se pudo enviar el secreto. Inténtalo de nuevo.`},Wt={cancel:`Cancelar`,domains:`Dominios: {list}`,placeholder:`Introduce el valor secreto...`,save:`Guardar`,savedSecurely:`Guardado de forma segura`,saving:`Guardando...`,secretValueFallback:`Valor secreto`,sendOnce:`Enviar una vez (sin guardar)`,sending:`Enviando...`,storedSecurelyNote:`Esta información se guarda de forma segura en tu dispositivo y no se envía a ningún servidor. La IA nunca ve este valor.`,title:`Credencial segura`,tools:`Herramientas: {list}`},Gt={body:`Las conversaciones de asistentes autoalojados aún no están disponibles desde la web. Gestiona tu asistente desde ajustes.`,openSettings:`Abrir ajustes`,title:`Asistente autoalojado`},Kt={settingUp:`Configurando tu asistente…`},qt={yourAssistant:`Tu asistente`},Jt={newChat:`Chat nuevo`},Yt={label:`Volver arriba`},Xt={message:`No se pudieron cargar tus conversaciones.`,retry:`Reintentar`},Zt={loadingAria:`Cargando conversaciones`},Qt={newGroup:`Grupo nuevo…`},$t={webSearch:`Búsqueda web`},en={view:`Ver`,viewAria:`Ver {name}`},tn={actionsAria:`Acciones de habilidad`,closeDetails:`Cerrar detalles de la habilidad`,goToSkill:`Ir a la habilidad`,loadError:`No se pudo cargar esta habilidad. Puede que se haya eliminado.`,moreTooltip:`Más`,removeSkill:`Eliminar habilidad`,titleFallback:`Habilidad`},nn={parameters:`Parámetros`,rawInput:`Entrada sin procesar`,runningSuffix:` · en ejecución`},rn={view:`Ver`},an={loadingAria:`Cargando habilidad`,provides:`Proporciona`,usedSkill:`Habilidad usada`},on={output:`Salida`,outputFormatAria:`Formato de salida`,showLess:`Mostrar menos`,showMore:`Mostrar más`},sn={fromSkill:`De {name}`},cn={callLink:`Llamada {number}`,emptyBody:`Esta pestaña enumera cada llamada de herramienta <code>skill_load</code> en la conversación. No se detectó ninguna en las llamadas LLM capturadas.`,emptyTitle:`No se cargaron habilidades en esta conversación`,loadCount:`{count, plural, one {1 carga} other {# cargas}}`,summaryStats:`{uniqueCount, plural, one {# habilidad única} other {# habilidades únicas}} · {totalLoads, plural, one {# llamada de carga} other {# llamadas de carga}}`,summaryTitle:`Habilidades cargadas en esta conversación`},ln={editReplyAria:`Editar respuesta`,removeQuoteAria:`Quitar cita`,typeReplyPlaceholder:`Escribe tu respuesta…`},un={successToast:`Guardado de forma segura. La clave nunca entró en el chat.`},dn={details:`Detalles`,showDetailsAria:`Mostrar detalles del subagente`},fn={backToTimelineAria:`Volver a la línea de tiempo`,backTooltip:`Atrás`,closeDetail:`Cerrar detalle del subagente`,input:`Entrada`,noEventsYet:`Aún no hay eventos`,objective:`Objetivo`,output:`Salida`,showLess:`Mostrar menos`,showMore:`Mostrar más`,stopSubagentAria:`Detener subagente`,timeline:`Línea de tiempo`},pn={viewReasoning:`Ver el razonamiento`,viewSearchDetails:`Ver detalles de la búsqueda`,viewSearchError:`Ver error de la búsqueda`,viewToolDetails:`Ver detalles de la herramienta`,workedFor:`Trabajó durante {duration}`},mn={collapse:`Contraer`,collapseDetailsAria:`Contraer detalles del subagente`,stopSubagentAria:`Detener subagente`},hn={openAria:`Abrir sugerencia: {title}`},gn={closeAria:`Cerrar`,letsDoIt:`¡Hagámoslo!`,thingsWeCanDo:`Cosas que podemos hacer:`,whatWellNeed:`Esto es lo que necesitaremos:`},_n={scrollForMore:`Desplázate hacia abajo para ver más`},vn={submitFailed:`No se pudo enviar. Inténtalo de nuevo.`},yn={cancelled:`Cancelado`,displayFailed:`No se pudo mostrar este contenido.`,displayFailedNamed:`No se pudo mostrar "{title}".`,done:`Hecho`,unknownSurface:`Superficie desconocida`,unsupportedType:`Tipo de superficie no admitido: {type}`},bn={copied:`Copiado`,copy:`Copiar`,copyAria:`Copiar tabla como markdown`},xn={continue:`Continuar`,defaultTitle:`¿En qué puedo ayudarte?`,other:`Otro`,otherPlaceholder:`Describe con qué necesitas ayuda...`,selectAll:`Selecciona todas las que correspondan`,somethingElse:`otra cosa distinta`},Sn={loadFailed:`No se pudo cargar la vista previa.`,tooLarge:`El archivo es demasiado grande para previsualizarlo en línea.`},Cn={reply:`Responder`},wn={adding:`Añadiendo…`,comment:`Comentar`,feedbackPlaceholder:`Añade tu comentario…`},Tn={allow:`Permitir`,confirmationRequired:`Se requiere confirmación`,copyOutput:`Copiar salida`,deny:`Denegar`,hideDetails:`Ocultar detalles`,output:`Salida`,showDetails:`Mostrar detalles`,technicalDetails:`Detalles técnicos`,toolLatency:`Latencia de la herramienta:`,toolName:`Nombre de la herramienta`},En={defaultValue:`predeterminado: {value}`,inputSchema:`Esquema de entrada`,intro:`{count, plural, one {# herramienta enviada con esta solicitud. Expande una herramienta para ver su definición y esquema de entrada.} other {# herramientas enviadas con esta solicitud. Expande una herramienta para ver su definición y esquema de entrada.}}`,noInputSchema:`Sin esquema de entrada: esta herramienta no acepta entrada estructurada.`,required:`obligatorio`,settings:`Configuración`},Dn={closeAria:`Cerrar detalles de la herramienta`,output:`Salida`,riskLevel:`Nivel de riesgo`,running:`Ejecutando…`},On={openAria:`Abrir {label}`,viewDetailsAria:`Ver detalles: {label}`},kn={fileUnavailable:`El archivo no está disponible para descargar`,fileUnavailableHostTimeout:`El archivo no está disponible para descargar (puede que la aprobación del archivo en el host haya caducado)`,stopCommand:`Detener comando`,stopRun:`Detener ejecución`,stopWorkflow:`Detener flujo de trabajo`},An={thinking:`Pensando`},jn={authFailed:`No se pudo autenticar al usuario.`},Mn={assistantBusy:`Tu asistente está ocupado. Inténtalo de nuevo cuando termine de responder.`,retryFailed:`No se pudo reintentar la respuesta`,summarizeFailed:`No se pudo resumir la conversación`},Nn={untitled:`Sin título`},Pn={commandFailed:`No se pudo ejecutar ese comando. Inténtalo de nuevo.`,doctorUnavailable:`El Doctor no está disponible en este asistente.`},Fn={downloadFile:`Descargar archivo`,goToFile:`Ir al archivo`},In={sketching:`Bocetando un visual...`},Ln={visual:`Visual`},Rn={ariaLabel:`Sesión de voz`,endSession:`Finalizar la sesión de voz`,muteAssistant:`Silenciar el asistente`,muteMicrophone:`Silenciar el micrófono`,muted:`Silenciado`,openVoiceRoom:`Abrir la sala de voz`,unmuteAssistant:`Activar el audio del asistente`,unmuteMicrophone:`Activar el micrófono`},zn={seed:`Hola, acabo de iniciar una conversación de voz contigo. Este mensaje se envía automáticamente. Salúdame en una frase corta y luego pregúntame en qué quiero trabajar.`},Bn={nativeSttNoTranscript:`El dictado nativo de {clientName} no devolvió una transcripción. Revisa el reconocimiento de voz nativo en los ajustes del sistema e inténtalo de nuevo.`},Vn={backAria:`Atrás`,description:`Una conversación hablada, manos libres, con {name}.`,listeningLanguage:`Idioma de escucha`,listeningLanguageApplies:`Se aplica a partir de tu próximo turno hablado.`,liveCaptions:`Activa los subtítulos en vivo cuando quieras.`,muteMic:`Silencia el micrófono sin terminar la sesión.`,speakNaturally:`Habla con naturalidad y {name} responde en voz alta.`,startTalking:`Empezar a hablar`,title:`Modo de voz`,voiceSettings:`Ajustes de voz`,yourAssistant:`tu asistente`},Hn={unavailable:`Elegir una voz no está disponible para este asistente ahora mismo.`},Un={ariaLabel:`Sesión de voz`,closeCamera:`Cerrar la cámara`,endSessionAria:`Finalizar la sesión de voz`,endSessionTooltip:`Finalizar sesión`,flipCamera:`Voltear la cámara`,minimizeAria:`Minimizar la sala de voz`,minimizeTooltip:`Minimizar (la sesión sigue activa)`,muteAssistant:`Silenciar el asistente`,muteMicrophone:`Silenciar el micrófono`,mutedState:`Silenciado. {state}`,showCamera:`Mostrar la cámara`,takePhoto:`Tomar una foto`,unmuteAssistant:`Activar el audio del asistente`,unmuteMicrophone:`Activar el micrófono`},Wn={dismiss:`Descartar`,endSession:`Terminar sesión de voz`,goToThreadAria:`Ir al hilo de la sesión de voz`,groupAria:`Sesión de voz`,muteAssistant:`Silenciar asistente`,muteMic:`Silenciar micrófono`,unmuteAssistant:`Activar sonido del asistente`,unmuteMic:`Activar micrófono`},Gn={muted:`Silenciado`},Kn={celsius:`°C`,fahrenheit:`°F`,feelsLike:`Sensación térmica {temp}°`,highLow:`Máx:{high}° Mín:{low}°`,now:`Ahora`},qn={content:`Contenido`,fetchFailed:`La obtención falló.`,fetching:`Obteniendo…`,noContent:`No se extrajo contenido.`,rawResult:`Resultado sin procesar`,viewExtracted:`Ver extraído`,viewRaw:`Ver sin procesar`},Jn={noSources:`No se encontraron fuentes.`,query:`Consulta`,sources:`Fuentes`,sourcesWithCount:`Fuentes ({count})`},Yn={moreCount:`+{count} más`},Xn={after:`Después`,before:`Antes`,notSet:`Sin definir`,removed:`Eliminado`},Zn={agents:`Agentes`,back:`Atrás`,backToSubagentsAria:`Volver a los subagentes`,closeDetail:`Cerrar el detalle del flujo de trabajo`,input:`Entrada`,noSubagentsYet:`Aún no hay subagentes`,output:`Salida`,stopWorkflow:`Detener flujo de trabajo`,subagents:`Subagentes`},Qn={input:`Entrada`,noPromptSummary:`Sin resumen del prompt`,noResultSummary:`Sin resumen del resultado`,output:`Salida`,prompt:`Prompt`,result:`Resultado`,running:`En ejecución…`},$n={cancelledAria:`Cancelado`,openDetailsAria:`Abrir detalles de {title}`},er={openTitle:`Abrir {path}`},tr={acpChatPlanBlock:e,acpChatTerminalBlock:t,acpChatToolCard:n,acpConnectAffordance:r,acpRunChatView:i,activeChatView:a,activityStepsPanel:o,addToChatSheet:s,allowOptionsMenu:c,appAssetActions:l,archiveAllConfirmDialog:u,assistantContentDisclosure:d,assistantNavItem:f,assistantSideMenu:p,assistantSwitcher:m,attachmentChip:h,attachmentDownloadOverlay:g,attachmentLoadingChip:_,attachmentOverflowSquare:v,attachmentPreviewModal:y,backgroundTaskDetailPanel:b,billingErrorBanner:x,cacheBreakpointMapCard:S,cacheDiffCard:C,cacheHealthCard:w,callRail:T,callSummarySurface:E,cameraDeepLink:D,cardSurface:O,channelReferenceChip:k,channelSetupPanel:A,channelThreadControl:j,channelTranscriptPanel:M,chatAttachments:N,chatBody:P,chatComposer:F,chatConversationHeader:I,chatLayout:L,chatLayoutHeader:R,chatMarkdownMessage:z,chatPage:B,chatRouteContent:V,chatRuleEditorModal:H,choiceSurface:U,cleanupScreen:W,collapsedGroupIcon:G,compactionCircuitOpenBanner:K,compactionTab:q,composerDraftNotices:J,composerNotices:Y,composerSecretNotice:X,composerSettingsMenu:Z,confirmationActions:Q,confirmationPromptCard:$,contactActions:ee,contactPromptCard:te,contextWindowIndicator:ne,conversationActions:re,conversationActionsSheet:ie,conversationActivityPill:ae,conversationAssetActions:oe,conversationAssets:se,conversationRow:ce,conversationStarterDock:le,conversationStarterGrid:ue,copyBlockSurface:de,copyButton:fe,copyIdToClipboard:pe,creditsCard:me,creditsUpsellCard:he,csvPreview:ge,dailyLimitBanner:_e,deleteConversationConfirmDialog:ve,documentAssetActions:ye,documentCommentForm:be,documentCommentPanel:xe,documentCommentThread:Se,documentPreviewSurface:Ce,documentReopenLink:we,documentViewerContainer:Te,documentViewerPage:Ee,dynamicPageSurface:De,exportProgressModal:Oe,fileDiffView:ke,fileDownload:Ae,filePreviewContainer:je,fileUploadSurface:Me,formSurface:Ne,groupActions:Pe,groupActionsSheet:Fe,groupNameDialogFromStore:Ie,inChatOnboardingController:Le,inChatPluginPill:Re,inlineProcessCard:ze,inspectPage:Be,liveVoiceBusy:Ve,liveVoiceButton:He,llmCallErrorCard:Ue,localFileEmbed:We,localFileLink:Ge,localFileMenu:Ke,lowBalanceBanner:qe,maintenanceModeBanner:Je,maintenanceRecoveryCard:Ye,memoryRouterPlaygroundPage:Xe,memoryTab:Ze,messageFilesPanel:Qe,messageHoverActions:$e,messageLongPressActions:et,micPermissionPrimer:tt,missingApiKeyBanner:nt,mobileCallSelector:rt,multiActivityGroup:it,nameInputDialog:at,newChatPluginsPicker:ot,newChatPluginsSection:st,oauthConnectSurface:ct,onboardingChoiceCard:lt,orphanedHistoryNotice:ut,overviewTab:dt,pageTabs:ft,phaseGroupedStepList:pt,pinnedAppColorSwatches:mt,pinnedAppNavItem:ht,pluginPill:gt,preferencesMenu:_t,preferencesUsagePanel:vt,previewMessageCard:yt,previewSkeleton:bt,previewUnsupported:xt,promptSubmission:St,promptTab:Ct,providerBillingBanner:wt,pullRefreshSpinner:Tt,questionActions:Et,questionPromptCard:Dt,queuedMessagesDrawer:Ot,quoteReplyBubble:kt,rawTab:At,redactedCredentialChip:jt,refreshFeedbackPill:Mt,renameDialogFromStore:Nt,researchActivityFeed:Pt,researchFactsCard:Ft,researchMockPage:It,researchResultsOverlay:Lt,researchResultsView:Rt,researchSuggestions:zt,responseTab:Bt,ruleEditorActions:Vt,scrollToLatestButton:Ht,secretActions:Ut,secretPromptCard:Wt,selfHostedScreen:Gt,setupScreen:Kt,sideMenuBuiltInNav:qt,sideMenuOverlayBottomColumn:Jt,sidebarBackToTop:Yt,sidebarConversationError:Xt,sidebarConversationSkeleton:Zt,sidebarListContextMenu:Qt,singleActivity:$t,skillCreatedCard:en,skillDetailPanel:tn,skillExecuteDetail:nn,skillLoadCard:rn,skillLoadDetail:an,skillLoadOutput:on,skillToolList:sn,skillsTab:cn,stagedQuotesStrip:ln,storeCredentialDialog:un,subagentAvatarRow:dn,subagentDetailPanel:fn,subagentPhaseTimeline:pn,subagentSpawnGroup:mn,suggestionCard:hn,suggestionDetailPanel:gn,suggestionLibrary:_n,surfaceActions:vn,surfaceRouter:yn,tableSurface:bn,taskPreferencesSurface:xn,textPreview:Sn,textSelectionPopover:Cn,tiptapDocumentEditor:wn,toolCallChip:Tn,toolDefinitionsContent:En,toolDetailPanel:Dn,toolStepPill:On,transcriptMessageBody:kn,transcriptRow:An,useConversationLoader:jn,useConversationSecondaryActions:Mn,useNativeWidgetSnapshotSync:Nn,useSendMessage:Pn,vellumFileActionModal:Fn,visualPlaceholder:In,visualSurface:Ln,voiceComposerBar:Rn,voiceEntryGreeting:zn,voiceErrors:Bn,voiceFirstRunCard:Vn,voicePickerSurface:Hn,voiceRoom:Un,voiceSessionPill:Wn,voiceSessionPillHost:Gn,weatherForecastDisplay:Kn,webFetchDetailView:qn,webSearchDetailView:Jn,webSearchStepRow:Yn,workResultSurface:Xn,workflowDetailPanel:Zn,workflowLeafDetail:Qn,workflowSubagentRow:$n,workspacePathLink:er};export{e as acpChatPlanBlock,t as acpChatTerminalBlock,n as acpChatToolCard,r as acpConnectAffordance,i as acpRunChatView,a as activeChatView,o as activityStepsPanel,s as addToChatSheet,c as allowOptionsMenu,l as appAssetActions,u as archiveAllConfirmDialog,d as assistantContentDisclosure,f as assistantNavItem,p as assistantSideMenu,m as assistantSwitcher,h as attachmentChip,g as attachmentDownloadOverlay,_ as attachmentLoadingChip,v as attachmentOverflowSquare,y as attachmentPreviewModal,b as backgroundTaskDetailPanel,x as billingErrorBanner,S as cacheBreakpointMapCard,C as cacheDiffCard,w as cacheHealthCard,T as callRail,E as callSummarySurface,D as cameraDeepLink,O as cardSurface,k as channelReferenceChip,A as channelSetupPanel,j as channelThreadControl,M as channelTranscriptPanel,N as chatAttachments,P as chatBody,F as chatComposer,I as chatConversationHeader,L as chatLayout,R as chatLayoutHeader,z as chatMarkdownMessage,B as chatPage,V as chatRouteContent,H as chatRuleEditorModal,U as choiceSurface,W as cleanupScreen,G as collapsedGroupIcon,K as compactionCircuitOpenBanner,q as compactionTab,J as composerDraftNotices,Y as composerNotices,X as composerSecretNotice,Z as composerSettingsMenu,Q as confirmationActions,$ as confirmationPromptCard,ee as contactActions,te as contactPromptCard,ne as contextWindowIndicator,re as conversationActions,ie as conversationActionsSheet,ae as conversationActivityPill,oe as conversationAssetActions,se as conversationAssets,ce as conversationRow,le as conversationStarterDock,ue as conversationStarterGrid,de as copyBlockSurface,fe as copyButton,pe as copyIdToClipboard,me as creditsCard,he as creditsUpsellCard,ge as csvPreview,_e as dailyLimitBanner,tr as default,ve as deleteConversationConfirmDialog,ye as documentAssetActions,be as documentCommentForm,xe as documentCommentPanel,Se as documentCommentThread,Ce as documentPreviewSurface,we as documentReopenLink,Te as documentViewerContainer,Ee as documentViewerPage,De as dynamicPageSurface,Oe as exportProgressModal,ke as fileDiffView,Ae as fileDownload,je as filePreviewContainer,Me as fileUploadSurface,Ne as formSurface,Pe as groupActions,Fe as groupActionsSheet,Ie as groupNameDialogFromStore,Le as inChatOnboardingController,Re as inChatPluginPill,ze as inlineProcessCard,Be as inspectPage,Ve as liveVoiceBusy,He as liveVoiceButton,Ue as llmCallErrorCard,We as localFileEmbed,Ge as localFileLink,Ke as localFileMenu,qe as lowBalanceBanner,Je as maintenanceModeBanner,Ye as maintenanceRecoveryCard,Xe as memoryRouterPlaygroundPage,Ze as memoryTab,Qe as messageFilesPanel,$e as messageHoverActions,et as messageLongPressActions,tt as micPermissionPrimer,nt as missingApiKeyBanner,rt as mobileCallSelector,it as multiActivityGroup,at as nameInputDialog,ot as newChatPluginsPicker,st as newChatPluginsSection,ct as oauthConnectSurface,lt as onboardingChoiceCard,ut as orphanedHistoryNotice,dt as overviewTab,ft as pageTabs,pt as phaseGroupedStepList,mt as pinnedAppColorSwatches,ht as pinnedAppNavItem,gt as pluginPill,_t as preferencesMenu,vt as preferencesUsagePanel,yt as previewMessageCard,bt as previewSkeleton,xt as previewUnsupported,St as promptSubmission,Ct as promptTab,wt as providerBillingBanner,Tt as pullRefreshSpinner,Et as questionActions,Dt as questionPromptCard,Ot as queuedMessagesDrawer,kt as quoteReplyBubble,At as rawTab,jt as redactedCredentialChip,Mt as refreshFeedbackPill,Nt as renameDialogFromStore,Pt as researchActivityFeed,Ft as researchFactsCard,It as researchMockPage,Lt as researchResultsOverlay,Rt as researchResultsView,zt as researchSuggestions,Bt as responseTab,Vt as ruleEditorActions,Ht as scrollToLatestButton,Ut as secretActions,Wt as secretPromptCard,Gt as selfHostedScreen,Kt as setupScreen,qt as sideMenuBuiltInNav,Jt as sideMenuOverlayBottomColumn,Yt as sidebarBackToTop,Xt as sidebarConversationError,Zt as sidebarConversationSkeleton,Qt as sidebarListContextMenu,$t as singleActivity,en as skillCreatedCard,tn as skillDetailPanel,nn as skillExecuteDetail,rn as skillLoadCard,an as skillLoadDetail,on as skillLoadOutput,sn as skillToolList,cn as skillsTab,ln as stagedQuotesStrip,un as storeCredentialDialog,dn as subagentAvatarRow,fn as subagentDetailPanel,pn as subagentPhaseTimeline,mn as subagentSpawnGroup,hn as suggestionCard,gn as suggestionDetailPanel,_n as suggestionLibrary,vn as surfaceActions,yn as surfaceRouter,bn as tableSurface,xn as taskPreferencesSurface,Sn as textPreview,Cn as textSelectionPopover,wn as tiptapDocumentEditor,Tn as toolCallChip,En as toolDefinitionsContent,Dn as toolDetailPanel,On as toolStepPill,kn as transcriptMessageBody,An as transcriptRow,jn as useConversationLoader,Mn as useConversationSecondaryActions,Nn as useNativeWidgetSnapshotSync,Pn as useSendMessage,Fn as vellumFileActionModal,In as visualPlaceholder,Ln as visualSurface,Rn as voiceComposerBar,zn as voiceEntryGreeting,Bn as voiceErrors,Vn as voiceFirstRunCard,Hn as voicePickerSurface,Un as voiceRoom,Wn as voiceSessionPill,Gn as voiceSessionPillHost,Kn as weatherForecastDisplay,qn as webFetchDetailView,Jn as webSearchDetailView,Yn as webSearchStepRow,Xn as workResultSurface,Zn as workflowDetailPanel,Qn as workflowLeafDetail,$n as workflowSubagentRow,er as workspacePathLink};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var e={title:`Подключить Claude Code`,subtitleIdle:`Использование подписки Claude Code`,subtitleStarting:`Запускаем вход...`,subtitleWaiting:`Ждём вход в Claude...`,subtitleExchanging:`Завершаем вход...`,subtitleConnected:`Claude Code подключён, продолжаем...`,subtitlePaste:`Вставка ключа из открывшейся вкладки`,errorFallback:`Не удалось подключить Claude. Повторите попытку.`,connectButton:`Подключить`,saveButton:`Сохранить`,pastePlaceholder:`Ключ`},t={backAria:`Назад ко всем шагам`,backTooltip:`Все шаги`},n={title:`Добавить в диалог`,closeAriaLabel:`Закрыть`,camera:`Камера`,gallery:`Фотоплёнка`,files:`Файлы`,pickFailed:`Не удалось добавить этот файл. Повторите попытку.`,tooLarge:`{count, plural, one {# файл слишком большой, чтобы прикрепить} few {# файла слишком большие, чтобы прикрепить} many {# файлов слишком большие, чтобы прикрепить} other {# файла слишком большие, чтобы прикрепить}}`,pickFull:`{count, plural, one {# файл не поместился в эту пачку. Добавление отдельно.} few {# файла не поместились в эту пачку. Добавление отдельно.} many {# файлов не поместились в эту пачку. Добавление отдельно.} other {# файла не поместились в эту пачку. Добавление отдельно.}}`},r={allowAndCreateRule:`Разрешить и создать правило`,trigger:`Другие варианты разрешения`},i={appExported:`Приложение экспортировано`,shareFailed:`Не удалось поделиться приложением`},a={bulkActionMembersFailed:`Не удалось загрузить все диалоги в этом разделе. Повторите попытку.`},o={collapse:`Скрыть ассистентов`,currentAssistant:`{name}, текущий ассистент`,expand:`Сменить ассистента`,switchFailed:`Не удалось сменить ассистента. Повторите попытку.`,switchTo:`Переключиться на {name}`,unnamedAssistant:`Безымянный ассистент`},s={description:`Где {count, plural, one {# точка разрыва кэша попала} few {# точки разрыва кэша попали} many {# точек разрыва кэша попали} other {# точки разрыва кэша попали}} в префикс этого запроса и какие сегменты прочитали, а какие создали заново.`,estimatedTokens:`≈ {count} токенов`,fullMissBody:`В этом ходе каждый сегмент создали заново. Сравнение с предыдущим ходом в разнице кэша выше, чтобы найти изменившийся блок.`,fullMissTitle:`Полный промах кэша`,loadError:`Не удалось загрузить тело запроса, чтобы нанести точки разрыва кэша.`,loading:`Загружаем тело запроса, чтобы нанести точки разрыва кэша…`,noBreakpoints:`В этом запросе не было точек разрыва кэша: кэш промпта для вызова был выключен.`,splitEstimatedNote:` Разделение «прочитано / создано» считается по размеру сегмента; провайдер сообщает только итоги.`,statusCreated:`Создано заново`,statusRead:`Прочитано из кэша`,statusUnknown:`В кэше`,title:`Точки разрыва кэша`,tokenEstimateNote:`Число токенов оценивается по длине текста.`},c={changedLabel:`Изменено`,changedMessageFallback:`сообщение`,chipMessages:`Сообщения`,chipModel:`Модель`,chipSettings:`Настройки`,chipSystem:`Система`,chipTools:`Инструменты`,currentModelFallback:`эта модель`,description:`Что изменилось с запроса прошлого хода: блок, из-за которого кэш промпта создали заново.`,diffAnyway:`Всё равно сравнить ({lineCount} строк)`,diffLabel:`Разница: {label}`,diffLargeDefault:`Изменённый текст большой, поэтому по умолчанию его не сравнивают.`,diffStillTooLarge:`Всё ещё слишком большой, чтобы сравнивать здесь (больше {maxLines} строк). Вкладка Raw показывает полное тело.`,diffTooLarge:`Изменённый текст слишком большой, чтобы сравнивать здесь. Вкладка Raw показывает полное тело.`,loadPreviousCallError:`Не удалось загрузить предыдущий вызов для сравнения.`,loadingPreviousCall:`Загружаем предыдущий вызов для сравнения…`,messageStatsAppended:`добавлено: {count}`,messageStatsLeading:`Начальные сообщения: {parts}`,messageStatsRemoved:`удалено: {count}`,messageStatsShared:`общих: {count}`,previousModelFallback:`предыдущая модель`,previousPromptUnavailable:`Промпт предыдущего вызова недоступен для сравнения.`,showLess:`Показать меньше`,showMoreDiffLines:`Показать ещё {count} строк разницы`,statusMessagesEarlierBody:`{label} #{index} отличается от прошлого хода, поэтому всё, что кэшировалось после него, в этом ходе обрабатывается заново.`,statusMessagesEarlierTitle:`Изменилось более раннее сообщение`,statusMessagesHistoryBody:`В этом ходе пропало более ранних сообщений: {removedCount} (скорее всего из-за сжатия истории), поэтому кэшированный префикс сообщений больше не совпадает.`,statusMessagesHistoryTitle:`История сообщений изменилась`,statusModelBody:`Этот ход использовал {current}, а предыдущий: {previous}. Другая модель не может переиспользовать прошлый кэш промпта, поэтому весь промпт создаётся заново.`,statusModelTitle:`Модель изменилась`,statusPrefixUnchangedBodyAppended:`Кэшированный префикс совпадает с прошлым ходом, и добавлено новых сообщений: {count}. Промах кэша здесь скорее про истечение TTL, а не про изменённое содержимое.`,statusPrefixUnchangedBodyIdentical:`Кэшированный префикс совпадает с прошлым ходом. Промах кэша здесь скорее про истечение TTL, а не про изменённое содержимое.`,statusPrefixUnchangedTitle:`Префикс промпта не изменился`,statusSettingsBody:`От прошлого хода отличаются только настройки запроса (например, temperature). У большинства провайдеров одного этого недостаточно, чтобы сбросить кэш промпта.`,statusSettingsTitle:`Настройки запроса изменились`,statusSystemBody:`Часть системного промпта изменилась с прошлого хода. Нестабильное содержимое здесь (метка времени, память или блок на каждый ход) заставляет создавать кэш заново каждый ход.`,statusSystemTitle:`Системный промпт изменился`,statusToolsBody:`Набор инструментов или их определения отличаются от прошлого хода. Инструменты стоят в начале кэшированного префикса, поэтому любое изменение здесь пересоздаёт кэш ещё до системного промпта и сообщений.`,statusToolsTitle:`Определения инструментов изменились`,title:`Разница кэша`,unchangedLines:`⋯ без изменений: {count} строк`},l={barAriaLabel:`Разбивка кэша промпта из {total} токенов: {segments} ({percent} из кэша).`,barSegment:`{count} {label}`,cached:`из кэша`,description:`Какая доля промпта этого вызова пришла из кэша промпта.`,segmentCreated:`Создано заново`,segmentFresh:`Новый ввод`,segmentRead:`Прочитано из кэша`,statusFullMissBody:`Ни одна часть промпта этого вызова не была прочитана из кэша.`,statusFullMissReCreatedSuffix:` В этом ходе в кэш записали {count} токенов, но ни один не переиспользовали: обычно так бывает, когда кэшированный префикс изменился с прошлого хода.`,statusFullMissTitle:`Полный промах кэша`,statusHealthyBody:`{percent} промпта этого вызова ({count} токенов) пришло из кэша.`,statusHealthyTitle:`Здоровое переиспользование кэша`,statusPartialBody:`{percent} промпта этого вызова ({count} токенов) пришло из кэша; остальное в этом ходе обработали заново.`,statusPartialTitle:`Частичное переиспользование кэша`,title:`Состояние кэша`,unavailableNote:`Этот вызов не сообщил об использовании кэша промпта.`,unavailableNoteForProvider:`Этот вызов не сообщил об использовании кэша промпта для {provider}.`},u={callCount:`{count, plural, one {# вызов LLM} few {# вызова LLM} many {# вызовов LLM} other {# вызова LLM}}`,callLabel:`Вызов {number}`,compaction:`Сжатие`,cost:`Стоимость`,empty:`Вызовов LLM нет.`,failed:`Ошибка`,latest:`Последний`,navAriaLabel:`Вызовы LLM`,syntheticAgentLoopError:`Ошибка цикла агента`,syntheticAgentLoopErrorWithReason:`Ошибка цикла агента · {reason}`,syntheticYield:`Пауза · сжатие не уместило следующий шаг`,unrecognizedCall:`Неизвестный вызов`},d={addToChat:`Добавить в диалог`,askAssistantPlaceholder:`Сообщение для {assistantName}`},f={compactedMessages:`сжато: {count}`,compactedPreserved:`Сжато / сохранено`,contextTokens:`Токены контекста`,duration:`Длительность`,durationMs:`{count} мс`,emptyBody:`Сжатие относят к вызову, который шёл сразу после него. Если ждал его здесь, проверь, что диалог превысил бюджет контекста прямо перед этим вызовом.`,emptyTitle:`К этому вызову не привязано сжатие`,eventIndex:` · {index} из {totalCount}`,hideSummaryText:`Скрыть текст сводки`,loadFailedDefault:`Не удалось загрузить сжатие.`,loadFailedTitle:`Не удалось загрузить`,loading:`Загрузка сжатия…`,messageRange:`{before} → {after}`,messages:`Сообщения`,outcomeCompacted:`Сжато`,outcomeFailed:`Сжатие не удалось`,outcomeFailedDetail:`Вызов суммаризатора завершился ошибкой, поэтому контекст оставили как есть.`,outcomeNoChange:`Без изменений`,outcomeUnavailable:`Исход недоступен`,outcomeUnavailableDetail:`Подробные метрики до и после для этого сжатия не записали.`,preservedMessages:`сохранено: {count}`,reductionRatio:`в {ratio}× меньше`,retry:`Повторить`,showSummaryText:`Показать текст сводки`,summarizerUsage:`{input} вход / {output} выход`,summaryCost:`Стоимость сводки`,summaryModel:`Модель сводки`,tokenRange:`{before} → {after}`,tokenRangeWithReduction:`{before} → {after} ({reduction})`,trigger:`Триггер`},p={profileSwitchFailed:`Профиль создан, но переключиться на него не удалось`,profileSwitchFallback:`Не удалось сменить профиль. Повторите попытку.`},m={archive:`В архив`,copyConversation:`Скопировать весь диалог`,copyConversationId:`Скопировать ID диалога`,delete:`Удалить`,forkConversation:`Ответвить диалог`,inspect:`Разобрать диалог`,markRead:`Отметить как прочитанный`,markUnread:`Отметить как непрочитанный`,moveToGroup:`Перенести в группу`,newGroup:`Новая группа…`,openInNewWindow:`Открыть в новом окне`,pin:`Закрепить`,refresh:`Обновить`,removeFromGroup:`Убрать из группы`,rename:`Переименовать`,shareFeedback:`Отправить отзыв`,triggerAriaLabel:`Действия с диалогом`,unarchive:`Вернуть из архива`,unpin:`Открепить`},h={closeAriaLabel:`Закрыть`,title:`Действия с диалогом`},g={ariaLabel:`Ресурсы диалога, {count, plural, one {# элемент} few {# элемента} many {# элементов} other {# элемента}}`,ariaLabelUnseen:`Ресурсы диалога, {count, plural, one {# элемент} few {# элемента} many {# элементов} other {# элемента}} (есть невидимые изменения)`,heading:`Ресурсы`,label:`{count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}}`},_={caption:`Подсказки:`},v={copied:`Скопировано`,copyFailed:`Не удалось скопировать в буфер обмена.`},y={conversationCopied:`ID диалога скопирован в буфер обмена.`,conversationFailed:`Не удалось скопировать ID диалога.`,groupCopied:`ID группы скопирован в буфер обмена.`,groupFailed:`Не удалось скопировать ID группы.`},b={cancel:`Отмена`,confirm:`Удалить`,message:`Удалить «{title}»? Диалог и его сообщения будут удалены навсегда. Это действие нельзя отменить.`,title:`Удалить диалог`,untitled:`Без названия`},x={pdfDownloadFailed:`Не удалось скачать PDF`},S={cancel:`Отмена`,close:`Закрыть`,defaultError:`Не удалось экспортировать данные инспектора.`,descriptionDone:`Скачивание должно было начаться само.`,descriptionError:`Что-то пошло не так при сборе экспорта.`,descriptionRunning:`Собираем тела запросов провайдера и нормализованный контекст. В длинных диалогах это может занять время.`,done:`Готово`,progressAriaLabel:`Прогресс экспорта`,retry:`Повторить`,statusDone:`Готово`,statusPackaging:`Упаковываем ZIP…`,statusProgress:`{completed} из {total} вызовов`,titleDone:`Экспорт готов`,titleError:`Экспорт не удался`,titleRunning:`Экспортируем данные инспектора`},C={failed:`Не удалось скачать файл`},w={archiveAll:`В архив все…`,copyGroupId:`Скопировать ID группы`,deleteGroup:`Удалить группу`,deleteGroupWithConversations:`Удалить группу…`,groupByChannel:`Группировать по каналу`,markAllRead:`Отметить все как прочитанные`,moveSectionDown:`Секцию вниз`,moveSectionUp:`Секцию вверх`,rename:`Переименовать`,ungroup:`Разгруппировать`},T={title:`Действия: {name}`},E={accessDenied:`Инспектор доступен, когда включён флаг Internal Thread Actions.`,allMessages:`Все сообщения`,back:`Назад`,backToConversationAria:`Назад к диалогу`,chooseCall:`Выбор вызова на панели, чтобы разобрать его контекст.`,conversationScopeSubtitle:`Показаны все вызовы LLM, записанные для этого диалога.`,detailLoadFailed:`Не удалось загрузить нормализованный контекст этого вызова.`,emptyBodyConversation:`Либо ни одно сообщение диалога не создал вызов LLM, либо журналы запросов обрезала политика хранения.`,emptyBodyMessage:`Либо это сообщение создал не вызов LLM, либо его журналы запросов обрезала политика хранения.`,emptyTitleConversation:`Для этого диалога нет записанных вызовов LLM.`,emptyTitleMessage:`Для этого сообщения нет записанных вызовов LLM.`,enableLogging:`Включить журнал`,enableLoggingFailed:`Не удалось включить журнал`,enableLoggingFailedWithMessage:`Не удалось включить журнал ({message})`,enabling:`Включаем…`,exportFailed:`Не удалось экспортировать данные инспектора`,exportZip:`Экспорт ZIP`,exportZipAria:`Экспортировать данные инспектора как ZIP`,exporting:`Экспорт…`,filterToMessage:`Фильтр по сообщению:`,llmCallCount:`{count, plural, one {1 вызов LLM} few {# вызова LLM} many {# вызовов LLM} other {# вызова LLM}}`,loadContextFailed:`Не удалось загрузить контекст LLM.`,loadFailedTitle:`Не удалось загрузить`,loading:`Загрузка…`,loggingDisabledBody:`Тела запросов и ответов не записываются, поэтому смотреть нечего. Включение журнала фиксирует следующие вызовы LLM.`,loggingDisabledTitle:`Журнал запросов LLM выключен`,loggingEnabledToast:`Журнал запросов LLM включён`,messageOptionDeepLink:`Сообщение {messageId}`,messageOptionNoText:`{index}. (без текста)`,messageOptionWithPreview:`{index}. {preview}`,retry:`Повторить`,scopedToOneMessage:`Ограничено одним сообщением · `,scopedToTurn:`Ограничено ходом {index} из {count} · `,title:`Инспектор контекста LLM`},D={chipCode:`Код`,chipProvider:`Провайдер`,chipRequestId:`Request ID`,chipStatus:`Статус`,chipType:`Тип`,chipUpstreamCode:`Код выше по цепочке`,chipUpstreamParam:`Параметр выше по цепочке`,chipUpstreamType:`Тип выше по цепочке`,noResponse:`Провайдер отклонил этот вызов и не вернул ответ.`,title:`Вызов не удался`},O={pictureInPictureUnavailable:`Картинка в картинке недоступна`},k={unavailable:`Этот файл здесь недоступен`},A={addOlderPairButton:`+ Добавить более старую пару`,assistantReplyLabel:`[assistant]: ответ`,assistantReplyPlaceholder:`Ответ ассистента, который был до сообщения пользователя ниже.`,configTitle:`Конфиг {paneId}`,conversationalContextTitle:`Контекст диалога (общий для обеих панелей)`,customPromptPlaceholder:`Свой системный промпт маршрутизатора. Доступные подстановки:
|
|
1
|
+
var e={title:`Подключить Claude Code`,subtitleIdle:`Использование подписки Claude Code`,subtitleStarting:`Запускаем вход...`,subtitleWaiting:`Ждём вход в Claude...`,subtitleExchanging:`Завершаем вход...`,subtitleConnected:`Claude Code подключён, продолжаем...`,subtitlePaste:`Вставка ключа из открывшейся вкладки`,errorFallback:`Не удалось подключить Claude. Повторите попытку.`,connectButton:`Подключить`,saveButton:`Сохранить`,pastePlaceholder:`Ключ`},t={backAria:`Назад ко всем шагам`,backTooltip:`Все шаги`},n={title:`Добавить в диалог`,closeAriaLabel:`Закрыть`,camera:`Камера`,gallery:`Фотоплёнка`,files:`Файлы`,pickFailed:`Не удалось добавить этот файл. Повторите попытку.`,tooLarge:`{count, plural, one {# файл слишком большой, чтобы прикрепить} few {# файла слишком большие, чтобы прикрепить} many {# файлов слишком большие, чтобы прикрепить} other {# файла слишком большие, чтобы прикрепить}}`,pickFull:`{count, plural, one {# файл не поместился в эту пачку. Добавление отдельно.} few {# файла не поместились в эту пачку. Добавление отдельно.} many {# файлов не поместились в эту пачку. Добавление отдельно.} other {# файла не поместились в эту пачку. Добавление отдельно.}}`},r={allowAndCreateRule:`Разрешить и создать правило`,trigger:`Другие варианты разрешения`},i={appExported:`Приложение экспортировано`,shareFailed:`Не удалось поделиться приложением`},a={bulkActionMembersFailed:`Не удалось загрузить все диалоги в этом разделе. Повторите попытку.`},o={collapse:`Скрыть ассистентов`,currentAssistant:`{name}, текущий ассистент`,expand:`Сменить ассистента`,switchFailed:`Не удалось сменить ассистента. Повторите попытку.`,switchTo:`Переключиться на {name}`,unnamedAssistant:`Безымянный ассистент`},s={description:`Где {count, plural, one {# точка разрыва кэша попала} few {# точки разрыва кэша попали} many {# точек разрыва кэша попали} other {# точки разрыва кэша попали}} в префикс этого запроса и какие сегменты прочитали, а какие создали заново.`,estimatedTokens:`≈ {count} токенов`,fullMissBody:`В этом ходе каждый сегмент создали заново. Сравнение с предыдущим ходом в разнице кэша выше, чтобы найти изменившийся блок.`,fullMissTitle:`Полный промах кэша`,loadError:`Не удалось загрузить тело запроса, чтобы нанести точки разрыва кэша.`,loading:`Загружаем тело запроса, чтобы нанести точки разрыва кэша…`,noBreakpoints:`В этом запросе не было точек разрыва кэша: кэш промпта для вызова был выключен.`,splitEstimatedNote:` Разделение «прочитано / создано» считается по размеру сегмента; провайдер сообщает только итоги.`,statusCreated:`Создано заново`,statusRead:`Прочитано из кэша`,statusUnknown:`В кэше`,title:`Точки разрыва кэша`,tokenEstimateNote:`Число токенов оценивается по длине текста.`},c={changedLabel:`Изменено`,changedMessageFallback:`сообщение`,chipMessages:`Сообщения`,chipModel:`Модель`,chipSettings:`Настройки`,chipSystem:`Система`,chipTools:`Инструменты`,currentModelFallback:`эта модель`,description:`Что изменилось с запроса прошлого хода: блок, из-за которого кэш промпта создали заново.`,diffAnyway:`Всё равно сравнить ({lineCount} строк)`,diffLabel:`Разница: {label}`,diffLargeDefault:`Изменённый текст большой, поэтому по умолчанию его не сравнивают.`,diffStillTooLarge:`Всё ещё слишком большой, чтобы сравнивать здесь (больше {maxLines} строк). Вкладка Raw показывает полное тело.`,diffTooLarge:`Изменённый текст слишком большой, чтобы сравнивать здесь. Вкладка Raw показывает полное тело.`,loadPreviousCallError:`Не удалось загрузить предыдущий вызов для сравнения.`,loadingPreviousCall:`Загружаем предыдущий вызов для сравнения…`,messageStatsAppended:`добавлено: {count}`,messageStatsLeading:`Начальные сообщения: {parts}`,messageStatsRemoved:`удалено: {count}`,messageStatsShared:`общих: {count}`,previousModelFallback:`предыдущая модель`,previousPromptUnavailable:`Промпт предыдущего вызова недоступен для сравнения.`,showLess:`Показать меньше`,showMoreDiffLines:`Показать ещё {count} строк разницы`,statusMessagesEarlierBody:`{label} #{index} отличается от прошлого хода, поэтому всё, что кэшировалось после него, в этом ходе обрабатывается заново.`,statusMessagesEarlierTitle:`Изменилось более раннее сообщение`,statusMessagesHistoryBody:`В этом ходе пропало более ранних сообщений: {removedCount} (скорее всего из-за сжатия истории), поэтому кэшированный префикс сообщений больше не совпадает.`,statusMessagesHistoryTitle:`История сообщений изменилась`,statusModelBody:`Этот ход использовал {current}, а предыдущий: {previous}. Другая модель не может переиспользовать прошлый кэш промпта, поэтому весь промпт создаётся заново.`,statusModelTitle:`Модель изменилась`,statusPrefixUnchangedBodyAppended:`Кэшированный префикс совпадает с прошлым ходом, и добавлено новых сообщений: {count}. Промах кэша здесь скорее про истечение TTL, а не про изменённое содержимое.`,statusPrefixUnchangedBodyIdentical:`Кэшированный префикс совпадает с прошлым ходом. Промах кэша здесь скорее про истечение TTL, а не про изменённое содержимое.`,statusPrefixUnchangedTitle:`Префикс промпта не изменился`,statusSettingsBody:`От прошлого хода отличаются только настройки запроса (например, temperature). У большинства провайдеров одного этого недостаточно, чтобы сбросить кэш промпта.`,statusSettingsTitle:`Настройки запроса изменились`,statusSystemBody:`Часть системного промпта изменилась с прошлого хода. Нестабильное содержимое здесь (метка времени, память или блок на каждый ход) заставляет создавать кэш заново каждый ход.`,statusSystemTitle:`Системный промпт изменился`,statusToolsBody:`Набор инструментов или их определения отличаются от прошлого хода. Инструменты стоят в начале кэшированного префикса, поэтому любое изменение здесь пересоздаёт кэш ещё до системного промпта и сообщений.`,statusToolsTitle:`Определения инструментов изменились`,title:`Разница кэша`,unchangedLines:`⋯ без изменений: {count} строк`},l={barAriaLabel:`Разбивка кэша промпта из {total} токенов: {segments} ({percent} из кэша).`,barSegment:`{count} {label}`,cached:`из кэша`,description:`Какая доля промпта этого вызова пришла из кэша промпта.`,segmentCreated:`Создано заново`,segmentFresh:`Новый ввод`,segmentRead:`Прочитано из кэша`,statusFullMissBody:`Ни одна часть промпта этого вызова не была прочитана из кэша.`,statusFullMissReCreatedSuffix:` В этом ходе в кэш записали {count} токенов, но ни один не переиспользовали: обычно так бывает, когда кэшированный префикс изменился с прошлого хода.`,statusFullMissTitle:`Полный промах кэша`,statusHealthyBody:`{percent} промпта этого вызова ({count} токенов) пришло из кэша.`,statusHealthyTitle:`Здоровое переиспользование кэша`,statusPartialBody:`{percent} промпта этого вызова ({count} токенов) пришло из кэша; остальное в этом ходе обработали заново.`,statusPartialTitle:`Частичное переиспользование кэша`,title:`Состояние кэша`,unavailableNote:`Этот вызов не сообщил об использовании кэша промпта.`,unavailableNoteForProvider:`Этот вызов не сообщил об использовании кэша промпта для {provider}.`},u={callCount:`{count, plural, one {# вызов LLM} few {# вызова LLM} many {# вызовов LLM} other {# вызова LLM}}`,callLabel:`Вызов {number}`,compaction:`Сжатие`,cost:`Стоимость`,empty:`Вызовов LLM нет.`,failed:`Ошибка`,latest:`Последний`,navAriaLabel:`Вызовы LLM`,syntheticAgentLoopError:`Ошибка цикла агента`,syntheticAgentLoopErrorWithReason:`Ошибка цикла агента · {reason}`,syntheticYield:`Пауза · сжатие не уместило следующий шаг`,unrecognizedCall:`Неизвестный вызов`},d={heading:`Ссылка на сообщение из {channel}`,headingWithSender:`Ссылка на сообщение {sender} в {channel}`,removeAria:`Убрать выбранное сообщение`},f={closeAria:`Закрыть тред в {channel}`,label:`Тред в {channel}`,openAria:`Открыть тред в {channel}`},p={assistantSender:`Ассистент`,closeAria:`Закрыть тред канала`,closeTooltip:`Закрыть`,emptyNoMessageDetail:`{channel} не передаёт Vellum данные по отдельным сообщениям, которые нужны этому виду, поэтому показывать здесь нечего. Откройте разговор в {channel}, чтобы прочитать его целиком.`,emptyThread:`В этом разговоре пока нет сообщений из {channel}.`,namedTitle:`{channel} · {thread}`,noText:`Без текста`,openInChannel:`Открыть в {channel}`,reactionAdded:`Реакция {emoji}`,reactionRemoved:`Реакция {emoji} убрана`,readOnly:`Только чтение`,readOnlyNote:`Это разговор в том виде, в каком он есть в {channel}. Писать можно только в поле ввода Vellum.`,reference:`Сослаться в Vellum`,referenceAria:`Сослаться на это сообщение из {channel} в Vellum`,referenced:`Выбрано`,removeReferenceAria:`Убрать эту ссылку из поля ввода Vellum`,title:`Тред в {channel}`,unknownSender:`Неизвестный отправитель`},m={addToChat:`Добавить в диалог`,askAssistantPlaceholder:`Сообщение для {assistantName}`,endOtherVoiceSession:`Завершить и начать здесь`,goToVoiceSession:`Перейти к ней`},h={compactedMessages:`сжато: {count}`,compactedPreserved:`Сжато / сохранено`,contextTokens:`Токены контекста`,duration:`Длительность`,durationMs:`{count} мс`,emptyBody:`Сжатие относят к вызову, который шёл сразу после него. Если ждал его здесь, проверь, что диалог превысил бюджет контекста прямо перед этим вызовом.`,emptyTitle:`К этому вызову не привязано сжатие`,eventIndex:` · {index} из {totalCount}`,hideSummaryText:`Скрыть текст сводки`,loadFailedDefault:`Не удалось загрузить сжатие.`,loadFailedTitle:`Не удалось загрузить`,loading:`Загрузка сжатия…`,messageRange:`{before} → {after}`,messages:`Сообщения`,outcomeCompacted:`Сжато`,outcomeFailed:`Сжатие не удалось`,outcomeFailedDetail:`Вызов суммаризатора завершился ошибкой, поэтому контекст оставили как есть.`,outcomeNoChange:`Без изменений`,outcomeUnavailable:`Исход недоступен`,outcomeUnavailableDetail:`Подробные метрики до и после для этого сжатия не записали.`,preservedMessages:`сохранено: {count}`,reductionRatio:`в {ratio}× меньше`,retry:`Повторить`,showSummaryText:`Показать текст сводки`,summarizerUsage:`{input} вход / {output} выход`,summaryCost:`Стоимость сводки`,summaryModel:`Модель сводки`,tokenRange:`{before} → {after}`,tokenRangeWithReduction:`{before} → {after} ({reduction})`,trigger:`Триггер`},g={profileSwitchFailed:`Профиль создан, но переключиться на него не удалось`,profileSwitchFallback:`Не удалось сменить профиль. Повторите попытку.`},_={archive:`В архив`,copyConversation:`Скопировать весь диалог`,copyConversationId:`Скопировать ID диалога`,delete:`Удалить`,forkConversation:`Ответвить диалог`,inspect:`Разобрать диалог`,markRead:`Отметить как прочитанный`,markUnread:`Отметить как непрочитанный`,moveToGroup:`Перенести в группу`,newGroup:`Новая группа…`,openInNewWindow:`Открыть в новом окне`,pin:`Закрепить`,refresh:`Обновить`,removeFromGroup:`Убрать из группы`,rename:`Переименовать`,shareFeedback:`Отправить отзыв`,triggerAriaLabel:`Действия с диалогом`,unarchive:`Вернуть из архива`,unpin:`Открепить`},v={closeAriaLabel:`Закрыть`,title:`Действия с диалогом`},y={ariaLabel:`Ресурсы диалога, {count, plural, one {# элемент} few {# элемента} many {# элементов} other {# элемента}}`,ariaLabelUnseen:`Ресурсы диалога, {count, plural, one {# элемент} few {# элемента} many {# элементов} other {# элемента}} (есть невидимые изменения)`,heading:`Ресурсы`,label:`{count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурса}}`},b={caption:`Подсказки:`},x={copied:`Скопировано`,copyFailed:`Не удалось скопировать в буфер обмена.`},S={conversationCopied:`ID диалога скопирован в буфер обмена.`,conversationFailed:`Не удалось скопировать ID диалога.`,groupCopied:`ID группы скопирован в буфер обмена.`,groupFailed:`Не удалось скопировать ID группы.`},C={cancel:`Отмена`,confirm:`Удалить`,message:`Удалить «{title}»? Диалог и его сообщения будут удалены навсегда. Это действие нельзя отменить.`,title:`Удалить диалог`,untitled:`Без названия`},w={pdfDownloadFailed:`Не удалось скачать PDF`},T={exportFailed:`Не удалось экспортировать PDF`},E={cancel:`Отмена`,close:`Закрыть`,defaultError:`Не удалось экспортировать данные инспектора.`,descriptionDone:`Скачивание должно было начаться само.`,descriptionError:`Что-то пошло не так при сборе экспорта.`,descriptionRunning:`Собираем тела запросов провайдера и нормализованный контекст. В длинных диалогах это может занять время.`,done:`Готово`,progressAriaLabel:`Прогресс экспорта`,retry:`Повторить`,statusDone:`Готово`,statusPackaging:`Упаковываем ZIP…`,statusProgress:`{completed} из {total} вызовов`,titleDone:`Экспорт готов`,titleError:`Экспорт не удался`,titleRunning:`Экспортируем данные инспектора`},D={failed:`Не удалось скачать файл`},O={archiveAll:`В архив все…`,copyGroupId:`Скопировать ID группы`,deleteGroup:`Удалить группу`,deleteGroupWithConversations:`Удалить группу…`,groupByChannel:`Группировать по каналу`,markAllRead:`Отметить все как прочитанные`,moveSectionDown:`Секцию вниз`,moveSectionUp:`Секцию вверх`,rename:`Переименовать`,ungroup:`Разгруппировать`},k={title:`Действия: {name}`},A={accessDenied:`Инспектор доступен, когда включён флаг Internal Thread Actions.`,allMessages:`Все сообщения`,back:`Назад`,backToConversationAria:`Назад к диалогу`,chooseCall:`Выбор вызова на панели, чтобы разобрать его контекст.`,conversationScopeSubtitle:`Показаны все вызовы LLM, записанные для этого диалога.`,detailLoadFailed:`Не удалось загрузить нормализованный контекст этого вызова.`,emptyBodyConversation:`Либо ни одно сообщение диалога не создал вызов LLM, либо журналы запросов обрезала политика хранения.`,emptyBodyMessage:`Либо это сообщение создал не вызов LLM, либо его журналы запросов обрезала политика хранения.`,emptyTitleConversation:`Для этого диалога нет записанных вызовов LLM.`,emptyTitleMessage:`Для этого сообщения нет записанных вызовов LLM.`,enableLogging:`Включить журнал`,enableLoggingFailed:`Не удалось включить журнал`,enableLoggingFailedWithMessage:`Не удалось включить журнал ({message})`,enabling:`Включаем…`,exportFailed:`Не удалось экспортировать данные инспектора`,exportZip:`Экспорт ZIP`,exportZipAria:`Экспортировать данные инспектора как ZIP`,exporting:`Экспорт…`,filterToMessage:`Фильтр по сообщению:`,llmCallCount:`{count, plural, one {1 вызов LLM} few {# вызова LLM} many {# вызовов LLM} other {# вызова LLM}}`,loadContextFailed:`Не удалось загрузить контекст LLM.`,loadFailedTitle:`Не удалось загрузить`,loading:`Загрузка…`,loggingDisabledBody:`Тела запросов и ответов не записываются, поэтому смотреть нечего. Включение журнала фиксирует следующие вызовы LLM.`,loggingDisabledTitle:`Журнал запросов LLM выключен`,loggingEnabledToast:`Журнал запросов LLM включён`,messageOptionDeepLink:`Сообщение {messageId}`,messageOptionNoText:`{index}. (без текста)`,messageOptionWithPreview:`{index}. {preview}`,retry:`Повторить`,scopedToOneMessage:`Ограничено одним сообщением · `,scopedToTurn:`Ограничено ходом {index} из {count} · `,title:`Инспектор контекста LLM`},j={android:`Голосовой режим уже активен в приложении для Android.`,ios:`Голосовой режим уже активен в приложении для iOS.`,macos:`Голосовой режим уже активен в приложении для Mac.`,unknown:`Голосовой режим уже активен в другом месте.`,web:`Голосовой режим уже активен в другой вкладке браузера.`,windows:`Голосовой режим уже активен в приложении для Windows.`},M={chipCode:`Код`,chipProvider:`Провайдер`,chipRequestId:`Request ID`,chipStatus:`Статус`,chipType:`Тип`,chipUpstreamCode:`Код выше по цепочке`,chipUpstreamParam:`Параметр выше по цепочке`,chipUpstreamType:`Тип выше по цепочке`,noResponse:`Провайдер отклонил этот вызов и не вернул ответ.`,title:`Вызов не удался`},N={pictureInPictureUnavailable:`Картинка в картинке недоступна`},P={unavailable:`Этот файл здесь недоступен`},F={addOlderPairButton:`+ Добавить более старую пару`,assistantReplyLabel:`[assistant]: ответ`,assistantReplyPlaceholder:`Ответ ассистента, который был до сообщения пользователя ниже.`,configTitle:`Конфиг {paneId}`,conversationalContextTitle:`Контекст диалога (общий для обеих панелей)`,customPromptPlaceholder:`Свой системный промпт маршрутизатора. Доступные подстановки:
|
|
2
2
|
'{ASSISTANT_NAME}, {USER_NAME}, {PAGE_INDEX}'
|
|
3
|
-
Пустое поле берёт встроенный шаблон. «Загрузить по умолчанию» подставляет в поле встроенный текст для правки.`,description:`Прогон маршрутизатора v4 с своими переопределениями уровня и пакета. Только чтение: строки в <code>memory_v2_injection_events</code> и <code>memory_v2_activation_logs</code> не пишутся, состояние активации не меняется. Пустое переопределение берёт живое значение конфига; <code>null</code> явно выключает уровень.`,diffLabel:`Разница`,diffValue:`{shared} общих · {unique} только у этой панели`,effectiveConfig:`Итоговый конфиг`,emaScore:`EMA {score}`,empty:`(пусто)`,emptySelectionHint:`Маршрутизатор вернул пустой выбор. Более точный запрос или ослабление переопределений.`,failedToRunSimulation:`Не удалось запустить симуляцию`,firstTurnAssistantPlaceholder:`Пустое поле: сценарий первого хода.`,inheritActive:`наследовать активный`,inheritActiveWithProfile:`наследовать активный ({profile})`,inheritPlaceholder:`наследовать`,invalidOverrideInput:`Некорректное переопределение`,justArrivedUserLabel:`Только что пришло [user]: сообщение`,lastUserPlaceholder:`например, что выпустить дальше`,legendAOnly:`только A`,legendBOnly:`только B`,legendInBoth:`в обоих`,llmProfilesOverride:`переопределение llm.profiles`,loadDefault:`Загрузить по умолчанию`,loading:`Загрузка…`,noPagesSelected:`Страницы не выбраны`,notAvailable:`Песочница маршрутизатора памяти недоступна.`,nowBlockLabel:`блок '<now>'`,nowDefaultPlaceholder:`Заполнено живым NOW.md. Прави, чтобы проверить другие состояния.`,nowLoadingPlaceholder:`Загрузка текущего NOW.md…`,nullValue:`null`,overrideMustBePositiveInteger:`{fieldName} должен быть положительным целым или 'null' (получено "{value}")`,overrideSuffix:` (переопределение)`,pageCount:`{count, plural, one {# страница} few {# страницы} many {# страниц} other {# страницы}}`,pairLabel:`Пара {index} из {total}`,pairMostRecentSuffix:` · самая свежая`,paneTitle:`Панель {paneId}`,promptModeBundled:`встроенный`,promptModeCustom:`свой`,rawApiExchange:`Сырой обмен API`,recentPairsLabel:`Недавние пары (ассистент, пользователь) · сначала старые`,reloadNowButton:`Перезагрузить живой NOW.md`,removeButton:`Удалить`,requestLabel:`Запрос (панель {paneId})`,reset:`Сбросить`,responseLabel:`Ответ (панель {paneId})`,routerFailure:`Сбой маршрутизатора: {reason}`,runBoth:`Запустить оба`,runPane:`Запустить {paneId}`,running:`Запуск…`,selectedLabel:`Выбрано`,selectedValue:`{count} (живой max_page_ids: {maxPageIds})`,summary:`Сводка`,summaryUserMessageLabel:`Сообщение пользователя`,systemPrompt:`Системный промпт`,systemPromptConfigLabel:`системный промпт`,tier1Label:`уровень 1`,tier2Label:`уровень 2`,tier3Label:`уровень 3 · b{batch}`,title:`Песочница маршрутизатора памяти`,totalCandidatePagesLabel:`Всего страниц-кандидатов`,userMessageLabel:`[user]: сообщение`,userMessagePlaceholder:`Сообщение пользователя.`},j={afterMergeLabel:`После слияния`,breakdownCAssistantRerank:`c_assistant · rerank Δ_a`,breakdownCAssistantSim:`c_assistant · sim_a`,breakdownCNowSim:`c_now · sim_n`,breakdownCUserRerank:`c_user · rerank Δ_u`,breakdownCUserSim:`c_user · sim_u`,breakdownOwnActivation:`A_o (свой)`,breakdownPriorActivation:`prior · d`,breakdownRerankScaledRaw:`+{scaled} (сырой {raw})`,breakdownScaledRaw:`{scaled} (сырой {raw})`,breakdownSource:`источник`,breakdownSpreadDelta:`spread Δ`,breakdownStatus:`статус`,candidateScores:`sem {semantic} · rec {recency}`,carriedPill:`Перенесено: {count}`,conceptActivationsSubtitle:"Сортировка по итоговой активации. Записи навыков идут с префиксом `skills/`; разверни строку, чтобы увидеть разбивку активации.",conceptActivationsTitle:`Активации концептов ({count})`,configCAssistant:`c_assistant`,configCNow:`c_now`,configCUser:`c_user`,configDDecay:`d (затухание)`,configEpsilon:`epsilon`,configHops:`hops`,configKSharpening:`k (обострение)`,configSubtitle:`Веса активации и пороги отбора.`,configTitle:`Конфиг`,configTopK:`top_k`,copyAriaLabel:`Скопировать в буфер обмена`,copyAriaLabelCopied:`Скопировано`,copyButtonCopied:`Скопировано`,copyButtonCopy:`Копировать`,copyErrorMessage:`Не удалось скопировать в буфер обмена.`,copyTitle:`Копировать`,copyTitleCopied:`Скопировано!`,corePill:`Ядро: {count}`,degradationTitle:`Деградация`,fallbackSourcesLabel:`Резервные источники`,hybridSearchLabel:`Гибридный поиск`,inContextPill:`В контексте: {count}`,injectedMemoryContextTitle:`Вставленный контекст памяти`,injectedPill:`Вставлено: {count}`,injectedTokensLabel:`Вставленные токены`,latencyMs:`{ms} мс`,loading:`Загрузка…`,loggedMemorySelectionSubtitle:`Отрисовано из выбора v3, в этот ход не вставлено.`,loggedMemorySelectionTitle:`Записанный выбор памяти`,memoryDisabledDefaultReason:`Для этого хода вспоминание памяти было выключено.`,memoryDisabledTitle:`Память выключена`,missingValue:`-`,modelLabel:`Модель`,no:`Нет`,noDataBody:`Сведения о вспоминании памяти для этого сообщения недоступны.`,noDataTitle:`Нет данных памяти`,noEntriesRanked:`Нет ранжированных записей.`,noPagesSelected:`Страницы не выбраны.`,notInjectedPill:`Не вставлено: {count}`,pageContentLabel:`содержимое страницы`,pageNotFound:`Страница не найдена на диске. Slug может ссылаться на устаревшую запись Qdrant.`,pillMemoryV2:`Memory V2`,pillMemoryV3:`Memory V3`,pillRecallV1:`Recall (v1)`,pinnedChip:`закреплено`,pinnedPill:`Закреплено: {count}`,providerLabel:`Провайдер`,queryContextSubtitle:`Текст, который встроили как поисковый вектор для семантического поиска.`,queryContextTitle:`Контекст запроса`,reasonLabel:`Причина`,retrievalFunnelSubtitle:`Как воспоминания отфильтровали от семантического поиска до вставки.`,retrievalFunnelTitle:`Воронка поиска`,searchDetailsTitle:`Подробности поиска`,selectedLabel:`Выбрано`,selectedPagesSubtitle:`Страницы, которые выбрал v3, с меткой полосы, откуда они пришли, и совпавшего раздела (если полоса поиска его нашла).`,selectedPagesTitle:`Выбранные страницы ({count})`,selectedPill:`Выбрано: {count}`,semanticHitsLabel:`Семантические совпадения`,semanticUnavailableLabel:`Семантика недоступна`,sparseDenseOnly:`Только плотные`,sparseUsed:`Использованы`,sparseVectorsLabel:`Разреженные векторы`,statusActive:`Активно`,statusDegraded:`Деградировано`,statusLabel:`Статус`,statusSubtitle:`Провайдер, модель и задержка этого вспоминания.`,statusTitle:`Статус`,tier1Label:`Уровень 1`,tier2Label:`Уровень 2`,topCandidatesSubtitle:`{count, plural, one {# кандидат, ранжированный по итоговому баллу.} few {# кандидата, ранжированных по итоговому баллу.} many {# кандидатов, ранжированных по итоговому баллу.} other {# кандидата, ранжированных по итоговому баллу.}}`,topCandidatesTitle:`Лучшие кандидаты`,totalLatencyLabel:`Общая задержка`,turnLevelRecallBody:`Вспоминание памяти запускается один раз за ход. Эти данные относятся ко всем вызовам LLM этого сообщения.`,turnLevelRecallTitle:`Вспоминание на уровне хода`,turnPill:`Ход {turn}`,unavailable:`Недоступно`,unknown:`Неизвестно`,v2StatusInContext:`В контексте`,v2StatusInjected:`Вставлено`,v2StatusNotInjected:`Не вставлено`,v2StatusPageMissing:`Страницы нет`,v2TurnBody:`Проход памяти с распространением активации: ранжирует концепты и навыки для этого хода.`,v2TurnTitle:`Память - ход {turn} ({mode})`,v3LiveInjectionBody:`v3 в этом ходе живой источник памяти: блок ниже вставлен в контекст (v2 подавлен).`,v3LiveInjectionTitle:`Memory V3 - живая вставка`,v3LoggedSelectionBody:`v3 не живой источник памяти этого ассистента: эти выборы записали, но в этот ход не вставили; память хода пришла из v2.`,v3LoggedSelectionTitle:`Memory V3 - записанный выбор (не вставлено)`,v3SourceCarried:`перенесено`,v3SourceCore:`ядро`,v3SourceL1L2:`L1+L2`,v3SourceNeedle:`needle`,yes:`Да`},M={callOfTotal:`Вызов {number} из {total}`,llmCallCount:`{count, plural, one {1 вызов LLM} few {# вызова LLM} many {# вызовов LLM} other {# вызова LLM}}`,selectCallAria:`Выбор вызова LLM для разбора`,sheetTitle:`Выбор вызова`},N={cacheTokensLabel:`Токены кэша`,conversationSubtitle:`Накопительные итоги по всем тарифицированным вызовам LLM на сейчас.`,conversationTitle:`Диалог`,createdLabel:`Создано`,durationLabel:`Длительность`,estimatedCostLabel:`Оценочная стоимость`,failedStatus:`Ошибка`,firstTokenKindLabel:`Тип первого токена`,firstTokenLatencySubtitle:`Куда ушло время до первого токена этого хода, по замерам ассистента.`,firstTokenLatencyTitle:`Задержка первого токена`,inputTokensLabel:`Входные токены`,latencyMs:`{ms} мс`,loopExitReasonLabel:`Причина выхода из цикла`,modelLabel:`Модель`,normalizedMetadataSubtitle:`Провайдер, модель, метки времени и счётчики использования.`,normalizedMetadataTitle:`Нормализованные метаданные`,normalizedSummaryUnavailableSubtitle:`У этого вызова всё ещё есть сырые тела запроса и ответа.`,normalizedSummaryUnavailableTitle:`Нормализованная сводка недоступна`,otherLabel:`Другое`,outputTokensLabel:`Выходные токены`,providerLabel:`Провайдер`,requestMessagesLabel:`Сообщения запроса`,statusLabel:`Статус`,stopReasonLabel:`Причина остановки`,toolCallsLabel:`Вызовы инструментов`,toolsAvailableLabel:`Доступные инструменты`,totalCostSoFarLabel:`Стоимость всего на сейчас`,totalToFirstTokenLabel:`Всего до первого токена`,usageSubtitle:`Счётчики токенов и вызовов, нормализованные маршрутом ассистента.`,usageTitle:`Использование`},P={colors:{green:`Зелёный`,orange:`Оранжевый`,pink:`Розовый`,purple:`Фиолетовый`,teal:`Бирюзовый`,yellow:`Жёлтый`},noColor:`Без цвета`},F={addCreditsAriaLabel:`Добавить кредиты`,exhausted:`Добавление кредитов для продолжения.`,pctUsed:`использовано {pct}%`,resets:`Сброс {date}`,settingsAriaLabel:`Настройки использования и оплаты`,title:`Использование`},I={availableTools:`Доступные инструменты`,bannerNoSections:`У этого вызова ещё нет нормализованных секций промпта.`,bannerSectionsCount:`{count, plural, one {# нормализованная секция запроса в порядке, который вернул маршрут ассистента.} few {# нормализованные секции запроса в порядке, который вернул маршрут ассистента.} many {# нормализованных секций запроса в порядке, который вернул маршрут ассистента.} other {# нормализованные секции запроса в порядке, который вернул маршрут ассистента.}}`,collapseAll:`Свернуть всё`,copyAriaLabel:`Скопировать {title}`,emptyBody:`У этого вызова нет нормализованных секций промпта. Вкладка Raw показывает полное тело запроса.`,emptyTitle:`Нет нормализованных секций промпта`,expandAll:`Развернуть всё`,formatJavaScript:`JavaScript`,formatJson:`JSON`,formatMarkdown:`Markdown`,formatTypeScript:`TypeScript`,noContentAvailable:`Содержимое недоступно.`,promptSectionsTitle:`Секции промпта`},L={copyRequestPayloadAriaLabel:`Скопировать тело запроса`,copyResponsePayloadAriaLabel:`Скопировать тело ответа`,downloadFailedToast:`Не удалось скачать тело.`,downloadRequestPayloadAriaLabel:`Скачать тело запроса`,downloadResponsePayloadAriaLabel:`Скачать тело ответа`,loadErrorTitle:`Не удалось загрузить сырые тела`,loading:`Загрузка сырых тел…`,payloadRequestFailed:`Запрос тела не удался. Повторите попытку.`,request:`Запрос`,requestPayload:`Тело запроса`,response:`Ответ`,responsePayload:`Тело ответа`,retry:`Повторить`},R={revealFailed:`Не удалось показать {name}.`},z={argumentsPreview:`Предпросмотр аргументов`,copySectionAria:`Скопировать содержимое секции`,kindAssistantText:`Текст ассистента`,kindFunctionResponse:`Ответ функции`,kindReasoning:`Рассуждение`,kindToolCall:`Вызов инструмента`,kindToolResult:`Результат инструмента`,modeResultOnly:`Ответ только с результатом`,modeTextOnly:`Ответ только текстом`,modeToolCalling:`Ответ с вызовом инструмента`,noArgumentsPreview:`Для этого вызова инструмента нет предпросмотра структурированных аргументов.`,noAssistantText:`Для этой секции не записали текст ассистента.`,noSectionsFallback:`У этого ответа нет отрисованных секций. Сырые тела остаются на вкладке Raw, а нормализованные метаданные ответа покажутся, если они есть.`,rawTabHint:`Полное тело провайдера: вкладка Raw для JSON запроса и ответа.`,responseMetadata:`Метаданные ответа`,sectionTitle:`Секция {number}`,sectionUnavailable:`Отрисовка секции недоступна`,stopReasonChip:`Причина остановки: {reason}`,toolChip:`Инструмент: {name}`},B={message:`Не удалось загрузить диалоги.`,retry:`Попробовать снова`},V={actionsAria:`Действия навыка`,moreTooltip:`Ещё`},H={callLink:`Вызов {number}`,emptyBody:`На этой вкладке перечислены все вызовы инструмента <code>skill_load</code> в диалоге. В записанных вызовах LLM их не нашли.`,emptyTitle:`В этом диалоге навыки не загружали`,loadCount:`{count, plural, one {1 загрузка} few {# загрузки} many {# загрузок} other {# загрузки}}`,summaryStats:`{uniqueCount, plural, one {# уникальный навык} few {# уникальных навыка} many {# уникальных навыков} other {# уникальных навыка}} · {totalLoads, plural, one {# вызов загрузки} few {# вызова загрузки} many {# вызовов загрузки} other {# вызова загрузки}}`,summaryTitle:`Навыки, загруженные в этом диалоге`},U={defaultValue:`по умолчанию: {value}`,inputSchema:`Схема ввода`,intro:`{count, plural, one {# инструмент отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.} few {# инструмента отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.} many {# инструментов отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.} other {# инструмента отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.}}`,noInputSchema:`Нет схемы ввода: этот инструмент не принимает структурированный ввод.`,required:`обязательно`,settings:`Настройки`},W={fileUnavailable:`Файл недоступен для скачивания`,fileUnavailableHostTimeout:`Файл недоступен для скачивания (возможно, истекло время на одобрение файла на хосте)`},G={authFailed:`Не удалось аутентифицировать пользователя.`},K={assistantBusy:`Ассистент занят. Повтор, когда закончит отвечать.`,retryFailed:`Не удалось повторить ответ`,summarizeFailed:`Не удалось кратко пересказать диалог`},q={commandFailed:`Не удалось выполнить эту команду. Повторите попытку.`,doctorUnavailable:`Doctor недоступен у этого ассистента.`},J={nativeSttNoTranscript:`Нативная диктовка {clientName} не вернула расшифровку. Проверьте нативное распознавание речи в системных настройках и повторите попытку.`},Y={acpConnectAffordance:e,activityStepsPanel:t,addToChatSheet:n,allowOptionsMenu:r,appAssetActions:i,assistantSideMenu:a,assistantSwitcher:o,cacheBreakpointMapCard:s,cacheDiffCard:c,cacheHealthCard:l,callRail:u,chatComposer:d,compactionTab:f,composerSettingsMenu:p,conversationActions:m,conversationActionsSheet:h,conversationAssets:g,conversationStarterDock:_,copyButton:v,copyIdToClipboard:y,deleteConversationConfirmDialog:b,documentAssetActions:x,exportProgressModal:S,fileDownload:C,groupActions:w,groupActionsSheet:T,inspectPage:E,llmCallErrorCard:D,localFileEmbed:O,localFileLink:k,memoryRouterPlaygroundPage:A,memoryTab:j,mobileCallSelector:M,overviewTab:N,pinnedAppColorSwatches:P,preferencesUsagePanel:F,promptTab:I,rawTab:L,redactedCredentialChip:R,responseTab:z,sidebarConversationError:B,skillDetailPanel:V,skillsTab:H,toolDefinitionsContent:U,transcriptMessageBody:W,useConversationLoader:G,useConversationSecondaryActions:K,useSendMessage:q,voiceErrors:J};export{e as acpConnectAffordance,t as activityStepsPanel,n as addToChatSheet,r as allowOptionsMenu,i as appAssetActions,a as assistantSideMenu,o as assistantSwitcher,s as cacheBreakpointMapCard,c as cacheDiffCard,l as cacheHealthCard,u as callRail,d as chatComposer,f as compactionTab,p as composerSettingsMenu,m as conversationActions,h as conversationActionsSheet,g as conversationAssets,_ as conversationStarterDock,v as copyButton,y as copyIdToClipboard,Y as default,b as deleteConversationConfirmDialog,x as documentAssetActions,S as exportProgressModal,C as fileDownload,w as groupActions,T as groupActionsSheet,E as inspectPage,D as llmCallErrorCard,O as localFileEmbed,k as localFileLink,A as memoryRouterPlaygroundPage,j as memoryTab,M as mobileCallSelector,N as overviewTab,P as pinnedAppColorSwatches,F as preferencesUsagePanel,I as promptTab,L as rawTab,R as redactedCredentialChip,z as responseTab,B as sidebarConversationError,V as skillDetailPanel,H as skillsTab,U as toolDefinitionsContent,W as transcriptMessageBody,G as useConversationLoader,K as useConversationSecondaryActions,q as useSendMessage,J as voiceErrors};
|
|
3
|
+
Пустое поле берёт встроенный шаблон. «Загрузить по умолчанию» подставляет в поле встроенный текст для правки.`,description:`Прогон маршрутизатора v4 с своими переопределениями уровня и пакета. Только чтение: строки в <code>memory_v2_injection_events</code> и <code>memory_v2_activation_logs</code> не пишутся, состояние активации не меняется. Пустое переопределение берёт живое значение конфига; <code>null</code> явно выключает уровень.`,diffLabel:`Разница`,diffValue:`{shared} общих · {unique} только у этой панели`,effectiveConfig:`Итоговый конфиг`,emaScore:`EMA {score}`,empty:`(пусто)`,emptySelectionHint:`Маршрутизатор вернул пустой выбор. Более точный запрос или ослабление переопределений.`,failedToRunSimulation:`Не удалось запустить симуляцию`,firstTurnAssistantPlaceholder:`Пустое поле: сценарий первого хода.`,inheritActive:`наследовать активный`,inheritActiveWithProfile:`наследовать активный ({profile})`,inheritPlaceholder:`наследовать`,invalidOverrideInput:`Некорректное переопределение`,justArrivedUserLabel:`Только что пришло [user]: сообщение`,lastUserPlaceholder:`например, что выпустить дальше`,legendAOnly:`только A`,legendBOnly:`только B`,legendInBoth:`в обоих`,llmProfilesOverride:`переопределение llm.profiles`,loadDefault:`Загрузить по умолчанию`,loading:`Загрузка…`,noPagesSelected:`Страницы не выбраны`,notAvailable:`Песочница маршрутизатора памяти недоступна.`,nowBlockLabel:`блок '<now>'`,nowDefaultPlaceholder:`Заполнено живым NOW.md. Прави, чтобы проверить другие состояния.`,nowLoadingPlaceholder:`Загрузка текущего NOW.md…`,nullValue:`null`,overrideMustBePositiveInteger:`{fieldName} должен быть положительным целым или 'null' (получено "{value}")`,overrideSuffix:` (переопределение)`,pageCount:`{count, plural, one {# страница} few {# страницы} many {# страниц} other {# страницы}}`,pairLabel:`Пара {index} из {total}`,pairMostRecentSuffix:` · самая свежая`,paneTitle:`Панель {paneId}`,promptModeBundled:`встроенный`,promptModeCustom:`свой`,rawApiExchange:`Сырой обмен API`,recentPairsLabel:`Недавние пары (ассистент, пользователь) · сначала старые`,reloadNowButton:`Перезагрузить живой NOW.md`,removeButton:`Удалить`,requestLabel:`Запрос (панель {paneId})`,reset:`Сбросить`,responseLabel:`Ответ (панель {paneId})`,routerFailure:`Сбой маршрутизатора: {reason}`,runBoth:`Запустить оба`,runPane:`Запустить {paneId}`,running:`Запуск…`,selectedLabel:`Выбрано`,selectedValue:`{count} (живой max_page_ids: {maxPageIds})`,summary:`Сводка`,summaryUserMessageLabel:`Сообщение пользователя`,systemPrompt:`Системный промпт`,systemPromptConfigLabel:`системный промпт`,tier1Label:`уровень 1`,tier2Label:`уровень 2`,tier3Label:`уровень 3 · b{batch}`,title:`Песочница маршрутизатора памяти`,totalCandidatePagesLabel:`Всего страниц-кандидатов`,userMessageLabel:`[user]: сообщение`,userMessagePlaceholder:`Сообщение пользователя.`},I={afterMergeLabel:`После слияния`,breakdownCAssistantRerank:`c_assistant · rerank Δ_a`,breakdownCAssistantSim:`c_assistant · sim_a`,breakdownCNowSim:`c_now · sim_n`,breakdownCUserRerank:`c_user · rerank Δ_u`,breakdownCUserSim:`c_user · sim_u`,breakdownOwnActivation:`A_o (свой)`,breakdownPriorActivation:`prior · d`,breakdownRerankScaledRaw:`+{scaled} (сырой {raw})`,breakdownScaledRaw:`{scaled} (сырой {raw})`,breakdownSource:`источник`,breakdownSpreadDelta:`spread Δ`,breakdownStatus:`статус`,candidateScores:`sem {semantic} · rec {recency}`,carriedPill:`Перенесено: {count}`,conceptActivationsSubtitle:"Сортировка по итоговой активации. Записи навыков идут с префиксом `skills/`; разверни строку, чтобы увидеть разбивку активации.",conceptActivationsTitle:`Активации концептов ({count})`,configCAssistant:`c_assistant`,configCNow:`c_now`,configCUser:`c_user`,configDDecay:`d (затухание)`,configEpsilon:`epsilon`,configHops:`hops`,configKSharpening:`k (обострение)`,configSubtitle:`Веса активации и пороги отбора.`,configTitle:`Конфиг`,configTopK:`top_k`,copyAriaLabel:`Скопировать в буфер обмена`,copyAriaLabelCopied:`Скопировано`,copyButtonCopied:`Скопировано`,copyButtonCopy:`Копировать`,copyErrorMessage:`Не удалось скопировать в буфер обмена.`,copyTitle:`Копировать`,copyTitleCopied:`Скопировано!`,corePill:`Ядро: {count}`,degradationTitle:`Деградация`,fallbackSourcesLabel:`Резервные источники`,hybridSearchLabel:`Гибридный поиск`,inContextPill:`В контексте: {count}`,injectedMemoryContextTitle:`Вставленный контекст памяти`,injectedPill:`Вставлено: {count}`,injectedTokensLabel:`Вставленные токены`,latencyMs:`{ms} мс`,loading:`Загрузка…`,loggedMemorySelectionSubtitle:`Отрисовано из выбора v3, в этот ход не вставлено.`,loggedMemorySelectionTitle:`Записанный выбор памяти`,memoryDisabledDefaultReason:`Для этого хода вспоминание памяти было выключено.`,memoryDisabledTitle:`Память выключена`,missingValue:`-`,modelLabel:`Модель`,no:`Нет`,noDataBody:`Сведения о вспоминании памяти для этого сообщения недоступны.`,noDataTitle:`Нет данных памяти`,noEntriesRanked:`Нет ранжированных записей.`,noPagesSelected:`Страницы не выбраны.`,notInjectedPill:`Не вставлено: {count}`,pageContentLabel:`содержимое страницы`,pageNotFound:`Страница не найдена на диске. Slug может ссылаться на устаревшую запись Qdrant.`,pillMemoryV2:`Memory V2`,pillMemoryV3:`Memory V3`,pillRecallV1:`Recall (v1)`,pinnedChip:`закреплено`,pinnedPill:`Закреплено: {count}`,providerLabel:`Провайдер`,queryContextSubtitle:`Текст, который встроили как поисковый вектор для семантического поиска.`,queryContextTitle:`Контекст запроса`,reasonLabel:`Причина`,retrievalFunnelSubtitle:`Как воспоминания отфильтровали от семантического поиска до вставки.`,retrievalFunnelTitle:`Воронка поиска`,searchDetailsTitle:`Подробности поиска`,selectedLabel:`Выбрано`,selectedPagesSubtitle:`Страницы, которые выбрал v3, с меткой полосы, откуда они пришли, и совпавшего раздела (если полоса поиска его нашла).`,selectedPagesTitle:`Выбранные страницы ({count})`,selectedPill:`Выбрано: {count}`,semanticHitsLabel:`Семантические совпадения`,semanticUnavailableLabel:`Семантика недоступна`,sparseDenseOnly:`Только плотные`,sparseUsed:`Использованы`,sparseVectorsLabel:`Разреженные векторы`,statusActive:`Активно`,statusDegraded:`Деградировано`,statusLabel:`Статус`,statusSubtitle:`Провайдер, модель и задержка этого вспоминания.`,statusTitle:`Статус`,tier1Label:`Уровень 1`,tier2Label:`Уровень 2`,topCandidatesSubtitle:`{count, plural, one {# кандидат, ранжированный по итоговому баллу.} few {# кандидата, ранжированных по итоговому баллу.} many {# кандидатов, ранжированных по итоговому баллу.} other {# кандидата, ранжированных по итоговому баллу.}}`,topCandidatesTitle:`Лучшие кандидаты`,totalLatencyLabel:`Общая задержка`,turnLevelRecallBody:`Вспоминание памяти запускается один раз за ход. Эти данные относятся ко всем вызовам LLM этого сообщения.`,turnLevelRecallTitle:`Вспоминание на уровне хода`,turnPill:`Ход {turn}`,unavailable:`Недоступно`,unknown:`Неизвестно`,v2StatusInContext:`В контексте`,v2StatusInjected:`Вставлено`,v2StatusNotInjected:`Не вставлено`,v2StatusPageMissing:`Страницы нет`,v2TurnBody:`Проход памяти с распространением активации: ранжирует концепты и навыки для этого хода.`,v2TurnTitle:`Память - ход {turn} ({mode})`,v3LiveInjectionBody:`v3 в этом ходе живой источник памяти: блок ниже вставлен в контекст (v2 подавлен).`,v3LiveInjectionTitle:`Memory V3 - живая вставка`,v3LoggedSelectionBody:`v3 не живой источник памяти этого ассистента: эти выборы записали, но в этот ход не вставили; память хода пришла из v2.`,v3LoggedSelectionTitle:`Memory V3 - записанный выбор (не вставлено)`,v3SourceCarried:`перенесено`,v3SourceCore:`ядро`,v3SourceL1L2:`L1+L2`,v3SourceNeedle:`needle`,yes:`Да`},L={callOfTotal:`Вызов {number} из {total}`,llmCallCount:`{count, plural, one {1 вызов LLM} few {# вызова LLM} many {# вызовов LLM} other {# вызова LLM}}`,selectCallAria:`Выбор вызова LLM для разбора`,sheetTitle:`Выбор вызова`},R={cacheTokensLabel:`Токены кэша`,conversationSubtitle:`Накопительные итоги по всем тарифицированным вызовам LLM на сейчас.`,conversationTitle:`Диалог`,createdLabel:`Создано`,durationLabel:`Длительность`,estimatedCostLabel:`Оценочная стоимость`,failedStatus:`Ошибка`,firstTokenKindLabel:`Тип первого токена`,firstTokenLatencySubtitle:`Куда ушло время до первого токена этого хода, по замерам ассистента.`,firstTokenLatencyTitle:`Задержка первого токена`,inputTokensLabel:`Входные токены`,latencyMs:`{ms} мс`,loopExitReasonLabel:`Причина выхода из цикла`,modelLabel:`Модель`,normalizedMetadataSubtitle:`Провайдер, модель, метки времени и счётчики использования.`,normalizedMetadataTitle:`Нормализованные метаданные`,normalizedSummaryUnavailableSubtitle:`У этого вызова всё ещё есть сырые тела запроса и ответа.`,normalizedSummaryUnavailableTitle:`Нормализованная сводка недоступна`,otherLabel:`Другое`,outputTokensLabel:`Выходные токены`,providerLabel:`Провайдер`,requestMessagesLabel:`Сообщения запроса`,statusLabel:`Статус`,stopReasonLabel:`Причина остановки`,toolCallsLabel:`Вызовы инструментов`,toolsAvailableLabel:`Доступные инструменты`,totalCostSoFarLabel:`Стоимость всего на сейчас`,totalToFirstTokenLabel:`Всего до первого токена`,usageSubtitle:`Счётчики токенов и вызовов, нормализованные маршрутом ассистента.`,usageTitle:`Использование`},z={colors:{green:`Зелёный`,orange:`Оранжевый`,pink:`Розовый`,purple:`Фиолетовый`,teal:`Бирюзовый`,yellow:`Жёлтый`},noColor:`Без цвета`},B={addCreditsAriaLabel:`Добавить кредиты`,exhausted:`Добавление кредитов для продолжения.`,extraCredits:`Используются дополнительные кредиты`,pctUsed:`использовано {pct}%`,settingsAriaLabel:`Настройки использования и оплаты`,title:`Использование`},V={availableTools:`Доступные инструменты`,bannerNoSections:`У этого вызова ещё нет нормализованных секций промпта.`,bannerSectionsCount:`{count, plural, one {# нормализованная секция запроса в порядке, который вернул маршрут ассистента.} few {# нормализованные секции запроса в порядке, который вернул маршрут ассистента.} many {# нормализованных секций запроса в порядке, который вернул маршрут ассистента.} other {# нормализованные секции запроса в порядке, который вернул маршрут ассистента.}}`,collapseAll:`Свернуть всё`,copyAriaLabel:`Скопировать {title}`,emptyBody:`У этого вызова нет нормализованных секций промпта. Вкладка Raw показывает полное тело запроса.`,emptyTitle:`Нет нормализованных секций промпта`,expandAll:`Развернуть всё`,formatJavaScript:`JavaScript`,formatJson:`JSON`,formatMarkdown:`Markdown`,formatTypeScript:`TypeScript`,noContentAvailable:`Содержимое недоступно.`,promptSectionsTitle:`Секции промпта`},H={copyRequestPayloadAriaLabel:`Скопировать тело запроса`,copyResponsePayloadAriaLabel:`Скопировать тело ответа`,downloadFailedToast:`Не удалось скачать тело.`,downloadRequestPayloadAriaLabel:`Скачать тело запроса`,downloadResponsePayloadAriaLabel:`Скачать тело ответа`,loadErrorTitle:`Не удалось загрузить сырые тела`,loading:`Загрузка сырых тел…`,payloadRequestFailed:`Запрос тела не удался. Повторите попытку.`,request:`Запрос`,requestPayload:`Тело запроса`,response:`Ответ`,responsePayload:`Тело ответа`,retry:`Повторить`},U={revealFailed:`Не удалось показать {name}.`},W={argumentsPreview:`Предпросмотр аргументов`,copySectionAria:`Скопировать содержимое секции`,kindAssistantText:`Текст ассистента`,kindFunctionResponse:`Ответ функции`,kindReasoning:`Рассуждение`,kindToolCall:`Вызов инструмента`,kindToolResult:`Результат инструмента`,modeResultOnly:`Ответ только с результатом`,modeTextOnly:`Ответ только текстом`,modeToolCalling:`Ответ с вызовом инструмента`,noArgumentsPreview:`Для этого вызова инструмента нет предпросмотра структурированных аргументов.`,noAssistantText:`Для этой секции не записали текст ассистента.`,noSectionsFallback:`У этого ответа нет отрисованных секций. Сырые тела остаются на вкладке Raw, а нормализованные метаданные ответа покажутся, если они есть.`,rawTabHint:`Полное тело провайдера: вкладка Raw для JSON запроса и ответа.`,responseMetadata:`Метаданные ответа`,sectionTitle:`Секция {number}`,sectionUnavailable:`Отрисовка секции недоступна`,stopReasonChip:`Причина остановки: {reason}`,toolChip:`Инструмент: {name}`},G={message:`Не удалось загрузить диалоги.`,retry:`Попробовать снова`},K={actionsAria:`Действия навыка`,moreTooltip:`Ещё`},q={callLink:`Вызов {number}`,emptyBody:`На этой вкладке перечислены все вызовы инструмента <code>skill_load</code> в диалоге. В записанных вызовах LLM их не нашли.`,emptyTitle:`В этом диалоге навыки не загружали`,loadCount:`{count, plural, one {1 загрузка} few {# загрузки} many {# загрузок} other {# загрузки}}`,summaryStats:`{uniqueCount, plural, one {# уникальный навык} few {# уникальных навыка} many {# уникальных навыков} other {# уникальных навыка}} · {totalLoads, plural, one {# вызов загрузки} few {# вызова загрузки} many {# вызовов загрузки} other {# вызова загрузки}}`,summaryTitle:`Навыки, загруженные в этом диалоге`},J={defaultValue:`по умолчанию: {value}`,inputSchema:`Схема ввода`,intro:`{count, plural, one {# инструмент отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.} few {# инструмента отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.} many {# инструментов отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.} other {# инструмента отправили с этим запросом. Разверни инструмент, чтобы увидеть определение и схему ввода.}}`,noInputSchema:`Нет схемы ввода: этот инструмент не принимает структурированный ввод.`,required:`обязательно`,settings:`Настройки`},Y={fileUnavailable:`Файл недоступен для скачивания`,fileUnavailableHostTimeout:`Файл недоступен для скачивания (возможно, истекло время на одобрение файла на хосте)`},X={authFailed:`Не удалось аутентифицировать пользователя.`},Z={assistantBusy:`Ассистент занят. Повтор, когда закончит отвечать.`,retryFailed:`Не удалось повторить ответ`,summarizeFailed:`Не удалось кратко пересказать диалог`},Q={commandFailed:`Не удалось выполнить эту команду. Повторите попытку.`,doctorUnavailable:`Doctor недоступен у этого ассистента.`},$={nativeSttNoTranscript:`Нативная диктовка {clientName} не вернула расшифровку. Проверьте нативное распознавание речи в системных настройках и повторите попытку.`},ee={acpConnectAffordance:e,activityStepsPanel:t,addToChatSheet:n,allowOptionsMenu:r,appAssetActions:i,assistantSideMenu:a,assistantSwitcher:o,cacheBreakpointMapCard:s,cacheDiffCard:c,cacheHealthCard:l,callRail:u,channelReferenceChip:d,channelThreadControl:f,channelTranscriptPanel:p,chatComposer:m,compactionTab:h,composerSettingsMenu:g,conversationActions:_,conversationActionsSheet:v,conversationAssets:y,conversationStarterDock:b,copyButton:x,copyIdToClipboard:S,deleteConversationConfirmDialog:C,documentAssetActions:w,documentViewerPage:T,exportProgressModal:E,fileDownload:D,groupActions:O,groupActionsSheet:k,inspectPage:A,liveVoiceBusy:j,llmCallErrorCard:M,localFileEmbed:N,localFileLink:P,memoryRouterPlaygroundPage:F,memoryTab:I,mobileCallSelector:L,overviewTab:R,pinnedAppColorSwatches:z,preferencesUsagePanel:B,promptTab:V,rawTab:H,redactedCredentialChip:U,responseTab:W,sidebarConversationError:G,skillDetailPanel:K,skillsTab:q,toolDefinitionsContent:J,transcriptMessageBody:Y,useConversationLoader:X,useConversationSecondaryActions:Z,useSendMessage:Q,voiceErrors:$};export{e as acpConnectAffordance,t as activityStepsPanel,n as addToChatSheet,r as allowOptionsMenu,i as appAssetActions,a as assistantSideMenu,o as assistantSwitcher,s as cacheBreakpointMapCard,c as cacheDiffCard,l as cacheHealthCard,u as callRail,d as channelReferenceChip,f as channelThreadControl,p as channelTranscriptPanel,m as chatComposer,h as compactionTab,g as composerSettingsMenu,_ as conversationActions,v as conversationActionsSheet,y as conversationAssets,b as conversationStarterDock,x as copyButton,S as copyIdToClipboard,ee as default,C as deleteConversationConfirmDialog,w as documentAssetActions,T as documentViewerPage,E as exportProgressModal,D as fileDownload,O as groupActions,k as groupActionsSheet,A as inspectPage,j as liveVoiceBusy,M as llmCallErrorCard,N as localFileEmbed,P as localFileLink,F as memoryRouterPlaygroundPage,I as memoryTab,L as mobileCallSelector,R as overviewTab,z as pinnedAppColorSwatches,B as preferencesUsagePanel,V as promptTab,H as rawTab,U as redactedCredentialChip,W as responseTab,G as sidebarConversationError,K as skillDetailPanel,q as skillsTab,J as toolDefinitionsContent,Y as transcriptMessageBody,X as useConversationLoader,Z as useConversationSecondaryActions,Q as useSendMessage,$ as voiceErrors};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Au as e,fm as t}from"./index-7XDiAJ-A.js";function n(){let t=e.use.marketingPricingTakeover(),n=e.use.hydrated();return t?`enabled`:n?`disabled`:`pending`}var r=`continue`;function i(e,n){return t(e.get(r),n)}export{i as n,n as r,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{O as t,Un as n,Yn as r}from"./vendor-WUN87CSE.js";import{b as i,f as a,g as o,n as s,t as c}from"./react-DPM_L_aA.js";import{tn as l}from"./icons-CSdHOix6.js";import{Hf as u,Lu as d,Up as f,Xf as p,Yf as m,ap as h,ml as g,om as _,sm as v,um as y,uv as b,wm as x,wy as S}from"./index-7XDiAJ-A.js";import{t as C}from"./checkout-return-target-uGUiSRvm.js";import{n as w,r as T}from"./checkout-continuation-gyr3KRhJ.js";var E=e(i(),1),D=c();function O(){v(),p()}function k(){let{t:e}=t(`settings`),i=a(),[c]=o(),f=c.get(`package`)??``,p=(0,E.useMemo)(()=>f?null:_(c),[f,c]),v=u(),k=h(),A=T(),j=w(c,b.plans),M=j===b.plans?e(`checkoutPage.viewPlans`):e(`checkoutPage.continueSetup`),N=r(),{mutateAsync:P}=n(g()),[F,I]=(0,E.useState)(!1),[L,R]=(0,E.useState)(!1),z=(0,E.useRef)(`idle`),B=(0,E.useCallback)(async()=>{z.current=`running`,I(!1),R(!1);let e=C();try{let t=await P({body:p?{target_plan_id:`pro`,confirm:!0,machine_tier:p.machineTier,storage_tier:p.storageTier,credit_tier:p.creditTier,return_target:e}:{target_plan_id:`pro`,package:f,confirm:!0,return_target:e}});if(z.current!==`running`)return;if(t.status===`redirect`&&t.checkout_url){z.current=`handed_off`,y(p?{kind:`custom`,machineTier:p.machineTier,storageTier:p.storageTier,creditTier:p.creditTier}:{kind:`package`,packageKey:f}),m(N),R(e===`native`),d(t.checkout_url);return}z.current=`settled`,O(),i(j===b.plans&&f?b.plansForPackage(f):j,{replace:!0})}catch{if(z.current!==`running`)return;z.current=`settled`,I(!0)}},[j,p,P,i,f,N]),V=(0,E.useCallback)(()=>{if(k===`ready`){B();return}z.current=`idle`,I(!1),R(!1),k===`unavailable`&&x.getState().fetchOrganizations()},[k,B]);return(0,E.useEffect)(()=>{if(!f&&!p||v===`disabled`||v===`gated`||A===`disabled`){if(z.current===`handed_off`)return;z.current=`settled`,O(),i(j,{replace:!0});return}if(!(A!==`enabled`||v!==`full`||z.current!==`idle`)&&k!==`resolving`){if(k===`unavailable`){z.current=`settled`,I(!0);return}B()}},[j,p,v,i,k,f,B,A]),F?(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,D.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.checkoutFailedMessage`)}),(0,D.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,D.jsx)(S,{onClick:V,children:e(`checkoutPage.tryAgain`)}),(0,D.jsx)(s,{to:j,onClick:O,className:`text-sm text-[var(--content-tertiary)] underline`,children:M})]})]}):L?(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,D.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.awaitingReturnMessage`)}),(0,D.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,D.jsx)(S,{onClick:V,children:e(`checkoutPage.reopenCheckout`)}),(0,D.jsx)(s,{to:j,className:`text-sm text-[var(--content-tertiary)] underline`,children:M})]})]}):(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-3`,children:[(0,D.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`checkoutPage.preparingCheckoutAriaLabel`)}),(0,D.jsx)(`p`,{className:`text-sm text-[var(--content-tertiary)]`,children:e(`checkoutPage.preparingCheckout`)})]})}function A(){let e=a(),[t]=o(),n=w(t,b.settings.usageBilling);return(0,E.useEffect)(()=>{O(),e(n,{replace:!0})},[e,n]),null}function j(){return f()?(0,D.jsx)(A,{}):(0,D.jsx)(k,{})}export{j as CheckoutPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e}from"./vendor-WUN87CSE.js";import{Mp as t}from"./index-7XDiAJ-A.js";function n(){return t()===`macos`||e.isNativePlatform()?`native`:`web`}export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{O as t,h as n,l as r,m as i,p as a}from"./vendor-WUN87CSE.js";import{b as o,t as s,y as c}from"./react-DPM_L_aA.js";import{J as l,i as u,tn as d}from"./icons-CSdHOix6.js";import{Cy as f,Gp as p,Os as m,Vv as h,ka as g,ny as _,wy as v}from"./index-7XDiAJ-A.js";var y=e(o(),1),b=e(c(),1),x=s();function S(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function C(e,t){let n=[...new Set(t??[])].filter(e=>e.length>0).sort((e,t)=>t.length-e.length);if(n.length===0)return e;let r=n.map(S).join(`|`),i=RegExp(`(?<![\\p{L}\\p{N}])(?:${r})(?![\\p{L}\\p{N}])`,`giu`),a=[],o=0;for(let t of e.matchAll(i))a.push(e.slice(o,t.index)),a.push((0,x.jsx)(`span`,{className:`font-medium text-[var(--content-default)]`,children:t[0]},t.index)),o=t.index+t[0].length;return a.length===0?e:(a.push(e.slice(o)),(0,x.jsx)(x.Fragment,{children:a}))}function w({icon:e,title:t,subtitle:n,snippet:r,highlightTokens:i,shortcutHint:a,isSelected:o,onClick:s,surface:c=`overlay`}){let l=e;return c===`window`?(0,x.jsxs)(`button`,{type:`button`,role:`option`,"aria-current":o?`page`:void 0,"aria-selected":o,onClick:s,className:[`flex w-full items-center gap-3 rounded-md px-3 text-left text-sm font-medium outline-none transition-colors`,r?`py-1.5`:`h-10`,o?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`].join(` `),children:[l?(0,x.jsx)(l,{size:16,"aria-hidden":!0,className:o?`shrink-0 text-[var(--content-default)]`:`shrink-0 text-[var(--content-tertiary)]`}):null,(0,x.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,x.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,x.jsx)(`span`,{className:`truncate`,children:t}),n?(0,x.jsx)(`span`,{className:`min-w-0 truncate text-xs text-[var(--content-tertiary)]`,children:n}):null,a?(0,x.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-[var(--content-tertiary)]`,children:a}):null]}),r?(0,x.jsx)(`span`,{className:`truncate text-xs font-normal text-[var(--content-tertiary)]`,children:C(r,i)}):null]})]}):(0,x.jsx)(_,{icon:e,label:(0,x.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,x.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,x.jsx)(`span`,{className:`truncate`,children:t}),n?(0,x.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,a?(0,x.jsx)(`span`,{className:`ml-auto shrink-0 text-[var(--content-tertiary)] text-body-small-default`,children:a}):null]}),r?(0,x.jsx)(`span`,{className:`truncate text-[var(--content-tertiary)] text-body-small-default`,children:C(r,i)}):null]}),active:o,onSelect:s,className:r?`h-auto px-3 py-2`:`px-3 py-2`})}var T=`fixed inset-0 z-50 flex flex-col bg-[var(--surface-lift)]`,E={paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,paddingRight:`var(--safe-area-inset-right, env(safe-area-inset-right, 0px))`},D={...E,pointerEvents:`none`},O=({onKeyDown:e,children:i})=>{let{t:o}=t(),s=n(),c=r(),l=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{if(s)return;let e=document.activeElement;e instanceof HTMLElement&&l.current?.contains(e)&&e.blur()},[s]),(0,x.jsx)(a.div,{ref:l,className:T,style:s?E:D,role:`dialog`,"aria-modal":s?!0:void 0,"aria-hidden":s?void 0:!0,"aria-label":o(`commandPalette.searchAriaLabel`),onKeyDown:e,initial:{y:`100%`,opacity:0},animate:{y:0,opacity:1},exit:{y:`100%`,opacity:0},transition:c?{duration:0}:{duration:.28,ease:[.16,1,.3,1]},children:i})},k=({isOpen:e,onClose:n,query:r,onQueryChange:a,highlightTokens:o,selectedIndex:s,sections:c,isSearching:_=!1,onItemSelect:S,onKeyDown:C,surface:D=`overlay`})=>{let{t:k}=t(),A=m(),j=p(),M=g(),N=(0,y.useRef)(null),P=(0,y.useRef)(null),F=(0,y.useRef)(null);(0,y.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{P.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,y.useEffect)(()=>{if(!e||!F.current)return;let t=F.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,s]);let I=(0,y.useCallback)(e=>{e.target===N.current&&n()},[n]),L=D===`window`,R=A&&!L,z=!M,B=j&&R;if(!e&&!B)return null;let V=0,H=(0,x.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[_?(0,x.jsx)(d,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,x.jsx)(l,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,x.jsx)(`input`,{ref:P,type:`text`,value:r,onChange:e=>a(e.target.value),placeholder:k(`commandPalette.placeholder`),className:L?`min-w-0 flex-1 bg-transparent text-sm font-medium text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`:`min-w-0 flex-1 bg-transparent text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`,"aria-label":k(`commandPalette.searchAriaLabel`)}),r?R?(0,x.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>a(``),"aria-label":k(`commandPalette.clearSearch`),children:k(`commandPalette.clear`)}):L?(0,x.jsx)(`button`,{type:`button`,className:`flex size-7 shrink-0 items-center justify-center rounded-md text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`,"aria-label":k(`commandPalette.clearSearch`),onClick:()=>a(``),children:(0,x.jsx)(u,{size:16,"aria-hidden":!0})}):(0,x.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,x.jsx)(u,{}),"aria-label":k(`commandPalette.clearSearch`),onClick:()=>a(``),tintColor:`var(--content-tertiary)`}):z?(0,x.jsx)(`kbd`,{className:L?`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-xs font-medium text-[var(--content-secondary)]`:`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-label-small-default text-[var(--content-tertiary)]`,children:h(`CmdOrCtrl+K`)}):null,R?(0,x.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,x.jsx)(u,{}),expandOnMobile:!1,"aria-label":k(`commandPalette.closeSearch`),onClick:n,tintColor:`var(--content-tertiary)`}):null]}),U=(0,x.jsx)(`div`,{ref:F,className:R?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:c.length===0?(0,x.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,x.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:k(_?`commandPalette.searching`:`commandPalette.noResults`)})}):c.map(e=>(0,x.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,x.jsx)(f,{variant:`label-small-default`,as:`div`,className:L?`px-3 pb-1 pt-2 text-xs font-semibold text-[var(--content-tertiary)]`:`px-3 pb-1 pt-2 text-[var(--content-tertiary)] max-md:text-body-small-default`,children:e.label}),e.items.map(e=>{let t=V++;return(0,x.jsx)(w,{icon:e.icon,title:e.title,subtitle:e.subtitle,snippet:e.snippet,highlightTokens:o,shortcutHint:z?e.shortcutHint:void 0,isSelected:t===s,onClick:()=>S?.(e,t),surface:D},e.id)})]},e.id))});if(B)return(0,x.jsx)(i,{children:e?(0,x.jsxs)(O,{onKeyDown:C,children:[H,U]},`command-palette-sheet`):null});if(R)return(0,x.jsxs)(`div`,{className:T,role:`dialog`,"aria-modal":`true`,"aria-label":k(`commandPalette.searchAriaLabel`),onKeyDown:C,style:E,children:[H,U]});let W=(0,x.jsx)(`div`,{ref:N,role:`dialog`,"aria-modal":`true`,"aria-label":k(`commandPalette.ariaLabel`),className:D===`window`?`flex h-full w-full items-start justify-center bg-transparent p-3`:`fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[15vh]`,onClick:I,onKeyDown:C,children:(0,x.jsxs)(`div`,{className:`flex w-full max-w-[560px] flex-col overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] shadow-xl`,children:[H,U]})});return D===`window`?W:(0,b.createPortal)(W,document.body)};export{k as CommandPalette};
|
|
@@ -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{Bi as r,Gf as i,Jf as a,Sm as o,Ts as s,Uf as c,Vi as l,Zr as u,ea as d,h_ as f,po as p,ql as m}from"./index-7XDiAJ-A.js";import{CommandPalette as h}from"./command-palette-Dqv1yvzc.js";var g=e(t(),1),_=n(),v=()=>void 0,y=e=>void 0,b=e=>{switch(e.id){case`action-new-conversation`:return{kind:`newConversation`};case`action-current-conversation`:return{kind:`currentConversation`};case`action-settings`:return{kind:`openSettings`};case`action-library`:return{kind:`openLibrary`};case`action-intelligence`:return{kind:`openIdentity`};default:return e.id.startsWith(`conv-`)?{kind:`openConversation`,conversationId:e.id.slice(5)}:e.id.startsWith(`search-conv-`)?{kind:`openConversation`,conversationId:e.id.slice(12)}:e.id.startsWith(`search-schedule-`)||e.id.startsWith(`search-contact-`)?{kind:`openIdentity`}:null}};function x(){let e=c.use.sessionStatus(),t=a(),n=i();m(),p(!t),s({sessionStatus:e,hasPlatformSession:n});let x=f.use.assistants(),S=f.use.activeAssistantId(),C=o(),w=(0,g.useMemo)(()=>{let e=C??S;if(!e)return null;let t=x.find(t=>t.id===e);return t?{id:t.id,name:t.name}:null},[C,S,x]),T=w?.id??null,{conversations:E}=d(T,!0),D=(0,g.useCallback)(e=>{let t=b(e);t&&l(t)},[]),{commandPalette:O,mergedSections:k,handleItemSelect:A}=u({assistantId:T,assistantName:w?.name,conversations:E,activeConversationId:void 0,startNewConversation:v,switchConversation:v,navigate:y,navigateToSettings:v,isOpen:!0,onClose:()=>{r()},onItemSelect:D});return(0,_.jsx)(`div`,{className:`h-screen w-screen bg-transparent`,children:(0,_.jsx)(h,{isOpen:!0,surface:`window`,onClose:O.close,query:O.query,onQueryChange:O.setQuery,highlightTokens:O.searchTokens,selectedIndex:O.selectedIndex,sections:k,isSearching:O.isSearching,onItemSelect:A,onKeyDown:O.handleKeyDown})})}export{x as CommandPaletteWindowPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={configureAutoReload:`Настроить автопополнение`},t={failed:`Не удалось подключиться к ассистенту.`},n={updateFailed:`Не удалось обновить «{label}». Изменение отменено.`},r={ariaLabel:`Знакомство с компаньоном`,meet:{title:`Это я`,titleNamed:`Я {name}`,body:`Я остаюсь на рабочем столе, даже когда Vellum не видно.`},talk:{title:`Голос`,body:`Начало голосового диалога.`},type:{title:`Текст`,body:`Отправка сообщения отсюда и чтение ответа здесь же.`},menu:{title:`Правый щелчок по компаньону`,body:`Там можно меня спрятать или изменить размер.`},skip:`Пропустить`,next:`Далее`,done:`Понятно`},i={appExported:`Приложение экспортировано`,deployFailed:`Не удалось опубликовать`,deployedToVercel:`Опубликовано на Vercel`,open:`Открыть`,shareFailed:`Не удалось поделиться приложением`},a={tooltip:`Стоп`},o={instructions:`Вставьте токен бота, скопированный со страницы Bot.`,botTokenLabel:`Токен бота`,save:`Подключить`,saving:`Подключение...`,saved:`Подключено. Теперь добавьте бота на сервер.`,botTokenPlaceholder:`MTk4NjIyNDgzNzAyNDU0...`},s={instructions:`Откройте портал разработчиков Discord и создайте приложение. На странице <resetLine>Bot</resetLine> нажмите Reset Token и сразу скопируйте токен: Discord показывает его один раз, и посмотреть его снова нельзя.`,intentsNote:`Оставьте все три Privileged Gateway Intents выключенными. Ассистент читает только личные сообщения и сообщения с упоминанием, которые Discord исключает из интента содержимого.`,openPortal:`Открыть портал Discord`,continue:`Токен у меня есть`},c={instructions:`Бот ничего не увидит, пока не войдёт на сервер. Ссылка использует настройки установки вашего приложения.`,openInvite:`Добавить на сервер`,noAppId:`Сначала подключите токен бота, затем вернитесь, чтобы добавить его на сервер.`},l={channelLabel:`Discord`,stepCreate:`Создать приложение`,stepConnect:`Подключить`,stepInvite:`Добавить на сервер`},u={checkingDomain:`Проверка домена…`,domainVerified:`Домен подтверждён`,failedTitle:`Не удалось подтвердить домен. Записи DNS могли ещё не распространиться. Освободите домен и зарегистрируйте его снова.`,unknownStatus:`Неизвестный статус`,unknownStatusTitle:`Не удалось получить статус проверки домена.`,verificationFailed:`Проверка не прошла`,verifiedTitle:`Записи DNS подтверждены. Домен готов отправлять и получать почту.`,verifyingDomain:`Проверка домена…`,verifyingTitle:`Записи DNS подготовлены. Ждём, пока почтовый провайдер их подтвердит: обычно это несколько минут.`},d={failed:`Не удалось скачать файл`,revealMac:`Показать в Finder`,revealWindows:`Показать в проводнике`,saved:`Сохранено в папку «Загрузки»`,started:`Скачивание началось`,startedDescription:`Файл {filename} появится в загрузках браузера.`},f={body:`Управляемые сервисы тарифицируются и списываются с баланса аккаунта Vellum. <link>Смотреть цены</link>`},p={bannerAria:`Скачать приложение {appName}`,bannerAriaGeneric:`Скачать приложение Vellum`,download:`Скачать`,downloadAppAria:`Скачать приложение {appName}`,downloadAppAriaGeneric:`Скачать приложение Vellum`,subtitle:`Push-уведомления · биометрический вход · тактильная отдача`,title:`Приложение {appName}`,titleGeneric:`Приложение Vellum`},m={badge:`Ошибка 404`,title:`Страница не найдена`,body:`Этой страницы нет или её могли перенести.`,backToAssistant:`Вернуться к ассистенту`,goBack:`Назад`},h={title:`Ассистенту нужно больше мощности`,titleNamed:`{assistantName} нуждается в большей мощности`,body:`Ассистент усердно работает и приближается к пределу доступных ресурсов. Обновите план, чтобы он продолжал работать без сбоев.`,bodyNoUpgrade:`Ассистент усердно работает и приближается к пределу доступных ресурсов.`,upgrade:`Обновить план`,dontShowAgain:`Больше не показывать`},g={unnamedAssistant:`ассистент`},_={ariaLabel:`Действия: {name}`},v={managedLabel:`Управляемые`,modeToggleAriaLabel:`Режим сервиса`,yourOwnLabel:`Свои`},y={windowsNativeDisplayName:`Windows Native Dictation`,windowsNativeSubtitle:`Распознавание речи Windows на устройстве, локально через вспомогательную программу Windows. Работает без сети и не требует API-ключа.`,windowsNativeSetupWarning:`Нужно базовое распознавание речи для языка интерфейса Windows: Параметры > Время и язык > Язык и регион, три точки рядом с языком интерфейса, Параметры языка, в разделе Возможности языка: Базовое распознавание речи.`},b={deleteFailed:`Не удалось удалить приложение`},x={copyFailed:`Не удалось скопировать ссылку. Откройте её: {url}`,linkCopied:`Ссылка скопирована`,open:`Открыть`},S={setupPrompt:{slack:`Я хочу связываться с тобой в Slack. Давай настроим.`,telegram:`Я хочу связываться с тобой в Telegram. Давай настроим.`,discord:`Я хочу связываться с тобой в Discord. Давай настроим.`,email:`Я хочу писать тебе по электронной почте. Давай настроим твой адрес.`,phone:`Я хочу иметь возможность звонить тебе. Давай настроим тебе номер телефона.`},finishPrompt:{slack:`Slack настроен, но не работает. Можешь доделать?`,telegram:`Telegram настроен, но не работает. Можешь доделать?`,discord:`Discord настроен, но не работает. Можешь доделать?`,email:`Мой адрес электронной почты настроен, но не работает. Можешь доделать?`,phone:`Мой номер телефона настроен, но не работает. Можешь доделать?`}},C={addFailed:`Не удалось добавить закладку.`,removeFailed:`Не удалось удалить закладку.`},w={exchangeFailed:`Проверьте вставленный ключ и повторите попытку.`,failed:`Не удалось подключить Claude. Повторите попытку.`,notStarted:`Сначала запуск сценария Connect Claude.`,pasteEmpty:`Вставка кода со страницы Claude.`,popupBlocked:`Браузер заблокировал вкладку входа. Разрешение всплывающих окон для этого сайта, затем снова Подключить.`,startFailed:`Не удалось запустить Connect Claude. Повторите попытку.`,timedOut:`Время ожидания подключения Claude истекло. Повторите попытку.`},T={accountConnected:`Аккаунт {name} подключён.`,authPopupClosed:`Не удалось подключить {name}: окно авторизации закрыто.`,authorizationError:`Ошибка {name}: {code}`,authorizationFailed:`Авторизация {name} не удалась`,popupBlocked:`Всплывающее окно заблокировано. Разрешите всплывающие окна и повторите попытку.`,popupClosed:`Не удалось подключить {name}: всплывающее окно закрыто.`,startFailed:`Не удалось начать авторизацию {name}.`},E={blocked:`Браузер заблокировал страницу, которую ассистент пытался открыть.`,openPage:`Открыть страницу`},D={updated:`Тема обновлена`},O={file:`Файл`,view:`Вид`,developer:`Разработчик`,help:`Справка`},k={addCreditsModal:e,assistantConnect:t,assistantFeatureFlagStore:n,companionIntro:r,deployStore:i,detailPanelStopButton:a,discordSetupConnectStep:o,discordSetupCreateStep:s,discordSetupInviteStep:c,discordSetupWizard:l,domainVerificationChip:u,downloadFeedback:d,managedServicesBanner:f,nativeAppBanner:p,notFound:m,resourcePressureBanner:h,rootLayout:g,sectionActionsButton:_,serviceCard:v,sttProviderForm:y,useAppDelete:b,useAppDeployment:x,useAssistantChannels:S,useBookmarks:C,useConnectClaude:w,useOauthConnect:T,useOpenUrlDirectives:E,useWorkspaceTheme:D,windowsMenuBar:O};export{e as addCreditsModal,t as assistantConnect,n as assistantFeatureFlagStore,r as companionIntro,k as default,i as deployStore,a as detailPanelStopButton,o as discordSetupConnectStep,s as discordSetupCreateStep,c as discordSetupInviteStep,l as discordSetupWizard,u as domainVerificationChip,d as downloadFeedback,f as managedServicesBanner,p as nativeAppBanner,m as notFound,h as resourcePressureBanner,g as rootLayout,_ as sectionActionsButton,v as serviceCard,y as sttProviderForm,b as useAppDelete,x as useAppDeployment,S as useAssistantChannels,C as useBookmarks,w as useConnectClaude,T as useOauthConnect,E as useOpenUrlDirectives,D as useWorkspaceTheme,O as windowsMenuBar};
|