@vellumai/web 0.11.6-staging.2 → 0.11.6-staging.3
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/{Trans-v2rRKTPL.js → Trans-CBhhVbOk.js} +1 -1
- package/dist/assets/{about-page-Dw0Uwev9.js → about-page-hURQzaZb.js} +1 -1
- package/dist/assets/{account-page-DlvLIypA.js → account-page-BUHRzIQn.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-Iio-GZu9.js → acp-run-detail-panel-CVPDXyP6.js} +1 -1
- package/dist/assets/{activity-steps-panel-PJzUgOtB.js → activity-steps-panel-BzTDFCQ4.js} +1 -1
- package/dist/assets/{add-credential-modal-D7srPAPB.js → add-credential-modal-aeUdZtSp.js} +1 -1
- package/dist/assets/{add-credits-modal-DeNURe8K.js → add-credits-modal-CtS-PzoH.js} +1 -1
- package/dist/assets/{ai-page-DD80M99s.js → ai-page-C6zXOVyP.js} +1 -1
- package/dist/assets/{android-billing-handoff-Bh58jm76.js → android-billing-handoff-BoSQm4gg.js} +1 -1
- package/dist/assets/{api-key-screen-z0y8OmyR.js → api-key-screen-DauZKmq9.js} +1 -1
- package/dist/assets/{app-card-BhEYWzKz.js → app-card-B5AFFdUO.js} +1 -1
- package/dist/assets/{assistant-status-panel-DVk8iz06.js → assistant-status-panel-DYkXgK0D.js} +1 -1
- package/dist/assets/{auth-store-CjmqULlA.js → auth-store-BVjw4Y6z.js} +2 -2
- package/dist/assets/{auth-welcome-screen-CZqGjUcN.js → auth-welcome-screen-DbDu2DKV.js} +1 -1
- package/dist/assets/{avatar-random-BnLwN7Id.js → avatar-random-BOjdaclE.js} +1 -1
- package/dist/assets/background-task-detail-panel-BWAwy3I3.js +1 -0
- package/dist/assets/{billing-page-CKwUJ6q-.js → billing-page-FxI0W3-_.js} +3 -3
- package/dist/assets/{bookmarks-page-Dx3rKSni.js → bookmarks-page-6p-UochF.js} +1 -1
- package/dist/assets/{browser-BEhg-q3w.js → browser-BaGW19xY.js} +2 -2
- package/dist/assets/{build-state-B8LOllfu.js → build-state-ChDL0BPH.js} +1 -1
- package/dist/assets/{bundle-confirm-page-6fk5bxhm.js → bundle-confirm-page-9jTfMrek.js} +1 -1
- package/dist/assets/{channels-page-route-oOKo0PJl.js → channels-page-route-DBtIRtsL.js} +1 -1
- package/dist/assets/{chat-DWHDLB4P.js → chat-4LXYoAUR.js} +2 -2
- package/dist/assets/{chat-D5S5-COJ.js → chat-BG7p3zq1.js} +2 -2
- package/dist/assets/{chat-CBvs4_4y.js → chat-Bfo3dMB3.js} +1 -1
- package/dist/assets/{chat-avatar-UYWpN1Us.js → chat-avatar-DM2DBsml.js} +1 -1
- package/dist/assets/{chat-markdown-message-u0xAGkrJ.js → chat-markdown-message-CTuuKxjN.js} +1 -1
- package/dist/assets/{checkout-continuation-BWg-BcSF.js → checkout-continuation-LLv0HLko.js} +1 -1
- package/dist/assets/{checkout-page-CbYIkUzX.js → checkout-page-B14XHmIb.js} +1 -1
- package/dist/assets/checkout-return-target-BX6588K4.js +1 -0
- package/dist/assets/{client-perf-HISWGXqe.js → client-perf-CL-Sfpnu.js} +1 -1
- package/dist/assets/{command-palette-H8-iGtrr.js → command-palette-C0x3z7aQ.js} +1 -1
- package/dist/assets/{command-palette-window-page-BhTJGf5Z.js → command-palette-window-page-BShi7rwo.js} +1 -1
- package/dist/assets/common-C7YGlfJZ.js +1 -0
- package/dist/assets/common-DFfCPRFe.js +1 -0
- package/dist/assets/{community-page-D5Arbqn5.js → community-page-ChiOX6Op.js} +1 -1
- package/dist/assets/{companion-surface-page-ocmWMzcw.js → companion-surface-page-HYtLs0-t.js} +1 -1
- package/dist/assets/{composer-settings-C-0rpzHA.js → composer-settings-BCehrZgj.js} +1 -1
- package/dist/assets/{connect-page-mZ1hzLhX.js → connect-page-tyHxf7TL.js} +1 -1
- package/dist/assets/{consent-controls-BO5Fuj76.js → consent-controls-C7U2N-h8.js} +1 -1
- package/dist/assets/consent-cuDRWUkB.js +1 -0
- package/dist/assets/{contacts-gateway-DoiRPJZq.js → contacts-gateway-BLGKdcif.js} +1 -1
- package/dist/assets/{contacts-page-route-BsBSdQ8v.js → contacts-page-route-KVjx4fqm.js} +1 -1
- package/dist/assets/{conversation-cache-DOQdWaTg.js → conversation-cache-CrybogTL.js} +1 -1
- package/dist/assets/{conversation-navigation-116d0b9Q.js → conversation-navigation-Ck_iLhjv.js} +1 -1
- package/dist/assets/{conversation-queries-tt9gZId5.js → conversation-queries-Clrll8jF.js} +1 -1
- package/dist/assets/{conversation-selection-DKq2AZf8.js → conversation-selection-BVLi6RIL.js} +1 -1
- package/dist/assets/{copy-to-clipboard-CIyU3zmr.js → copy-to-clipboard-Blihejp9.js} +1 -1
- package/dist/assets/{credential-entry-page-Dd7upL78.js → credential-entry-page-Cs6FHnUn.js} +1 -1
- package/dist/assets/{credentials-page-BVljsi9m.js → credentials-page-D8G-44GI.js} +1 -1
- package/dist/assets/{csv-preview-CeNy614y.js → csv-preview-rpZix2b7.js} +1 -1
- package/dist/assets/debug-page-BMqKvkSo.js +4 -0
- package/dist/assets/{deploy-dialogs-TTQiNB6y.js → deploy-dialogs-DqkTJUGk.js} +1 -1
- package/dist/assets/{deploy-store-Cz20nHuj.js → deploy-store-FijtU8HL.js} +1 -1
- package/dist/assets/detail-panel-stop-button-ClfJeo-s.js +1 -0
- package/dist/assets/{developer-page-DBUNokt3.js → developer-page-C7o31rYB.js} +1 -1
- package/dist/assets/{diagnostics-Bi4k4B8U.js → diagnostics-BC7vRbDB.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BmayMkea.js → dictation-overlay-page-sfEwzU14.js} +1 -1
- package/dist/assets/{doctor-handoff-store-Do2X2LvI.js → doctor-handoff-store-DEirTOZw.js} +1 -1
- package/dist/assets/{document-viewer-container-CrbF9Z_4.js → document-viewer-container-yyhVIyAB.js} +2 -2
- package/dist/assets/{document-viewer-page-DqN6k_UB.js → document-viewer-page-Co_sxuvK.js} +1 -1
- package/dist/assets/effective-timezone-BW38Gdmx.js +1 -0
- package/dist/assets/{emails-page-BSDs_cnf.js → emails-page-a1sfkbkL.js} +1 -1
- package/dist/assets/{esm-Dn6OqJ4P.js → esm-BTQ42Hgz.js} +2 -2
- package/dist/assets/{esm-B7hQuLYV.js → esm-BnXPDdij.js} +2 -2
- package/dist/assets/{esm-BN5PWtBB.js → esm-CC077SPL.js} +2 -2
- package/dist/assets/{esm-B9__Mvsi.js → esm-CbZfwR7m.js} +2 -2
- package/dist/assets/esm-DA5sciAy.js +2 -0
- package/dist/assets/{esm-aHElu69l.js → esm-DbODHbQp.js} +2 -2
- package/dist/assets/{esm-Bcw5HdPN.js → esm-Doko4a-G.js} +2 -2
- package/dist/assets/{external-anchor-DKrqdxff.js → external-anchor-CJ2uCBN2.js} +1 -1
- package/dist/assets/{feed-item-status-actions-CCNKonlC.js → feed-item-status-actions-Bw41rlaj.js} +1 -1
- package/dist/assets/{file-editor-Bn3fjyeW.js → file-editor-Cx3p3Rxf.js} +1 -1
- package/dist/assets/{file-markdown-8-h2vx0G.js → file-markdown-D43Nsqm2.js} +1 -1
- package/dist/assets/{first-run-scope-lw_VDLUA.js → first-run-scope-DITgHc6G.js} +1 -1
- package/dist/assets/{format-usd-B9okvVIq.js → format-usd-Be34KtzB.js} +1 -1
- package/dist/assets/{funnel-events-D-InjbTX.js → funnel-events-Dl6Nt7nA.js} +1 -1
- package/dist/assets/{general-page-DppPvamB.js → general-page-rg_u_yPE.js} +1 -1
- package/dist/assets/{get-memory-stats-BhVFtDQg.js → get-memory-stats-DxspWLxk.js} +1 -1
- package/dist/assets/{haptics-DRyt58c5.js → haptics-BS-glrYv.js} +2 -2
- package/dist/assets/{hatching-screen-1ZOPcV42.js → hatching-screen-8lXCy9WG.js} +1 -1
- package/dist/assets/{home-page-route-D1QbN6M5.js → home-page-route-QunjBmtS.js} +1 -1
- package/dist/assets/{hosting-screen-C-uvieVy.js → hosting-screen-B-5gejYX.js} +1 -1
- package/dist/assets/{i18n-BDfnKs41.js → i18n-BtV8MCsZ.js} +3 -3
- package/dist/assets/{identity-BueQJAR8.js → identity-_6tLszkL.js} +1 -1
- package/dist/assets/{identity-page-route-BOQd6ko9.js → identity-page-route-B0XGpYIE.js} +1 -1
- package/dist/assets/index-C9XKdblY.css +2 -0
- package/dist/assets/{index-CfSEZ8JN.js → index-Gjnx86x6.js} +3 -3
- package/dist/assets/{ingest-BD3GYGpk.js → ingest-OJG7HVUh.js} +1 -1
- package/dist/assets/{inspect-page-CGsWZzun.js → inspect-page-bs_j1c9j.js} +3 -3
- package/dist/assets/{integrations-page-D5H6XJIt.js → integrations-page-D7ENik74.js} +1 -1
- package/dist/assets/{intelligence-layout-_FM08eqn.js → intelligence-layout-gaexcakY.js} +1 -1
- package/dist/assets/{invalidate-memory-queries-DqdhPLUe.js → invalidate-memory-queries-DWuNUXFq.js} +1 -1
- package/dist/assets/{latest-assistant-text-BeS_23nt.js → latest-assistant-text-DCyUvxgH.js} +1 -1
- package/dist/assets/{library-detail-page-DLtBHLA8.js → library-detail-page-DXCZhY4s.js} +1 -1
- package/dist/assets/{library-page-YT1vECkY.js → library-page-CKAu2a08.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-8SxM3rIp.js → local-runtime-upgrade-BXc9x-7Y.js} +1 -1
- package/dist/assets/{login-flow-B8yCe4pl.js → login-flow-CrSxmLFE.js} +1 -1
- package/dist/assets/{login-page-awRRidw5.js → login-page-uUo0uRmJ.js} +1 -1
- package/dist/assets/{logout-page-nRjDnT8Z.js → logout-page-BYZfOpa1.js} +1 -1
- package/dist/assets/{logs-layout-D8c2JBmw.js → logs-layout-B34XKM-k.js} +1 -1
- package/dist/assets/{markdown-preview-BkK4kDdG.js → markdown-preview-eCDa4paC.js} +1 -1
- package/dist/assets/{media-preview-lY5oZbAH.js → media-preview-1xn1SAn9.js} +1 -1
- package/dist/assets/{memory-page-route-j0Dpopb-.js → memory-page-route-DiVaW98S.js} +1 -1
- package/dist/assets/{memory-router-playground-page-BYD7TF11.js → memory-router-playground-page-DgILWgQu.js} +1 -1
- package/dist/assets/{message-files-panel-aRAyF3Ir.js → message-files-panel-Bv-5dvcD.js} +1 -1
- package/dist/assets/{messages-CCAr4He2.js → messages-BXHTKK_v.js} +1 -1
- package/dist/assets/native-anchor-CmnMg6B6.js +1 -0
- package/dist/assets/{native-biometric-ntyxdDLY.js → native-biometric-DEP8Sr4X.js} +1 -1
- package/dist/assets/{native-file-DhgAhuFu.js → native-file-DlQtjxJn.js} +2 -2
- package/dist/assets/{navigation-resolver-dBlKf1YD.js → navigation-resolver-CRsrd5gh.js} +1 -1
- package/dist/assets/{not-found-DWwWs5dL.js → not-found-BXR_4Uja.js} +1 -1
- package/dist/assets/{notifications-CdfIUmqd.js → notifications-Dcgkgn8Q.js} +1 -1
- package/dist/assets/{notifications-page-DqdfKth8.js → notifications-page-CSH6gHaX.js} +1 -1
- package/dist/assets/{oauth-complete-page-O3DSqE_R.js → oauth-complete-page-Bh6VG8SS.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Bax7Z0q9.js → oauth-popup-complete-page-6YLSOCV_.js} +1 -1
- package/dist/assets/{onboarding-store-BsVgs3Ut.js → onboarding-store-BhT1z8Wi.js} +1 -1
- package/dist/assets/{open-workspace-file-Cw5RJCCD.js → open-workspace-file-fIr0qcsc.js} +2 -2
- package/dist/assets/{operational-status-DpG5GDPe.js → operational-status-BdcYEcTh.js} +1 -1
- package/dist/assets/{pairing-page-BAjVwQx2.js → pairing-page-fVI54lsD.js} +1 -1
- package/dist/assets/{pdf-file-preview-DOGYGRl6.js → pdf-file-preview-BjbSLoD9.js} +1 -1
- package/dist/assets/{pdf-preview-CSMjNQyq.js → pdf-preview-xa07R01f.js} +2 -2
- package/dist/assets/{personality-page-DHXw49da.js → personality-page-CK3vkhkl.js} +1 -1
- package/dist/assets/{plans-page-CEKWL3n4.js → plans-page-CuZeAQhx.js} +1 -1
- package/dist/assets/{platform-detection-BVSM8PRh.js → platform-detection-DUeD4WFO.js} +1 -1
- package/dist/assets/{platform-login-notice-Dq3m5QWH.js → platform-login-notice-B2ZwcEYp.js} +1 -1
- package/dist/assets/{platform-loopback-page-pQ4fn0Nn.js → platform-loopback-page-CMnaXj8y.js} +1 -1
- package/dist/assets/{prefs-CXvngLdE.js → prefs-CAMw44jD.js} +1 -1
- package/dist/assets/{preview-skeleton-DA_Jj0Wc.js → preview-skeleton-CLI9ptyu.js} +1 -1
- package/dist/assets/{privacy-page-BMzUBvaJ.js → privacy-page-D-a7l0YY.js} +1 -1
- package/dist/assets/{privacy-screen-Dy6bC1QU.js → privacy-screen-CxwxgE4s.js} +1 -1
- package/dist/assets/{provider-callback-page-DI_iDUZB.js → provider-callback-page-65a2DK0l.js} +1 -1
- package/dist/assets/{provider-key-CXIl3HXm.js → provider-key-CcPF1Zqp.js} +1 -1
- package/dist/assets/{provider-signup-page-CEZYja-E.js → provider-signup-page-BC86aF7W.js} +1 -1
- package/dist/assets/{provisioning-targets-BwwKG7Vs.js → provisioning-targets-CE25g21J.js} +1 -1
- package/dist/assets/{push-registration-DSgQ3jMG.js → push-registration-D0zDMpTx.js} +2 -2
- package/dist/assets/{quick-input-page-DCkaYfUc.js → quick-input-page-DAf2lbri.js} +1 -1
- package/dist/assets/{remove-from-device-dialog-CYJV-5IC.js → remove-from-device-dialog-CXmGFbKk.js} +1 -1
- package/dist/assets/{research-facts-DKRZaLQC.js → research-facts-gT4POsZw.js} +1 -1
- package/dist/assets/{research-mock-page-Y0Hec2hX.js → research-mock-page-B41v4MzE.js} +1 -1
- package/dist/assets/{research-onboarding-route-CREwj2sS.js → research-onboarding-route-CbZ14lCf.js} +1 -1
- package/dist/assets/{research-results-view-CBvWhXB8.js → research-results-view-BHXLkoKK.js} +1 -1
- package/dist/assets/{retire-confirm-dialog-B3ZUAlmZ.js → retire-confirm-dialog-1nxn6f4M.js} +1 -1
- package/dist/assets/{review-terms-screen-7OU_S96U.js → review-terms-screen-BsDHdmoO.js} +1 -1
- package/dist/assets/{routes-DvpgDVCJ.js → routes-Cly3ytK4.js} +9 -9
- package/dist/assets/{runtime-upgrade-banner-lbVqs7Te.js → runtime-upgrade-banner-DC63rkQ7.js} +2 -2
- package/dist/assets/{sandbox-bridge-BkKOlHRs.js → sandbox-bridge-DSJSIgUC.js} +1 -1
- package/dist/assets/{schedules-DCr5HsxY.js → schedules-BZzuRuQs.js} +1 -1
- package/dist/assets/{schedules-5MJ4hhjn.js → schedules-DVOFbt86.js} +1 -1
- package/dist/assets/{schedules-page-DRcO3zq3.js → schedules-page-CjqAP78z.js} +1 -1
- package/dist/assets/{section-membership-CyAaLX8V.js → section-membership-Bma0R_Bn.js} +1 -1
- package/dist/assets/{select-assistant-screen-DJHzqmSj.js → select-assistant-screen-CV_3BKEH.js} +1 -1
- package/dist/assets/{self-hosted-servers-DTLMKzVl.js → self-hosted-servers-BMPYPayb.js} +1 -1
- package/dist/assets/{settings-layout-Brb4OeZD.js → settings-layout-CDRF6b06.js} +1 -1
- package/dist/assets/{settings-navigation-eZSfIWFH.js → settings-navigation-DyFIJJGF.js} +1 -1
- package/dist/assets/{share-feedback-modal-DuppDLIt.js → share-feedback-modal-TnZsiNw9.js} +2 -2
- package/dist/assets/{sidebar-tree-hjulk9XJ.js → sidebar-tree-Y1RDeJ9E.js} +1 -1
- package/dist/assets/{signup-page-pBgqV9xZ.js → signup-page-DRzsOblS.js} +1 -1
- package/dist/assets/{site-favicon-zvd-HIsY.js → site-favicon-DLf2W4xi.js} +1 -1
- package/dist/assets/{skill-detail-page-CB5IciZz.js → skill-detail-page-3Wiz9A7q.js} +1 -1
- package/dist/assets/{skill-detail-panel-CxyyNg-F.js → skill-detail-panel-DbLFuSyn.js} +1 -1
- package/dist/assets/{skills-DGBAogub.js → skills-DASSBxT-.js} +1 -1
- package/dist/assets/{sound-manager-BCNOVpEJ.js → sound-manager-D8p3_c3W.js} +1 -1
- package/dist/assets/{sounds-page-B9l4ortG.js → sounds-page-CWBPL1YA.js} +1 -1
- package/dist/assets/{start-screen-BXejiAHk.js → start-screen-OMf-yHG3.js} +1 -1
- package/dist/assets/status-badge-pill-MTA2Lfk-.js +1 -0
- package/dist/assets/{stt-language-picker-modal-DoiPypZS.js → stt-language-picker-modal-CmeO8yxD.js} +1 -1
- package/dist/assets/{subagent-detail-panel-Dgs09-aR.js → subagent-detail-panel-CUW2rBET.js} +1 -1
- package/dist/assets/{subagent-store-B3w3yLSH.js → subagent-store-BcbcFnS8.js} +1 -1
- package/dist/assets/{superpowers-page-DqtKtLl_.js → superpowers-page-CuvXfGPO.js} +1 -1
- package/dist/assets/{swipe-action-reveal-rwiWQgU_.js → swipe-action-reveal-BhA-hrfj.js} +1 -1
- package/dist/assets/{system-events-page-DVQ_Igth.js → system-events-page-tEAEdDzA.js} +1 -1
- package/dist/assets/{telegram-setup-wizard-CYy9zEtc.js → telegram-setup-wizard-BT6u6vcb.js} +1 -1
- package/dist/assets/{text-preview-DG1TgtrX.js → text-preview-qkra1xEh.js} +1 -1
- package/dist/assets/{theme-preferences-U-DK54R3.js → theme-preferences-ysFQ1QCN.js} +1 -1
- package/dist/assets/{theme-stage-page-DncswvCE.js → theme-stage-page-DiqUiOmJ.js} +1 -1
- package/dist/assets/{threshold-presets-XHj6N666.js → threshold-presets-DF7FTTlD.js} +1 -1
- package/dist/assets/{tiptap-document-editor-CeH50SNN.js → tiptap-document-editor-sg7gdh_H.js} +1 -1
- package/dist/assets/{tool-detail-panel-CjI_rLvP.js → tool-detail-panel-BR3PsmdK.js} +1 -1
- package/dist/assets/{transcript-message-body-shared-DAn7Y7Ac.js → transcript-message-body-shared-DWzxxSaD.js} +1 -1
- package/dist/assets/{trust-rules-api-CpP3h7B2.js → trust-rules-api-eZhPplXW.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-Rayv5lL4.js → upgrade-cancel-page-pljx8YOz.js} +1 -1
- package/dist/assets/{upgrade-success-page-BTYOlmt5.js → upgrade-success-page-CJUETwIe.js} +1 -1
- package/dist/assets/{use-app-theme-CsfqodmR.js → use-app-theme-CaWLhQW_.js} +1 -1
- package/dist/assets/{use-assistant-avatar-CT8Pozwx.js → use-assistant-avatar-C2TgszRj.js} +1 -1
- package/dist/assets/{use-assistant-capability-D_tZY-cd.js → use-assistant-capability-De-35T6E.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-BqNPVmfH.js → use-assistant-identity-details-rXIIiXr1.js} +1 -1
- package/dist/assets/{use-attachment-preview-DuaQSNrO.js → use-attachment-preview-BAX_ivri.js} +2 -2
- package/dist/assets/{use-attachment-squares-Cbx4ZiOb.js → use-attachment-squares-rU9s8st8.js} +1 -1
- package/dist/assets/{use-bookmarks-BZRDuTXA.js → use-bookmarks-BrjNq3T_.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-D9yXOKh9.js → use-checkout-dismiss-refresh-CjgC7Pck.js} +1 -1
- package/dist/assets/{use-command-palette-sections-BUETm__K.js → use-command-palette-sections-tRUwMswg.js} +1 -1
- package/dist/assets/{use-copy-to-clipboard-IWl9ygbI.js → use-copy-to-clipboard-B4c7SAc-.js} +1 -1
- package/dist/assets/{use-edge-swipe-CAV3Gs1-.js → use-edge-swipe-CCn4_Vm3.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-BgZR4YZn.js → use-edge-swipe-back-xU9GuipH.js} +2 -2
- package/dist/assets/{use-edit-app-BzvFD5ew.js → use-edit-app-DDA6_WrI.js} +1 -1
- package/dist/assets/{use-effective-timezone-DByqidDL.js → use-effective-timezone-BfyKw5_H.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-DRNVCYW4.js → use-invite-link-dialog-CvA_-72H.js} +1 -1
- package/dist/assets/{use-is-org-ready-TE5xIhFU.js → use-is-org-ready-B6oCKWeF.js} +1 -1
- package/dist/assets/{use-onboarding-login-Q4gvH8Wj.js → use-onboarding-login-CJ6HY3Pk.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-8TlYUj7-.js → use-platform-assistant-id-DwSyMaOn.js} +1 -1
- package/dist/assets/{use-platform-gate-PHzS1_gQ.js → use-platform-gate-s29eeyq-.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-BVG-rqwe.js → use-return-to-short-circuit-Bx5s2Syg.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-CLM74CvJ.js → use-save-twilio-credentials-Zjhi1c0P.js} +1 -1
- package/dist/assets/{use-side-list-room-Bq836e0c.js → use-side-list-room-BT-2EM5d.js} +1 -1
- package/dist/assets/{use-skill-actions-l1FxBNiT.js → use-skill-actions-BtnAACsE.js} +1 -1
- package/dist/assets/{use-skill-detail-files-CBPqC-XL.js → use-skill-detail-files-B_E6xY9x.js} +1 -1
- package/dist/assets/{use-sticky-profiles-C4JFSief.js → use-sticky-profiles-DpkWeMmN.js} +1 -1
- package/dist/assets/{use-stt-language-selection-CGDAHN7_.js → use-stt-language-selection-BWJdaCRu.js} +1 -1
- package/dist/assets/{use-subagent-card-data-dOGbE8zd.js → use-subagent-card-data-CfuRPesp.js} +1 -1
- package/dist/assets/{use-swipe-horizontal-Bad1Uh4M.js → use-swipe-horizontal-B9YOWcB6.js} +1 -1
- package/dist/assets/use-transcript-message-by-id-DfWH7JRN.js +1 -0
- package/dist/assets/{use-transcript-messages-DIEDHw01.js → use-transcript-messages-CFkvE46_.js} +1 -1
- package/dist/assets/{use-voice-sample-preview-BBqCdK2Z.js → use-voice-sample-preview-B8HUywXz.js} +1 -1
- package/dist/assets/{viewer-store-Dgua7F-U.js → viewer-store-CHptQmkY.js} +1 -1
- package/dist/assets/{voice-page-BYDJEThX.js → voice-page-Dgcf5OOp.js} +1 -1
- package/dist/assets/{voice-providers-note-DpSF3-Ma.js → voice-providers-note-nJKW4coW.js} +1 -1
- package/dist/assets/{weather-forecast-display-MET3csCf.js → weather-forecast-display-_NYO0wBC.js} +1 -1
- package/dist/assets/{web-CQAP3XpT.js → web-C_sL6qhW.js} +1 -1
- package/dist/assets/{web-BANE7hLi.js → web-iI5WHtNC.js} +1 -1
- package/dist/assets/{welcome-screen-Dn7IdxeX.js → welcome-screen-DK4_01J3.js} +1 -1
- package/dist/assets/workflow-detail-panel-TqYAg0bB.js +1 -0
- package/dist/assets/{workflow-store-CA048OMm.js → workflow-store-DH4q15s9.js} +1 -1
- package/dist/assets/{workspace-page-CcIru1nv.js → workspace-page-Dbwb2RCx.js} +1 -1
- package/dist/assets/{workspace-tree-query-Dn-Kjfzx.js → workspace-tree-query-DnEMWZ1K.js} +1 -1
- package/dist/index.html +99 -99
- package/package.json +1 -1
- package/dist/assets/background-task-detail-panel-C45_k5DQ.js +0 -1
- package/dist/assets/checkout-return-target-D-ski0RP.js +0 -1
- package/dist/assets/common-C3fO0bj9.js +0 -1
- package/dist/assets/common-DH_hAtEx.js +0 -1
- package/dist/assets/consent-CSU4nfO3.js +0 -1
- package/dist/assets/debug-page-DpV9vuot.js +0 -4
- package/dist/assets/effective-timezone-BZrvS5yC.js +0 -1
- package/dist/assets/esm-BktaByj8.js +0 -2
- package/dist/assets/index-DC3kfiz5.css +0 -2
- package/dist/assets/native-anchor-C9EuQRVe.js +0 -1
- package/dist/assets/status-badge-pill-B4knVe4X.js +0 -1
- package/dist/assets/use-transcript-message-by-id-D684pai6.js +0 -1
- package/dist/assets/workflow-detail-panel-BUuxWGNn.js +0 -1
- /package/dist/assets/{account-CO0-PUz1.js → account-Cs9SXbU1.js} +0 -0
- /package/dist/assets/{account-B-1qvljd.js → account-DWeaNEN6.js} +0 -0
- /package/dist/assets/{app-types-vvZ3vl-x.js → app-types-CpnkPGh8.js} +0 -0
- /package/dist/assets/{archive-redirect-page-CBu8tqAW.js → archive-redirect-page-DXqjPmpK.js} +0 -0
- /package/dist/assets/{billing-redirect-page-D9L0pZBO.js → billing-redirect-page-l6nC_qa5.js} +0 -0
- /package/dist/assets/{build.umd-CUOzCO1S.js → build.umd-DjyW4NzX.js} +0 -0
- /package/dist/assets/{channels-CPESg8oh.js → channels-DU7UcoR_.js} +0 -0
- /package/dist/assets/{channels-C01LAA9n.js → channels-P8K1t248.js} +0 -0
- /package/dist/assets/{contacts-Czi7DI1x.js → contacts-CotcPejk.js} +0 -0
- /package/dist/assets/{contacts-B34lrFQP.js → contacts-E-8UOrGK.js} +0 -0
- /package/dist/assets/{credential-requests-CuDbx69F.js → credential-requests-BsHMMFoG.js} +0 -0
- /package/dist/assets/{credential-requests-B5yQSkNQ.js → credential-requests-D74qo-et.js} +0 -0
- /package/dist/assets/{danger-zone-redirect-page-DaCIFrKn.js → danger-zone-redirect-page-Cds_krO3.js} +0 -0
- /package/dist/assets/{definitions-DjyY9gkh.js → definitions-BKQ6A5IV.js} +0 -0
- /package/dist/assets/{definitions-CPdqKyW-.js → definitions-Bi8Nex3B.js} +0 -0
- /package/dist/assets/{detail-drawer-BoNujeL5.js → detail-drawer-D-CPwyBO.js} +0 -0
- /package/dist/assets/{devices-redirect-page-C6dlSkhY.js → devices-redirect-page-CeKwKvN-.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Io_Or5q_.js → emoji-catalog-data-81v3IYMV.js} +0 -0
- /package/dist/assets/{environment-store-DEyTyd0y.js → environment-store-DKl9RR50.js} +0 -0
- /package/dist/assets/{esm-CYQaGt0k.js → esm-BAE-_6f7.js} +0 -0
- /package/dist/assets/{esm-CNQNviBl.js → esm-KUiHjb53.js} +0 -0
- /package/dist/assets/{esm-ORlwcEKV.js → esm-uRwymN1a.js} +0 -0
- /package/dist/assets/{home-BlYbenJA.js → home-C5CVL0Ta.js} +0 -0
- /package/dist/assets/{home-DLr3UreM.js → home-QpGM3cDE.js} +0 -0
- /package/dist/assets/{intelligence-CmTIvIK5.js → intelligence-DNb2No5j.js} +0 -0
- /package/dist/assets/{intelligence-FK_fyZf1.js → intelligence-cL2kPl3v.js} +0 -0
- /package/dist/assets/{keyboard-shortcuts-redirect-page-CHDMDYjr.js → keyboard-shortcuts-redirect-page-BDuYwofA.js} +0 -0
- /package/dist/assets/{library-Xe0N-J_g.js → library-a7r2rPRX.js} +0 -0
- /package/dist/assets/{library-Dy0MR5PM.js → library-mD_34-zu.js} +0 -0
- /package/dist/assets/{link-click-BMBF1BX0.js → link-click-LjKsC7uu.js} +0 -0
- /package/dist/assets/{logs-C01Xe6pR.js → logs-CwEMxFk_.js} +0 -0
- /package/dist/assets/{logs-CLAksTVA.js → logs-DYhiKdQ8.js} +0 -0
- /package/dist/assets/{machine-sizes-CoWjZd83.js → machine-sizes-DOMlCbKb.js} +0 -0
- /package/dist/assets/{onboarding-DLrJvosE.js → onboarding-D2bBWpx1.js} +0 -0
- /package/dist/assets/{onboarding-CrxUN_U9.js → onboarding-DJeJhXd6.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CVDi6y2-.js → onboarding-step-layout-_Fbi43YU.js} +0 -0
- /package/dist/assets/{page-empty-state-iXCJNtzb.js → page-empty-state-B_nQdAFR.js} +0 -0
- /package/dist/assets/{page-shell-CUnJzpKC.js → page-shell-BHyGukA1.js} +0 -0
- /package/dist/assets/{pdf-DT-N9HWh.js → pdf-a3pPuuVL.js} +0 -0
- /package/dist/assets/{plugin-attribution-CtgwSlw8.js → plugin-attribution-7tkVwdle.js} +0 -0
- /package/dist/assets/{plugin-detail-page-CAQUYhh3.js → plugin-detail-page-D9Qk7GmS.js} +0 -0
- /package/dist/assets/{plugins-page-ONcIfAug.js → plugins-page-Bm0hcoSf.js} +0 -0
- /package/dist/assets/{profile-metadata-DeknMkvV.js → profile-metadata-BPGeIeNj.js} +0 -0
- /package/dist/assets/{radio-card-nav-CgGzva7O.js → radio-card-nav-C67JvVkE.js} +0 -0
- /package/dist/assets/{remote-web-D5jpctdd.js → remote-web-Btj-E-og.js} +0 -0
- /package/dist/assets/{remote-web-DwUlAxnF.js → remote-web-yAGitwPt.js} +0 -0
- /package/dist/assets/{schedules-BAvze-kP.js → schedules-Dd44UKOx.js} +0 -0
- /package/dist/assets/{schedules-B84Gewv0.js → schedules-K8jULmC8.js} +0 -0
- /package/dist/assets/{security-redirect-page-BbJ-8JQE.js → security-redirect-page-C3VbbfyM.js} +0 -0
- /package/dist/assets/{setting-row-w3kD1IkH.js → setting-row-urcByt7n.js} +0 -0
- /package/dist/assets/{settings-CcU8vWuM.js → settings-BggpKBtA.js} +0 -0
- /package/dist/assets/{settings-Ce2mFlFl.js → settings-DSeJ7uGb.js} +0 -0
- /package/dist/assets/{settings-divider-SUwXIK4c.js → settings-divider-CYam_4yQ.js} +0 -0
- /package/dist/assets/{skill-icon-BS3zAgpY.js → skill-icon-D52BIuW4.js} +0 -0
- /package/dist/assets/{skills-page-Cv3KPZrr.js → skills-page-DhKl7Mti.js} +0 -0
- /package/dist/assets/{system-events-redirect-page-lwCsNnQS.js → system-events-redirect-page-BMSQQBAs.js} +0 -0
- /package/dist/assets/{terminal-DmcRqX9y.js → terminal-CazBoirG.js} +0 -0
- /package/dist/assets/{terminal-DPTJVDoh.js → terminal-DP646Xj3.js} +0 -0
- /package/dist/assets/{usage-redirect-page-D_mJtlxQ.js → usage-redirect-page-DBkOdl41.js} +0 -0
- /package/dist/assets/{use-hotkey-recorder-BQEYtl-Y.js → use-hotkey-recorder-IMOc7G5D.js} +0 -0
- /package/dist/assets/{use-supports-credentials-settings-DYi8pPuP.js → use-supports-credentials-settings-BD0GXxL7.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text--przReJr.js → use-truncated-blob-text-DmnckNwK.js} +0 -0
- /package/dist/assets/{web-DzjJIfpd.js → web-8Dh87AZ1.js} +0 -0
- /package/dist/assets/{web-DBVu9-3L.js → web-BAQ66WKm.js} +0 -0
- /package/dist/assets/{web-C9KSKaaC.js → web-BFD28UZm.js} +0 -0
- /package/dist/assets/{web-DUnBtrXJ.js → web-BcIK5wrq.js} +0 -0
- /package/dist/assets/{web-D1RaRfAT.js → web-D0e5_5xl.js} +0 -0
- /package/dist/assets/{web-ClNazDb-.js → web-D4Rr20FV.js} +0 -0
- /package/dist/assets/{web-Br6VELOy.js → web-qqG-3jDd.js} +0 -0
- /package/dist/assets/{workspace-BDcbF2--.js → workspace-Dva7bu2g.js} +0 -0
- /package/dist/assets/{workspace-C8mlGfzN.js → workspace-xgS4oaDo.js} +0 -0
- /package/dist/assets/{xterm-DdHeF_2A.js → xterm-QkObDWKu.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CoHQbqyC.js → xterm-addon-fit-DIrY4yvs.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BDfnKs41.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-B1kEAcLt.js";import{d as i,u as a}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as o}from"./jsx-runtime-COOF1INC.js";import{t as s}from"./typography-SdxpXI_m.js";import{a as c,n as l}from"./list-row-BvCm9O6y.js";import{t as u}from"./createLucideIcon-CMfEC_aW.js";import{t as d}from"./chevron-up-B_I9Uakl.js";import{t as f}from"./menu-DPM2p9S5.js";import{t as p}from"./globe-DJ3y3hQh.js";import{t as m}from"./link-2-Di62Fo_i.js";import{t as h}from"./loader-circle-DZ65N8bz.js";import{n as g,t as _}from"./minimize-2-DzL_lI8t.js";import{t as v}from"./pencil-1uDrqXvV.js";import{t as y}from"./refresh-cw-BDh1a2sj.js";import{t as b}from"./x-nhRPd-Mz.js";import"./src-BKET5Cno.js";import{r as x}from"./resolved-assistants-store-DEtotxhR.js";import{t as S}from"./client.gen-D1UKq9QZ.js";import{n as C}from"./event-bus-CN0zipw2.js";import{f as w}from"./routes-C6ueuiMd.js";import{t as T}from"./conversation-store-BHWyRtQs.js";import{i as E}from"./viewer-store-Dgua7F-U.js";import{t as D}from"./conversation-selection-DKq2AZf8.js";import{n as O}from"./use-is-mobile-DYVRtRin.js";import{t as k}from"./misc-dA4Wklt2.js";import{t as A}from"./use-touch-mobile-hfZPfT1P.js";import{r as j,t as M}from"./edit-chat-session-Cm8kKicc.js";import{n as N,o as P,s as F,t as I}from"./sandbox-bridge-BkKOlHRs.js";var L=u(`expand`,[[`path`,{d:`m15 15 6 6`,key:`1s409w`}],[`path`,{d:`m15 9 6-6`,key:`ko1vev`}],[`path`,{d:`M21 16v5h-5`,key:`1ck2sf`}],[`path`,{d:`M21 8V3h-5`,key:`1qoq8a`}],[`path`,{d:`M3 16v5h5`,key:`1t08am`}],[`path`,{d:`m3 21 6-6`,key:`wwnumi`}],[`path`,{d:`M3 8V3h5`,key:`1ln10m`}],[`path`,{d:`M9 9 3 3`,key:`v551iv`}]]),R=u(`share`,[[`path`,{d:`M12 2v13`,key:`1km8f5`}],[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`,key:`1b2hhj`}]]),z=o(),B=e(n(),1),V=`flags.toggleAppsSandboxDisabled`,H=!1,U=new Set;function W(){return H}function G(e){let t=e===void 0?!H:e===!0;if(t===H)return console.info(`[vellumDebug] ${V}: already ${String(t)}.`),H;H=t,t?console.warn(`[vellumDebug] ${V} = true: app iframes render without the sandbox attribute. App HTML runs same-origin with the host and can reach its DOM, storage, and cookies. Open apps reload to pick this up. Call it again, or reload the page, to restore the sandbox.`):console.info(`[vellumDebug] ${V} = false: app iframes are sandboxed again.`);for(let e of U)e();return H}function K(e){return U.add(e),()=>{U.delete(e)}}function q(){return(0,B.useSyncExternalStore)(K,W,()=>!1)}function J({appName:e,onEdit:n,isEditing:i,onShare:a,isSharing:o,onDeploy:c,isDeploying:l,deployedUrl:u,onCopyDeployedLink:f,onToggleFullscreen:_,onClose:y}){let{t:x}=t(),S=O()&&i===!0&&n!=null,C=a!=null&&c!=null,w=u!=null&&u!==``&&f!=null;return(0,z.jsxs)(`div`,{className:`flex items-center justify-between rounded-t-xl bg-[var(--surface-lift)] px-4 py-3`,children:[(0,z.jsx)(`div`,{className:`hidden md:flex items-center min-w-[72px]`,children:n!=null&&(i?(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(L,{}),onClick:n,tooltip:x(`appNavBar.expandApp`),"aria-label":x(`appNavBar.expandApp`)}):(0,z.jsx)(r,{onClick:n,children:x(`appNavBar.edit`)}))}),(0,z.jsx)(s,{variant:`body-large-default`,className:k(`flex-1 truncate text-left md:text-center text-[var(--content-emphasised)]`,S&&`cursor-pointer`),style:{lineHeight:1.4},onClick:S?n:void 0,children:e}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-[72px] justify-end`,children:[C?(0,z.jsx)(Y,{onShare:a,isSharing:o,onDeploy:c,isDeploying:l,deployedUrl:u,onCopyDeployedLink:f}):(0,z.jsxs)(z.Fragment,{children:[c!=null&&(w?(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(m,{}),onClick:f,tooltip:x(`appNavBar.deployedCopyLinkTooltip`),"aria-label":x(`appNavBar.deployedCopyLinkAria`)}):(0,z.jsx)(r,{variant:`outlined`,iconOnly:l?(0,z.jsx)(h,{className:`animate-spin`}):(0,z.jsx)(p,{}),onClick:c,disabled:l,tooltip:x(l?`appNavBar.deploying`:`appNavBar.deploy`),"aria-label":x(l?`appNavBar.deploying`:`appNavBar.deploy`)})),a!=null&&(0,z.jsx)(r,{variant:`outlined`,iconOnly:o?(0,z.jsx)(h,{className:`animate-spin`}):(0,z.jsx)(R,{}),onClick:a,disabled:o,tooltip:x(o?`appNavBar.sharing`:`appNavBar.share`),"aria-label":x(o?`appNavBar.sharing`:`appNavBar.share`)})]}),_!=null&&(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(g,{}),onClick:_,tooltip:x(`appNavBar.fullscreen`),"aria-label":x(`appNavBar.fullscreen`)}),n!=null&&(0,z.jsx)(r,{variant:`outlined`,iconOnly:i?(0,z.jsx)(d,{}):(0,z.jsx)(v,{}),onClick:n,tooltip:x(i?`appNavBar.openApp`:`appNavBar.edit`),"aria-label":x(i?`appNavBar.openApp`:`appNavBar.edit`),active:i,className:`md:hidden`}),(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(b,{}),onClick:y,tooltip:x(`appNavBar.close`),"aria-label":x(`appNavBar.close`)})]})]})}function Y({onShare:e,isSharing:n,onDeploy:i,isDeploying:a,deployedUrl:o,onCopyDeployedLink:s}){let{t:u}=t(),d=A(),[g,_]=(0,B.useState)(!1),v=o!=null&&o!==``&&s!=null,b=n||a,x=b?(0,z.jsx)(h,{className:`animate-spin`}):(0,z.jsx)(R,{}),S=u(n?`appNavBar.sharing`:a?`appNavBar.deploying`:`appNavBar.shareAndDeploy`);return d?(0,z.jsxs)(c.Root,{open:g,onOpenChange:_,children:[(0,z.jsx)(c.Trigger,{asChild:!0,children:(0,z.jsx)(r,{variant:`outlined`,iconOnly:x,disabled:b,tooltip:S,"aria-label":S})}),(0,z.jsxs)(c.Content,{"aria-describedby":void 0,children:[(0,z.jsx)(c.Header,{className:`sr-only`,children:(0,z.jsx)(c.Title,{children:u(`appNavBar.shareAndDeploy`)})}),(0,z.jsxs)(c.Body,{className:`pt-0`,children:[(0,z.jsx)(l,{icon:R,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.share`)}),(0,z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`appNavBar.shareExportSubtitle`)})]}),onSelect:()=>{_(!1),e()}}),v?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(l,{icon:m,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.deployedToVercel`)}),(0,z.jsx)(`span`,{className:`break-all text-body-small-default text-[var(--content-tertiary)]`,children:o})]}),onSelect:()=>{_(!1),s?.()}}),(0,z.jsx)(l,{icon:y,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.redeploy`)}),(0,z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`appNavBar.redeploySubtitle`)})]}),onSelect:()=>{_(!1),i()}})]}):(0,z.jsx)(l,{icon:p,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.deployToVercel`)}),(0,z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`appNavBar.deployToVercelSubtitle`)})]}),onSelect:()=>{_(!1),i()}})]})]})]}):(0,z.jsxs)(f.Root,{open:g,onOpenChange:_,children:[(0,z.jsx)(f.Trigger,{asChild:!0,children:(0,z.jsx)(r,{variant:`outlined`,iconOnly:x,disabled:b,tooltip:S,"aria-label":S})}),(0,z.jsxs)(f.Content,{align:`end`,sideOffset:4,children:[(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(R,{size:14}),onSelect:()=>e(),className:`whitespace-nowrap`,children:u(`appNavBar.share`)}),v?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(m,{size:14}),shortcut:u(`appNavBar.copyLink`),onSelect:()=>s?.(),className:`whitespace-nowrap`,children:u(`appNavBar.deployedToVercel`)}),(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(y,{size:14}),onSelect:()=>i(),className:`whitespace-nowrap`,children:u(`appNavBar.redeploy`)})]}):(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(p,{size:14}),onSelect:()=>i(),className:`whitespace-nowrap`,children:u(`appNavBar.deployToVercel`)})]})]})}var X=[`assistant:`,`conversation:`,`conversations:`,`apps:`,`documents:`,`plugins:`,`feature-flags:`];function Z(e){return X.some(t=>e.startsWith(t))}function Q(e,t){if(e.length===0)return[];let n=new Set(e);return t.filter(e=>n.has(e)&&!Z(e))}function $(e,t){let{frameId:n,assistantId:r,appId:i,enabled:a=!0,onAction:o,onOpenVellumLink:s}=t,c=(0,B.useRef)(new Map);(0,B.useEffect)(()=>{let t=c.current,l=async c=>{let l=c.data;if(!l||l.frameId!==n||c.source!==e.current?.contentWindow)return;if(l.type===`vellum_subscribe`){if(!a)return;let{subId:e,tags:n}=l;typeof e==`string`&&Array.isArray(n)&&t.set(e,new Set(n.filter(e=>typeof e==`string`)));return}if(l.type===`vellum_unsubscribe`){let{subId:e}=l;typeof e==`string`&&t.delete(e);return}if(l.type===`vellum_surface_action`){o?.(l.actionId,l.data);return}if(l.type===`vellum_open_link`){if(!navigator.userActivation?.isActive)return;s?.(l.href,l.linkText);return}if(l.type===`vellum_asset_request`){let{callId:t,path:n}=l,o=e.current,s=(e,t)=>{o?.contentWindow?.postMessage(e,`*`,t??[])};if(!a){s({type:`vellum_asset_response`,callId:t,error:`Asset proxy disabled`});return}if(!i){s({type:`vellum_asset_response`,callId:t,error:`No app context for assets`});return}if(typeof n!=`string`||n===``||n.includes(`..`)){s({type:`vellum_asset_response`,callId:t,error:`Invalid asset path`});return}try{let e=`/v1/assistants/${r}/apps/${i}/asset/${n.split(`/`).map(encodeURIComponent).join(`/`)}`,{data:a,response:o}=await S.get({url:e,parseAs:`blob`,throwOnError:!1});if(!o?.ok||!(a instanceof Blob)){s({type:`vellum_asset_response`,callId:t,error:`Asset fetch failed (${o?.status??0})`});return}let c=await a.arrayBuffer();s({type:`vellum_asset_response`,callId:t,buffer:c,contentType:a.type||`application/octet-stream`},[c])}catch(e){s({type:`vellum_asset_response`,callId:t,error:e instanceof Error?e.message:`Asset proxy error`})}return}if(!a||l.type!==`vellum_fetch_request`)return;let{callId:u,path:d,method:f,headers:p,body:m}=l,h=e.current,g=e=>{h?.contentWindow?.postMessage(e,`*`)};if(!I.test(d)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: only /v1/x/ custom routes are allowed`});return}try{let e=new URL(d,`https://placeholder`).pathname;if(!I.test(e)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: path traversal detected`});return}}catch{g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: invalid path`});return}let _=`/v1/assistants/${r}/${d.replace(/^\/v1\//,``)}`;try{let e={url:_,throwOnError:!1,headers:p&&Object.keys(p).length>0?p:void 0,body:m?JSON.parse(m):void 0},t=await(f===`POST`?S.post:f===`PUT`?S.put:f===`PATCH`?S.patch:f===`DELETE`?S.delete:S.get)(e),n=t.response,r=t.data??t.error,i=r==null?``:typeof r==`string`?r:JSON.stringify(r);g({type:`vellum_fetch_response`,callId:u,status:n?.status??0,statusText:n?.statusText??``,body:i})}catch(e){g({type:`vellum_fetch_response`,callId:u,error:e instanceof Error?e.message:`Fetch proxy error`})}};window.addEventListener(`message`,l);let u=C(`sse.event`,r=>{let i=r.message;if(!i||i.type!==`sync_changed`||!Array.isArray(i.tags))return;let a=e.current?.contentWindow;if(!a||t.size===0)return;let o=i.tags.filter(e=>typeof e==`string`);for(let[e,r]of t){let t=Q([...r],o);t.length>0&&a.postMessage({type:`vellum_event`,frameId:n,subId:e,event:{type:`sync_changed`,tags:t}},`*`)}});return()=>{window.removeEventListener(`message`,l),u()}},[n,r,i,a,o,s,e])}var ee=`allow-scripts allow-popups allow-popups-to-escape-sandbox`;function te({appId:e,appName:n,html:i,assistantId:a,onClose:o,onEdit:s,isEditing:c,onShare:l,isSharing:u,onDeploy:d,isDeploying:f,route:p,enableFullscreen:m=!1,onAction:h}){let{t:g}=t(),v=(0,B.useRef)(null),[y,b]=(0,B.useState)(!1),x=(0,B.useCallback)(()=>b(e=>!e),[]);(0,B.useEffect)(()=>{b(!1)},[e]),(0,B.useEffect)(()=>{if(!y)return;let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),b(!1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let S=(0,B.useMemo)(()=>N(i,e,{fetch:!0,route:p}),[i,e,p]),C=q(),w=(0,B.useMemo)(()=>{let t=0;for(let e=0;e<i.length;e++)t=(t<<5)-t+i.charCodeAt(e)|0;return`app-${e}-${t}${C?`-nosandbox`:``}`},[i,e,C]);$(v,{frameId:e,assistantId:a,appId:e,onAction:h});let{deployedUrl:T}=F(a,e,{enabled:d!=null}),E=(0,B.useCallback)(()=>{T!=null&&P(T)},[T]);return(0,z.jsxs)(`div`,{"data-testid":`app-viewer-root`,className:k(`flex flex-col overflow-hidden bg-[var(--surface-base)]`,y?`fixed inset-0 z-[60]`:`h-full rounded-xl`),children:[!y&&(0,z.jsx)(J,{appName:n,onEdit:s,isEditing:c,onShare:l,isSharing:u,onDeploy:d,isDeploying:f,deployedUrl:T,onCopyDeployedLink:E,onToggleFullscreen:m?x:void 0,onClose:o}),(0,z.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[y&&(0,z.jsx)(`div`,{className:`absolute z-10`,style:{top:`max(0.75rem, var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,right:`max(0.75rem, var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:(0,z.jsx)(r,{variant:`primary`,iconOnly:(0,z.jsx)(_,{}),onClick:x,tooltip:g(`appViewerContainer.exitFullscreen`)})}),(0,z.jsx)(`iframe`,{ref:v,srcDoc:S,sandbox:C?void 0:ee,referrerPolicy:`no-referrer`,title:n,className:`h-full w-full border-none`},w)]})]})}function ne(){let e=x.use.activeAssistantId(),t=O(),n=i(),{pathname:r}=a();return(0,B.useCallback)(i=>{if(!e)return;let a=T.getState().activeConversationId??M(e,i.appId)??D();j(e,i.appId,a);let o=E.getState();(o.activeAppId!==i.appId||!o.openedAppState)&&(o.openApp(i.appId),o.setLoadedApp(i)),T.getState().setEditingConversationId(a),t?o.minimizeApp():o.enterAppEditing();let s=w.conversation(a);r!==s&&n(s)},[e,t,n,r])}export{R as a,G as i,te as n,$ as r,ne as t};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-B1kEAcLt.js";import{d as i,u as a}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as o}from"./jsx-runtime-COOF1INC.js";import{t as s}from"./typography-SdxpXI_m.js";import{a as c,n as l}from"./list-row-BvCm9O6y.js";import{t as u}from"./createLucideIcon-CMfEC_aW.js";import{t as d}from"./chevron-up-B_I9Uakl.js";import{t as f}from"./menu-DPM2p9S5.js";import{t as p}from"./globe-DJ3y3hQh.js";import{t as m}from"./link-2-Di62Fo_i.js";import{t as h}from"./loader-circle-DZ65N8bz.js";import{n as g,t as _}from"./minimize-2-DzL_lI8t.js";import{t as v}from"./pencil-1uDrqXvV.js";import{t as y}from"./refresh-cw-BDh1a2sj.js";import{t as b}from"./x-nhRPd-Mz.js";import"./src-BKET5Cno.js";import{r as x}from"./resolved-assistants-store-DEtotxhR.js";import{t as S}from"./client.gen-D1UKq9QZ.js";import{n as C}from"./event-bus-CN0zipw2.js";import{f as w}from"./routes-C6ueuiMd.js";import{t as T}from"./conversation-store-BHWyRtQs.js";import{i as E}from"./viewer-store-CHptQmkY.js";import{t as D}from"./conversation-selection-BVLi6RIL.js";import{n as O}from"./use-is-mobile-DYVRtRin.js";import{t as k}from"./misc-dA4Wklt2.js";import{t as A}from"./use-touch-mobile-hfZPfT1P.js";import{r as j,t as M}from"./edit-chat-session-Cm8kKicc.js";import{n as N,o as P,s as F,t as I}from"./sandbox-bridge-DSJSIgUC.js";var L=u(`expand`,[[`path`,{d:`m15 15 6 6`,key:`1s409w`}],[`path`,{d:`m15 9 6-6`,key:`ko1vev`}],[`path`,{d:`M21 16v5h-5`,key:`1ck2sf`}],[`path`,{d:`M21 8V3h-5`,key:`1qoq8a`}],[`path`,{d:`M3 16v5h5`,key:`1t08am`}],[`path`,{d:`m3 21 6-6`,key:`wwnumi`}],[`path`,{d:`M3 8V3h5`,key:`1ln10m`}],[`path`,{d:`M9 9 3 3`,key:`v551iv`}]]),R=u(`share`,[[`path`,{d:`M12 2v13`,key:`1km8f5`}],[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`,key:`1b2hhj`}]]),z=o(),B=e(n(),1),V=`flags.toggleAppsSandboxDisabled`,H=!1,U=new Set;function W(){return H}function G(e){let t=e===void 0?!H:e===!0;if(t===H)return console.info(`[vellumDebug] ${V}: already ${String(t)}.`),H;H=t,t?console.warn(`[vellumDebug] ${V} = true: app iframes render without the sandbox attribute. App HTML runs same-origin with the host and can reach its DOM, storage, and cookies. Open apps reload to pick this up. Call it again, or reload the page, to restore the sandbox.`):console.info(`[vellumDebug] ${V} = false: app iframes are sandboxed again.`);for(let e of U)e();return H}function K(e){return U.add(e),()=>{U.delete(e)}}function q(){return(0,B.useSyncExternalStore)(K,W,()=>!1)}function J({appName:e,onEdit:n,isEditing:i,onShare:a,isSharing:o,onDeploy:c,isDeploying:l,deployedUrl:u,onCopyDeployedLink:f,onToggleFullscreen:_,onClose:y}){let{t:x}=t(),S=O()&&i===!0&&n!=null,C=a!=null&&c!=null,w=u!=null&&u!==``&&f!=null;return(0,z.jsxs)(`div`,{className:`flex items-center justify-between rounded-t-xl bg-[var(--surface-lift)] px-4 py-3`,children:[(0,z.jsx)(`div`,{className:`hidden md:flex items-center min-w-[72px]`,children:n!=null&&(i?(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(L,{}),onClick:n,tooltip:x(`appNavBar.expandApp`),"aria-label":x(`appNavBar.expandApp`)}):(0,z.jsx)(r,{onClick:n,children:x(`appNavBar.edit`)}))}),(0,z.jsx)(s,{variant:`body-large-default`,className:k(`flex-1 truncate text-left md:text-center text-[var(--content-emphasised)]`,S&&`cursor-pointer`),style:{lineHeight:1.4},onClick:S?n:void 0,children:e}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-[72px] justify-end`,children:[C?(0,z.jsx)(Y,{onShare:a,isSharing:o,onDeploy:c,isDeploying:l,deployedUrl:u,onCopyDeployedLink:f}):(0,z.jsxs)(z.Fragment,{children:[c!=null&&(w?(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(m,{}),onClick:f,tooltip:x(`appNavBar.deployedCopyLinkTooltip`),"aria-label":x(`appNavBar.deployedCopyLinkAria`)}):(0,z.jsx)(r,{variant:`outlined`,iconOnly:l?(0,z.jsx)(h,{className:`animate-spin`}):(0,z.jsx)(p,{}),onClick:c,disabled:l,tooltip:x(l?`appNavBar.deploying`:`appNavBar.deploy`),"aria-label":x(l?`appNavBar.deploying`:`appNavBar.deploy`)})),a!=null&&(0,z.jsx)(r,{variant:`outlined`,iconOnly:o?(0,z.jsx)(h,{className:`animate-spin`}):(0,z.jsx)(R,{}),onClick:a,disabled:o,tooltip:x(o?`appNavBar.sharing`:`appNavBar.share`),"aria-label":x(o?`appNavBar.sharing`:`appNavBar.share`)})]}),_!=null&&(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(g,{}),onClick:_,tooltip:x(`appNavBar.fullscreen`),"aria-label":x(`appNavBar.fullscreen`)}),n!=null&&(0,z.jsx)(r,{variant:`outlined`,iconOnly:i?(0,z.jsx)(d,{}):(0,z.jsx)(v,{}),onClick:n,tooltip:x(i?`appNavBar.openApp`:`appNavBar.edit`),"aria-label":x(i?`appNavBar.openApp`:`appNavBar.edit`),active:i,className:`md:hidden`}),(0,z.jsx)(r,{variant:`outlined`,iconOnly:(0,z.jsx)(b,{}),onClick:y,tooltip:x(`appNavBar.close`),"aria-label":x(`appNavBar.close`)})]})]})}function Y({onShare:e,isSharing:n,onDeploy:i,isDeploying:a,deployedUrl:o,onCopyDeployedLink:s}){let{t:u}=t(),d=A(),[g,_]=(0,B.useState)(!1),v=o!=null&&o!==``&&s!=null,b=n||a,x=b?(0,z.jsx)(h,{className:`animate-spin`}):(0,z.jsx)(R,{}),S=u(n?`appNavBar.sharing`:a?`appNavBar.deploying`:`appNavBar.shareAndDeploy`);return d?(0,z.jsxs)(c.Root,{open:g,onOpenChange:_,children:[(0,z.jsx)(c.Trigger,{asChild:!0,children:(0,z.jsx)(r,{variant:`outlined`,iconOnly:x,disabled:b,tooltip:S,"aria-label":S})}),(0,z.jsxs)(c.Content,{"aria-describedby":void 0,children:[(0,z.jsx)(c.Header,{className:`sr-only`,children:(0,z.jsx)(c.Title,{children:u(`appNavBar.shareAndDeploy`)})}),(0,z.jsxs)(c.Body,{className:`pt-0`,children:[(0,z.jsx)(l,{icon:R,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.share`)}),(0,z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`appNavBar.shareExportSubtitle`)})]}),onSelect:()=>{_(!1),e()}}),v?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(l,{icon:m,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.deployedToVercel`)}),(0,z.jsx)(`span`,{className:`break-all text-body-small-default text-[var(--content-tertiary)]`,children:o})]}),onSelect:()=>{_(!1),s?.()}}),(0,z.jsx)(l,{icon:y,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.redeploy`)}),(0,z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`appNavBar.redeploySubtitle`)})]}),onSelect:()=>{_(!1),i()}})]}):(0,z.jsx)(l,{icon:p,label:(0,z.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,z.jsx)(`span`,{children:u(`appNavBar.deployToVercel`)}),(0,z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`appNavBar.deployToVercelSubtitle`)})]}),onSelect:()=>{_(!1),i()}})]})]})]}):(0,z.jsxs)(f.Root,{open:g,onOpenChange:_,children:[(0,z.jsx)(f.Trigger,{asChild:!0,children:(0,z.jsx)(r,{variant:`outlined`,iconOnly:x,disabled:b,tooltip:S,"aria-label":S})}),(0,z.jsxs)(f.Content,{align:`end`,sideOffset:4,children:[(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(R,{size:14}),onSelect:()=>e(),className:`whitespace-nowrap`,children:u(`appNavBar.share`)}),v?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(m,{size:14}),shortcut:u(`appNavBar.copyLink`),onSelect:()=>s?.(),className:`whitespace-nowrap`,children:u(`appNavBar.deployedToVercel`)}),(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(y,{size:14}),onSelect:()=>i(),className:`whitespace-nowrap`,children:u(`appNavBar.redeploy`)})]}):(0,z.jsx)(f.Item,{leftIcon:(0,z.jsx)(p,{size:14}),onSelect:()=>i(),className:`whitespace-nowrap`,children:u(`appNavBar.deployToVercel`)})]})]})}var X=[`assistant:`,`conversation:`,`conversations:`,`apps:`,`documents:`,`plugins:`,`feature-flags:`];function Z(e){return X.some(t=>e.startsWith(t))}function Q(e,t){if(e.length===0)return[];let n=new Set(e);return t.filter(e=>n.has(e)&&!Z(e))}function $(e,t){let{frameId:n,assistantId:r,appId:i,enabled:a=!0,onAction:o,onOpenVellumLink:s}=t,c=(0,B.useRef)(new Map);(0,B.useEffect)(()=>{let t=c.current,l=async c=>{let l=c.data;if(!l||l.frameId!==n||c.source!==e.current?.contentWindow)return;if(l.type===`vellum_subscribe`){if(!a)return;let{subId:e,tags:n}=l;typeof e==`string`&&Array.isArray(n)&&t.set(e,new Set(n.filter(e=>typeof e==`string`)));return}if(l.type===`vellum_unsubscribe`){let{subId:e}=l;typeof e==`string`&&t.delete(e);return}if(l.type===`vellum_surface_action`){o?.(l.actionId,l.data);return}if(l.type===`vellum_open_link`){if(!navigator.userActivation?.isActive)return;s?.(l.href,l.linkText);return}if(l.type===`vellum_asset_request`){let{callId:t,path:n}=l,o=e.current,s=(e,t)=>{o?.contentWindow?.postMessage(e,`*`,t??[])};if(!a){s({type:`vellum_asset_response`,callId:t,error:`Asset proxy disabled`});return}if(!i){s({type:`vellum_asset_response`,callId:t,error:`No app context for assets`});return}if(typeof n!=`string`||n===``||n.includes(`..`)){s({type:`vellum_asset_response`,callId:t,error:`Invalid asset path`});return}try{let e=`/v1/assistants/${r}/apps/${i}/asset/${n.split(`/`).map(encodeURIComponent).join(`/`)}`,{data:a,response:o}=await S.get({url:e,parseAs:`blob`,throwOnError:!1});if(!o?.ok||!(a instanceof Blob)){s({type:`vellum_asset_response`,callId:t,error:`Asset fetch failed (${o?.status??0})`});return}let c=await a.arrayBuffer();s({type:`vellum_asset_response`,callId:t,buffer:c,contentType:a.type||`application/octet-stream`},[c])}catch(e){s({type:`vellum_asset_response`,callId:t,error:e instanceof Error?e.message:`Asset proxy error`})}return}if(!a||l.type!==`vellum_fetch_request`)return;let{callId:u,path:d,method:f,headers:p,body:m}=l,h=e.current,g=e=>{h?.contentWindow?.postMessage(e,`*`)};if(!I.test(d)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: only /v1/x/ custom routes are allowed`});return}try{let e=new URL(d,`https://placeholder`).pathname;if(!I.test(e)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: path traversal detected`});return}}catch{g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: invalid path`});return}let _=`/v1/assistants/${r}/${d.replace(/^\/v1\//,``)}`;try{let e={url:_,throwOnError:!1,headers:p&&Object.keys(p).length>0?p:void 0,body:m?JSON.parse(m):void 0},t=await(f===`POST`?S.post:f===`PUT`?S.put:f===`PATCH`?S.patch:f===`DELETE`?S.delete:S.get)(e),n=t.response,r=t.data??t.error,i=r==null?``:typeof r==`string`?r:JSON.stringify(r);g({type:`vellum_fetch_response`,callId:u,status:n?.status??0,statusText:n?.statusText??``,body:i})}catch(e){g({type:`vellum_fetch_response`,callId:u,error:e instanceof Error?e.message:`Fetch proxy error`})}};window.addEventListener(`message`,l);let u=C(`sse.event`,r=>{let i=r.message;if(!i||i.type!==`sync_changed`||!Array.isArray(i.tags))return;let a=e.current?.contentWindow;if(!a||t.size===0)return;let o=i.tags.filter(e=>typeof e==`string`);for(let[e,r]of t){let t=Q([...r],o);t.length>0&&a.postMessage({type:`vellum_event`,frameId:n,subId:e,event:{type:`sync_changed`,tags:t}},`*`)}});return()=>{window.removeEventListener(`message`,l),u()}},[n,r,i,a,o,s,e])}var ee=`allow-scripts allow-popups allow-popups-to-escape-sandbox`;function te({appId:e,appName:n,html:i,assistantId:a,onClose:o,onEdit:s,isEditing:c,onShare:l,isSharing:u,onDeploy:d,isDeploying:f,route:p,enableFullscreen:m=!1,onAction:h}){let{t:g}=t(),v=(0,B.useRef)(null),[y,b]=(0,B.useState)(!1),x=(0,B.useCallback)(()=>b(e=>!e),[]);(0,B.useEffect)(()=>{b(!1)},[e]),(0,B.useEffect)(()=>{if(!y)return;let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),b(!1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let S=(0,B.useMemo)(()=>N(i,e,{fetch:!0,route:p}),[i,e,p]),C=q(),w=(0,B.useMemo)(()=>{let t=0;for(let e=0;e<i.length;e++)t=(t<<5)-t+i.charCodeAt(e)|0;return`app-${e}-${t}${C?`-nosandbox`:``}`},[i,e,C]);$(v,{frameId:e,assistantId:a,appId:e,onAction:h});let{deployedUrl:T}=F(a,e,{enabled:d!=null}),E=(0,B.useCallback)(()=>{T!=null&&P(T)},[T]);return(0,z.jsxs)(`div`,{"data-testid":`app-viewer-root`,className:k(`flex flex-col overflow-hidden bg-[var(--surface-base)]`,y?`fixed inset-0 z-[60]`:`h-full rounded-xl`),children:[!y&&(0,z.jsx)(J,{appName:n,onEdit:s,isEditing:c,onShare:l,isSharing:u,onDeploy:d,isDeploying:f,deployedUrl:T,onCopyDeployedLink:E,onToggleFullscreen:m?x:void 0,onClose:o}),(0,z.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[y&&(0,z.jsx)(`div`,{className:`absolute z-10`,style:{top:`max(0.75rem, var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,right:`max(0.75rem, var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:(0,z.jsx)(r,{variant:`primary`,iconOnly:(0,z.jsx)(_,{}),onClick:x,tooltip:g(`appViewerContainer.exitFullscreen`)})}),(0,z.jsx)(`iframe`,{ref:v,srcDoc:S,sandbox:C?void 0:ee,referrerPolicy:`no-referrer`,title:n,className:`h-full w-full border-none`},w)]})]})}function ne(){let e=x.use.activeAssistantId(),t=O(),n=i(),{pathname:r}=a();return(0,B.useCallback)(i=>{if(!e)return;let a=T.getState().activeConversationId??M(e,i.appId)??D();j(e,i.appId,a);let o=E.getState();(o.activeAppId!==i.appId||!o.openedAppState)&&(o.openApp(i.appId),o.setLoadedApp(i)),T.getState().setEditingConversationId(a),t?o.minimizeApp():o.enterAppEditing();let s=w.conversation(a);r!==s&&n(s)},[e,t,n,r])}export{R as a,G as i,te as n,$ as r,ne as t};
|
package/dist/assets/{use-effective-timezone-DByqidDL.js → use-effective-timezone-BfyKw5_H.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{c as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{c as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./use-bus-subscription-DfxTm1-Q.js";import{t as i}from"./effective-timezone-BW38Gdmx.js";var a=e(n(),1);function o(){let[e,n]=(0,a.useState)(i),o=(0,a.useCallback)(()=>{n(e=>{let t=i();return t===e?e:t})},[]);return r(`app.resume`,o),(0,a.useEffect)(()=>{window.addEventListener(`focus`,o);let e=t(`timezone`,o);return()=>{window.removeEventListener(`focus`,o),e()}},[o]),e}export{o as t};
|
package/dist/assets/{use-invite-link-dialog-DRNVCYW4.js → use-invite-link-dialog-CvA_-72H.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{f as t,h as n,p as r,v as i}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{f as t,h as n,p as r,v as i}from"./i18n-BtV8MCsZ.js";import{t as a}from"./react-DJZBPgpf.js";import{t as o}from"./button-B1kEAcLt.js";import{n as s}from"./QueryClientProvider-BPZM68-A.js";import{t as c}from"./useQuery-BtL9k7Sh.js";import{t as l}from"./useMutation-Cl7cazkm.js";import{t as u}from"./jsx-runtime-COOF1INC.js";import{t as d}from"./typography-SdxpXI_m.js";import{d as f}from"./list-row-BvCm9O6y.js";import{c as p,i as m,n as h,r as g,s as _,t as v,v as y,y as b}from"./use-save-twilio-credentials-Zjhi1c0P.js";import{t as x}from"./check-bDVYejGM.js";import{t as S}from"./link-2-Di62Fo_i.js";import{t as C}from"./loader-circle-DZ65N8bz.js";import{t as w}from"./input-ChbJ2nzd.js";import{t as T}from"./modal-_49mDK_d.js";import{n as E}from"./toast-BKrDuNtu.js";import{i as D}from"./utils-CAI1IDgW.js";import{cn as ee,nn as O,on as k}from"./sdk.gen-BluU0h_N.js";import{$ as A,T as j,l as M,nt as N,rt as te,tt as P,u as F}from"./react-query.gen-C_GLKG7m.js";import{n as I}from"./sdk.gen-BuAyyHNm.js";import{t as L}from"./copy-to-clipboard-Blihejp9.js";import{t as R}from"./a2a-invite-Dcxf1Lse.js";var z=e(a(),1),B=u(),V=[`no_one`,`guardian_only`,`trusted_contacts`,`any_contact`,`strangers`],H=`trusted_contacts`,U=new Set([`platform`,`a2a`]),W=new Set([`vellum`,`whatsapp`,`discord`]);function G(e){return W.has(e)}var K={no_one:`No one`,guardian_only:`Only you`,trusted_contacts:`Verified contacts`,any_contact:`Any contact`,strangers:`Strangers`};function q(e){return{no_one:`No one can message ${e} on this channel: every message is blocked, including yours.`,guardian_only:`Only you can message ${e}. Everyone else is turned away.`,trusted_contacts:`You and the people you’ve verified can message ${e}. Anyone else is asked to verify first, and you’re notified.`,any_contact:`You and any known contact can message ${e}, including contacts you haven’t verified yet. Strangers are asked to verify first.`,strangers:`Anyone can message ${e}, including complete strangers.`}}function J(e){return t=>{E.error(t instanceof Error?t.message:e)}}function Y(e){return typeof e==`string`&&V.includes(e)}function X(e){return U.has(e)}function Z(e){return(e?.policies??[]).filter(e=>!X(e.channelType)&&!G(e.channelType)).map(e=>({...e,policy:Y(e.policy)?e.policy:`trusted_contacts`}))}async function Q(e,i,a,o){if(X(i))throw new t(403,`Channel "${i}" is internal and is not user-configurable.`);let{data:s,error:c,response:l}=await I({path:{assistant_id:e,channel_type:i},body:{policy:a,note:o??null},throwOnError:!1});if(r(l,c,`Failed to save channel policy.`),!l.ok)throw new t(l.status,n(c,l,`Failed to save channel policy.`));if(!s?.policy)throw new t(500,`Gateway returned no policy in response.`);return s.policy}var ne=`0.10.0`;function $(){return D(ne)}function re(e){let t=e-Date.now();if(t<=0)return`Expired`;let n=Math.ceil(t/(1e3*60*60*24));return n===1?`Expires in 1 day`:`Expires in ${n} days`}function ie({open:e,assistantId:t,onClose:n}){let{t:r}=i(),[a,s]=(0,z.useState)(!1),c=(0,z.useRef)(null),u=(0,z.useRef)(!1),p=l({...A({path:{assistant_id:t}})}),m=(0,z.useRef)(p.mutate);(0,z.useLayoutEffect)(()=>{m.current=p.mutate});let h=(0,z.useRef)(p.reset);(0,z.useLayoutEffect)(()=>{h.current=p.reset}),(0,z.useEffect)(()=>{e&&!u.current&&m.current({path:{assistant_id:t}}),u.current=e},[e,t]),(0,z.useEffect)(()=>()=>{c.current&&clearTimeout(c.current)},[]);let g=(0,z.useCallback)(()=>{h.current(),s(!1),c.current&&=(clearTimeout(c.current),null),n()},[n]),_=(0,z.useCallback)(e=>{L(e,{errorMessage:`Couldn't copy the invite link.`,onCopied:()=>{s(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>s(!1),2e3)}})},[]),v=p.isSuccess&&p.data.token?R({senderAssistantId:t,token:p.data.token}):``;return(0,B.jsx)(T.Root,{open:e,onOpenChange:e=>{e||g()},children:(0,B.jsxs)(T.Content,{size:`sm`,children:[(0,B.jsx)(T.Header,{children:(0,B.jsx)(T.Title,{children:r(`generateInviteLinkDialog.title`)})}),(0,B.jsx)(T.Body,{children:p.isPending?(0,B.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,B.jsx)(C,{className:`h-4 w-4 animate-spin`}),r(`generateInviteLinkDialog.creating`)]}):p.isError?(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(`p`,{role:`alert`,className:`!m-0 text-body-medium-lighter`,style:{color:`var(--system-negative-strong)`},children:r(`generateInviteLinkDialog.createFailed`)}),(0,B.jsx)(o,{variant:`outlined`,onClick:()=>p.mutate({path:{assistant_id:t}}),children:r(`generateInviteLinkDialog.tryAgain`)})]}):p.isSuccess?(0,B.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,B.jsx)(d,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:r(`generateInviteLinkDialog.shareHint`)}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(w,{type:`text`,readOnly:!0,value:v,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>_(v),"aria-label":r(`generateInviteLinkDialog.copyAriaLabel`),className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-[var(--border-base)] hover:bg-[var(--surface-hover)]`,children:a?(0,B.jsx)(x,{className:`h-4 w-4`}):(0,B.jsx)(f,{className:`h-4 w-4`})})]}),p.data.expiresAt!=null&&(0,B.jsx)(d,{variant:`body-small-default`,style:{color:`var(--content-tertiary)`},children:re(p.data.expiresAt)})]}):null}),(0,B.jsx)(T.Footer,{children:(0,B.jsx)(o,{variant:`outlined`,onClick:g,children:r(`generateInviteLinkDialog.done`)})})]})})}function ae({onClick:e}){let{t}=i();return(0,B.jsx)(o,{variant:`outlined`,size:`compact`,leftIcon:(0,B.jsx)(S,{className:`h-3.5 w-3.5`}),onClick:e,children:t(`shareConnectionLinkButton.label`)})}function oe(e){let t=s(),n=$(),r=(0,z.useMemo)(()=>({path:{assistant_id:e}}),[e]),i=(0,z.useMemo)(()=>b(r),[r]),a=c({...y(r),enabled:n,select:Z}),o=(0,z.useMemo)(()=>{let e={};for(let t of a.data??[])p(t.channelType)&&(e[t.channelType]=t.policy);return e},[a.data]),u=l({mutationFn:({channelKey:t,policy:n})=>Q(e,t,n),onSuccess:()=>t.invalidateQueries({queryKey:i}),onError:J(`Failed to save channel policy`)}),d=(0,z.useCallback)((e,t)=>{u.mutate({channelKey:e,policy:t})},[u]);return n?{policies:o,savingKey:u.isPending?u.variables?.channelKey??null:null,isLoading:a.isPending,isError:a.isError,onChange:d}:{policies:void 0,savingKey:null,isLoading:!1,isError:!1,onChange:void 0}}var se={slack:`I want to reach you on Slack. Let's set it up.`,telegram:`I want to reach you on Telegram. Let's set it up.`,phone:`I want to be able to call you. Let's set you up with a phone number.`},ce={slack:`Slack is set up but not working. Can you finish it off?`,telegram:`Telegram is set up but not working. Can you finish it off?`,phone:`My phone number is set up but not working. Can you finish it off?`},le=15e3;function ue({assistantId:e,onStartSetupConversation:t}){let n=s(),r=(0,z.useMemo)(()=>({path:{assistant_id:e}}),[e]),i=(0,z.useMemo)(()=>F(r),[r]),a=c({...M(r),enabled:!!e,refetchInterval:le,select:e=>e.snapshots}),o=(0,z.useMemo)(()=>de(a.data??[]),[a.data]),u=o.some(e=>e.key===`slack`&&e.configured),d=c({...P(r),enabled:u,select:e=>e.threadMode}),f=oe(e),p=(0,z.useCallback)(()=>n.invalidateQueries({queryKey:i}),[n,i]),_=l({mutationFn:async t=>{let n={path:{assistant_id:e},throwOnError:!0};t===`slack`?await O(n):t===`telegram`?await k(n):t===`phone`&&await ee(n)},onSettled:(t,r,i)=>{p(),i===`slack`&&m(n,e)}}),y=h({assistantId:e}),b=g({assistantId:e}),x=v({assistantId:e}),S=l({...te(),onSuccess:()=>{n.invalidateQueries({queryKey:N(r)})}}),C=y.mutate,w=(0,z.useCallback)(e=>{C(e)},[C]),T=b.mutate,E=(0,z.useCallback)((e,t)=>{T({botToken:e,appToken:t})},[T]),D=S.mutate,A=(0,z.useCallback)(t=>{D({path:{assistant_id:e},body:{threadMode:t}})},[D,e]),j=x.mutateAsync,I=(0,z.useCallback)(async(e,t)=>{await j({accountSid:e,authToken:t})},[j]),L=(0,z.useCallback)((e,n=!1)=>{t&&t(n?ce[e]:se[e])},[t]),R=_.mutate,B=(0,z.useCallback)(e=>{R(e)},[R]);return{channels:o,pendingChannelKey:_.isPending?_.variables??null:null,slackThreadMode:d.data,slackThreadModePending:S.isPending,channelPolicies:f.policies,policySavingKey:f.savingKey,policiesLoading:f.isLoading,policiesError:f.isError,onChannelPolicyChange:f.onChange,onSetup:t?L:void 0,onDisconnect:B,onSaveTelegramToken:w,telegramSaveStatus:y.status,telegramSaveError:y.error?.message??null,onSaveSlackConfig:E,slackSaveStatus:b.status,slackSaveError:b.error?.message??null,onSlackThreadModeChange:A,onSaveTwilioCredentials:I}}function de(e){let t=new Map;for(let n of e)t.set(n.channel,n);return _.map(e=>{let n=t.get(e);return{key:e,status:fe(n),configured:n?.setupStatus===`ready`,health:n?.health,address:n?.channelHandle??void 0}})}function fe(e){return e?e.ready?`ready`:e.setupStatus===`not_configured`?`not_configured`:`incomplete`:`not_configured`}function pe(e){let t=s(),[n,r]=(0,z.useState)(!1);return{isOpen:n,open:(0,z.useCallback)(()=>{r(!0)},[]),close:(0,z.useCallback)(()=>{r(!1),t.invalidateQueries({queryKey:j({path:{assistant_id:e}})})},[t,e])}}export{$ as a,J as c,K as d,q as f,ie as i,H as l,ue as n,Q as o,ae as r,Z as s,pe as t,V as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,i as t,it as n,n as r,nt as i,tt as a}from"./auth-store-
|
|
1
|
+
import{$ as e,i as t,it as n,n as r,nt as i,tt as a}from"./auth-store-BVjw4Y6z.js";var o=5e3;function s(e,t,n){return!n||e!=null?`ready`:t===`error`?`unavailable`:`resolving`}function c(){return s(i(),a.use.status(),t())}function l(){return s(e(),a.getState().status,n(r.getState().platformSession))}function u(){return c()===`ready`}export{c as i,l as n,u as r,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{k as t,l as n}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{k as t,l as n}from"./i18n-BtV8MCsZ.js";import{t as r}from"./react-DJZBPgpf.js";import{u as i}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as a}from"./is-electron-D45bjFI8.js";import{f as o}from"./native-biometric-DEP8Sr4X.js";import{i as s}from"./navigation-resolver-CRsrd5gh.js";import{t as c}from"./build-state-ChDL0BPH.js";import{n as l,r as u}from"./login-flow-CrSxmLFE.js";import{t as d}from"./external-urls-BE71Yb2T.js";var f=e(r(),1),p=d.replace(/^https?:\/\//,``),m=`authErrors.genericFailure`,h={signup_closed:`authErrors.signupClosed`,provider_signup:`authErrors.providerSignup`,login_incomplete:`authErrors.loginIncomplete`,desktop_update_required:`authErrors.desktopUpdateRequired`};function g(e,t){if(!(typeof e!=`object`||!e||!(t in e)))return e[t]}function _(e){let t=g(e,`code`);return typeof t==`string`?t:void 0}function v(e){return _(e)===`USER_CANCELLED`}function y(e){if(_(e)!==`AUTH_ERROR`)return;let t=g(g(e,`data`),`authError`);return typeof t==`string`&&t!==``?t:void 0}function b(e){let t=y(e);return t===void 0?m:h[t]??`authErrors.genericFailure`}function x(e,r={}){let d=i(),[m,h]=(0,f.useState)(!1),[g,_]=(0,f.useState)(null),v=(0,f.useRef)(0);return{loading:m,error:g,login:async()=>{let i=e===void 0?s(c({sessionSettled:!0,isAuthenticated:!0}),d.pathname):e,a=++v.current;_(null),h(!0);try{await o(l,u(i),{returnTo:i})}catch(e){if(a!==v.current)return;n(e,{context:r.errorContext??`onboarding_login`,tags:{authError:y(e)??`unclassified`}}),_(t(`account:${b(e)}`,{community:p})),h(!1)}},cancel:()=>{v.current++,h(!1),_(null),a()&&window.vellum?.auth?.cancelOAuth()}}}export{b as a,y as i,p as n,v as r,x as t};
|
package/dist/assets/{use-platform-assistant-id-8TlYUj7-.js → use-platform-assistant-id-DwSyMaOn.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{J as n}from"./auth-store-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{J as n}from"./auth-store-BVjw4Y6z.js";var r=e(t(),1);function i(e,t){let[i,a]=(0,r.useState)({platformAssistantId:null,isLoading:!1,error:null});return(0,r.useEffect)(()=>{if(!t||!e){a({platformAssistantId:null,isLoading:!1,error:null});return}let r=!0;return a({platformAssistantId:null,isLoading:!0,error:null}),n(e).then(e=>{r&&a({platformAssistantId:e,isLoading:!1,error:null})}).catch(e=>{r&&a({platformAssistantId:null,isLoading:!1,error:e instanceof Error?e:Error(String(e))})}),()=>{r=!1}},[e,t]),i}export{i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{v as n,x as r}from"./local-mode-BQ8gp0wB.js";import{ht as i,i as a,o}from"./auth-store-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{v as n,x as r}from"./local-mode-BQ8gp0wB.js";import{ht as i,i as a,o}from"./auth-store-BVjw4Y6z.js";var s=e(t(),1);function c(){let e=i.use.assistantState();return!!(e.kind===`self_hosted`||e.kind===`active`&&e.isLocal)}function l(){let e=i.use.assistantState();return e.kind===`active`&&!e.isLocal}function u(){let e=i.use.assistantState();return e.kind===`loading`||e.kind===`initializing`||e.kind===`cleaning_up`}function d(e={}){let t=p(e);return t===`pending`?`disabled`:t}function f(e={}){let t=p(e),n=m(t===`pending`,e.settleTimeoutMs??5e3);return t===`pending`&&n?`disabled`:t}function p(e){let t=a(),i=o(),s=r(),l=c(),u=i?`disabled`:`pending`;return e.platformHostedOnly?l?`gated`:t?`full`:u:n()&&s?`gated`:t?`full`:u}function m(e,t){let[n,r]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!e){r(!1);return}let n=setTimeout(()=>r(!0),t);return()=>{clearTimeout(n)}},[e,t]),n}export{f as a,d as i,c as n,u as r,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{h as r,n as i}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as a}from"./jsx-runtime-COOF1INC.js";import{t as o}from"./loader-circle-DZ65N8bz.js";import{a as s,s as c}from"./auth-store-BVjw4Y6z.js";import{D as l}from"./native-biometric-DEP8Sr4X.js";import{f as u}from"./routes-C6ueuiMd.js";import{a as d}from"./use-platform-gate-s29eeyq-.js";import{t as f}from"./hard-navigate-BVv7q79D.js";import{a as p,o as m}from"./login-flow-CrSxmLFE.js";var h=a();function g(){let{t:e}=t(`account`);return(0,h.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`authWaitSpinner.loading`)})}var _=e(n(),1);function v({to:e}){let t=p(e);return(0,_.useEffect)(()=>{t&&f(e)},[t,e]),t?null:(0,h.jsx)(i,{to:e,replace:!0})}function y(){let[e]=r(),t=s(),n=c(),i=d(),a=e.get(`returnTo`),o=l(a,u.assistant);if(!a)return{kind:`proceed`,returnTo:null};if(n)return{kind:`wait`};if(!t)return{kind:`proceed`,returnTo:o};if(m(o)){if(i===`pending`)return{kind:`wait`};if(i===`disabled`)return{kind:`proceed`,returnTo:o}}return{kind:`redirect`,node:(0,h.jsx)(v,{to:o})}}export{g as n,y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{n as r}from"./QueryClientProvider-BPZM68-A.js";import{t as i}from"./useMutation-Cl7cazkm.js";import{t as a}from"./queryOptions-DGyQTr3e.js";import{t as o}from"./createLucideIcon-CMfEC_aW.js";import{t as s}from"./circle-check-big-CHpJAmSB.js";import{t as c}from"./mail-CqdA6Y_p.js";import{r as l}from"./use-swipe-horizontal-B9YOWcB6.js";import{t as u}from"./message-circle-DBYzIjYB.js";import{t as d}from"./message-square-XpKWNcyv.js";import{t as f}from"./refresh-cw-BDh1a2sj.js";import{t as p}from"./send-1mFY4II3.js";import{t as m}from"./smartphone-P7vq0dcA.js";import{an as h,ln as g,sn as _}from"./sdk.gen-BluU0h_N.js";import{Bt as v,Lt as y,Rt as b,u as x,zt as S}from"./react-query.gen-C_GLKG7m.js";import{E as C,_ as ee,a as te,c as ne,i as re,r as ie,t as ae}from"./sdk.gen-BuAyyHNm.js";import{t as w}from"./discord-logo-sC02ywjh.js";var T=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),E=o(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),D=o(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),O=o(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),k=(e,t,n,r)=>{let i={_id:e,baseUrl:t?.baseUrl||(t?.client??C).getConfig().baseUrl};return n&&(i._infinite=n),r&&(i.tags=r),t?.body&&(i.body=t.body),t?.headers&&(i.headers=t.headers),t?.path&&(i.path=t.path),t?.query&&(i.query=t.query),[i]},A=e=>k(`assistantChannelAdmissionPolicyList`,e),j=e=>a({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ae({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:A(e)}),M=e=>k(`assistantChannelIngressList`,e),N=e=>a({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await re({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:M(e)}),P=e=>({mutationFn:async t=>{let{data:n}=await ie({...e,...t,throwOnError:!0});return n}}),F=e=>({mutationFn:async t=>{let{data:n}=await te({...e,...t,throwOnError:!0});return n}}),I=e=>k(`assistantChannelPermissionOverridesList`,e),L=e=>a({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ne({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:I(e)}),R=e=>k(`assistantFeatureFlagsGet`,e),z=e=>a({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ee({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:R(e)});function B(e){return e?.trim()||`your assistant`}var V=e(n(),1),H=[`slack`,`telegram`,`discord`,`whatsapp`,`phone`,`email`,`a2a`];function U(e){return H.includes(e)}var oe={slack:`Slack`,telegram:`Telegram`,discord:`Discord`,whatsapp:`WhatsApp`,phone:`Phone`,email:`Email`,a2a:`Assistant`},W={slack:D,discord:D,telegram:p,whatsapp:u,phone:O,email:c,a2a:T},G={ok:{icon:s,labelKey:`connectionCard.connected`,tone:`positive`},failing:{icon:f,labelKey:`connectionCard.reconnecting`,tone:`warning`},unknown:{icon:E,labelKey:`connectionCard.statusUnavailable`,tone:`neutral`}};function K(e){let{t:n}=t(`channels`),{icon:r,labelKey:i,tone:a}=G[e??`ok`];return{Icon:r,label:n(i),tone:a}}function q(e){return e?U(e)?oe[e]:e.charAt(0).toUpperCase()+e.slice(1):`channel`}function se(e){return`Open in ${q(e)}`}function J(e){return e&&U(e)?W[e]:d}function ce({channelId:e,className:t}){return(0,V.createElement)(J(e),{className:t,"aria-hidden":!0})}var le={bot:T,hash:D,mail:c,"message-circle":u,"message-square":d,phone:O,send:p,smartphone:m,video:l},ue={discord:w};function de(e){return e&&U(e)?ue[e]:void 0}function fe({icon:e,className:t}){return(0,V.createElement)(e&&le[e]||d,{className:t,"aria-hidden":!0})}var Y=[`slack`,`telegram`,`phone`];function pe(e){return Y.includes(e)}var me=`plugins-`;function he(e){return`${me}${e}`}function X(e){return{path:{assistant_id:e},query:{memberOnly:`true`}}}function Z(e){return y(X(e))}function ge(e){return b(X(e))}var _e=600*1e3;function Q(e){return{path:{assistant_id:e}}}function ve(e){return{...S(Q(e)),staleTime:_e}}function ye(e){return v(Q(e))}function $(e,t){e.removeQueries({queryKey:ge(t)}),e.removeQueries({queryKey:ye(t)})}function be({assistantId:e,onSuccess:t}){let n=r(),a=(0,V.useMemo)(()=>x({path:{assistant_id:e}}),[e]);return i({mutationFn:({botToken:t,appToken:n})=>{if(!n.trim())throw Error(`App token is required. Copy the xapp- token from Slack's install screen.`);if(!t.trim())throw Error(`Bot token is required.`);return h({path:{assistant_id:e},body:{botToken:t.trim(),appToken:n.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{n.invalidateQueries({queryKey:a}),$(n,e)}})}function xe({assistantId:e,onSuccess:t}){let n=r(),a=(0,V.useMemo)(()=>x({path:{assistant_id:e}}),[e]);return i({mutationFn:t=>{if(!t.trim())throw Error(`Bot token is required.`);return _({path:{assistant_id:e},body:{botToken:t.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{n.invalidateQueries({queryKey:a})}})}function Se({assistantId:e,onSuccess:t}){let n=r(),a=(0,V.useMemo)(()=>x({path:{assistant_id:e}}),[e]);return i({mutationFn:({accountSid:t,authToken:n})=>{if(!t.trim())throw Error(`Account SID is required.`);if(!n.trim())throw Error(`Auth Token is required.`);return g({path:{assistant_id:e},body:{accountSid:t.trim(),authToken:n.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{n.invalidateQueries({queryKey:a})}})}export{E as A,F as C,R as D,z as E,O,M as S,I as T,B as _,ve as a,P as b,pe as c,fe as d,de as f,K as g,se as h,$ as i,T as j,D as k,he as l,q as m,xe as n,Z as o,J as p,be as r,Y as s,Se as t,ce as u,j as v,L as w,N as x,A as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-B1kEAcLt.js";import{t as i}from"./jsx-runtime-COOF1INC.js";import{i as a,t as o}from"./use-swipe-horizontal-B9YOWcB6.js";import{t as s}from"./x-nhRPd-Mz.js";import"./src-BKET5Cno.js";import{t as c}from"./use-body-scroll-lock-8ObBdX00.js";import{n as l,t as u}from"./use-element-size-CVF6o81H.js";var d=e(n(),1),f=i(),p=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function m({open:e,onClose:n,children:i,title:a}){let{t:l}=t(),u=(0,d.useRef)(null),m=(0,d.useRef)(null),h=(0,d.useRef)(n);(0,d.useEffect)(()=>{h.current=n});let{dragOffset:g,isDragging:_,onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x}=o({enabled:e,onSwipeLeft:n});return c(e),(0,d.useEffect)(()=>{if(!e)return;m.current?.focus();let t=e=>{if(e.key===`Escape`&&!e.defaultPrevented){e.preventDefault(),h.current();return}if(e.key!==`Tab`||!u.current)return;let t=u.current.querySelectorAll(p),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=u.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e]),e?(0,f.jsxs)(`div`,{ref:u,className:`fixed inset-0`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":a,children:[(0,f.jsx)(`button`,{type:`button`,"aria-label":l(`sideListDrawer.closeSidebarAria`),className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:n}),(0,f.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,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))`,transform:`translateX(${g}px)`,transition:_?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x,children:[(0,f.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,f.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:a}),(0,f.jsx)(r,{ref:m,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,f.jsx)(s,{"aria-hidden":!0}),onClick:n,"aria-label":l(`sideListDrawer.closeAria`),tintColor:`var(--content-tertiary)`})]}),(0,f.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:i})]})]}):null}function h({onClick:e}){let{t:n}=t();return(0,f.jsx)(r,{type:`button`,variant:`ghost`,iconOnly:(0,f.jsx)(a,{"aria-hidden":!0}),onClick:e,"aria-label":n(`sideListDrawer.openSidebarAria`),tintColor:`var(--content-secondary)`})}var g=640;function _(){let{ref:e,size:t}=u(),n=t.w<=0,r=l(n),i=(n?r.w:t.w)>=g,[a,o]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{i&&o(!1)},[i]),{paneRef:e,hasRoomForList:i,drawerOpen:a,openDrawer:(0,d.useCallback)(()=>o(!0),[]),closeDrawer:(0,d.useCallback)(()=>o(!1),[])}}export{m as n,h as r,_ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{f as t,h as n,k as r,p as i,v as a}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{f as t,h as n,k as r,p as i,v as a}from"./i18n-BtV8MCsZ.js";import{t as o}from"./react-DJZBPgpf.js";import{n as s}from"./QueryClientProvider-BPZM68-A.js";import{t as c}from"./useMutation-Cl7cazkm.js";import{t as l}from"./jsx-runtime-COOF1INC.js";import{t as u}from"./card-B4b9cF6X.js";import{t as d}from"./createLucideIcon-CMfEC_aW.js";import{t as f}from"./brain-lgsb4JhV.js";import{t as p}from"./globe-DJ3y3hQh.js";import{t as m}from"./puzzle-PqInNnOi.js";import{t as h}from"./terminal-Bw8gHw-v.js";import{t as g}from"./user-DqmJs6-I.js";import"./src-BKET5Cno.js";import{t as _}from"./tag-DAsImP7W.js";import{Tr as v}from"./sdk.gen-BluU0h_N.js";import{xn as y}from"./react-query.gen-C_GLKG7m.js";import{t as b}from"./skills-DASSBxT-.js";var x=d(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),S=e(o(),1),C=l(),w={vellum:x,clawhub:p,skillssh:h,custom:g,"assistant-memory":f};function T(e,t){switch(e){case`vellum`:return`Vellum`;case`clawhub`:return`Clawhub`;case`skillssh`:return`skills.sh`;case`custom`:return t(`skillOriginBadge.custom`);case`assistant-memory`:return t(`skillOriginBadge.assistantMemory`)}}function E({origin:e}){let{t}=a(`intelligence`),n=e in w?{label:T(e,t),icon:w[e]}:{label:e.replace(/-/g,` `),icon:m};return(0,C.jsx)(_,{tone:`neutral`,leftIcon:(0,S.createElement)(n.icon),className:`capitalize`,children:n.label})}function D(e){return e.kind===`installed`||e.kind===`bundled`}function O(e){return e.kind===`catalog`}function k({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,C.jsx)(u.Root,{children:(0,C.jsxs)(u.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,C.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,C.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,C.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}async function A(e,a,o){let{data:s,error:c,response:l}=await v({path:{assistant_id:e},body:o?{slug:a,version:o}:{slug:a},throwOnError:!1}),u=r(`installSkill.failureMessage`,{ns:`intelligence`});if(i(l,c,u),!l.ok)throw new t(l.status,n(c,l,u));return s??{ok:!0}}function j(e,{onRemoved:t}={}){let n=s(),[r,i]=(0,S.useState)(null),[a,o]=(0,S.useState)(null),[l,u]=(0,S.useState)(null),d=(0,S.useCallback)(()=>{b(n,e)},[e,n]),f=c({mutationFn:t=>A(e,t),onMutate:e=>i(e),onSettled:()=>{i(null),d()}}),p=y({onMutate:e=>o(e.path.id),onSuccess:()=>{t?.()},onSettled:()=>{o(null),d()}}),m=(0,S.useCallback)(e=>{f.mutate(e.slug??e.id)},[f]),h=(0,S.useCallback)(e=>{u(e)},[]),g=(0,S.useCallback)(()=>{l&&(p.mutate({path:{assistant_id:e,id:l.id}}),u(null))},[e,l,p]),_=(0,S.useCallback)(()=>{u(null)},[]);return{handleInstall:m,handleRemove:h,isInstallingSkill:(0,S.useCallback)(e=>r===(e.slug??e.id),[r]),isRemovingSkill:(0,S.useCallback)(e=>a===e.id,[a]),skillPendingRemoval:l,confirmRemove:g,cancelRemove:_}}export{E as a,D as i,k as n,x as o,O as r,j as t};
|
package/dist/assets/{use-skill-detail-files-CBPqC-XL.js → use-skill-detail-files-B_E6xY9x.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as i}from"./useQuery-BtL9k7Sh.js";import{t as a}from"./jsx-runtime-COOF1INC.js";import{t as o}from"./arrow-right-De7tYwD7.js";import{f as s}from"./routes-C6ueuiMd.js";import{At as c,jt as l}from"./react-query.gen-C_GLKG7m.js";import{t as u}from"./misc-dA4Wklt2.js";var d=a();function f({skill:e,className:n,onNavigate:i}){let{t:a}=t();return e.origin!==`assistant-memory`||!e.sourceConversationId?null:(0,d.jsxs)(r,{to:s.conversation(e.sourceConversationId),onClick:i,className:u(`inline-flex w-fit items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] hover:underline`,n),children:[a(`skillLineageLink.label`),(0,d.jsx)(o,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0})]})}var p=e(n(),1);function m(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function h(e,t){let[n,r]=(0,p.useState)(null),a=i({...l({path:{assistant_id:e??``,id:t}}),select:e=>e??null,enabled:!!e}),o=(0,p.useMemo)(()=>a.data?.files??[],[a.data]),s=(0,p.useMemo)(()=>o.find(e=>e.name===`SKILL.md`),[o]),u=m(o,n),d=i({...c({path:{assistant_id:e??``,id:t},query:{path:u??``}}),select:e=>e??null,enabled:!!(e&&u)});return{fileEntries:o,skillMd:s,selectedPath:n,setSelectedPath:r,activePath:u,activeFile:o.find(e=>e.path===u),isFilesLoading:a.isLoading,isFilesPending:a.isPending,fileContent:d.data?.content??null,isBinary:!!d.data?.isBinary,isContentLoading:d.isLoading,isContentPending:d.isPending}}export{f as n,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{d as t,k as n,m as r,v as i}from"./i18n-BDfnKs41.js";import{t as a}from"./react-DJZBPgpf.js";import{G as o,t as s}from"./button-B1kEAcLt.js";import{n as c}from"./QueryClientProvider-BPZM68-A.js";import{t as l}from"./useQuery-BtL9k7Sh.js";import{t as u}from"./jsx-runtime-COOF1INC.js";import{t as d}from"./cn-naJKasky.js";import{t as f}from"./typography-SdxpXI_m.js";import{o as p}from"./list-row-BvCm9O6y.js";import{t as m}from"./chevron-down-D437oaYt.js";import{t as h}from"./chevron-right-D5lPX854.js";import{t as g}from"./loader-circle-DZ65N8bz.js";import{R as _}from"./src-BKET5Cno.js";import{n as v,t as y}from"./input-ChbJ2nzd.js";import{t as b}from"./toggle-CdhdS_iC.js";import{t as x}from"./modal-_49mDK_d.js";import{n as S}from"./toast-BKrDuNtu.js";import{t as C}from"./select-DmdFZj4l.js";import{y as w}from"./api-BUuIGDig.js";import{t as T}from"./assistant-identity-store-DBkGjqzV.js";import{t as E}from"./is-electron-D45bjFI8.js";import{t as D}from"./Trans-v2rRKTPL.js";import{c as ee,n as O,o as k,r as A,s as j,t as M}from"./llm-model-catalog-Bk0q_XG4.js";import{F as N,I as P,M as F,N as I,P as L,d as R,j as z,k as B,s as V,u as te}from"./profile-pickers-D8XVv50L.js";import{n as ne,o as H}from"./utils-CAI1IDgW.js";import{$t as re,Kt as ie,Qt as ae,_r as oe,gr as se,qt as ce}from"./sdk.gen-BluU0h_N.js";import{n as U}from"./use-platform-gate-PHzS1_gQ.js";import{r as le}from"./use-is-org-ready-TE5xIhFU.js";import{Ot as ue,Q as de,d as fe,kt as pe}from"./react-query.gen-C_GLKG7m.js";import{r as W,t as me}from"./audio-context-YNIG4zMo.js";var G=e(a(),1),he={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,topP:!1,thinking:!1,thinkingLevel:!1};function ge(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function K(e){return e.startsWith(`anthropic/`)}function q(e,t){let n=t.toLowerCase();return j(e).find(e=>e.id.toLowerCase()===n)}function _e(e,t){return q(e,t)?.adaptiveThinkingOnly===!0}function ve(e){return K(e)||e.startsWith(`x-ai/grok-4`)||e.startsWith(`deepseek/deepseek-r1`)||e===`qwen/qwen3.5-plus-02-15`||e===`qwen/qwen3.5-397b-a17b`||e===`moonshotai/kimi-k2.6`}var J=[`minimal`,`low`,`medium`,`high`],Y=[`low`,`medium`,`high`];function ye(e){return/^gemini-3.*pro/.test(e)}var be=new Set(J);function xe(e){return typeof e==`string`&&be.has(e)}function Se(e){return ye(e.toLowerCase())?Y:J}function Ce(e,t){let n=q(e,t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?ve(t):e===`vercel-ai-gateway`?K(t):!1:n.supportsThinking}function X(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?ge(t):e===`openrouter`||e===`vercel-ai-gateway`?K(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`||e===`together`||e===`baseten`?n:!1}var Z=new Set([`openai-compatible`,`fireworks`,`minimax`,`atlascloud`,`baseten`,`ollama`,`openrouter`,`together`,`vercel-ai-gateway`]);function Q(e,t){return t||Z.has(e)}function we(e,t){if(!e||!t)return he;let n=e.toLowerCase(),r=n===`chatgpt`?`openai`:n,i=t.toLowerCase(),a=r===`anthropic`||(r===`openrouter`||r===`vercel-ai-gateway`)&&K(i),o=Ce(r,i);return{maxTokens:!0,contextWindow:!0,effort:X(r,i,o),speed:r===`anthropic`&&i.includes(`opus`),verbosity:r===`openai`&&ge(i),temperature:a,topP:Q(r,a),thinking:(r===`anthropic`||r===`openrouter`||r===`vercel-ai-gateway`&&K(i))&&o&&!_e(r,i),thinkingLevel:r===`gemini`&&o}}var $=u(),Te=[`inherit`,`none`,`low`,`medium`,`high`,`xhigh`,`max`],Ee=[`standard`,`fast`],De=[`low`,`medium`,`high`],Oe=`default`,ke=64e3;function Ae({label:e,value:t,onChange:n,defaultValue:r,max:a,disabled:o}){let{t:c}=i(`settings`),l=t===null,u=t??r,[d,f]=(0,G.useState)(l?``:String(t)),[p,m]=(0,G.useState)(t);t!==p&&(m(t),f(t===null?``:String(t)));function h(e){f(e);let t=e.trim();if(t===``){n(null);return}let r=Number(t);Number.isFinite(r)&&r>=1e3&&r<=a&&n(r)}function g(e){let r=e.trim();if(r===``){n(null);return}let i=Number(r);if(!Number.isFinite(i)){f(t===null?``:String(t));return}let o=te(i,a);f(String(o)),n(o)}return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e}),l?(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`profileAdvancedParams.defaultValueLabel`,{value:R(r)})}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(_,{value:u,onValueChange:e=>n(typeof e==`number`?e:e[0]),min:L,max:a,step:N,disabled:o,"aria-label":e})}),(0,$.jsx)(y,{type:`number`,inputMode:`numeric`,value:d,placeholder:String(r),onChange:e=>h(e.target.value),onBlur:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&g(e.currentTarget.value)},min:L,max:a,step:N,disabled:o,"aria-label":c(`profileAdvancedParams.tokensAriaLabel`,{label:e}),wrapperClassName:`w-32 shrink-0`,className:`text-right tabular-nums`}),(0,$.jsx)(s,{variant:`ghost`,size:`compact`,onClick:()=>n(null),disabled:o||l,children:c(`profileAdvancedParams.reset`)})]})]})}function je({visibility:e,isReadOnly:t,model:n,selectedModel:r,defaultMaxOutputTokens:a,defaultContextWindowMaxInputTokens:o,maxTokens:s,onMaxTokensChange:c,contextWindowMaxInputTokens:l,onContextWindowChange:u,effort:d,onEffortChange:f,speed:m,onSpeedChange:h,verbosity:g,onVerbosityChange:v,temperatureEnabled:y,onTemperatureEnabledChange:x,temperature:S,onTemperatureChange:C,topPEnabled:w,onTopPEnabledChange:T,topP:E,onTopPChange:D,thinkingEnabled:ee,onThinkingEnabledChange:O,thinkingStreamThinking:k,onThinkingStreamThinkingChange:A,thinkingLevel:j,onThinkingLevelChange:M}){let{t:N}=i(`settings`),P=V(),F=r?.maxOutputTokens??ke,I=r?.contextWindowTokens??2e5,L=Math.min(a??ke,F),R=Math.min(o??2e5,I);return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!t&&P&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.snapshotsHint`)}),e.maxTokens&&(0,$.jsx)(Ae,{label:N(`profileAdvancedParams.maxOutputTokensLabel`),value:s,onChange:c,defaultValue:L,max:F,disabled:t}),e.contextWindow&&(0,$.jsx)(Ae,{label:N(`profileAdvancedParams.contextWindowLabel`),value:l,onChange:u,defaultValue:R,max:I,disabled:t||!r}),e.effort&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.effortLabel`)}),(0,$.jsx)(p,{items:Te.map(e=>({value:e,label:e===`inherit`?N(`profileAdvancedParams.effortSegmentDefault`):e,disabled:t})),value:d,onChange:e=>f(e),ariaLabel:N(`profileAdvancedParams.effortLabel`)})]}),e.speed&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.speedLabel`)}),(0,$.jsx)(p,{items:Ee.map(e=>({value:e,label:e,disabled:t})),value:m,onChange:e=>h(e),ariaLabel:N(`profileAdvancedParams.speedLabel`)})]}),e.verbosity&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.verbosityLabel`)}),(0,$.jsx)(p,{items:De.map(e=>({value:e,label:e,disabled:t})),value:g,onChange:e=>v(e),ariaLabel:N(`profileAdvancedParams.verbosityLabel`)})]}),e.temperature&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(b,{checked:y,onChange:e=>x(e),label:N(`profileAdvancedParams.temperatureLabel`),disabled:t}),y&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(_,{value:S,onValueChange:e=>C(typeof e==`number`?e:e[0]),min:0,max:2,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.topP&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(b,{checked:w,onChange:e=>T(e),label:N(`profileAdvancedParams.topPLabel`),disabled:t}),w&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(_,{value:E,onValueChange:e=>D(typeof e==`number`?e:e[0]),min:0,max:1,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.thinking&&(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(b,{checked:ee,onChange:e=>{O(e),e||A(!1)},label:N(`profileAdvancedParams.enableExtendedThinkingLabel`),disabled:t}),ee&&(0,$.jsx)(`div`,{className:`pl-4`,children:(0,$.jsx)(b,{checked:k,onChange:e=>A(e),label:N(`profileAdvancedParams.streamThinkingTokensLabel`),disabled:t})})]}),e.thinkingLevel&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[N(`profileAdvancedParams.thinkingLevelLabel`),` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:N(`profileAdvancedParams.thinkingLevelInheritHint`)})]}),(0,$.jsx)(p,{items:[`default`,...Se(n)].map(e=>({value:e,label:`${e}`,disabled:t})),value:j,onChange:M,ariaLabel:N(`profileAdvancedParams.thinkingLevelLabel`)})]})]})}function Me(e){return j(e).filter(e=>M.has(e.id))}function Ne(e,t,n){return!e||j(e).length===0?!1:(t?n.find(e=>e.name===t):void 0)?.auth.type===`oauth_subscription`?!0:!t&&n.length>0&&n.every(e=>e.auth.type===`oauth_subscription`)}var Pe=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`,`openai-compatible`];function Fe(e){return e===`ollama`?`none`:`api_key`}function Ie(e){return e===`openai-compatible`||e===`ollama`}function Le(e){let t=e.split(`/`);return t.length<3||t[0]!==`credential`?null:{service:t[1],field:t.slice(2).join(`/`)}}function Re(e){switch(e){case 409:return`A provider with these settings already exists.`;case 404:return`Provider not found. It may have been removed.`;case 400:return`Invalid configuration. Check the provider settings.`;default:return`Failed to save provider. Please try again.`}}function ze(e,t){if(e!==400)return;let n=t?.error?.message;return typeof n==`string`&&n.length>0?n:void 0}function Be(e,t){let n=e.endpoint_check;if(!n||n.ok)return;let r=n.status===404?`providerEndpointCheck.notFound`:n.status===401||n.status===403?`providerEndpointCheck.unauthorized`:n.status===void 0?`providerEndpointCheck.unreachable`:`providerEndpointCheck.httpError`;S.warning(t(r,{status:n.status}))}function Ve(e){return e.label?e.label:e.auth.type===`oauth_subscription`?A.chatgpt:A[e.provider]??e.provider}var He=new Set([`ollama`]);function Ue(e,t){return e===t?!0:e===`vellum`&&F.has(t)}function We(e,t){return!He.has(e)||t}function Ge(e){return z.filter(t=>We(t,e))}function Ke(e){return Pe.filter(t=>We(t,e))}function qe(e){return Object.keys(O).filter(t=>We(t,e))}function Je(){return Ge(U())}function Ye(){return Ke(U())}function Xe(){return qe(U())}function Ze(e,t){let n=[...new Set(e.map(e=>e.provider))].filter(e=>We(e,t)),r=[];return n.includes(`vellum`)&&r.push(P),n.includes(`chatgpt`)&&r.push(B),r.push(...Pe.filter(e=>n.includes(e)),...n.filter(e=>e!==`vellum`&&e!==`chatgpt`&&!Pe.includes(e))),r}function Qe(e,t){let n=new Set(e.map(e=>e.provider));return Ke(t).filter(e=>e!==`openai-compatible`&&!n.has(e))}var $e=`::`;function et(e,t){return`${e}${$e}${t}`}function tt(e){let t=e.indexOf($e);return t<=0?null:{provider:e.slice(0,t),connectionName:e.slice(t+2)}}var nt=new Set([P,B]);function rt(e){let t=new Map;for(let n of e)nt.has(n.provider)||n.provider===`openai-compatible`||t.set(n.provider,(t.get(n.provider)??0)+1);return new Set([...t.entries()].filter(([,e])=>e>=2).map(([e])=>e))}function it(e,t,n,r=`Default`){let i=rt(t),a=[];for(let o of e){if(o===`vellum`){a.push({value:o,label:n(o),meta:`Managed`});continue}if(o===`openai-compatible`){for(let e of t)e.provider===`openai-compatible`&&a.push({value:et(o,e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:`Custom`});continue}if(!i.has(o)){a.push({value:o,label:n(o)});continue}a.push({value:o,label:n(o),meta:r});for(let e of t)e.provider===o&&a.push({value:et(o,e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:n(o)})}return a}function at(e){return(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}))}var ot=`__custom-model-id__`;function st({text:e}){return(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e})}function ct({provider:e,model:t,providerConnection:n,onProviderChange:r,onModelChange:a,onConnectionChange:o,connections:c,isReadOnly:l,availableConnectionsForProvider:u,connectionNotFound:d,hideProviderField:p=!1,providerError:m=null}){let h=e.length>0&&t.length===0,{t:g}=i(`settings`),[_,v]=(0,G.useState)(!1),b=Ne(e,n,u),x=e!==``&&e!==`chatgpt`&&!b;(0,G.useEffect)(()=>{x||v(!1)},[e,x]);function S(e){if(e===ot){v(!0),a(``);return}a(e)}let w=Xe(),T=U(),E=(0,G.useMemo)(()=>{let t=Ze(c??[],T);return e&&!t.includes(e)?[...t,e]:t},[c,e,T]),D=c===void 0?w:E,ee=D.length===0&&!l,O=e===`openai`&&!l&&u.length===0&&(c??[]).some(e=>e.provider===`chatgpt`||e.auth.type===`oauth_subscription`)?g(`profileEditor.subscriptionSteeringHint`):void 0,k=(0,G.useMemo)(()=>{if(!e)return[];let t=j(e);if(t.length>0)return Ne(e,n,u)?Me(e):t;if(n){let e=u.find(e=>e.name===n);return e?at(e.models):[]}let r=new Set,i=[];for(let e of u)for(let t of e.models??[])r.has(t.id)||(r.add(t.id),i.push({id:t.id,displayName:t.displayName??t.id}));return i},[e,n,u]),M=(0,G.useMemo)(()=>{if(!t||k.some(e=>e.id===t))return k;let n=j(e).find(e=>e.id===t),r=u.flatMap(e=>e.models??[]).find(e=>e.id===t),i=n?.displayName??r?.displayName??t;return[...k,{id:t,displayName:i}]},[t,k,e,u]),N=e?k.length===0?e===`openai-compatible`?`configure-connection`:`unknown-to-catalog`:null:`no-provider`,P=(0,G.useMemo)(()=>{switch(N){case`no-provider`:return{placeholder:g(`profileEditorProviderSection.modelEmptyNoProviderPlaceholder`),hint:null};case`configure-connection`:return{placeholder:g(`profileEditorProviderSection.modelEmptyConfigureConnectionPlaceholder`),hint:g(`profileEditorProviderSection.modelEmptyConfigureConnectionHint`)};case`unknown-to-catalog`:return{placeholder:g(`profileEditorProviderSection.modelEmptyUnknownPlaceholder`),hint:g(`profileEditorProviderSection.modelEmptyUnknownHint`)};default:return null}},[N,g]);(0,G.useEffect)(()=>{if(!e||_)return;let n=j(e);n.length!==0&&n.some(e=>e.id===t)&&t&&k.length>0&&!k.some(e=>e.id===t)&&a(``)},[t,k,a,e,_]);let F=g(`aiProviderPicker.defaultEntryMeta`),L=(0,G.useMemo)(()=>{let t=it(D,c??[],e=>A[e]??e,F).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(st,{text:n}):void 0}));return d&&e===`openai-compatible`&&n&&t.push({value:et(I,n),label:`${n} ${g(`profileEditorProviderSection.providerNotFoundSuffix`)}`,suffix:void 0}),e===`openai-compatible`&&!n&&t.push({value:I,label:A[`openai-compatible`]??`openai-compatible`,suffix:void 0}),t},[D,c,d,e,n,F,g]),R=e&&n?et(e,n):null,z=(()=>{if(!n)return null;let e=c?.find(e=>e.name===n);return e&&(e.provider===`vellum`||e.provider===`chatgpt`)?e.provider:null})(),B=e=>L.some(t=>t.value===e),V=R!==null&&B(R)?R:z!==null&&B(z)?z:e;return(0,$.jsxs)($.Fragment,{children:[!p&&(0,$.jsx)(C,{id:`profile-editor-provider`,label:g(`profileEditorProviderSection.providerLabel`),errorText:m&&ee?g(`profileEditorProviderSection.noProviderConnectionsHint`):m,helperText:ee&&!m?g(`profileEditorProviderSection.noProviderConnectionsHint`):O,value:V,onChange:t=>{let n=tt(t);if(n){r(n.provider),o(n.connectionName);return}r(t),t===e&&o(``)},disabled:l,placeholder:g(`profileEditorProviderSection.selectProviderPlaceholder`),options:L}),d&&!l&&(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:g(`profileEditorProviderSection.connectionNotFound`)}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:g(`profileEditorProviderSection.modelLabel`)}),_?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(y,{value:t,onChange:e=>a(e.target.value),disabled:l,placeholder:g(`profileEditorProviderSection.customModelPlaceholder`),"aria-label":g(`profileEditorProviderSection.customModelAriaLabel`),fullWidth:!0,autoFocus:!0}),(0,$.jsx)(s,{variant:`link`,size:`compact`,disabled:l,onClick:()=>v(!1),children:g(`profileEditorProviderSection.chooseFromList`)})]}):(0,$.jsx)(C,{value:t,onChange:S,disabled:l||!e,"aria-label":g(`profileEditorProviderSection.modelAriaLabel`),placeholder:P?.placeholder??g(`profileEditorProviderSection.selectModelPlaceholder`),options:[...M.map(e=>({value:e.id,label:e.displayName})),...x?[{value:ot,label:g(`profileEditorProviderSection.enterCustomModelIdOption`)}]:[]]}),_?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:g(`profileEditorProviderSection.enterCustomModelIdHint`)}):h&&!l?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:P?.hint??g(`profileEditorProviderSection.selectModelError`)}):null]})]})}var lt=e(o(),1);function ut(e,t,n){return[`credentialPresence`,e,t,n]}function dt({assistantId:e,credentialKind:n,credentialName:r,enabled:i=!0}){let a=le(),o=l({queryKey:ut(e??``,n,r),queryFn:async()=>{let{data:t}=await oe({path:{assistant_id:e},body:{type:n,name:r},throwOnError:!0});return t.found},enabled:!!e&&i&&a,retry:t,staleTime:3e4});return{hasStoredCredential:o.data??!1,isLoading:o.isLoading}}function ft({assistantId:e,onConnected:t}){let{t:r}=i(`settings`),[a,o]=(0,G.useState)(`idle`),[c,l]=(0,G.useState)(``),[u,d]=(0,G.useState)(null);async function p(){o(`starting`),d(null);let t=window.open(`about:blank`,`_blank`);try{let{data:{authorize_url:n}}=await ce({path:{assistant_id:e},throwOnError:!0});t?(t.opener=null,t.location.href=n):window.open(n,`_blank`,`noopener`),o(`paste_url`)}catch{t?.close(),o(`failed`),d(n(`settings:chatgptOauthSection.startFailed`))}}async function m(){d(null);let r=c.trim();if(!r){d(n(`settings:chatgptOauthSection.pasteUrlError`));return}let i;try{i=new URL(r)}catch{d(n(`settings:chatgptOauthSection.invalidUrl`));return}let a=i.searchParams.get(`code`),s=i.searchParams.get(`state`);if(!a){d(n(`settings:chatgptOauthSection.missingCode`));return}if(!s){d(n(`settings:chatgptOauthSection.missingState`));return}o(`exchanging`);try{await ie({path:{assistant_id:e},body:{code:a,state:s},throwOnError:!0}),o(`completed`);let{data:n}=await ae({path:{assistant_id:e},throwOnError:!0});t(n.connections.find(e=>e.name===`chatgpt-subscription`||e.name===`openai-chatgpt`)||{name:`chatgpt-subscription`,provider:`chatgpt`,auth:{type:`oauth_subscription`,credential:`credential/openai/chatgpt-subscription`},label:`ChatGPT Subscription`,createdAt:Date.now(),updatedAt:Date.now(),baseUrl:null,models:null,isManaged:!1})}catch{o(`failed`),d(n(`settings:chatgptOauthSection.completeFailed`))}}function h(){o(`idle`),l(``),d(null)}return(0,$.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] p-4`,children:[(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:r(`chatgptOauthSection.intro`)}),a===`idle`||a===`paste_url`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:a===`paste_url`?`text-[var(--content-tertiary)] line-through`:`text-[var(--content-secondary)]`,children:r(a===`idle`?`chatgptOauthSection.step1Idle`:`chatgptOauthSection.step1PasteUrl`)}),(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:r(`chatgptOauthSection.step2`)}),(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:r(`chatgptOauthSection.step3`)})]}),a===`idle`?(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>void p(),children:r(`chatgptOauthSection.signInButton`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(y,{value:c,onChange:e=>{l(e.target.value),d(null)},placeholder:r(`chatgptOauthSection.urlPlaceholder`),fullWidth:!0}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(s,{variant:`primary`,size:`compact`,disabled:!c.trim(),onClick:()=>void m(),children:r(`chatgptOauthSection.completeSignIn`)})})]})]}):null,a===`starting`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:r(`chatgptOauthSection.startingSignIn`)})]}):null,a===`exchanging`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:r(`chatgptOauthSection.completingSignIn`)})]}):null,a===`completed`?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:r(`chatgptOauthSection.connected`)}):null,u?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:u}):null,a===`failed`?(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:h,children:r(`chatgptOauthSection.tryAgain`)}):null]})}var pt=new Set(Object.entries(A).flatMap(([e,t])=>[e.toLowerCase(),t.toLowerCase()])),mt={reserved:`That name belongs to a built-in provider. Pick another.`,duplicate:`A custom provider with this name already exists.`};function ht(e,t,n){let r=e.trim().toLowerCase();return r?pt.has(r)?`reserved`:(t??[]).some(e=>e.provider===`openai-compatible`&&e.name!==n&&(e.label?.trim()||e.name).toLowerCase()===r)?`duplicate`:null:null}function gt(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}function _t(e){return gt(e)}function vt(e,t){let n=new Set(t.map(e=>e.toLowerCase()));if(!n.has(e.toLowerCase()))return e;let r=2,i=`${e}-${r}`;for(;n.has(i.toLowerCase());)r+=1,i=`${e}-${r}`;return i}function yt(e,t){return{name:A[e]??e,key:vt(`${_t(e)}-personal`,t)}}function bt(e,t){return{name:e,key:vt(_t(e),t)}}function xt({apiKeyValue:e,onApiKeyChange:t,credential:n,onCredentialChange:r,isLoadingCredential:a,apiKeyPlaceholder:o,provider:c,providerCredentials:l,showAdvancedSection:u,onError:d}){let{t:p}=i(`settings`),[m,_]=(0,G.useState)(!1),[v,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(``);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.apiKeyLabel`)}),a?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.loading`)})]}):(0,$.jsx)(y,{type:`password`,value:e,onChange:e=>{t(e.target.value),d(null)},placeholder:o,fullWidth:!0})]}),u&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":m,onClick:()=>_(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(h,{className:`h-4 w-4 transition-transform ${m?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:p(`providerEditorApiKeySection.advanced`)}),(0,$.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:p(`providerEditorApiKeySection.credentialReferenceSuffix`)})]}),m&&(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[(()=>{let e=l.map(e=>{let t=`credential/${e.service}/${e.field}`;return{label:t,value:t}}),t=e.some(e=>e.value===n),i=n&&!t?[{label:n,value:n},...e]:e;return i.length===0?null:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.credentialReferenceLabel`)}),(0,$.jsx)(C,{"aria-label":p(`providerEditorApiKeySection.credentialReferenceAriaLabel`),value:n,onChange:e=>{r(e)},options:i})]})})(),v&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.newCredentialNameLabel`)}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(y,{value:x,onChange:e=>S(e.target.value),placeholder:p(`providerEditorApiKeySection.newCredentialPlaceholder`),fullWidth:!0}),(0,$.jsx)(s,{variant:`primary`,size:`compact`,disabled:!x.trim(),onClick:()=>{let e=x.trim();e&&(r(`credential/${c}/${e}`),b(!1),S(``))},children:p(`providerEditorApiKeySection.use`)})]})]}),(0,$.jsx)(`div`,{className:`flex justify-start`,children:(0,$.jsx)(s,{variant:`ghost`,onClick:()=>{v?(b(!1),S(``)):b(!0)},children:p(v?`providerEditorApiKeySection.cancel`:`providerEditorApiKeySection.newCredential`)})})]})]})]})}var St=`•`.repeat(8);function Ct(e,t){return t?St:e}function wt(e){let t=[];for(let n of e)if(n.type===`api_key`)t.push({service:n.name,field:`api_key`});else if(n.type===`credential`){let e=n.name.lastIndexOf(`:`);if(e>=0){let r=n.name.slice(0,e),i=n.name.slice(e+1);r&&i&&t.push({service:r,field:i})}}return t}function Tt({assistantId:e,enabled:n=!0}){let r=le(),i=l({...ue({path:{assistant_id:e}}),enabled:!!e&&n&&r,select:e=>wt(e.secrets),retry:t,staleTime:3e4});return{credentials:i.data??[],isLoading:i.isLoading}}function Et({assistantId:e,existingNames:t,connections:n,defaultProviderType:r,hideProviderSelect:a=!1,onCreated:o,onCancel:l,variant:u=`modal`,actionsSlot:d}){let{t:p}=i(`settings`),m=Ye(),g=r&&m.includes(r)?r:m[0]??`anthropic`,_=yt(g,t),[v,b]=(0,G.useState)(g===`openai-compatible`?``:_.name),[w,T]=(0,G.useState)(_.key),[E,ee]=(0,G.useState)(g),O=E===`chatgpt`,k=O?`openai`:E,j=O?`oauth_subscription`:Fe(k),[M,N]=(0,G.useState)(()=>g===`ollama`?``:g===`openai-compatible`?`credential/${_.key}/api_key`:`credential/${g}/api_key`),[P,F]=(0,G.useState)(``),[I,L]=(0,G.useState)(``),[R,z]=(0,G.useState)(!1),[B,V]=(0,G.useState)(null),[te,ne]=(0,G.useState)(!1),H=k===`openai-compatible`,ie=Ie(k),ae=(0,G.useMemo)(()=>{let e=!O&&!m.includes(k)?[...m,k]:[...m],t=e.indexOf(`openai`);return t>=0&&e.splice(t+1,0,`chatgpt`),e},[O,k,m]),oe=(0,G.useRef)(!1);function ce(e){oe.current=!0,b(e)}let[U,le]=(0,G.useState)(``),[ue,de]=(0,G.useState)(!1),fe=c(),W=(0,G.useMemo)(()=>Le(M),[M]),me=j===`api_key`&&W!==null,{hasStoredCredential:he,isLoading:ge}=dt({assistantId:e,credentialKind:`credential`,credentialName:W?`${W.service}:${W.field}`:``,enabled:me}),{credentials:K}=Tt({assistantId:e,enabled:!0}),q=H?ht(v,n):null,_e=w.trim().length>0&&(!H||v.trim().length>0)&&q===null;async function ve(){if(_e){z(!0),V(null);try{let t;if(j===`api_key`){let n=M.trim()||`credential/${H?w:k}/api_key`,r=U.trim();if(r){de(!0);try{let t=Le(n);await se({path:{assistant_id:e},body:t?{type:`credential`,name:`${t.service}:${t.field}`,value:r}:{type:`api_key`,name:k,value:r},throwOnError:!0});let i=ut(e,`credential`,t?`${t.service}:${t.field}`:``);fe.setQueryData(i,!0),fe.invalidateQueries({queryKey:pe({path:{assistant_id:e}})})}catch{V(p(`providerCreateForm.failedSaveApiKey`));return}finally{de(!1)}t={type:`api_key`,credential:n}}else if(he)t={type:`api_key`,credential:n};else if(H)t={type:`none`};else{V(p(`providerCreateForm.enterApiKeyOrCredential`));return}}else if(j===`oauth_subscription`){V(p(`providerCreateForm.useChatgptSignIn`));return}else t={type:`none`};let n=v.trim()||null,r={name:w.trim(),provider:k,auth:t,...n!==null&&{label:n},...ie&&{base_url:P.trim()||null},...H&&{models:I.trim()?I.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:i,error:a,response:s}=await re({path:{assistant_id:e},body:r});if(!s?.ok){V(ze(s?.status,a)??Re(s?.status));return}if(!i){V(p(`providerCreateForm.emptyServerResponse`));return}S.success(p(`providerCreateForm.providerConnectedToast`)),Be(i,p),o(i)}catch{V(p(`providerCreateForm.failedSaveProvider`))}finally{z(!1)}}}let J=K.filter(e=>e.service===k),Y=J.length>0,ye=Ct(p(`providerCreateForm.apiKeyPlaceholder`),he),be=te,xe=(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":be,onClick:()=>ne(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(h,{className:`h-4 w-4 transition-transform ${be?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:p(`providerCreateForm.advanced`)})]}),be&&(0,$.jsx)(`div`,{className:`mt-2 space-y-4`,children:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:(0,$.jsx)(D,{i18nKey:`providerCreateForm.displayNameLabel`,ns:`settings`,components:{optional:(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}})}),(0,$.jsx)(y,{value:v,onChange:e=>ce(e.target.value),placeholder:p(`providerCreateForm.displayNamePlaceholder`),fullWidth:!0})]})})]}),Se=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!a&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.providerLabel`)}),(0,$.jsx)(C,{"aria-label":p(`providerCreateForm.providerAriaLabel`),value:E,onChange:e=>{if(ee(e),V(null),e===`chatgpt`)return;let{name:n,key:r}=yt(e,t);oe.current||b(e===`openai-compatible`?``:n),T(r),N(e===`ollama`?``:e===`openai-compatible`?`credential/${r}/api_key`:`credential/${e}/api_key`)},options:[...ae.filter(e=>e!==`openai-compatible`).map(e=>({value:e,label:A[e]})),...ae.includes(`openai-compatible`)?[{value:`openai-compatible`,label:p(`providerCreateForm.customProviderOption`),sticky:!0}]:[]]}),H?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.customProviderHint`)}):null]}),H&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.nameLabel`)}),(0,$.jsx)(y,{value:v,onChange:e=>ce(e.target.value),placeholder:p(`providerCreateForm.namePlaceholder`),fullWidth:!0}),q?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:mt[q]}):null]}),ie&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.baseUrlLabel`)}),(0,$.jsx)(y,{value:P,onChange:e=>F(e.target.value),placeholder:p(k===`ollama`?`providerCreateForm.baseUrlPlaceholderOllama`:`providerCreateForm.baseUrlPlaceholder`),fullWidth:!0}),k===`ollama`?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.baseUrlHintOllama`)}):null]}),H&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.modelsLabel`)}),(0,$.jsx)(y,{value:I,onChange:e=>L(e.target.value),placeholder:p(`providerCreateForm.modelsPlaceholder`),fullWidth:!0}),(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.modelsHint`)})]}),j===`api_key`&&(0,$.jsx)(xt,{apiKeyValue:U,onApiKeyChange:le,credential:M,onCredentialChange:N,isLoadingCredential:ge,apiKeyPlaceholder:ye,provider:k,providerCredentials:J,showAdvancedSection:Y,onError:V}),H&&j===`api_key`?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.localEndpointHint`)}):null,j===`oauth_subscription`&&(0,$.jsx)(ft,{assistantId:e,onConnected:o}),!O&&!H&&xe,B&&(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:B})]}),Ce=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(s,{variant:`ghost`,onClick:l,children:p(`providerCreateForm.cancel`)}),!O&&(0,$.jsx)(s,{variant:`primary`,disabled:!_e||R||ue,onClick:()=>void ve(),children:R?p(`providerCreateForm.saving`):H&&v.trim()?p(`providerCreateForm.addNamed`,{name:v.trim()}):p(`providerCreateForm.add`)})]});return u===`inline`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[Se,d===void 0?(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:Ce}):d&&(0,lt.createPortal)(Ce,d)]}):(0,$.jsxs)(x.Content,{size:`md`,children:[(0,$.jsxs)(x.Header,{children:[(0,$.jsx)(x.Title,{children:p(`providerCreateForm.addProviderTitle`)}),(0,$.jsx)(x.Description,{children:p(`providerCreateForm.addProviderDescription`)})]}),(0,$.jsx)(x.Body,{children:Se}),(0,$.jsx)(x.Footer,{children:Ce})]})}var Dt=`__create_new_provider__`;function Ot({editor:e,assistantId:t,connections:n,variant:r}){let{t:a}=i(`settings`),o=U(),s=e.effectiveMode===`create`,c=r===`panel`,[l,u]=(0,G.useState)(!1),d=l||!!e.keyError&&e.getDirty(),p=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:a(s?`profileEditorFields.nameLabel`:`profileEditorFields.displayNameLabel`)}),(0,$.jsx)(y,{type:`text`,value:e.label,onChange:t=>e.handleLabelChange(t.target.value),placeholder:a(`profileEditorFields.displayNamePlaceholder`),disabled:e.isReadOnly,fullWidth:!0})]}),m=(0,$.jsx)(v,{label:(0,$.jsx)(D,{i18nKey:`profileEditorFields.descriptionLabel`,ns:`settings`,components:{optional:(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}}),value:e.description,onChange:t=>e.setDescription(t.target.value),placeholder:a(`profileEditorFields.descriptionPlaceholder`),disabled:e.isReadOnly,rows:2,fullWidth:!0,className:`resize-none`}),g=(0,$.jsx)(y,{label:a(`profileEditorFields.keyLabel`),type:`text`,value:e.key,onChange:t=>e.handleKeyChange(t.target.value),placeholder:a(`profileEditorFields.keyPlaceholder`),disabled:e.isReadOnly||e.effectiveMode===`edit`,errorText:e.isReadOnly?void 0:e.keyError,fullWidth:!0}),_=!c&&(!e.isReadOnly||e.status!==`active`)?(0,$.jsx)(b,{checked:e.status===`active`,onChange:t=>e.setStatus(t?`active`:`disabled`),label:a(`profileEditorFields.activeLabel`),className:`touch-mobile:mt-2 touch-mobile:[&_button]:h-7 touch-mobile:[&_button]:w-10 touch-mobile:[&_button>span]:h-6 touch-mobile:[&_button>span]:w-6`}):null,x=(0,$.jsx)(je,{visibility:e.visibility,isReadOnly:e.isReadOnly,model:e.model,selectedModel:e.selectedModel,defaultMaxOutputTokens:e.defaultMaxOutputTokens,defaultContextWindowMaxInputTokens:e.defaultContextWindowMaxInputTokens,maxTokens:e.maxTokens,onMaxTokensChange:e.setMaxTokens,contextWindowMaxInputTokens:e.contextWindowMaxInputTokens,onContextWindowChange:e.setContextWindowMaxInputTokens,effort:e.effort,onEffortChange:e.setEffort,speed:e.speed,onSpeedChange:e.setSpeed,verbosity:e.verbosity,onVerbosityChange:e.setVerbosity,temperatureEnabled:e.temperatureEnabled,onTemperatureEnabledChange:e.setTemperatureEnabled,temperature:e.temperature,onTemperatureChange:e.setTemperature,topPEnabled:e.topPEnabled,onTopPEnabledChange:e.setTopPEnabled,topP:e.topP,onTopPChange:e.setTopP,thinkingEnabled:e.thinkingEnabled,onThinkingEnabledChange:e.setThinkingEnabled,thinkingStreamThinking:e.thinkingStreamThinking,onThinkingStreamThinkingChange:e.setThinkingStreamThinking,thinkingLevel:e.thinkingLevel,onThinkingLevelChange:e.setThinkingLevel}),S=e.saveError?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.saveError}):null,w=(0,G.useMemo)(()=>Qe(e.effectiveConnections,o),[e.effectiveConnections,o]),T=(0,G.useMemo)(()=>{let t=it(Ze(e.effectiveConnections,o),e.effectiveConnections,e=>A[e]??e,a(`aiProviderPicker.defaultEntryMeta`)).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(st,{text:n}):void 0}));for(let e of w){let n=Fe(e)===`api_key`?a(`profileEditorFields.addApiKey`):a(`profileEditorFields.setUp`);t.push({value:e,label:A[e]??e,suffix:(0,$.jsx)(st,{text:n})})}return t.push({value:Dt,label:a(`profileEditorFields.createNewProvider`),sticky:!0}),t},[o,e.effectiveConnections,w,a]),E=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:a(`profileEditorFields.providerLabel`)}),(0,$.jsx)(C,{value:e.creatingProvider?e.pendingCreateProvider??Dt:e.provider&&e.providerConnection&&T.some(t=>t.value===et(e.provider,e.providerConnection))?et(e.provider,e.providerConnection):e.provider,onChange:t=>{if(t===Dt){e.setCreatingProvider(!0),e.setPendingCreateProvider(null),e.setNewProviderNote(!1);return}if(!t)return;let n=tt(t);if(n){e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.provider===n.provider?n.provider===`openai-compatible`&&e.setModel(``):e.handleProviderChange(n.provider),e.setProviderConnection(n.connectionName);return}let r=t;if(w.includes(r)){e.setCreatingProvider(!0),e.setPendingCreateProvider(r),e.setNewProviderNote(!1);return}e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.handleProviderChange(r),r===e.provider&&e.setProviderConnection(``)},placeholder:a(`profileEditorFields.selectProviderPlaceholder`),"aria-labelledby":`profile-editor-provider-label`,options:T}),e.newProviderNote?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:a(`profileEditorFields.newProviderNote`)}):null]}),e.creatingProvider?(0,$.jsx)(Et,{variant:`inline`,assistantId:t,existingNames:e.effectiveConnections.map(e=>e.name),connections:e.effectiveConnections,defaultProviderType:(e.pendingCreateProvider??e.provider)||void 0,hideProviderSelect:e.pendingCreateProvider!==null,onCreated:e.handleProviderCreated,onCancel:()=>{e.setCreatingProvider(!1),e.setPendingCreateProvider(null)}},e.pendingCreateProvider??`any`):(0,$.jsx)(ct,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:e.effectiveConnections,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,hideProviderField:!0})]});if(s){let t=e.model!==``;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[p,E,m,_,c?t&&(0,$.jsxs)(`div`,{className:`space-y-4`,children:[g,x]}):t&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":d,onClick:()=>u(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(h,{className:`h-4 w-4 transition-transform ${d?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:a(`profileEditorFields.advanced`)})]}),d?(0,$.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[g,x]}):null]}),S]})}return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[p,m,g,_,(0,$.jsx)(ct,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:n,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,providerError:e.providerError}),x,S]})}function kt(e,t,n){if(e){let n=j(e).find(e=>e.id===t);if(n)return n.displayName}for(let e of n??[]){let n=(e.models??[]).find(e=>e.id===t);if(n)return n.displayName??n.id}let r=t.lastIndexOf(`/`);return r>=0?t.slice(r+1):t}function At(e,t,n){let r=(0,G.useRef)(!1),i=(0,G.useRef)(!1);return{handleLabelChange:(0,G.useCallback)(a=>{i.current=!0,t(a),e===`create`&&!r.current&&n(gt(a))},[e,t,n]),handleKeyChange:(0,G.useCallback)(e=>{r.current=!0,i.current=!0,n(e)},[n]),resetDirty:(0,G.useCallback)(()=>{r.current=!1,i.current=!1},[]),getDirty:(0,G.useCallback)(()=>i.current,[])}}var jt=`0.11.3-dev.202608102358.ef1568c`;async function Mt(e,t){await H(t);let n=T.getState().assistantId;return e!=null&&n!==e?!1:ne(jt)}var Nt=`0.10.12`;async function Pt(e,t){await H(t);let n=T.getState().assistantId;return e!=null&&n!==e?!1:ne(Nt)}function Ft(e,t){let r=w({maxTokens:t,modelMaxOutputTokens:e.maxOutputTokens,modelContextWindowTokens:e.contextWindowTokens});return r?r.code===`over_output_cap`?n(`settings:profileEditor.maxTokensOverCap`,{maxTokens:t,cap:e.maxOutputTokens}):n(`settings:profileEditor.maxTokensNoInputRoom`,{maxTokens:t,window:e.contextWindowTokens}):null}function It({mode:e,profileName:t,initialValues:n,existingNames:i,connections:a,assistantId:o,onSave:s}){let[u,d]=(0,G.useState)(e),f=n?.invariant===!0&&u!==`create`,p=u===`view`||f,m=n?.status??`active`,[h,g]=(0,G.useState)(n?.label??``),[_,v]=(0,G.useState)(n?.description??``),[y,b]=(0,G.useState)(e===`create`?``:t??``),[x,S]=(0,G.useState)(n?.provider?n.provider:``),[C,w]=(0,G.useState)(n?.model??``),[T,E]=(0,G.useState)(n?.provider_connection??``),[D,O]=(0,G.useState)(n?.status??`active`),[A,M]=(0,G.useState)([]),[N,F]=(0,G.useState)(!1),[I,L]=(0,G.useState)(null),[R,z]=(0,G.useState)(n?.maxTokens??null),[B,V]=(0,G.useState)(n?.contextWindow?.maxInputTokens??null),[te,ne]=(0,G.useState)(n?.effort??`inherit`),[H,re]=(0,G.useState)(n?.speed??`standard`),[ie,ae]=(0,G.useState)(n?.verbosity??`medium`),[oe,se]=(0,G.useState)(typeof n?.temperature==`number`),[ce,U]=(0,G.useState)(typeof n?.temperature==`number`?n.temperature:.7),[le,ue]=(0,G.useState)(typeof n?.topP==`number`),[pe,W]=(0,G.useState)(typeof n?.topP==`number`?n.topP:.95),me=p&&D!==m,[he,ge]=(0,G.useState)(n?.thinking?.enabled??!1),[K,q]=(0,G.useState)(n?.thinking?.streamThinking??!1),[_e,ve]=(0,G.useState)(xe(n?.thinking?.level)?n.thinking.level:Oe),J=(0,G.useMemo)(()=>x===`vellum`?ee(C):null,[x,C]),Y=J?.model??C,ye=(0,G.useMemo)(()=>x?j(x).find(e=>e.id===Y)??null:null,[x,Y]),{data:be}=l({...fe({path:{assistant_id:o}}),staleTime:3e4}),Se=be?.llm?.default?.maxTokens,Ce=be?.llm?.default?.contextWindow?.maxInputTokens,X=(0,G.useMemo)(()=>we(x===`vellum`?J?.provider??k(C)??n?.provider??``:x,Y),[x,C,Y,J,n?.provider]),Z=(0,G.useMemo)(()=>{let e=a??[];if(A.length===0)return e;let t=new Set(e.map(e=>e.name));return[...e,...A.filter(e=>!t.has(e.name))]},[a,A]),Q=(0,G.useMemo)(()=>x?Z.filter(e=>Ue(e.provider,x)||x===`openai`&&e.name===T&&e.provider===`chatgpt`):[],[x,Z,T]),$=T!==``&&!Q.some(e=>e.name===T),{handleLabelChange:Te,handleKeyChange:Ee,resetDirty:De,getDirty:ke}=At(u,g,b),Ae=c(),[je,Me]=(0,G.useState)(!1),[Ne,Fe]=(0,G.useState)(null),[Ie,Le]=(0,G.useState)(!1);(0,G.useEffect)(()=>{n?.provider_connection===`vellum`&&x===(n?.provider??``)&&a?.find(e=>e.name===n.provider_connection)?.provider===`vellum`&&S(P)},[a,x,n]),(0,G.useEffect)(()=>{let e=n?.provider;if(!e||x!==e||Pe.includes(e)||e===`vellum`||e===`chatgpt`)return;let t=a?.find(t=>t.name===e);!t||t.provider===`vellum`||t.provider===`chatgpt`||(S(t.provider),T===``&&E(t.name))},[a,x,T,n]),(0,G.useEffect)(()=>{De(),Me(!1),Fe(null),Le(!1),M([])},[t,e,De]);function Re(e){if(e===x)return;S(e),w(``);let t=e===`chatgpt`?[]:Z.filter(t=>Ue(t.provider,e));E(t.length===1?t[0].name:``),z(null),V(null),ne(`inherit`),re(`standard`),ae(`medium`),se(!1),U(.7),ue(!1),W(.95),ge(!1),q(!1),ve(Oe)}function ze(e){if(E(e),x&&j(x).length===0&&C)if(e===``)new Set(Q.flatMap(e=>(e.models??[]).map(e=>e.id))).has(C)||w(``);else{let t=Q.find(t=>t.name===e);new Set((t?.models??[]).map(e=>e.id)).has(C)||w(``)}}function Be(e){if(e!==C&&(w(e),z(null),V(null),u===`create`&&e&&!ke())){let{name:t,key:n}=bt(kt(x||void 0,e,Q),i);g(t),b(n)}}function Ve(e){let t=e.provider;t!==`vellum`&&(M(t=>t.some(t=>t.name===e.name)?t:[...t,e]),S(t),E(e.name),w(``),Me(!1),Fe(null),Le(!0),Ae.invalidateQueries({queryKey:de({path:{assistant_id:o}})}))}let He=y.trim(),We=He.length===0,Ge=/\s/.test(y),Ke=u===`create`?i.includes(He):i.filter(e=>e!==t).includes(He),qe=x.length===0,Je=x.length>0&&C.length===0,Ye=We||Ge||Ke||qe||Je,Xe=We?`Key is required`:Ge?`Key cannot contain whitespace`:Ke?`A profile with this key already exists`:null,Ze=!p&&(u===`edit`||ke())&&qe?`Select a provider`:null;async function Qe(){if(!(Ye&&!p)){if(p){if(!me)return;F(!0),L(null);try{await s(He,{status:`active`},{mode:`merge`})}catch(e){L(r(e)??`Failed to save profile. Please try again.`)}finally{F(!1)}return}if(X.maxTokens&&R!==null&&ye){let e=Ft(ye,R);if(e){L(e);return}}F(!0),L(null);try{let e={},t=T===``&&Q.length===1?Q[0].name:T,r=$?``:t,i=x===`chatgpt`||x===`vellum`&&await Pt(o),a=x===`vellum`?i?P:J?.provider??k(C)??n?.provider??``:x,c=Y,l=i?``:r,d=r===``?void 0:Z.find(e=>e.name===r),f=d!==void 0&&(d.provider===`vellum`||d.provider===`chatgpt`||d.name===`vellum`||d.name===`chatgpt`||Pe.includes(d.name)),p=a;if(!i&&x!==``&&x!==`vellum`&&!f&&await Mt(o)){let e=Z.filter(e=>e.provider===x).length;p=d!==void 0&&(x===`openai-compatible`||e>=2)?d.name:x,l=``}u===`edit`?(e.label=h.trim()||null,e.description=_.trim()||null,e.provider=p||null,e.model=c||null,e.provider_connection=l||null):(h.trim()&&(e.label=h.trim()),_.trim()&&(e.description=_.trim()),p&&(e.provider=p),c&&(e.model=c),l&&(e.provider_connection=l)),X.maxTokens&&R!==null&&(e.maxTokens=R),X.contextWindow&&B!==null&&(e.contextWindow={maxInputTokens:B}),X.effort&&te!==`inherit`&&(e.effort=te),X.speed&&H!==`standard`&&(e.speed=H),X.verbosity&&(e.verbosity=ie),X.temperature&&(oe?e.temperature=ce:u===`edit`&&(e.temperature=null)),X.topP&&(le?e.topP=pe:u===`edit`&&(e.topP=null)),X.thinking&&(e.thinking={enabled:he,...he?{streamThinking:K}:{}}),X.thinkingLevel&&_e!==`default`&&(e.thinking={enabled:!0,level:_e}),(u===`edit`||D!==`active`)&&(e.status=D),await s(He,e)}catch(e){L(r(e)??`Failed to save profile. Please try again.`)}finally{F(!1)}}}function $e(){d(`create`),b(``),De()}return{effectiveMode:u,isReadOnly:p,isInvariant:f,hasViewModeChanges:me,label:h,description:_,key:y,provider:x,model:C,providerConnection:T,status:D,saving:N,saveError:I,keyError:Xe,providerError:Ze,isInvalid:Ye,maxTokens:R,contextWindowMaxInputTokens:B,effort:te,speed:H,verbosity:ie,temperatureEnabled:oe,temperature:ce,topPEnabled:le,topP:pe,thinkingEnabled:he,thinkingStreamThinking:K,thinkingLevel:_e,visibility:X,selectedModel:ye,defaultMaxOutputTokens:Se,defaultContextWindowMaxInputTokens:Ce,effectiveConnections:Z,availableConnectionsForProvider:Q,connectionNotFound:$,creatingProvider:je,pendingCreateProvider:Ne,newProviderNote:Ie,setDescription:v,setStatus:O,setMaxTokens:z,setContextWindowMaxInputTokens:V,setEffort:ne,setSpeed:re,setVerbosity:ae,setTemperatureEnabled:se,setTemperature:U,setTopPEnabled:ue,setTopP:W,setThinkingEnabled:ge,setThinkingStreamThinking:q,setThinkingLevel:ve,setCreatingProvider:Me,setPendingCreateProvider:Fe,setNewProviderNote:Le,handleLabelChange:Te,handleKeyChange:Ee,getDirty:ke,handleProviderChange:Re,handleConnectionChange:ze,handleModelChange:Be,handleProviderCreated:Ve,setProviderConnection:E,setModel:w,handleSave:Qe,switchToSaveAsNew:$e}}async function Lt(e,t,n){let r,i=new Promise(e=>{r=e}),a=e.onTranscribed(e=>{r(e.text||null)}),o=setTimeout(()=>r(null),n);try{let n=await e.transcribe(t);return n.ok?{ok:!0,text:await i}:{ok:!1,reason:n.reason}}finally{clearTimeout(o),a()}}var Rt=`pcm-downsample`,zt=1600,Bt=16e3;function Vt(){return E()?window.vellum?.helper?.dictation:void 0}function Ht(){let e=Vt();return!!e?.transcribe&&!!e.onTranscribed}var Ut=null,Wt=null;async function Gt(){return Ut||(Ut=me(),Wt=Ut.audioWorklet.addModule(W)),Ut.state!==`running`&&await Ut.resume(),await Wt,Ut}async function Kt(e,t){try{let n=await Gt(),r=n.createMediaStreamSource(e),i=new AudioWorkletNode(n,Rt,{numberOfInputs:1,numberOfOutputs:0,channelCount:1}),a=[],o=0,s=0;return i.port.onmessage=e=>{let r=new Int16Array(e.data);if(r.length===0||(a.push(r),o+=r.length,o<zt))return;let i=new Int16Array(o),c=0;for(let e of a)i.set(e,c),c+=e.length;a=[],o=0,s+=1,(s===1||s%50==0)&&console.info(`dictation: pushed audio chunk #${s} (${i.byteLength} bytes, context=${n.state})`),t(i.buffer)},r.connect(i),console.info(`dictation: audio pump started (context=${n.state})`),()=>{i.port.onmessage=null,i.disconnect(),r.disconnect()}}catch(e){return console.warn(`native-dictation-partials: audio pump failed`,e),null}}var qt=8e3,Jt=5e3;function Yt(e){if(window.vellum?.hostOS!==`windows`)return qt;let t=e/(Bt*Int16Array.BYTES_PER_ELEMENT)*1e3;return Math.max(qt,t+Jt)}async function Xt(e){let t=Vt(),n=t?.transcribe,r=t?.onTranscribed;if(!n||!r)return null;let i;try{i=await Zt(e)}catch(e){let t=e instanceof DOMException?`${e.name}: ${e.message}`:e;return console.warn(`dictation: blob decode for native transcribe failed`,t),null}if(i.byteLength===0)return null;try{let e=await Lt({transcribe:n,onTranscribed:r},i,Yt(i.byteLength));if(!e.ok)return console.info(`dictation: native transcribe unavailable:`,e.reason),null;let{text:t}=e;return console.info(`dictation: native transcribe ${t?`chars=${t.length}`:`produced no text`}`),t}catch(e){return console.warn(`dictation: native transcribe failed`,e),null}}async function Zt(e){let t=await e.arrayBuffer(),n=await new OfflineAudioContext(1,1,Bt).decodeAudioData(t),r=n.numberOfChannels,i=n.length,a=n.getChannelData(0);if(r>1){let e=new Float32Array(i);for(let t=0;t<r;t++){let a=n.getChannelData(t);for(let t=0;t<i;t++)e[t]+=a[t]/r}a=e}let o=new Int16Array(i);for(let e=0;e<i;e++){let t=a[e],n=t<-1?-1:t>1?1:t;o[e]=n<0?n*32768:n*32767}return o.buffer}var Qt=4e3;async function $t(e,t){let n=Vt();if(!n)return null;let r=n.pushAudioChunk?.bind(n),i=t?.stream,a=!!i&&!!r,o=n.onPartial(t=>{e(t.text)}),s=null,c=!1,l=null,u=n.onFinalized?.(e=>{c=!0,s=e.text||null,l?.(s)})??null,d=()=>{u?.(),o()};try{let e=await n.setPartials(!0,void 0,a);if(!e.ok)return console.info(`native-dictation-partials: unavailable:`,e.reason),d(),null}catch(e){return console.warn(`native-dictation-partials: setPartials failed`,e),d(),null}let f=null;if(a&&(f=await Kt(i,e=>r(e)),!f))return d(),n.setPartials(!1).catch(()=>{}),null;let p=null;return()=>p||(f?.(),o(),n.setPartials(!1).catch(()=>{}),p=(async()=>{let e=s;return!c&&u&&(e=await new Promise(e=>{l=e,setTimeout(()=>e(null),Qt)})),u?.(),console.info(e===null?`dictation: native finalized not received`:`dictation: native finalized chars=${e.length}`),e})(),p)}var en=[{id:`vellum`,displayName:`Vellum`,subtitle:`Text-to-speech through your Vellum account — billed to Vellum credits, no separate API key needed.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Connected via your Vellum account`,credentialsGuide:{description:`Connect this assistant to your Vellum account; managed speech uses that connection instead of a provider API key.`,url:`https://platform.vellum.ai/`,linkLabel:`Open Vellum Platform`}},{id:`elevenlabs`,displayName:`ElevenLabs`,subtitle:`High-quality voice synthesis for conversations and read-aloud. Requires an ElevenLabs API key.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`sk_…`,credentialsGuide:{description:`Sign in to ElevenLabs, go to your Profile, and copy your API key.`,url:`https://elevenlabs.io/app/settings/api-keys`,linkLabel:`Open ElevenLabs API Keys`}},{id:`fish-audio`,displayName:`Fish Audio`,subtitle:`Natural-sounding voice synthesis with custom voice cloning. Requires a Fish Audio API key and voice reference ID.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`Enter your Fish Audio API key`,credentialsGuide:{description:`Sign in to Fish Audio, navigate to API Keys in your dashboard, and create a new key.`,url:`https://fish.audio/app/api-keys/`,linkLabel:`Open Fish Audio API Keys`}},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate text-to-speech synthesis. Uses the same API key as Deepgram speech-to-text.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for speech-to-text.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`xai`,displayName:`xAI`,subtitle:`Text-to-speech from xAI with expressive voices (eve, ara, rex, sal, leo). Requires an xAI API key.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your xAI API key`,credentialsGuide:{description:`Sign in to the xAI console, navigate to API Keys, and create a new key.`,url:`https://console.x.ai/`,linkLabel:`Open xAI Console`}}],tn=`macos-native`,nn=[{id:`vellum`,displayName:`Vellum`,subtitle:`Transcription through your Vellum account — billed to Vellum credits, no separate API key needed.`},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate speech-to-text transcription. Uses the same API key as Deepgram text-to-speech.`,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for text-to-speech.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`openai`,displayName:`OpenAI`,subtitle:`OpenAI Whisper transcription. Requires an OpenAI API key.`,apiKeyPlaceholder:`sk-…`,credentialsGuide:{description:`Sign in to the OpenAI platform, navigate to API Keys, and create a new secret key.`,url:`https://platform.openai.com/api-keys`,linkLabel:`Open OpenAI API Keys`}},{id:tn,displayName:`macOS Native Dictation`,subtitle:`Apple's on-device speech recognition, running locally through the macOS helper. Works offline and needs no API key.`,requiresNativeDictation:!0,setupWarning:`Requires macOS Dictation to be turned on: open System Settings → Keyboard, then enable Dictation. macOS downloads the on-device speech model the first time Dictation is enabled — without it, voice input produces no transcript.`}];function rn(e,t){return e===`windows`?nn.map(e=>e.id===`macos-native`?{id:tn,requiresNativeDictation:!0,...t}:e):nn}var an=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}],on=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`,`gpt-image-2`],sn={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`,"gpt-image-2":`GPT Image 2`},cn=[`vellum`,`gemini`,`openai`],ln={vellum:`Vellum`,gemini:`Gemini`,openai:`OpenAI`};function un(e){return e===`vellum`?[...on]:on.filter(t=>dn(t)===e)}function dn(e){return e.startsWith(`gpt-`)||e.startsWith(`dall-e-`)?`openai`:(e.startsWith(`gemini-`),`gemini`)}var fn=`vellum:ai:imageGenProvider`,pn=`vellum:ai:imageGenModel`,mn=`vellum:ai:webSearchProvider`,hn=`vellum:ai:webFetchProvider`,gn=`vellum:ai:emailMode`,_n=`vellum:ai:emailByoProvider`,vn=`vellum:voice:ttsProvider`,yn=`vellum:voice:ttsApiKey:`,bn=`vellum:voice:ttsVoiceId:`,xn=`vellum:voice:sttProvider`,Sn=`vellum:voice:sttApiKey:`;function Cn({value:e,size:t=`default`,className:n,...r}){let i=t===`compact`;return(0,$.jsxs)(`button`,{type:`button`,className:d(`flex items-center gap-2 rounded-md border border-[var(--field-border)] bg-[var(--field-bg)] text-left text-[var(--content-default)] transition-colors focus:outline-none data-[state=open]:border-[var(--border-active)]`,i?`h-7 min-w-44 px-2.5 text-body-small-default`:`h-9 w-full px-3 text-body-medium-lighter`,n),...r,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),(0,$.jsx)(m,{"aria-hidden":!0,className:d(`shrink-0 text-[var(--content-tertiary)]`,i?`h-3 w-3`:`h-3.5 w-3.5`)})]})}var wn={profiles:{},profileOrder:[]};function Tn(e,t){let n=e?.profiles,r=e?.profileOrder,i=!!n&&Object.keys(n).length>0,[a,o]=(0,G.useState)(wn),[s,c]=(0,G.useState)(t);return t!==s&&(c(t),o(wn)),(0,G.useEffect)(()=>{i&&o({profiles:n,profileOrder:r??[]})},[i,n,r]),i?{profiles:n,profileOrder:r??[]}:t===s?a:wn}export{Tt as A,Re as B,Ht as C,kt as D,It as E,ft as F,Be as G,Ie as H,ut as I,Me as K,dt as L,xt as M,mt as N,Ot as O,ht as P,Ue as R,rn as S,Xt as T,Ve as U,Le as V,ze as W,ln as _,pn as a,un as b,xn as c,bn as d,hn as f,cn as g,sn as h,gn as i,Ct as j,Et as k,yn as l,an as m,Cn as n,fn as o,mn as p,Ne as q,_n as r,Sn as s,Tn as t,vn as u,tn as v,$t as w,dn as x,en as y,Je as z};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{d as t,k as n,m as r,v as i}from"./i18n-BtV8MCsZ.js";import{t as a}from"./react-DJZBPgpf.js";import{G as o,t as s}from"./button-B1kEAcLt.js";import{n as c}from"./QueryClientProvider-BPZM68-A.js";import{t as l}from"./useQuery-BtL9k7Sh.js";import{t as u}from"./jsx-runtime-COOF1INC.js";import{t as d}from"./cn-naJKasky.js";import{t as f}from"./typography-SdxpXI_m.js";import{o as p}from"./list-row-BvCm9O6y.js";import{t as m}from"./chevron-down-D437oaYt.js";import{t as h}from"./chevron-right-D5lPX854.js";import{t as g}from"./loader-circle-DZ65N8bz.js";import{R as _}from"./src-BKET5Cno.js";import{n as v,t as y}from"./input-ChbJ2nzd.js";import{t as b}from"./toggle-CdhdS_iC.js";import{t as x}from"./modal-_49mDK_d.js";import{n as S}from"./toast-BKrDuNtu.js";import{t as C}from"./select-DmdFZj4l.js";import{y as w}from"./api-BUuIGDig.js";import{t as T}from"./assistant-identity-store-DBkGjqzV.js";import{t as E}from"./is-electron-D45bjFI8.js";import{t as D}from"./Trans-CBhhVbOk.js";import{c as ee,n as O,o as k,r as A,s as j,t as M}from"./llm-model-catalog-Bk0q_XG4.js";import{F as N,I as P,M as F,N as I,P as L,d as R,j as z,k as B,s as V,u as te}from"./profile-pickers-D8XVv50L.js";import{n as ne,o as H}from"./utils-CAI1IDgW.js";import{$t as re,Kt as ie,Qt as ae,_r as oe,gr as se,qt as ce}from"./sdk.gen-BluU0h_N.js";import{n as U}from"./use-platform-gate-s29eeyq-.js";import{r as le}from"./use-is-org-ready-B6oCKWeF.js";import{Ot as ue,Q as de,d as fe,kt as pe}from"./react-query.gen-C_GLKG7m.js";import{r as W,t as me}from"./audio-context-YNIG4zMo.js";var G=e(a(),1),he={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,topP:!1,thinking:!1,thinkingLevel:!1};function ge(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function K(e){return e.startsWith(`anthropic/`)}function q(e,t){let n=t.toLowerCase();return j(e).find(e=>e.id.toLowerCase()===n)}function _e(e,t){return q(e,t)?.adaptiveThinkingOnly===!0}function ve(e){return K(e)||e.startsWith(`x-ai/grok-4`)||e.startsWith(`deepseek/deepseek-r1`)||e===`qwen/qwen3.5-plus-02-15`||e===`qwen/qwen3.5-397b-a17b`||e===`moonshotai/kimi-k2.6`}var J=[`minimal`,`low`,`medium`,`high`],Y=[`low`,`medium`,`high`];function ye(e){return/^gemini-3.*pro/.test(e)}var be=new Set(J);function xe(e){return typeof e==`string`&&be.has(e)}function Se(e){return ye(e.toLowerCase())?Y:J}function Ce(e,t){let n=q(e,t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?ve(t):e===`vercel-ai-gateway`?K(t):!1:n.supportsThinking}function X(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?ge(t):e===`openrouter`||e===`vercel-ai-gateway`?K(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`||e===`together`||e===`baseten`?n:!1}var Z=new Set([`openai-compatible`,`fireworks`,`minimax`,`atlascloud`,`baseten`,`ollama`,`openrouter`,`together`,`vercel-ai-gateway`]);function Q(e,t){return t||Z.has(e)}function we(e,t){if(!e||!t)return he;let n=e.toLowerCase(),r=n===`chatgpt`?`openai`:n,i=t.toLowerCase(),a=r===`anthropic`||(r===`openrouter`||r===`vercel-ai-gateway`)&&K(i),o=Ce(r,i);return{maxTokens:!0,contextWindow:!0,effort:X(r,i,o),speed:r===`anthropic`&&i.includes(`opus`),verbosity:r===`openai`&&ge(i),temperature:a,topP:Q(r,a),thinking:(r===`anthropic`||r===`openrouter`||r===`vercel-ai-gateway`&&K(i))&&o&&!_e(r,i),thinkingLevel:r===`gemini`&&o}}var $=u(),Te=[`inherit`,`none`,`low`,`medium`,`high`,`xhigh`,`max`],Ee=[`standard`,`fast`],De=[`low`,`medium`,`high`],Oe=`default`,ke=64e3;function Ae({label:e,value:t,onChange:n,defaultValue:r,max:a,disabled:o}){let{t:c}=i(`settings`),l=t===null,u=t??r,[d,f]=(0,G.useState)(l?``:String(t)),[p,m]=(0,G.useState)(t);t!==p&&(m(t),f(t===null?``:String(t)));function h(e){f(e);let t=e.trim();if(t===``){n(null);return}let r=Number(t);Number.isFinite(r)&&r>=1e3&&r<=a&&n(r)}function g(e){let r=e.trim();if(r===``){n(null);return}let i=Number(r);if(!Number.isFinite(i)){f(t===null?``:String(t));return}let o=te(i,a);f(String(o)),n(o)}return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e}),l?(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`profileAdvancedParams.defaultValueLabel`,{value:R(r)})}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(_,{value:u,onValueChange:e=>n(typeof e==`number`?e:e[0]),min:L,max:a,step:N,disabled:o,"aria-label":e})}),(0,$.jsx)(y,{type:`number`,inputMode:`numeric`,value:d,placeholder:String(r),onChange:e=>h(e.target.value),onBlur:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&g(e.currentTarget.value)},min:L,max:a,step:N,disabled:o,"aria-label":c(`profileAdvancedParams.tokensAriaLabel`,{label:e}),wrapperClassName:`w-32 shrink-0`,className:`text-right tabular-nums`}),(0,$.jsx)(s,{variant:`ghost`,size:`compact`,onClick:()=>n(null),disabled:o||l,children:c(`profileAdvancedParams.reset`)})]})]})}function je({visibility:e,isReadOnly:t,model:n,selectedModel:r,defaultMaxOutputTokens:a,defaultContextWindowMaxInputTokens:o,maxTokens:s,onMaxTokensChange:c,contextWindowMaxInputTokens:l,onContextWindowChange:u,effort:d,onEffortChange:f,speed:m,onSpeedChange:h,verbosity:g,onVerbosityChange:v,temperatureEnabled:y,onTemperatureEnabledChange:x,temperature:S,onTemperatureChange:C,topPEnabled:w,onTopPEnabledChange:T,topP:E,onTopPChange:D,thinkingEnabled:ee,onThinkingEnabledChange:O,thinkingStreamThinking:k,onThinkingStreamThinkingChange:A,thinkingLevel:j,onThinkingLevelChange:M}){let{t:N}=i(`settings`),P=V(),F=r?.maxOutputTokens??ke,I=r?.contextWindowTokens??2e5,L=Math.min(a??ke,F),R=Math.min(o??2e5,I);return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!t&&P&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.snapshotsHint`)}),e.maxTokens&&(0,$.jsx)(Ae,{label:N(`profileAdvancedParams.maxOutputTokensLabel`),value:s,onChange:c,defaultValue:L,max:F,disabled:t}),e.contextWindow&&(0,$.jsx)(Ae,{label:N(`profileAdvancedParams.contextWindowLabel`),value:l,onChange:u,defaultValue:R,max:I,disabled:t||!r}),e.effort&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.effortLabel`)}),(0,$.jsx)(p,{items:Te.map(e=>({value:e,label:e===`inherit`?N(`profileAdvancedParams.effortSegmentDefault`):e,disabled:t})),value:d,onChange:e=>f(e),ariaLabel:N(`profileAdvancedParams.effortLabel`)})]}),e.speed&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.speedLabel`)}),(0,$.jsx)(p,{items:Ee.map(e=>({value:e,label:e,disabled:t})),value:m,onChange:e=>h(e),ariaLabel:N(`profileAdvancedParams.speedLabel`)})]}),e.verbosity&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:N(`profileAdvancedParams.verbosityLabel`)}),(0,$.jsx)(p,{items:De.map(e=>({value:e,label:e,disabled:t})),value:g,onChange:e=>v(e),ariaLabel:N(`profileAdvancedParams.verbosityLabel`)})]}),e.temperature&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(b,{checked:y,onChange:e=>x(e),label:N(`profileAdvancedParams.temperatureLabel`),disabled:t}),y&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(_,{value:S,onValueChange:e=>C(typeof e==`number`?e:e[0]),min:0,max:2,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.topP&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(b,{checked:w,onChange:e=>T(e),label:N(`profileAdvancedParams.topPLabel`),disabled:t}),w&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(_,{value:E,onValueChange:e=>D(typeof e==`number`?e:e[0]),min:0,max:1,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.thinking&&(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(b,{checked:ee,onChange:e=>{O(e),e||A(!1)},label:N(`profileAdvancedParams.enableExtendedThinkingLabel`),disabled:t}),ee&&(0,$.jsx)(`div`,{className:`pl-4`,children:(0,$.jsx)(b,{checked:k,onChange:e=>A(e),label:N(`profileAdvancedParams.streamThinkingTokensLabel`),disabled:t})})]}),e.thinkingLevel&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[N(`profileAdvancedParams.thinkingLevelLabel`),` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:N(`profileAdvancedParams.thinkingLevelInheritHint`)})]}),(0,$.jsx)(p,{items:[`default`,...Se(n)].map(e=>({value:e,label:`${e}`,disabled:t})),value:j,onChange:M,ariaLabel:N(`profileAdvancedParams.thinkingLevelLabel`)})]})]})}function Me(e){return j(e).filter(e=>M.has(e.id))}function Ne(e,t,n){return!e||j(e).length===0?!1:(t?n.find(e=>e.name===t):void 0)?.auth.type===`oauth_subscription`?!0:!t&&n.length>0&&n.every(e=>e.auth.type===`oauth_subscription`)}var Pe=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`,`openai-compatible`];function Fe(e){return e===`ollama`?`none`:`api_key`}function Ie(e){return e===`openai-compatible`||e===`ollama`}function Le(e){let t=e.split(`/`);return t.length<3||t[0]!==`credential`?null:{service:t[1],field:t.slice(2).join(`/`)}}function Re(e){switch(e){case 409:return`A provider with these settings already exists.`;case 404:return`Provider not found. It may have been removed.`;case 400:return`Invalid configuration. Check the provider settings.`;default:return`Failed to save provider. Please try again.`}}function ze(e,t){if(e!==400)return;let n=t?.error?.message;return typeof n==`string`&&n.length>0?n:void 0}function Be(e,t){let n=e.endpoint_check;if(!n||n.ok)return;let r=n.status===404?`providerEndpointCheck.notFound`:n.status===401||n.status===403?`providerEndpointCheck.unauthorized`:n.status===void 0?`providerEndpointCheck.unreachable`:`providerEndpointCheck.httpError`;S.warning(t(r,{status:n.status}))}function Ve(e){return e.label?e.label:e.auth.type===`oauth_subscription`?A.chatgpt:A[e.provider]??e.provider}var He=new Set([`ollama`]);function Ue(e,t){return e===t?!0:e===`vellum`&&F.has(t)}function We(e,t){return!He.has(e)||t}function Ge(e){return z.filter(t=>We(t,e))}function Ke(e){return Pe.filter(t=>We(t,e))}function qe(e){return Object.keys(O).filter(t=>We(t,e))}function Je(){return Ge(U())}function Ye(){return Ke(U())}function Xe(){return qe(U())}function Ze(e,t){let n=[...new Set(e.map(e=>e.provider))].filter(e=>We(e,t)),r=[];return n.includes(`vellum`)&&r.push(P),n.includes(`chatgpt`)&&r.push(B),r.push(...Pe.filter(e=>n.includes(e)),...n.filter(e=>e!==`vellum`&&e!==`chatgpt`&&!Pe.includes(e))),r}function Qe(e,t){let n=new Set(e.map(e=>e.provider));return Ke(t).filter(e=>e!==`openai-compatible`&&!n.has(e))}var $e=`::`;function et(e,t){return`${e}${$e}${t}`}function tt(e){let t=e.indexOf($e);return t<=0?null:{provider:e.slice(0,t),connectionName:e.slice(t+2)}}var nt=new Set([P,B]);function rt(e){let t=new Map;for(let n of e)nt.has(n.provider)||n.provider===`openai-compatible`||t.set(n.provider,(t.get(n.provider)??0)+1);return new Set([...t.entries()].filter(([,e])=>e>=2).map(([e])=>e))}function it(e,t,n,r=`Default`){let i=rt(t),a=[];for(let o of e){if(o===`vellum`){a.push({value:o,label:n(o),meta:`Managed`});continue}if(o===`openai-compatible`){for(let e of t)e.provider===`openai-compatible`&&a.push({value:et(o,e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:`Custom`});continue}if(!i.has(o)){a.push({value:o,label:n(o)});continue}a.push({value:o,label:n(o),meta:r});for(let e of t)e.provider===o&&a.push({value:et(o,e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:n(o)})}return a}function at(e){return(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}))}var ot=`__custom-model-id__`;function st({text:e}){return(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e})}function ct({provider:e,model:t,providerConnection:n,onProviderChange:r,onModelChange:a,onConnectionChange:o,connections:c,isReadOnly:l,availableConnectionsForProvider:u,connectionNotFound:d,hideProviderField:p=!1,providerError:m=null}){let h=e.length>0&&t.length===0,{t:g}=i(`settings`),[_,v]=(0,G.useState)(!1),b=Ne(e,n,u),x=e!==``&&e!==`chatgpt`&&!b;(0,G.useEffect)(()=>{x||v(!1)},[e,x]);function S(e){if(e===ot){v(!0),a(``);return}a(e)}let w=Xe(),T=U(),E=(0,G.useMemo)(()=>{let t=Ze(c??[],T);return e&&!t.includes(e)?[...t,e]:t},[c,e,T]),D=c===void 0?w:E,ee=D.length===0&&!l,O=e===`openai`&&!l&&u.length===0&&(c??[]).some(e=>e.provider===`chatgpt`||e.auth.type===`oauth_subscription`)?g(`profileEditor.subscriptionSteeringHint`):void 0,k=(0,G.useMemo)(()=>{if(!e)return[];let t=j(e);if(t.length>0)return Ne(e,n,u)?Me(e):t;if(n){let e=u.find(e=>e.name===n);return e?at(e.models):[]}let r=new Set,i=[];for(let e of u)for(let t of e.models??[])r.has(t.id)||(r.add(t.id),i.push({id:t.id,displayName:t.displayName??t.id}));return i},[e,n,u]),M=(0,G.useMemo)(()=>{if(!t||k.some(e=>e.id===t))return k;let n=j(e).find(e=>e.id===t),r=u.flatMap(e=>e.models??[]).find(e=>e.id===t),i=n?.displayName??r?.displayName??t;return[...k,{id:t,displayName:i}]},[t,k,e,u]),N=e?k.length===0?e===`openai-compatible`?`configure-connection`:`unknown-to-catalog`:null:`no-provider`,P=(0,G.useMemo)(()=>{switch(N){case`no-provider`:return{placeholder:g(`profileEditorProviderSection.modelEmptyNoProviderPlaceholder`),hint:null};case`configure-connection`:return{placeholder:g(`profileEditorProviderSection.modelEmptyConfigureConnectionPlaceholder`),hint:g(`profileEditorProviderSection.modelEmptyConfigureConnectionHint`)};case`unknown-to-catalog`:return{placeholder:g(`profileEditorProviderSection.modelEmptyUnknownPlaceholder`),hint:g(`profileEditorProviderSection.modelEmptyUnknownHint`)};default:return null}},[N,g]);(0,G.useEffect)(()=>{if(!e||_)return;let n=j(e);n.length!==0&&n.some(e=>e.id===t)&&t&&k.length>0&&!k.some(e=>e.id===t)&&a(``)},[t,k,a,e,_]);let F=g(`aiProviderPicker.defaultEntryMeta`),L=(0,G.useMemo)(()=>{let t=it(D,c??[],e=>A[e]??e,F).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(st,{text:n}):void 0}));return d&&e===`openai-compatible`&&n&&t.push({value:et(I,n),label:`${n} ${g(`profileEditorProviderSection.providerNotFoundSuffix`)}`,suffix:void 0}),e===`openai-compatible`&&!n&&t.push({value:I,label:A[`openai-compatible`]??`openai-compatible`,suffix:void 0}),t},[D,c,d,e,n,F,g]),R=e&&n?et(e,n):null,z=(()=>{if(!n)return null;let e=c?.find(e=>e.name===n);return e&&(e.provider===`vellum`||e.provider===`chatgpt`)?e.provider:null})(),B=e=>L.some(t=>t.value===e),V=R!==null&&B(R)?R:z!==null&&B(z)?z:e;return(0,$.jsxs)($.Fragment,{children:[!p&&(0,$.jsx)(C,{id:`profile-editor-provider`,label:g(`profileEditorProviderSection.providerLabel`),errorText:m&&ee?g(`profileEditorProviderSection.noProviderConnectionsHint`):m,helperText:ee&&!m?g(`profileEditorProviderSection.noProviderConnectionsHint`):O,value:V,onChange:t=>{let n=tt(t);if(n){r(n.provider),o(n.connectionName);return}r(t),t===e&&o(``)},disabled:l,placeholder:g(`profileEditorProviderSection.selectProviderPlaceholder`),options:L}),d&&!l&&(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:g(`profileEditorProviderSection.connectionNotFound`)}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:g(`profileEditorProviderSection.modelLabel`)}),_?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(y,{value:t,onChange:e=>a(e.target.value),disabled:l,placeholder:g(`profileEditorProviderSection.customModelPlaceholder`),"aria-label":g(`profileEditorProviderSection.customModelAriaLabel`),fullWidth:!0,autoFocus:!0}),(0,$.jsx)(s,{variant:`link`,size:`compact`,disabled:l,onClick:()=>v(!1),children:g(`profileEditorProviderSection.chooseFromList`)})]}):(0,$.jsx)(C,{value:t,onChange:S,disabled:l||!e,"aria-label":g(`profileEditorProviderSection.modelAriaLabel`),placeholder:P?.placeholder??g(`profileEditorProviderSection.selectModelPlaceholder`),options:[...M.map(e=>({value:e.id,label:e.displayName})),...x?[{value:ot,label:g(`profileEditorProviderSection.enterCustomModelIdOption`)}]:[]]}),_?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:g(`profileEditorProviderSection.enterCustomModelIdHint`)}):h&&!l?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:P?.hint??g(`profileEditorProviderSection.selectModelError`)}):null]})]})}var lt=e(o(),1);function ut(e,t,n){return[`credentialPresence`,e,t,n]}function dt({assistantId:e,credentialKind:n,credentialName:r,enabled:i=!0}){let a=le(),o=l({queryKey:ut(e??``,n,r),queryFn:async()=>{let{data:t}=await oe({path:{assistant_id:e},body:{type:n,name:r},throwOnError:!0});return t.found},enabled:!!e&&i&&a,retry:t,staleTime:3e4});return{hasStoredCredential:o.data??!1,isLoading:o.isLoading}}function ft({assistantId:e,onConnected:t}){let{t:r}=i(`settings`),[a,o]=(0,G.useState)(`idle`),[c,l]=(0,G.useState)(``),[u,d]=(0,G.useState)(null);async function p(){o(`starting`),d(null);let t=window.open(`about:blank`,`_blank`);try{let{data:{authorize_url:n}}=await ce({path:{assistant_id:e},throwOnError:!0});t?(t.opener=null,t.location.href=n):window.open(n,`_blank`,`noopener`),o(`paste_url`)}catch{t?.close(),o(`failed`),d(n(`settings:chatgptOauthSection.startFailed`))}}async function m(){d(null);let r=c.trim();if(!r){d(n(`settings:chatgptOauthSection.pasteUrlError`));return}let i;try{i=new URL(r)}catch{d(n(`settings:chatgptOauthSection.invalidUrl`));return}let a=i.searchParams.get(`code`),s=i.searchParams.get(`state`);if(!a){d(n(`settings:chatgptOauthSection.missingCode`));return}if(!s){d(n(`settings:chatgptOauthSection.missingState`));return}o(`exchanging`);try{await ie({path:{assistant_id:e},body:{code:a,state:s},throwOnError:!0}),o(`completed`);let{data:n}=await ae({path:{assistant_id:e},throwOnError:!0});t(n.connections.find(e=>e.name===`chatgpt-subscription`||e.name===`openai-chatgpt`)||{name:`chatgpt-subscription`,provider:`chatgpt`,auth:{type:`oauth_subscription`,credential:`credential/openai/chatgpt-subscription`},label:`ChatGPT Subscription`,createdAt:Date.now(),updatedAt:Date.now(),baseUrl:null,models:null,isManaged:!1})}catch{o(`failed`),d(n(`settings:chatgptOauthSection.completeFailed`))}}function h(){o(`idle`),l(``),d(null)}return(0,$.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] p-4`,children:[(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:r(`chatgptOauthSection.intro`)}),a===`idle`||a===`paste_url`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:a===`paste_url`?`text-[var(--content-tertiary)] line-through`:`text-[var(--content-secondary)]`,children:r(a===`idle`?`chatgptOauthSection.step1Idle`:`chatgptOauthSection.step1PasteUrl`)}),(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:r(`chatgptOauthSection.step2`)}),(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:r(`chatgptOauthSection.step3`)})]}),a===`idle`?(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>void p(),children:r(`chatgptOauthSection.signInButton`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(y,{value:c,onChange:e=>{l(e.target.value),d(null)},placeholder:r(`chatgptOauthSection.urlPlaceholder`),fullWidth:!0}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(s,{variant:`primary`,size:`compact`,disabled:!c.trim(),onClick:()=>void m(),children:r(`chatgptOauthSection.completeSignIn`)})})]})]}):null,a===`starting`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:r(`chatgptOauthSection.startingSignIn`)})]}):null,a===`exchanging`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:r(`chatgptOauthSection.completingSignIn`)})]}):null,a===`completed`?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:r(`chatgptOauthSection.connected`)}):null,u?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:u}):null,a===`failed`?(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:h,children:r(`chatgptOauthSection.tryAgain`)}):null]})}var pt=new Set(Object.entries(A).flatMap(([e,t])=>[e.toLowerCase(),t.toLowerCase()])),mt={reserved:`That name belongs to a built-in provider. Pick another.`,duplicate:`A custom provider with this name already exists.`};function ht(e,t,n){let r=e.trim().toLowerCase();return r?pt.has(r)?`reserved`:(t??[]).some(e=>e.provider===`openai-compatible`&&e.name!==n&&(e.label?.trim()||e.name).toLowerCase()===r)?`duplicate`:null:null}function gt(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}function _t(e){return gt(e)}function vt(e,t){let n=new Set(t.map(e=>e.toLowerCase()));if(!n.has(e.toLowerCase()))return e;let r=2,i=`${e}-${r}`;for(;n.has(i.toLowerCase());)r+=1,i=`${e}-${r}`;return i}function yt(e,t){return{name:A[e]??e,key:vt(`${_t(e)}-personal`,t)}}function bt(e,t){return{name:e,key:vt(_t(e),t)}}function xt({apiKeyValue:e,onApiKeyChange:t,credential:n,onCredentialChange:r,isLoadingCredential:a,apiKeyPlaceholder:o,provider:c,providerCredentials:l,showAdvancedSection:u,onError:d}){let{t:p}=i(`settings`),[m,_]=(0,G.useState)(!1),[v,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(``);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.apiKeyLabel`)}),a?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.loading`)})]}):(0,$.jsx)(y,{type:`password`,value:e,onChange:e=>{t(e.target.value),d(null)},placeholder:o,fullWidth:!0})]}),u&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":m,onClick:()=>_(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(h,{className:`h-4 w-4 transition-transform ${m?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:p(`providerEditorApiKeySection.advanced`)}),(0,$.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:p(`providerEditorApiKeySection.credentialReferenceSuffix`)})]}),m&&(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[(()=>{let e=l.map(e=>{let t=`credential/${e.service}/${e.field}`;return{label:t,value:t}}),t=e.some(e=>e.value===n),i=n&&!t?[{label:n,value:n},...e]:e;return i.length===0?null:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.credentialReferenceLabel`)}),(0,$.jsx)(C,{"aria-label":p(`providerEditorApiKeySection.credentialReferenceAriaLabel`),value:n,onChange:e=>{r(e)},options:i})]})})(),v&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerEditorApiKeySection.newCredentialNameLabel`)}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(y,{value:x,onChange:e=>S(e.target.value),placeholder:p(`providerEditorApiKeySection.newCredentialPlaceholder`),fullWidth:!0}),(0,$.jsx)(s,{variant:`primary`,size:`compact`,disabled:!x.trim(),onClick:()=>{let e=x.trim();e&&(r(`credential/${c}/${e}`),b(!1),S(``))},children:p(`providerEditorApiKeySection.use`)})]})]}),(0,$.jsx)(`div`,{className:`flex justify-start`,children:(0,$.jsx)(s,{variant:`ghost`,onClick:()=>{v?(b(!1),S(``)):b(!0)},children:p(v?`providerEditorApiKeySection.cancel`:`providerEditorApiKeySection.newCredential`)})})]})]})]})}var St=`•`.repeat(8);function Ct(e,t){return t?St:e}function wt(e){let t=[];for(let n of e)if(n.type===`api_key`)t.push({service:n.name,field:`api_key`});else if(n.type===`credential`){let e=n.name.lastIndexOf(`:`);if(e>=0){let r=n.name.slice(0,e),i=n.name.slice(e+1);r&&i&&t.push({service:r,field:i})}}return t}function Tt({assistantId:e,enabled:n=!0}){let r=le(),i=l({...ue({path:{assistant_id:e}}),enabled:!!e&&n&&r,select:e=>wt(e.secrets),retry:t,staleTime:3e4});return{credentials:i.data??[],isLoading:i.isLoading}}function Et({assistantId:e,existingNames:t,connections:n,defaultProviderType:r,hideProviderSelect:a=!1,onCreated:o,onCancel:l,variant:u=`modal`,actionsSlot:d}){let{t:p}=i(`settings`),m=Ye(),g=r&&m.includes(r)?r:m[0]??`anthropic`,_=yt(g,t),[v,b]=(0,G.useState)(g===`openai-compatible`?``:_.name),[w,T]=(0,G.useState)(_.key),[E,ee]=(0,G.useState)(g),O=E===`chatgpt`,k=O?`openai`:E,j=O?`oauth_subscription`:Fe(k),[M,N]=(0,G.useState)(()=>g===`ollama`?``:g===`openai-compatible`?`credential/${_.key}/api_key`:`credential/${g}/api_key`),[P,F]=(0,G.useState)(``),[I,L]=(0,G.useState)(``),[R,z]=(0,G.useState)(!1),[B,V]=(0,G.useState)(null),[te,ne]=(0,G.useState)(!1),H=k===`openai-compatible`,ie=Ie(k),ae=(0,G.useMemo)(()=>{let e=!O&&!m.includes(k)?[...m,k]:[...m],t=e.indexOf(`openai`);return t>=0&&e.splice(t+1,0,`chatgpt`),e},[O,k,m]),oe=(0,G.useRef)(!1);function ce(e){oe.current=!0,b(e)}let[U,le]=(0,G.useState)(``),[ue,de]=(0,G.useState)(!1),fe=c(),W=(0,G.useMemo)(()=>Le(M),[M]),me=j===`api_key`&&W!==null,{hasStoredCredential:he,isLoading:ge}=dt({assistantId:e,credentialKind:`credential`,credentialName:W?`${W.service}:${W.field}`:``,enabled:me}),{credentials:K}=Tt({assistantId:e,enabled:!0}),q=H?ht(v,n):null,_e=w.trim().length>0&&(!H||v.trim().length>0)&&q===null;async function ve(){if(_e){z(!0),V(null);try{let t;if(j===`api_key`){let n=M.trim()||`credential/${H?w:k}/api_key`,r=U.trim();if(r){de(!0);try{let t=Le(n);await se({path:{assistant_id:e},body:t?{type:`credential`,name:`${t.service}:${t.field}`,value:r}:{type:`api_key`,name:k,value:r},throwOnError:!0});let i=ut(e,`credential`,t?`${t.service}:${t.field}`:``);fe.setQueryData(i,!0),fe.invalidateQueries({queryKey:pe({path:{assistant_id:e}})})}catch{V(p(`providerCreateForm.failedSaveApiKey`));return}finally{de(!1)}t={type:`api_key`,credential:n}}else if(he)t={type:`api_key`,credential:n};else if(H)t={type:`none`};else{V(p(`providerCreateForm.enterApiKeyOrCredential`));return}}else if(j===`oauth_subscription`){V(p(`providerCreateForm.useChatgptSignIn`));return}else t={type:`none`};let n=v.trim()||null,r={name:w.trim(),provider:k,auth:t,...n!==null&&{label:n},...ie&&{base_url:P.trim()||null},...H&&{models:I.trim()?I.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:i,error:a,response:s}=await re({path:{assistant_id:e},body:r});if(!s?.ok){V(ze(s?.status,a)??Re(s?.status));return}if(!i){V(p(`providerCreateForm.emptyServerResponse`));return}S.success(p(`providerCreateForm.providerConnectedToast`)),Be(i,p),o(i)}catch{V(p(`providerCreateForm.failedSaveProvider`))}finally{z(!1)}}}let J=K.filter(e=>e.service===k),Y=J.length>0,ye=Ct(p(`providerCreateForm.apiKeyPlaceholder`),he),be=te,xe=(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":be,onClick:()=>ne(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(h,{className:`h-4 w-4 transition-transform ${be?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:p(`providerCreateForm.advanced`)})]}),be&&(0,$.jsx)(`div`,{className:`mt-2 space-y-4`,children:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:(0,$.jsx)(D,{i18nKey:`providerCreateForm.displayNameLabel`,ns:`settings`,components:{optional:(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}})}),(0,$.jsx)(y,{value:v,onChange:e=>ce(e.target.value),placeholder:p(`providerCreateForm.displayNamePlaceholder`),fullWidth:!0})]})})]}),Se=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!a&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.providerLabel`)}),(0,$.jsx)(C,{"aria-label":p(`providerCreateForm.providerAriaLabel`),value:E,onChange:e=>{if(ee(e),V(null),e===`chatgpt`)return;let{name:n,key:r}=yt(e,t);oe.current||b(e===`openai-compatible`?``:n),T(r),N(e===`ollama`?``:e===`openai-compatible`?`credential/${r}/api_key`:`credential/${e}/api_key`)},options:[...ae.filter(e=>e!==`openai-compatible`).map(e=>({value:e,label:A[e]})),...ae.includes(`openai-compatible`)?[{value:`openai-compatible`,label:p(`providerCreateForm.customProviderOption`),sticky:!0}]:[]]}),H?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.customProviderHint`)}):null]}),H&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.nameLabel`)}),(0,$.jsx)(y,{value:v,onChange:e=>ce(e.target.value),placeholder:p(`providerCreateForm.namePlaceholder`),fullWidth:!0}),q?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:mt[q]}):null]}),ie&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.baseUrlLabel`)}),(0,$.jsx)(y,{value:P,onChange:e=>F(e.target.value),placeholder:p(k===`ollama`?`providerCreateForm.baseUrlPlaceholderOllama`:`providerCreateForm.baseUrlPlaceholder`),fullWidth:!0}),k===`ollama`?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.baseUrlHintOllama`)}):null]}),H&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:p(`providerCreateForm.modelsLabel`)}),(0,$.jsx)(y,{value:I,onChange:e=>L(e.target.value),placeholder:p(`providerCreateForm.modelsPlaceholder`),fullWidth:!0}),(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.modelsHint`)})]}),j===`api_key`&&(0,$.jsx)(xt,{apiKeyValue:U,onApiKeyChange:le,credential:M,onCredentialChange:N,isLoadingCredential:ge,apiKeyPlaceholder:ye,provider:k,providerCredentials:J,showAdvancedSection:Y,onError:V}),H&&j===`api_key`?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:p(`providerCreateForm.localEndpointHint`)}):null,j===`oauth_subscription`&&(0,$.jsx)(ft,{assistantId:e,onConnected:o}),!O&&!H&&xe,B&&(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:B})]}),Ce=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(s,{variant:`ghost`,onClick:l,children:p(`providerCreateForm.cancel`)}),!O&&(0,$.jsx)(s,{variant:`primary`,disabled:!_e||R||ue,onClick:()=>void ve(),children:R?p(`providerCreateForm.saving`):H&&v.trim()?p(`providerCreateForm.addNamed`,{name:v.trim()}):p(`providerCreateForm.add`)})]});return u===`inline`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[Se,d===void 0?(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:Ce}):d&&(0,lt.createPortal)(Ce,d)]}):(0,$.jsxs)(x.Content,{size:`md`,children:[(0,$.jsxs)(x.Header,{children:[(0,$.jsx)(x.Title,{children:p(`providerCreateForm.addProviderTitle`)}),(0,$.jsx)(x.Description,{children:p(`providerCreateForm.addProviderDescription`)})]}),(0,$.jsx)(x.Body,{children:Se}),(0,$.jsx)(x.Footer,{children:Ce})]})}var Dt=`__create_new_provider__`;function Ot({editor:e,assistantId:t,connections:n,variant:r}){let{t:a}=i(`settings`),o=U(),s=e.effectiveMode===`create`,c=r===`panel`,[l,u]=(0,G.useState)(!1),d=l||!!e.keyError&&e.getDirty(),p=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:a(s?`profileEditorFields.nameLabel`:`profileEditorFields.displayNameLabel`)}),(0,$.jsx)(y,{type:`text`,value:e.label,onChange:t=>e.handleLabelChange(t.target.value),placeholder:a(`profileEditorFields.displayNamePlaceholder`),disabled:e.isReadOnly,fullWidth:!0})]}),m=(0,$.jsx)(v,{label:(0,$.jsx)(D,{i18nKey:`profileEditorFields.descriptionLabel`,ns:`settings`,components:{optional:(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}}),value:e.description,onChange:t=>e.setDescription(t.target.value),placeholder:a(`profileEditorFields.descriptionPlaceholder`),disabled:e.isReadOnly,rows:2,fullWidth:!0,className:`resize-none`}),g=(0,$.jsx)(y,{label:a(`profileEditorFields.keyLabel`),type:`text`,value:e.key,onChange:t=>e.handleKeyChange(t.target.value),placeholder:a(`profileEditorFields.keyPlaceholder`),disabled:e.isReadOnly||e.effectiveMode===`edit`,errorText:e.isReadOnly?void 0:e.keyError,fullWidth:!0}),_=!c&&(!e.isReadOnly||e.status!==`active`)?(0,$.jsx)(b,{checked:e.status===`active`,onChange:t=>e.setStatus(t?`active`:`disabled`),label:a(`profileEditorFields.activeLabel`),className:`touch-mobile:mt-2 touch-mobile:[&_button]:h-7 touch-mobile:[&_button]:w-10 touch-mobile:[&_button>span]:h-6 touch-mobile:[&_button>span]:w-6`}):null,x=(0,$.jsx)(je,{visibility:e.visibility,isReadOnly:e.isReadOnly,model:e.model,selectedModel:e.selectedModel,defaultMaxOutputTokens:e.defaultMaxOutputTokens,defaultContextWindowMaxInputTokens:e.defaultContextWindowMaxInputTokens,maxTokens:e.maxTokens,onMaxTokensChange:e.setMaxTokens,contextWindowMaxInputTokens:e.contextWindowMaxInputTokens,onContextWindowChange:e.setContextWindowMaxInputTokens,effort:e.effort,onEffortChange:e.setEffort,speed:e.speed,onSpeedChange:e.setSpeed,verbosity:e.verbosity,onVerbosityChange:e.setVerbosity,temperatureEnabled:e.temperatureEnabled,onTemperatureEnabledChange:e.setTemperatureEnabled,temperature:e.temperature,onTemperatureChange:e.setTemperature,topPEnabled:e.topPEnabled,onTopPEnabledChange:e.setTopPEnabled,topP:e.topP,onTopPChange:e.setTopP,thinkingEnabled:e.thinkingEnabled,onThinkingEnabledChange:e.setThinkingEnabled,thinkingStreamThinking:e.thinkingStreamThinking,onThinkingStreamThinkingChange:e.setThinkingStreamThinking,thinkingLevel:e.thinkingLevel,onThinkingLevelChange:e.setThinkingLevel}),S=e.saveError?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.saveError}):null,w=(0,G.useMemo)(()=>Qe(e.effectiveConnections,o),[e.effectiveConnections,o]),T=(0,G.useMemo)(()=>{let t=it(Ze(e.effectiveConnections,o),e.effectiveConnections,e=>A[e]??e,a(`aiProviderPicker.defaultEntryMeta`)).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(st,{text:n}):void 0}));for(let e of w){let n=Fe(e)===`api_key`?a(`profileEditorFields.addApiKey`):a(`profileEditorFields.setUp`);t.push({value:e,label:A[e]??e,suffix:(0,$.jsx)(st,{text:n})})}return t.push({value:Dt,label:a(`profileEditorFields.createNewProvider`),sticky:!0}),t},[o,e.effectiveConnections,w,a]),E=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:a(`profileEditorFields.providerLabel`)}),(0,$.jsx)(C,{value:e.creatingProvider?e.pendingCreateProvider??Dt:e.provider&&e.providerConnection&&T.some(t=>t.value===et(e.provider,e.providerConnection))?et(e.provider,e.providerConnection):e.provider,onChange:t=>{if(t===Dt){e.setCreatingProvider(!0),e.setPendingCreateProvider(null),e.setNewProviderNote(!1);return}if(!t)return;let n=tt(t);if(n){e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.provider===n.provider?n.provider===`openai-compatible`&&e.setModel(``):e.handleProviderChange(n.provider),e.setProviderConnection(n.connectionName);return}let r=t;if(w.includes(r)){e.setCreatingProvider(!0),e.setPendingCreateProvider(r),e.setNewProviderNote(!1);return}e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.handleProviderChange(r),r===e.provider&&e.setProviderConnection(``)},placeholder:a(`profileEditorFields.selectProviderPlaceholder`),"aria-labelledby":`profile-editor-provider-label`,options:T}),e.newProviderNote?(0,$.jsx)(f,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:a(`profileEditorFields.newProviderNote`)}):null]}),e.creatingProvider?(0,$.jsx)(Et,{variant:`inline`,assistantId:t,existingNames:e.effectiveConnections.map(e=>e.name),connections:e.effectiveConnections,defaultProviderType:(e.pendingCreateProvider??e.provider)||void 0,hideProviderSelect:e.pendingCreateProvider!==null,onCreated:e.handleProviderCreated,onCancel:()=>{e.setCreatingProvider(!1),e.setPendingCreateProvider(null)}},e.pendingCreateProvider??`any`):(0,$.jsx)(ct,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:e.effectiveConnections,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,hideProviderField:!0})]});if(s){let t=e.model!==``;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[p,E,m,_,c?t&&(0,$.jsxs)(`div`,{className:`space-y-4`,children:[g,x]}):t&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":d,onClick:()=>u(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(h,{className:`h-4 w-4 transition-transform ${d?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:a(`profileEditorFields.advanced`)})]}),d?(0,$.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[g,x]}):null]}),S]})}return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[p,m,g,_,(0,$.jsx)(ct,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:n,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,providerError:e.providerError}),x,S]})}function kt(e,t,n){if(e){let n=j(e).find(e=>e.id===t);if(n)return n.displayName}for(let e of n??[]){let n=(e.models??[]).find(e=>e.id===t);if(n)return n.displayName??n.id}let r=t.lastIndexOf(`/`);return r>=0?t.slice(r+1):t}function At(e,t,n){let r=(0,G.useRef)(!1),i=(0,G.useRef)(!1);return{handleLabelChange:(0,G.useCallback)(a=>{i.current=!0,t(a),e===`create`&&!r.current&&n(gt(a))},[e,t,n]),handleKeyChange:(0,G.useCallback)(e=>{r.current=!0,i.current=!0,n(e)},[n]),resetDirty:(0,G.useCallback)(()=>{r.current=!1,i.current=!1},[]),getDirty:(0,G.useCallback)(()=>i.current,[])}}var jt=`0.11.3-dev.202608102358.ef1568c`;async function Mt(e,t){await H(t);let n=T.getState().assistantId;return e!=null&&n!==e?!1:ne(jt)}var Nt=`0.10.12`;async function Pt(e,t){await H(t);let n=T.getState().assistantId;return e!=null&&n!==e?!1:ne(Nt)}function Ft(e,t){let r=w({maxTokens:t,modelMaxOutputTokens:e.maxOutputTokens,modelContextWindowTokens:e.contextWindowTokens});return r?r.code===`over_output_cap`?n(`settings:profileEditor.maxTokensOverCap`,{maxTokens:t,cap:e.maxOutputTokens}):n(`settings:profileEditor.maxTokensNoInputRoom`,{maxTokens:t,window:e.contextWindowTokens}):null}function It({mode:e,profileName:t,initialValues:n,existingNames:i,connections:a,assistantId:o,onSave:s}){let[u,d]=(0,G.useState)(e),f=n?.invariant===!0&&u!==`create`,p=u===`view`||f,m=n?.status??`active`,[h,g]=(0,G.useState)(n?.label??``),[_,v]=(0,G.useState)(n?.description??``),[y,b]=(0,G.useState)(e===`create`?``:t??``),[x,S]=(0,G.useState)(n?.provider?n.provider:``),[C,w]=(0,G.useState)(n?.model??``),[T,E]=(0,G.useState)(n?.provider_connection??``),[D,O]=(0,G.useState)(n?.status??`active`),[A,M]=(0,G.useState)([]),[N,F]=(0,G.useState)(!1),[I,L]=(0,G.useState)(null),[R,z]=(0,G.useState)(n?.maxTokens??null),[B,V]=(0,G.useState)(n?.contextWindow?.maxInputTokens??null),[te,ne]=(0,G.useState)(n?.effort??`inherit`),[H,re]=(0,G.useState)(n?.speed??`standard`),[ie,ae]=(0,G.useState)(n?.verbosity??`medium`),[oe,se]=(0,G.useState)(typeof n?.temperature==`number`),[ce,U]=(0,G.useState)(typeof n?.temperature==`number`?n.temperature:.7),[le,ue]=(0,G.useState)(typeof n?.topP==`number`),[pe,W]=(0,G.useState)(typeof n?.topP==`number`?n.topP:.95),me=p&&D!==m,[he,ge]=(0,G.useState)(n?.thinking?.enabled??!1),[K,q]=(0,G.useState)(n?.thinking?.streamThinking??!1),[_e,ve]=(0,G.useState)(xe(n?.thinking?.level)?n.thinking.level:Oe),J=(0,G.useMemo)(()=>x===`vellum`?ee(C):null,[x,C]),Y=J?.model??C,ye=(0,G.useMemo)(()=>x?j(x).find(e=>e.id===Y)??null:null,[x,Y]),{data:be}=l({...fe({path:{assistant_id:o}}),staleTime:3e4}),Se=be?.llm?.default?.maxTokens,Ce=be?.llm?.default?.contextWindow?.maxInputTokens,X=(0,G.useMemo)(()=>we(x===`vellum`?J?.provider??k(C)??n?.provider??``:x,Y),[x,C,Y,J,n?.provider]),Z=(0,G.useMemo)(()=>{let e=a??[];if(A.length===0)return e;let t=new Set(e.map(e=>e.name));return[...e,...A.filter(e=>!t.has(e.name))]},[a,A]),Q=(0,G.useMemo)(()=>x?Z.filter(e=>Ue(e.provider,x)||x===`openai`&&e.name===T&&e.provider===`chatgpt`):[],[x,Z,T]),$=T!==``&&!Q.some(e=>e.name===T),{handleLabelChange:Te,handleKeyChange:Ee,resetDirty:De,getDirty:ke}=At(u,g,b),Ae=c(),[je,Me]=(0,G.useState)(!1),[Ne,Fe]=(0,G.useState)(null),[Ie,Le]=(0,G.useState)(!1);(0,G.useEffect)(()=>{n?.provider_connection===`vellum`&&x===(n?.provider??``)&&a?.find(e=>e.name===n.provider_connection)?.provider===`vellum`&&S(P)},[a,x,n]),(0,G.useEffect)(()=>{let e=n?.provider;if(!e||x!==e||Pe.includes(e)||e===`vellum`||e===`chatgpt`)return;let t=a?.find(t=>t.name===e);!t||t.provider===`vellum`||t.provider===`chatgpt`||(S(t.provider),T===``&&E(t.name))},[a,x,T,n]),(0,G.useEffect)(()=>{De(),Me(!1),Fe(null),Le(!1),M([])},[t,e,De]);function Re(e){if(e===x)return;S(e),w(``);let t=e===`chatgpt`?[]:Z.filter(t=>Ue(t.provider,e));E(t.length===1?t[0].name:``),z(null),V(null),ne(`inherit`),re(`standard`),ae(`medium`),se(!1),U(.7),ue(!1),W(.95),ge(!1),q(!1),ve(Oe)}function ze(e){if(E(e),x&&j(x).length===0&&C)if(e===``)new Set(Q.flatMap(e=>(e.models??[]).map(e=>e.id))).has(C)||w(``);else{let t=Q.find(t=>t.name===e);new Set((t?.models??[]).map(e=>e.id)).has(C)||w(``)}}function Be(e){if(e!==C&&(w(e),z(null),V(null),u===`create`&&e&&!ke())){let{name:t,key:n}=bt(kt(x||void 0,e,Q),i);g(t),b(n)}}function Ve(e){let t=e.provider;t!==`vellum`&&(M(t=>t.some(t=>t.name===e.name)?t:[...t,e]),S(t),E(e.name),w(``),Me(!1),Fe(null),Le(!0),Ae.invalidateQueries({queryKey:de({path:{assistant_id:o}})}))}let He=y.trim(),We=He.length===0,Ge=/\s/.test(y),Ke=u===`create`?i.includes(He):i.filter(e=>e!==t).includes(He),qe=x.length===0,Je=x.length>0&&C.length===0,Ye=We||Ge||Ke||qe||Je,Xe=We?`Key is required`:Ge?`Key cannot contain whitespace`:Ke?`A profile with this key already exists`:null,Ze=!p&&(u===`edit`||ke())&&qe?`Select a provider`:null;async function Qe(){if(!(Ye&&!p)){if(p){if(!me)return;F(!0),L(null);try{await s(He,{status:`active`},{mode:`merge`})}catch(e){L(r(e)??`Failed to save profile. Please try again.`)}finally{F(!1)}return}if(X.maxTokens&&R!==null&&ye){let e=Ft(ye,R);if(e){L(e);return}}F(!0),L(null);try{let e={},t=T===``&&Q.length===1?Q[0].name:T,r=$?``:t,i=x===`chatgpt`||x===`vellum`&&await Pt(o),a=x===`vellum`?i?P:J?.provider??k(C)??n?.provider??``:x,c=Y,l=i?``:r,d=r===``?void 0:Z.find(e=>e.name===r),f=d!==void 0&&(d.provider===`vellum`||d.provider===`chatgpt`||d.name===`vellum`||d.name===`chatgpt`||Pe.includes(d.name)),p=a;if(!i&&x!==``&&x!==`vellum`&&!f&&await Mt(o)){let e=Z.filter(e=>e.provider===x).length;p=d!==void 0&&(x===`openai-compatible`||e>=2)?d.name:x,l=``}u===`edit`?(e.label=h.trim()||null,e.description=_.trim()||null,e.provider=p||null,e.model=c||null,e.provider_connection=l||null):(h.trim()&&(e.label=h.trim()),_.trim()&&(e.description=_.trim()),p&&(e.provider=p),c&&(e.model=c),l&&(e.provider_connection=l)),X.maxTokens&&R!==null&&(e.maxTokens=R),X.contextWindow&&B!==null&&(e.contextWindow={maxInputTokens:B}),X.effort&&te!==`inherit`&&(e.effort=te),X.speed&&H!==`standard`&&(e.speed=H),X.verbosity&&(e.verbosity=ie),X.temperature&&(oe?e.temperature=ce:u===`edit`&&(e.temperature=null)),X.topP&&(le?e.topP=pe:u===`edit`&&(e.topP=null)),X.thinking&&(e.thinking={enabled:he,...he?{streamThinking:K}:{}}),X.thinkingLevel&&_e!==`default`&&(e.thinking={enabled:!0,level:_e}),(u===`edit`||D!==`active`)&&(e.status=D),await s(He,e)}catch(e){L(r(e)??`Failed to save profile. Please try again.`)}finally{F(!1)}}}function $e(){d(`create`),b(``),De()}return{effectiveMode:u,isReadOnly:p,isInvariant:f,hasViewModeChanges:me,label:h,description:_,key:y,provider:x,model:C,providerConnection:T,status:D,saving:N,saveError:I,keyError:Xe,providerError:Ze,isInvalid:Ye,maxTokens:R,contextWindowMaxInputTokens:B,effort:te,speed:H,verbosity:ie,temperatureEnabled:oe,temperature:ce,topPEnabled:le,topP:pe,thinkingEnabled:he,thinkingStreamThinking:K,thinkingLevel:_e,visibility:X,selectedModel:ye,defaultMaxOutputTokens:Se,defaultContextWindowMaxInputTokens:Ce,effectiveConnections:Z,availableConnectionsForProvider:Q,connectionNotFound:$,creatingProvider:je,pendingCreateProvider:Ne,newProviderNote:Ie,setDescription:v,setStatus:O,setMaxTokens:z,setContextWindowMaxInputTokens:V,setEffort:ne,setSpeed:re,setVerbosity:ae,setTemperatureEnabled:se,setTemperature:U,setTopPEnabled:ue,setTopP:W,setThinkingEnabled:ge,setThinkingStreamThinking:q,setThinkingLevel:ve,setCreatingProvider:Me,setPendingCreateProvider:Fe,setNewProviderNote:Le,handleLabelChange:Te,handleKeyChange:Ee,getDirty:ke,handleProviderChange:Re,handleConnectionChange:ze,handleModelChange:Be,handleProviderCreated:Ve,setProviderConnection:E,setModel:w,handleSave:Qe,switchToSaveAsNew:$e}}async function Lt(e,t,n){let r,i=new Promise(e=>{r=e}),a=e.onTranscribed(e=>{r(e.text||null)}),o=setTimeout(()=>r(null),n);try{let n=await e.transcribe(t);return n.ok?{ok:!0,text:await i}:{ok:!1,reason:n.reason}}finally{clearTimeout(o),a()}}var Rt=`pcm-downsample`,zt=1600,Bt=16e3;function Vt(){return E()?window.vellum?.helper?.dictation:void 0}function Ht(){let e=Vt();return!!e?.transcribe&&!!e.onTranscribed}var Ut=null,Wt=null;async function Gt(){return Ut||(Ut=me(),Wt=Ut.audioWorklet.addModule(W)),Ut.state!==`running`&&await Ut.resume(),await Wt,Ut}async function Kt(e,t){try{let n=await Gt(),r=n.createMediaStreamSource(e),i=new AudioWorkletNode(n,Rt,{numberOfInputs:1,numberOfOutputs:0,channelCount:1}),a=[],o=0,s=0;return i.port.onmessage=e=>{let r=new Int16Array(e.data);if(r.length===0||(a.push(r),o+=r.length,o<zt))return;let i=new Int16Array(o),c=0;for(let e of a)i.set(e,c),c+=e.length;a=[],o=0,s+=1,(s===1||s%50==0)&&console.info(`dictation: pushed audio chunk #${s} (${i.byteLength} bytes, context=${n.state})`),t(i.buffer)},r.connect(i),console.info(`dictation: audio pump started (context=${n.state})`),()=>{i.port.onmessage=null,i.disconnect(),r.disconnect()}}catch(e){return console.warn(`native-dictation-partials: audio pump failed`,e),null}}var qt=8e3,Jt=5e3;function Yt(e){if(window.vellum?.hostOS!==`windows`)return qt;let t=e/(Bt*Int16Array.BYTES_PER_ELEMENT)*1e3;return Math.max(qt,t+Jt)}async function Xt(e){let t=Vt(),n=t?.transcribe,r=t?.onTranscribed;if(!n||!r)return null;let i;try{i=await Zt(e)}catch(e){let t=e instanceof DOMException?`${e.name}: ${e.message}`:e;return console.warn(`dictation: blob decode for native transcribe failed`,t),null}if(i.byteLength===0)return null;try{let e=await Lt({transcribe:n,onTranscribed:r},i,Yt(i.byteLength));if(!e.ok)return console.info(`dictation: native transcribe unavailable:`,e.reason),null;let{text:t}=e;return console.info(`dictation: native transcribe ${t?`chars=${t.length}`:`produced no text`}`),t}catch(e){return console.warn(`dictation: native transcribe failed`,e),null}}async function Zt(e){let t=await e.arrayBuffer(),n=await new OfflineAudioContext(1,1,Bt).decodeAudioData(t),r=n.numberOfChannels,i=n.length,a=n.getChannelData(0);if(r>1){let e=new Float32Array(i);for(let t=0;t<r;t++){let a=n.getChannelData(t);for(let t=0;t<i;t++)e[t]+=a[t]/r}a=e}let o=new Int16Array(i);for(let e=0;e<i;e++){let t=a[e],n=t<-1?-1:t>1?1:t;o[e]=n<0?n*32768:n*32767}return o.buffer}var Qt=4e3;async function $t(e,t){let n=Vt();if(!n)return null;let r=n.pushAudioChunk?.bind(n),i=t?.stream,a=!!i&&!!r,o=n.onPartial(t=>{e(t.text)}),s=null,c=!1,l=null,u=n.onFinalized?.(e=>{c=!0,s=e.text||null,l?.(s)})??null,d=()=>{u?.(),o()};try{let e=await n.setPartials(!0,void 0,a);if(!e.ok)return console.info(`native-dictation-partials: unavailable:`,e.reason),d(),null}catch(e){return console.warn(`native-dictation-partials: setPartials failed`,e),d(),null}let f=null;if(a&&(f=await Kt(i,e=>r(e)),!f))return d(),n.setPartials(!1).catch(()=>{}),null;let p=null;return()=>p||(f?.(),o(),n.setPartials(!1).catch(()=>{}),p=(async()=>{let e=s;return!c&&u&&(e=await new Promise(e=>{l=e,setTimeout(()=>e(null),Qt)})),u?.(),console.info(e===null?`dictation: native finalized not received`:`dictation: native finalized chars=${e.length}`),e})(),p)}var en=[{id:`vellum`,displayName:`Vellum`,subtitle:`Text-to-speech through your Vellum account — billed to Vellum credits, no separate API key needed.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Connected via your Vellum account`,credentialsGuide:{description:`Connect this assistant to your Vellum account; managed speech uses that connection instead of a provider API key.`,url:`https://platform.vellum.ai/`,linkLabel:`Open Vellum Platform`}},{id:`elevenlabs`,displayName:`ElevenLabs`,subtitle:`High-quality voice synthesis for conversations and read-aloud. Requires an ElevenLabs API key.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`sk_…`,credentialsGuide:{description:`Sign in to ElevenLabs, go to your Profile, and copy your API key.`,url:`https://elevenlabs.io/app/settings/api-keys`,linkLabel:`Open ElevenLabs API Keys`}},{id:`fish-audio`,displayName:`Fish Audio`,subtitle:`Natural-sounding voice synthesis with custom voice cloning. Requires a Fish Audio API key and voice reference ID.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`Enter your Fish Audio API key`,credentialsGuide:{description:`Sign in to Fish Audio, navigate to API Keys in your dashboard, and create a new key.`,url:`https://fish.audio/app/api-keys/`,linkLabel:`Open Fish Audio API Keys`}},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate text-to-speech synthesis. Uses the same API key as Deepgram speech-to-text.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for speech-to-text.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`xai`,displayName:`xAI`,subtitle:`Text-to-speech from xAI with expressive voices (eve, ara, rex, sal, leo). Requires an xAI API key.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your xAI API key`,credentialsGuide:{description:`Sign in to the xAI console, navigate to API Keys, and create a new key.`,url:`https://console.x.ai/`,linkLabel:`Open xAI Console`}}],tn=`macos-native`,nn=[{id:`vellum`,displayName:`Vellum`,subtitle:`Transcription through your Vellum account — billed to Vellum credits, no separate API key needed.`},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate speech-to-text transcription. Uses the same API key as Deepgram text-to-speech.`,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for text-to-speech.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`openai`,displayName:`OpenAI`,subtitle:`OpenAI Whisper transcription. Requires an OpenAI API key.`,apiKeyPlaceholder:`sk-…`,credentialsGuide:{description:`Sign in to the OpenAI platform, navigate to API Keys, and create a new secret key.`,url:`https://platform.openai.com/api-keys`,linkLabel:`Open OpenAI API Keys`}},{id:tn,displayName:`macOS Native Dictation`,subtitle:`Apple's on-device speech recognition, running locally through the macOS helper. Works offline and needs no API key.`,requiresNativeDictation:!0,setupWarning:`Requires macOS Dictation to be turned on: open System Settings → Keyboard, then enable Dictation. macOS downloads the on-device speech model the first time Dictation is enabled — without it, voice input produces no transcript.`}];function rn(e,t){return e===`windows`?nn.map(e=>e.id===`macos-native`?{id:tn,requiresNativeDictation:!0,...t}:e):nn}var an=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}],on=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`,`gpt-image-2`],sn={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`,"gpt-image-2":`GPT Image 2`},cn=[`vellum`,`gemini`,`openai`],ln={vellum:`Vellum`,gemini:`Gemini`,openai:`OpenAI`};function un(e){return e===`vellum`?[...on]:on.filter(t=>dn(t)===e)}function dn(e){return e.startsWith(`gpt-`)||e.startsWith(`dall-e-`)?`openai`:(e.startsWith(`gemini-`),`gemini`)}var fn=`vellum:ai:imageGenProvider`,pn=`vellum:ai:imageGenModel`,mn=`vellum:ai:webSearchProvider`,hn=`vellum:ai:webFetchProvider`,gn=`vellum:ai:emailMode`,_n=`vellum:ai:emailByoProvider`,vn=`vellum:voice:ttsProvider`,yn=`vellum:voice:ttsApiKey:`,bn=`vellum:voice:ttsVoiceId:`,xn=`vellum:voice:sttProvider`,Sn=`vellum:voice:sttApiKey:`;function Cn({value:e,size:t=`default`,className:n,...r}){let i=t===`compact`;return(0,$.jsxs)(`button`,{type:`button`,className:d(`flex items-center gap-2 rounded-md border border-[var(--field-border)] bg-[var(--field-bg)] text-left text-[var(--content-default)] transition-colors focus:outline-none data-[state=open]:border-[var(--border-active)]`,i?`h-7 min-w-44 px-2.5 text-body-small-default`:`h-9 w-full px-3 text-body-medium-lighter`,n),...r,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),(0,$.jsx)(m,{"aria-hidden":!0,className:d(`shrink-0 text-[var(--content-tertiary)]`,i?`h-3 w-3`:`h-3.5 w-3.5`)})]})}var wn={profiles:{},profileOrder:[]};function Tn(e,t){let n=e?.profiles,r=e?.profileOrder,i=!!n&&Object.keys(n).length>0,[a,o]=(0,G.useState)(wn),[s,c]=(0,G.useState)(t);return t!==s&&(c(t),o(wn)),(0,G.useEffect)(()=>{i&&o({profiles:n,profileOrder:r??[]})},[i,n,r]),i?{profiles:n,profileOrder:r??[]}:t===s?a:wn}export{Tt as A,Re as B,Ht as C,kt as D,It as E,ft as F,Be as G,Ie as H,ut as I,Me as K,dt as L,xt as M,mt as N,Ot as O,ht as P,Ue as R,rn as S,Xt as T,Ve as U,Le as V,ze as W,ln as _,pn as a,un as b,xn as c,bn as d,hn as f,cn as g,sn as h,gn as i,Ct as j,Et as k,yn as l,an as m,Cn as n,fn as o,mn as p,Ne as q,_n as r,Sn as s,Tn as t,vn as u,tn as v,$t as w,dn as x,en as y,Je as z};
|