decocms 4.491.3 → 4.492.0
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/client/assets/{ActiveShapeUtils-CO9ka_yi.js → ActiveShapeUtils-QC-80JaD.js} +1 -1
- package/dist/client/assets/{AlertCircle-C3fpFT5I.js → AlertCircle--xQnBD7d.js} +1 -1
- package/dist/client/assets/{AreaChart-BvjH9pmK.js → AreaChart-DcLcpJwq.js} +1 -1
- package/dist/client/assets/{ArrowLeft-C1IFj0Ic.js → ArrowLeft-CYC7J9yW.js} +1 -1
- package/dist/client/assets/{ArrowUp-DR-Jhbl1.js → ArrowUp-U1ggjjLO.js} +1 -1
- package/dist/client/assets/{BarChart-CJ_IiQ71.js → BarChart-C6ZU6W4p.js} +1 -1
- package/dist/client/assets/{Building02-uHT4KVtK.js → Building02-HV2PP9yH.js} +1 -1
- package/dist/client/assets/{CategoricalChart-zte0bRec.js → CategoricalChart-BlJZ99ma.js} +1 -1
- package/dist/client/assets/{CheckCircle-BKHstO_Q.js → CheckCircle-drYdikgt.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-DAO6R1Op.js → ChevronSelectorVertical-DFKb4uq6.js} +1 -1
- package/dist/client/assets/{ChevronUp-CceLPRrE.js → ChevronUp-DZuLpYB1.js} +1 -1
- package/dist/client/assets/{Copy01-Dx3ZT0bA.js → Copy01-D4AqaFnb.js} +1 -1
- package/dist/client/assets/{CreditCard01-Dko0T335.js → CreditCard01-BsSJIpnP.js} +1 -1
- package/dist/client/assets/{DotsVertical-aHYBPlin.js → DotsVertical-BRQyK86q.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-B8QqSSmC.js → ErrorBarContext-Du4zoKdZ.js} +1 -1
- package/dist/client/assets/{Globe04-BDe-0jS0.js → Globe04-CHyEXekU.js} +1 -1
- package/dist/client/assets/{Image01-Cxa392ef.js → Image01-iHUacVtP.js} +1 -1
- package/dist/client/assets/{Key01-BHiUNW_5.js → Key01-CZzgEM3b.js} +1 -1
- package/dist/client/assets/{Link01-BRZRc4wX.js → Link01-CLZO7iiX.js} +1 -1
- package/dist/client/assets/{LinkBroken01-kK_na_OL.js → LinkBroken01-B1PEGLti.js} +1 -1
- package/dist/client/assets/{Monitor01-Cl4JLYVa.js → Monitor01-Cp_HdXFf.js} +1 -1
- package/dist/client/assets/{Play-CzTcIQz_.js → Play-CFzbBn-6.js} +1 -1
- package/dist/client/assets/{Plus-nldAzVeQ.js → Plus-BjGOOPj6.js} +1 -1
- package/dist/client/assets/{SearchMd-BiZNveM1.js → SearchMd-8jxREbgM.js} +1 -1
- package/dist/client/assets/{Sector-DOgIwKt7.js → Sector-AZp03vzg.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-o0DdjJD9.js → ShoppingBag01-C_Zwelnq.js} +1 -1
- package/dist/client/assets/{Sun-BYGxydmh.js → Sun-VfgIFUUc.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-Bx3d-jDI.js → SwitchHorizontal01-f_6gEt2c.js} +1 -1
- package/dist/client/assets/{Tool01-Blw6F5iV.js → Tool01-BD6R-D4L.js} +1 -1
- package/dist/client/assets/{Trash01-DAoFHSpp.js → Trash01-BuqURrgl.js} +1 -1
- package/dist/client/assets/{Upload01-CtKBhqsv.js → Upload01-CbIQEt1I.js} +1 -1
- package/dist/client/assets/{User01-Awky2MVQ.js → User01-CHX0WSlv.js} +1 -1
- package/dist/client/assets/{UserSquare-BMOlWqCu.js → UserSquare-v2Vi63lF.js} +1 -1
- package/dist/client/assets/{Users01-D7ZFKC4W.js → Users01-WUyPxnjn.js} +1 -1
- package/dist/client/assets/{XAxis-BLZT-vtl.js → XAxis-DnYEgdBg.js} +1 -1
- package/dist/client/assets/{XClose-DBJ7sD1T.js → XClose-Dz5Xu4ap.js} +1 -1
- package/dist/client/assets/{ZoomOut-CQckFmS9.js → ZoomOut-BMJlPGPs.js} +1 -1
- package/dist/client/assets/{access-gate-DEyXiK2N.js → access-gate-t5XdpP7o.js} +1 -1
- package/dist/client/assets/add-connection-dialog-DRVvTqsY.js +1 -0
- package/dist/client/assets/agent-analytics-CcVnAkkt.js +2 -0
- package/dist/client/assets/agent-app-BkQm9oem.js +1 -0
- package/dist/client/assets/agent-assets-Czl2J78n.js +1 -0
- package/dist/client/assets/agent-automation-Ci4UFwzb.js +20 -0
- package/dist/client/assets/agent-automations-Bz7d9DBh.js +1 -0
- package/dist/client/assets/agent-connect-sources-DIyj1Rir.js +1 -0
- package/dist/client/assets/agent-deck-3-EO6Xhr.js +1 -0
- package/dist/client/assets/agent-e2e-DIxhjk62.js +1 -0
- package/dist/client/assets/agent-experiments-Dn8tNUUB.js +1 -0
- package/dist/client/assets/agent-file-CZOQf9Yc.js +1 -0
- package/dist/client/assets/agent-hosting-BsE9QUz1.js +1 -0
- package/dist/client/assets/agent-icon-V8lPNv7A.js +1 -0
- package/dist/client/assets/agent-library-DkCo-Ode.js +1 -0
- package/dist/client/assets/agent-library-file-D3g_rHVL.js +1 -0
- package/dist/client/assets/agent-monitor-pph3rxpK.js +1 -0
- package/dist/client/assets/agent-overview-DW2iu_qJ.js +1 -0
- package/dist/client/assets/agent-settings-DW_a2Oeo.js +1 -0
- package/dist/client/assets/{agent-site-editor-Dv8qh0xB.js → agent-site-editor--h_d0ri-.js} +5 -5
- package/dist/client/assets/agent-site-editor-code-DTMSEaFy.js +2 -0
- package/dist/client/assets/{agent-site-editor-content-EotWUMUT.js → agent-site-editor-content-B0U6dbmd.js} +6 -6
- package/dist/client/assets/{agent-site-editor-preview-DaqE_qX4.js → agent-site-editor-preview-DHCTEFq_.js} +4 -4
- package/dist/client/assets/agent-view-BVT0tnMS.js +1 -0
- package/dist/client/assets/{agent-view-guard-Bf5Bn5K4.js → agent-view-guard-CiQwzIBH.js} +1 -1
- package/dist/client/assets/agents-list-D6RNu5TG.js +1 -0
- package/dist/client/assets/{ai-providers-VCM02Z-N.js → ai-providers-CmqZsPDb.js} +2 -2
- package/dist/client/assets/{alert-CGA3Ty0D.js → alert-BsNaBF81.js} +1 -1
- package/dist/client/assets/{alert-dialog-kjq4dW3k.js → alert-dialog-BTzKubzN.js} +2 -2
- package/dist/client/assets/{analytics-sections-Cjkr8Muu.js → analytics-sections-s9PmHD7K.js} +1 -1
- package/dist/client/assets/api-keys-BNHCLXyO.js +1 -0
- package/dist/client/assets/api-keys-CplXRVbk.js +1 -0
- package/dist/client/assets/app-editor-C2lg73cH.js +1 -0
- package/dist/client/assets/asset-utils-Cba9XUPE.js +1 -0
- package/dist/client/assets/{auth-Cps-90jQ.js → auth-C364y6MM.js} +1 -1
- package/dist/client/assets/{auth-catchall-Batt4Wp1.js → auth-catchall-Fu5UnD3F.js} +1 -1
- package/dist/client/assets/auth-entry-TtvThk9b.js +1 -0
- package/dist/client/assets/{auth-split-layout-lt03dL19.js → auth-split-layout-DSLQPMD9.js} +1 -1
- package/dist/client/assets/authenticate-and-persist-oauth-BKg7tWBc.js +1 -0
- package/dist/client/assets/{automation-list-row-C9YrfX3o.js → automation-list-row-DlIRdIvL.js} +1 -1
- package/dist/client/assets/automation-runs-D7YzXLl4.js +1 -0
- package/dist/client/assets/automations-nTgDp9lT.js +1 -0
- package/dist/client/assets/autosend-CezXEQCq.js +1 -0
- package/dist/client/assets/{avatar-TL9HUab0.js → avatar-DbpOZfYL.js} +1 -1
- package/dist/client/assets/{badge-CKM84j2S.js → badge-BgcNCpYt.js} +1 -1
- package/dist/client/assets/{block-document-w2kAyl6z.js → block-document-iTsyUX-a.js} +3 -3
- package/dist/client/assets/{blocks-preview-workspace-context-PwUYRK7b.js → blocks-preview-workspace-context-BXKULFqX.js} +1 -1
- package/dist/client/assets/{blog-schema-Cx6xDQRb.js → blog-schema-DD23vovf.js} +1 -1
- package/dist/client/assets/{board-analytics-DT3f2AVB.js → board-analytics-Cwy2ZAGo.js} +1 -1
- package/dist/client/assets/buckets-BSK6ehlm.js +1 -0
- package/dist/client/assets/{build-improve-prompt-doc-R0amEUpn.js → build-improve-prompt-doc-Y3OzCwPY.js} +1 -1
- package/dist/client/assets/{calendar-DaaBbvOH.js → calendar-CEOFJdzz.js} +1 -1
- package/dist/client/assets/capability-load-error-BCbiiwNK.js +1 -0
- package/dist/client/assets/category-editor-CVM9Agvl.js +1 -0
- package/dist/client/assets/{chart-DZbYggl3.js → chart-BirAG0oj.js} +1 -1
- package/dist/client/assets/{chat-context-UMp8QwjT.js → chat-context-By_4gW6u.js} +8 -8
- package/dist/client/assets/chat-draft-CjxNTkoz.js +1 -0
- package/dist/client/assets/{checkbox-B2kVXKBD.js → checkbox-C1PTdkvC.js} +1 -1
- package/dist/client/assets/choose-editor-D5Z-yVXB.js +1 -0
- package/dist/client/assets/claim-phase-copy-DjK7-Dlj.js +1 -0
- package/dist/client/assets/{cli-auth-success-DtMJnqjK.js → cli-auth-success-DPNe5AnC.js} +1 -1
- package/dist/client/assets/{client-icons-D3ZaOjXM.js → client-icons-gmrQyeik.js} +1 -1
- package/dist/client/assets/{collapsible-vN3Y9B-p.js → collapsible-B4tt-A-a.js} +1 -1
- package/dist/client/assets/collection-detail-CRZTOFcZ.js +1 -0
- package/dist/client/assets/collection-display-button-iFLNUDt5.js +1 -0
- package/dist/client/assets/{collection-search-BoB9COGX.js → collection-search-6N7Rez-8.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CxJ6Bp-f.js → collection-table-wrapper-CfCYWslA.js} +1 -1
- package/dist/client/assets/{collection-tabs-Cw7XLgNG.js → collection-tabs-CKHgPBCn.js} +1 -1
- package/dist/client/assets/column-rules-2VSan5Bc.js +3 -0
- package/dist/client/assets/{combobox-PSOtDaya.js → combobox-DaqRmpnO.js} +1 -1
- package/dist/client/assets/command-Y5_oacWW.js +1 -0
- package/dist/client/assets/{companion-mcps-section-gXkjR-XD.js → companion-mcps-section-B-ijJ6Yp.js} +1 -1
- package/dist/client/assets/config-BokZbmON.js +1 -0
- package/dist/client/assets/{connect-Dn2pI97X.js → connect-CRGqUZ7U.js} +3 -3
- package/dist/client/assets/connect-layout-D4PD9y64.js +1 -0
- package/dist/client/assets/{connection-FKmTBjan.js → connection-CRPvojqI.js} +1 -1
- package/dist/client/assets/connection-card-KyCZsDMq.js +1 -0
- package/dist/client/assets/connection-detail-BcuPo63c.js +1 -0
- package/dist/client/assets/connection-form-helpers-DHRB6y9q.js +1 -0
- package/dist/client/assets/connections-BsYVOIWF.js +1 -0
- package/dist/client/assets/context-TgkInbqd.js +1 -0
- package/dist/client/assets/{context-menu-BLhcVqO0.js → context-menu-BcvT-xNL.js} +1 -1
- package/dist/client/assets/{core.esm-DbclD67Y.js → core.esm-BCt5zzlL.js} +1 -1
- package/dist/client/assets/create-organization-dialog-DA_Cpcir.js +1 -0
- package/dist/client/assets/daily-pulse-DL2RQNPh.js +1 -0
- package/dist/client/assets/{device-hint-CbxzMdRC.js → device-hint-C-6GVgyh.js} +1 -1
- package/dist/client/assets/discover-DMYUdkQJ.js +1 -0
- package/dist/client/assets/domain-settings-Bw-4hQ9O.js +1 -0
- package/dist/client/assets/{drawer-CXs6iEYK.js → drawer-Mq2IQ1xB.js} +1 -1
- package/dist/client/assets/{editor-CPkkN1Zr.js → editor-4gGGw1LX.js} +3 -3
- package/dist/client/assets/{empty-state-D45gZaZ-.js → empty-state-Z7KZaCgr.js} +1 -1
- package/dist/client/assets/{empty-state-DnQ_qEjI.js → empty-state-pDkjxQ9v.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Q_j_fmQx.js → extract-connection-data-DmRZ30Aj.js} +1 -1
- package/dist/client/assets/{feature-gate-CFL9eB8c.js → feature-gate-Dejbstp-.js} +1 -1
- package/dist/client/assets/feature-paywall-BatvuaQK.js +1 -0
- package/dist/client/assets/file-explorer-DoxI5WYH.js +2 -0
- package/dist/client/assets/{file-preview-DT-0IR-r.js → file-preview-BKQ9z_Zk.js} +1 -1
- package/dist/client/assets/file-share-button-E78-t03V.js +3 -0
- package/dist/client/assets/{file-type-icon-Du5QihE_.js → file-type-icon-BIQRdF9B.js} +1 -1
- package/dist/client/assets/flat-project-DcECHGX3.js +1 -0
- package/dist/client/assets/{folder-icon-DXEgDwxo.js → folder-icon-BeWIM1Mh.js} +2 -2
- package/dist/client/assets/{form-BBtB5neb.js → form-ClLZmF-x.js} +1 -1
- package/dist/client/assets/general-CQandLDD.js +1 -0
- package/dist/client/assets/home-DVyZY-sa.js +1 -0
- package/dist/client/assets/{icon-button-BiR7Hy07.js → icon-button-BflDTZbH.js} +1 -1
- package/dist/client/assets/{index-DltLvtZg.js → index-0YmFgk-4.js} +1 -1
- package/dist/client/assets/{index-DWUcsrDk.js → index-BRB9eRek.js} +2 -2
- package/dist/client/assets/{index-D1CuHcEn.js → index-BRHoVQcU.js} +1 -1
- package/dist/client/assets/{index-CeMEs5dC.js → index-BgOyhevJ.js} +2 -2
- package/dist/client/assets/{index-C-3lNbMm.js → index-BhOWNPjr.js} +6 -6
- package/dist/client/assets/{index-CmC6v99h.js → index-C8DfgSPy.js} +5 -5
- package/dist/client/assets/{index-BvwJHqHQ.js → index-CbgPEOCa.js} +2 -2
- package/dist/client/assets/index-CkPHS5Dh.js +1 -0
- package/dist/client/assets/{index-D8mID9PZ.js → index-D7iHvf3D.js} +1 -1
- package/dist/client/assets/index-DAmEDD4z.js +1 -0
- package/dist/client/assets/{index-CoDuotD7.js → index-DHrUbuPD.js} +1 -1
- package/dist/client/assets/{index-KqttCHw1.js → index-DQmyVRcq.js} +1 -1
- package/dist/client/assets/{index-D_7jfHk6.js → index-P5CXrVFm.js} +43 -43
- package/dist/client/assets/{index-redirect-_9q4bmDQ.js → index-redirect-CG5FAh2K.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-DG8sBe4B.js → infiniteQueryObserver-DozMisCD.js} +1 -1
- package/dist/client/assets/infra-billing-DfiPMKeD.js +1 -0
- package/dist/client/assets/input-CeiEotQg.js +1 -0
- package/dist/client/assets/{input-DQp1LVsq.js → input-ykei6Cwl.js} +5 -5
- package/dist/client/assets/{integration-icon-BM3EOzpn.js → integration-icon-67Xzvyfa.js} +1 -1
- package/dist/client/assets/jira-icon-B2BuyBB4.js +1 -0
- package/dist/client/assets/{label-DxOPcXJe.js → label-BFTsWxRX.js} +1 -1
- package/dist/client/assets/{layout-bHPl4zx9.js → layout-C1lXfV0M.js} +1 -1
- package/dist/client/assets/legacy-agents-deep-biwbtqII.js +1 -0
- package/dist/client/assets/{legacy-main-redirect-z5zSFE1g.js → legacy-main-redirect-DddC7e1C.js} +1 -1
- package/dist/client/assets/library-Cof5sIHl.js +1 -0
- package/dist/client/assets/{library-tab-Z6y7ewdW.js → library-tab-NRFXm3NX.js} +3 -3
- package/dist/client/assets/login-DgVB-KHS.js +1 -0
- package/dist/client/assets/{markdown-6zdu9t3J.js → markdown-DsXUd5ra.js} +3 -3
- package/dist/client/assets/{mcp-app-renderer-D5zA7BfR.js → mcp-app-renderer-Cbidp8HH.js} +1 -1
- package/dist/client/assets/mcp-oauth-Bvbum4TV.js +1 -0
- package/dist/client/assets/mcp-oauth-Em69Rf1Z.js +1 -0
- package/dist/client/assets/members-D8MOsQpb.js +1 -0
- package/dist/client/assets/{memory-C67vpugN.js → memory-KM-sFXxK.js} +2 -2
- package/dist/client/assets/{mini-report-page-jD0aWOQw.js → mini-report-page-D6-Sz9FL.js} +1 -1
- package/dist/client/assets/{mock-board-DX11vRZx.js → mock-board-CjxyB2zF.js} +1 -1
- package/dist/client/assets/{monaco-editor-BfKI4VlA.js → monaco-editor-dzebtzJe.js} +2 -2
- package/dist/client/assets/{monitoring-stats-row-DB55KTTw.js → monitoring-stats-row-Br92KCz7.js} +1 -1
- package/dist/client/assets/{multi-select-DVylmGoB.js → multi-select-OMY7Ad0D.js} +1 -1
- package/dist/client/assets/mustache-mZQO-vIe.js +4 -0
- package/dist/client/assets/new-project-dialog-c2qIcucJ.js +1 -0
- package/dist/client/assets/{oauth-callback-Cqdj0zbM.js → oauth-callback-CbK8qs_l.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Cwy6YGO7.js → oauth-callback-ai-provider-DeX6N2Kr.js} +1 -1
- package/dist/client/assets/onboarding-BW2HKXvH.js +1 -0
- package/dist/client/assets/openai-conversation-D8EGaB-O.js +3 -0
- package/dist/client/assets/optimistic-project-sidebar-views-BfSXwHy1.js +1 -0
- package/dist/client/assets/{organization-choice-CG-C6xsW.js → organization-choice-D26FpHn1.js} +1 -1
- package/dist/client/assets/orgs-DOgJxZAX.js +1 -0
- package/dist/client/assets/{page-seo-form-C6V8K2um.js → page-seo-form-DKPmGeGi.js} +1 -1
- package/dist/client/assets/pair-tkynKLUn.js +48 -0
- package/dist/client/assets/plan-ladder-DK8XbnR2.js +1 -0
- package/dist/client/assets/{popover-C2vJrXky.js → popover-BEaGTFER.js} +1 -1
- package/dist/client/assets/post-calendar-BNSAMYq7.js +1 -0
- package/dist/client/assets/post-editor-COrT_mtL.js +2 -0
- package/dist/client/assets/preview-content-BDIAdwAe.js +1 -0
- package/dist/client/assets/preview-dialog-lyZyRYbk.js +1 -0
- package/dist/client/assets/{preview-panel-CaQ4Pbpr.js → preview-panel-CAmSZPFR.js} +1 -1
- package/dist/client/assets/product-picker-dialog-DsW2hIqG.js +1 -0
- package/dist/client/assets/profile-8rq0jv1t.js +1 -0
- package/dist/client/assets/project-app-view-BATWfA47.js +1 -0
- package/dist/client/assets/project-feed-D-Njb4Fa.js +1 -0
- package/dist/client/assets/{project-icon-DU1uywdD.js → project-icon-CVjxspby.js} +1 -1
- package/dist/client/assets/project-reports-BkzVwq7y.js +1 -0
- package/dist/client/assets/project-tasks-B54X-ADA.js +1 -0
- package/dist/client/assets/projects-Ci0VMAti.js +1 -0
- package/dist/client/assets/{projects-empty-state-BsW_dfGL.js → projects-empty-state-DqLxqHkr.js} +1 -1
- package/dist/client/assets/prompts-CcDUo4xE.js +1 -0
- package/dist/client/assets/record-editor-CsrZJ7eU.js +1 -0
- package/dist/client/assets/redirect-editor-CeRRUF_Y.js +1 -0
- package/dist/client/assets/{reports-CMClJ0_S.js → reports-BKEK9PjO.js} +2 -2
- package/dist/client/assets/reports-TUXU0eWQ.js +1 -0
- package/dist/client/assets/reports-onboarding-BWPW_861.js +1 -0
- package/dist/client/assets/reports-tab-MTJjgnyg.js +2 -0
- package/dist/client/assets/repositories-COdTxGIM.js +1 -0
- package/dist/client/assets/repository-binding-DgstszW0.js +1 -0
- package/dist/client/assets/repository-import-picker-C4LOW7uq.js +1 -0
- package/dist/client/assets/repository-picker-iVChzqUi.js +1 -0
- package/dist/client/assets/require-capability-CIonrRSM.js +1 -0
- package/dist/client/assets/{required-auth-layout-CDif9NZC.js → required-auth-layout-Docb5mc1.js} +1 -1
- package/dist/client/assets/reset-password-D-Uff2pm.js +1 -0
- package/dist/client/assets/{resizable-CIqqPf7O.js → resizable-DQkQHFqP.js} +1 -1
- package/dist/client/assets/{resolve-tab-icon-S311kwwr.js → resolve-tab-icon-BJCQiMAG.js} +1 -1
- package/dist/client/assets/review-settings-CQUW-c0y.js +1 -0
- package/dist/client/assets/{rich-text-link-control-CMeXviAY.js → rich-text-link-control-BtAN4nTK.js} +1 -1
- package/dist/client/assets/roles-B5x0qKiF.js +1 -0
- package/dist/client/assets/route-B3BzuLT3.js +1 -0
- package/dist/client/assets/route-CV820oik.js +1 -0
- package/dist/client/assets/route-DkvQrfxW.js +1 -0
- package/dist/client/assets/{runnable-block-editor-BWSWYcJ-.js → runnable-block-editor-COF6SwRV.js} +4 -4
- package/dist/client/assets/sandbox-lifecycle-context-CZJ_j0np.js +1 -0
- package/dist/client/assets/{schema-D1veJPjJ.js → schema-DPby9xN_.js} +1 -1
- package/dist/client/assets/{scroll-area-Ce9NeF1s.js → scroll-area-BaXoWTc0.js} +1 -1
- package/dist/client/assets/{search-input-DpJBHwWo.js → search-input-zIdNkZIZ.js} +1 -1
- package/dist/client/assets/search-toggle-Dd74zbFD.js +1 -0
- package/dist/client/assets/{secret-picker-B_ADx-sY.js → secret-picker-BNQiMdJy.js} +1 -1
- package/dist/client/assets/secrets-DYrvzDcq.js +1 -0
- package/dist/client/assets/sections-editor-CWdxzvx_.js +1 -0
- package/dist/client/assets/{select-CZdnCwuC.js → select-BTTyWh-3.js} +1 -1
- package/dist/client/assets/select-model-_gJCiq6c.js +1 -0
- package/dist/client/assets/seo-editor-D2aPe-YC.js +1 -0
- package/dist/client/assets/{separator-BtrJ5AFz.js → separator-DjDQYMtn.js} +1 -1
- package/dist/client/assets/settings-tab-B0TsEFTt.js +4 -0
- package/dist/client/assets/sheet-eZJW88LV.js +1 -0
- package/dist/client/assets/shell-layout-OtP14C-y.js +1 -0
- package/dist/client/assets/skills-CyhJcNik.js +1 -0
- package/dist/client/assets/{slider-BpZoep6A.js → slider-C2iod3T6.js} +1 -1
- package/dist/client/assets/{sortable.esm-DyjKGVzh.js → sortable.esm-B2cNTSsr.js} +1 -1
- package/dist/client/assets/sso-BSD5EMNY.js +1 -0
- package/dist/client/assets/{suggestion-DmBBrXFD.js → suggestion-CEZpMvzO.js} +2 -2
- package/dist/client/assets/{switch-hSsSQMgC.js → switch-BJJ-2yIv.js} +1 -1
- package/dist/client/assets/{symbol-CkeqKRPe.js → symbol-DQiTO71i.js} +1 -1
- package/dist/client/assets/synced-repos-19fjd8br.js +1 -0
- package/dist/client/assets/{tab-icon-glyph-BRREqFJ3.js → tab-icon-glyph-B8UDsLej.js} +1 -1
- package/dist/client/assets/{table-Dfov51xE.js → table-B9C_mOX3.js} +1 -1
- package/dist/client/assets/{tabs-Df848FrP.js → tabs-9di2Neit.js} +1 -1
- package/dist/client/assets/{task-board-ChFrokIN.js → task-board-DsgdOWHQ.js} +1 -1
- package/dist/client/assets/{task-route-4t67EvVC.js → task-route-_EeI73mv.js} +1 -1
- package/dist/client/assets/{task-status-cI-KMHji.js → task-status-B--cbdkz.js} +1 -1
- package/dist/client/assets/taskboard-analytics-C8fUYGcQ.js +1 -0
- package/dist/client/assets/{tasks-Dcje4OJR.js → tasks-Bd7TbgaV.js} +3 -3
- package/dist/client/assets/tasks-RI02vBG9.js +1 -0
- package/dist/client/assets/{textarea-DaHaRA0Z.js → textarea-BqIcQ24a.js} +1 -1
- package/dist/client/assets/thread-analytics-CsSdT5az.js +1 -0
- package/dist/client/assets/thread-button-CycuvBQ2.js +1 -0
- package/dist/client/assets/{thread-intent-Cxso0qKW.js → thread-intent-Dkew51FR.js} +4 -4
- package/dist/client/assets/thread-route-BhC2i0VX.js +1 -0
- package/dist/client/assets/thread-route-VDZP73-c.js +1 -0
- package/dist/client/assets/thread-sheet-body-D66PmCTc.js +1 -0
- package/dist/client/assets/time-range-picker-PWsm0WiC.js +1 -0
- package/dist/client/assets/{toggle-group-BFX-9eHs.js → toggle-group-DlaKauZK.js} +1 -1
- package/dist/client/assets/{tool-namespace-BHB8Go32.js → tool-namespace-BqgKCylT.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-D9aCXzS4.js → toolbar-icon-button-uADDhC14.js} +1 -1
- package/dist/client/assets/{tooltip-BULKkf4A.js → tooltip-K3E8D0ro.js} +1 -1
- package/dist/client/assets/{tooltipContext-1NNpJuJd.js → tooltipContext-BRcqEDXN.js} +1 -1
- package/dist/client/assets/{track-CpjpKs1v.js → track-CP2DG_55.js} +1 -1
- package/dist/client/assets/{types-Blm6OQRg.js → types-DcgxOiad.js} +3 -3
- package/dist/client/assets/{url-slug-d-Er1jOR.js → url-slug-DhfDl2ps.js} +1 -1
- package/dist/client/assets/{usage-stats-Dqycj-p-.js → usage-stats-BxwGMEO8.js} +8 -8
- package/dist/client/assets/use-ai-providers-RQRNdq_e.js +1 -0
- package/dist/client/assets/use-automations-Ca5X-jRM.js +1 -0
- package/dist/client/assets/{use-autosave-DBCPQM6l.js → use-autosave-CJc5IdX2.js} +1 -1
- package/dist/client/assets/use-chat-layout-state-DtHzBS8D.js +1 -0
- package/dist/client/assets/use-chat-navigation-CVp0n3Im.js +1 -0
- package/dist/client/assets/{use-clock-tick-DGTQe72H.js → use-clock-tick-DpFEAg9e.js} +1 -1
- package/dist/client/assets/use-connect-companion-CtkvmHzJ.js +1 -0
- package/dist/client/assets/use-connection-Bt-E6mI8.js +1 -0
- package/dist/client/assets/{use-copy-CRIUfo35.js → use-copy-CnGdfZZq.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-DzmQH3J8.js → use-create-virtual-mcp-DSPEp1ij.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-DIokBBqe.js → use-date-fns-locale-CoQZHHDk.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-BRSYFOGW.js → use-debounced-autosave-D9QlyCIh.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DCB8Le0h.js → use-debounced-value-BUXOxoNR.js} +1 -1
- package/dist/client/assets/use-deco-credits-D1Zzfqcx.js +1 -0
- package/dist/client/assets/{use-decopilot-events-uItZ_pJe.js → use-decopilot-events-BlbrCauc.js} +1 -1
- package/dist/client/assets/use-delete-connection-BHcEA-CR.js +1 -0
- package/dist/client/assets/{use-deployment-admin-BSf-NdBG.js → use-deployment-admin-Bep6HJdp.js} +1 -1
- package/dist/client/assets/use-ensure-project-folder-CqnXJXRD.js +1 -0
- package/dist/client/assets/{use-fast-preview-draft-url-8LcTSnsj.js → use-fast-preview-draft-url-CGzNCC1A.js} +1 -1
- package/dist/client/assets/use-file-configs-BPwg0FRs.js +1 -0
- package/dist/client/assets/{use-infinite-scroll-B02yfFGd.js → use-infinite-scroll-DGijCA4m.js} +1 -1
- package/dist/client/assets/use-join-requests-DSEFov6n.js +1 -0
- package/dist/client/assets/use-main-panel-tabs-OrkHtB0p.js +1 -0
- package/dist/client/assets/use-mcp-auth-status-DQxUdxan.js +1 -0
- package/dist/client/assets/{use-mcp-client-MUIIizLf.js → use-mcp-client-BzoSbdXu.js} +4 -4
- package/dist/client/assets/{use-mcp-prompts-C3siW74f.js → use-mcp-prompts-C6OXhadi.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CPLGkZB5.js → use-mcp-tools-D_8Ajj_N.js} +1 -1
- package/dist/client/assets/use-members-BuywckX1.js +1 -0
- package/dist/client/assets/{use-mobile-DF1FX6Xv.js → use-mobile-C8-RuCPF.js} +1 -1
- package/dist/client/assets/use-navigate-to-agent-DLNrFLDT.js +1 -0
- package/dist/client/assets/use-new-blocks-editor-Jqd7-2D9.js +1 -0
- package/dist/client/assets/{use-open-billing-url-CqJ0vDkP.js → use-open-billing-url-xKTM1AUW.js} +1 -1
- package/dist/client/assets/use-org-auth-client-B6LnSeUd.js +1 -0
- package/dist/client/assets/use-org-fs-DErltq5P.js +1 -0
- package/dist/client/assets/use-org-repo-syncs-DMFEDOzK.js +1 -0
- package/dist/client/assets/{use-org-sso-BEGhJLya.js → use-org-sso-sw3on3hq.js} +1 -1
- package/dist/client/assets/use-organization-roles-DjUuzQZu.js +1 -0
- package/dist/client/assets/use-organization-settings-BHelWCQF.js +1 -0
- package/dist/client/assets/{use-panel-navigate-C4UE8Qkr.js → use-panel-navigate-BLjJq7A_.js} +1 -1
- package/dist/client/assets/{use-project-scope-BMVXwaQ4.js → use-project-scope-B9l8p85i.js} +1 -1
- package/dist/client/assets/use-releases-CsZsJd__.js +1 -0
- package/dist/client/assets/use-reports-diagnostic-CA8bVs4C.js +1 -0
- package/dist/client/assets/use-sandbox-events-C41kLIF6.js +2 -0
- package/dist/client/assets/use-secrets-Od0f7P_4.js +1 -0
- package/dist/client/assets/use-section-preview-base-CtsulJXk.js +1 -0
- package/dist/client/assets/use-tags-Df3tX30j.js +1 -0
- package/dist/client/assets/use-task-board-analytics-D3QeGKDt.js +1 -0
- package/dist/client/assets/{use-task-board-events-BDjHMnwS.js → use-task-board-events-DgHn2yeU.js} +1 -1
- package/dist/client/assets/use-task-board-item-prs-C9TWjRE5.js +1 -0
- package/dist/client/assets/use-task-board-items-DqDMBUiA.js +1 -0
- package/dist/client/assets/use-task-metadata-BGZgwqEP.js +1 -0
- package/dist/client/assets/{use-thread-analytics-DJQ2zz_B.js → use-thread-analytics-DpRLYYMv.js} +1 -1
- package/dist/client/assets/use-thread-outputs-Bd93hD9n.js +1 -0
- package/dist/client/assets/useInfiniteQuery-DCtX1Z2b.js +1 -0
- package/dist/client/assets/{useQueries-DKVO6hGe.js → useQueries-FiLem-Cr.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BY9PV9K3.js +1 -0
- package/dist/client/assets/{users-DbpeSClG.js → users-DDcsQE52.js} +1 -1
- package/dist/client/assets/{utils-Cxy1EsFU.js → utils-D-s8UffD.js} +1 -1
- package/dist/client/assets/variant-calendar-A2za84Mi.js +1 -0
- package/dist/client/assets/{variant-matcher-override-BD9nzwGm.js → variant-matcher-override-BQT0OBiv.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CVVPadaN.js → view-mode-toggle-CLajaG70.js} +1 -1
- package/dist/client/assets/{virtual-mcp-CYDFCAA6.js → virtual-mcp-BsaYLZxR.js} +1 -1
- package/dist/client/assets/{watch-sse-pool-BXtoXPGx.js → watch-sse-pool-Ckvo_uxI.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/server.js +633 -633
- package/package.json +1 -1
- package/dist/client/assets/LinkExternal01-CILXo-bC.js +0 -1
- package/dist/client/assets/X-DzPShgV5.js +0 -1
- package/dist/client/assets/add-connection-dialog-Eph5CbUo.js +0 -1
- package/dist/client/assets/agent-analytics-DSdixv-f.js +0 -2
- package/dist/client/assets/agent-app-CT6U3s2r.js +0 -1
- package/dist/client/assets/agent-assets-G93-pOM9.js +0 -1
- package/dist/client/assets/agent-automation-DP6Bv0AB.js +0 -20
- package/dist/client/assets/agent-automations-YDqRnDcc.js +0 -1
- package/dist/client/assets/agent-connect-sources-CSrFX52j.js +0 -1
- package/dist/client/assets/agent-deck-D9Bphszm.js +0 -1
- package/dist/client/assets/agent-e2e-k9wCqssu.js +0 -1
- package/dist/client/assets/agent-experiments-CPSBbmYr.js +0 -1
- package/dist/client/assets/agent-file-BAkSJWMw.js +0 -1
- package/dist/client/assets/agent-hosting-B1Ag0zD8.js +0 -1
- package/dist/client/assets/agent-icon-CnnNyirr.js +0 -1
- package/dist/client/assets/agent-library-Ch3sHhuh.js +0 -1
- package/dist/client/assets/agent-library-file-Bq6m6SHP.js +0 -1
- package/dist/client/assets/agent-monitor-DyddEd79.js +0 -1
- package/dist/client/assets/agent-overview-BlP2a40h.js +0 -1
- package/dist/client/assets/agent-settings-CaxlA04S.js +0 -1
- package/dist/client/assets/agent-site-editor-code-D0j_GVVh.js +0 -2
- package/dist/client/assets/agent-view-UQmbv7nk.js +0 -1
- package/dist/client/assets/agents-list-CJcm3Kq8.js +0 -1
- package/dist/client/assets/api-keys-BjTJSB_i.js +0 -1
- package/dist/client/assets/api-keys-BrfzhtIS.js +0 -1
- package/dist/client/assets/app-editor-CJudcxBz.js +0 -1
- package/dist/client/assets/asset-utils-Cdgz7yau.js +0 -1
- package/dist/client/assets/auth-entry-BUqhj_6T.js +0 -1
- package/dist/client/assets/authenticate-and-persist-oauth-eDHShxj5.js +0 -1
- package/dist/client/assets/automation-runs-BZA4OsIt.js +0 -1
- package/dist/client/assets/automations-DpWIQ3oV.js +0 -1
- package/dist/client/assets/autosend-BQ3F90GX.js +0 -1
- package/dist/client/assets/buckets-AVx7AXso.js +0 -1
- package/dist/client/assets/capability-load-error-BVlvKXjS.js +0 -1
- package/dist/client/assets/category-editor-B-jccGXu.js +0 -1
- package/dist/client/assets/chat-draft-CYy-Qv-a.js +0 -1
- package/dist/client/assets/choose-editor-BDo9cuNm.js +0 -1
- package/dist/client/assets/claim-phase-copy-DG8E1-gc.js +0 -1
- package/dist/client/assets/collection-detail-CBqQPzi0.js +0 -1
- package/dist/client/assets/collection-display-button-XaptFv9u.js +0 -1
- package/dist/client/assets/column-rules-Bq3eiowV.js +0 -3
- package/dist/client/assets/command-Doiz3O29.js +0 -1
- package/dist/client/assets/config-B01oZvpJ.js +0 -1
- package/dist/client/assets/connect-layout-CoxrwG6t.js +0 -1
- package/dist/client/assets/connection-card-Cvk5T5vt.js +0 -1
- package/dist/client/assets/connection-detail-BRdQkO7d.js +0 -1
- package/dist/client/assets/connection-form-helpers-D4Q7rLyt.js +0 -1
- package/dist/client/assets/connections-C8qSBDCe.js +0 -1
- package/dist/client/assets/context-Bt7kDQzj.js +0 -1
- package/dist/client/assets/create-organization-dialog-D-t_ZE2o.js +0 -1
- package/dist/client/assets/daily-pulse-DYPs4tl1.js +0 -1
- package/dist/client/assets/dialog-DRpbbWU1.js +0 -1
- package/dist/client/assets/discover-3ATGdKP8.js +0 -1
- package/dist/client/assets/domain-settings-C4-yAgIW.js +0 -1
- package/dist/client/assets/feature-paywall-0RYA-1Op.js +0 -1
- package/dist/client/assets/file-explorer-Cyg7RguR.js +0 -2
- package/dist/client/assets/file-share-button-C8ZBUx_e.js +0 -3
- package/dist/client/assets/flat-project-BpQGs-gN.js +0 -1
- package/dist/client/assets/general-B3jgLFML.js +0 -1
- package/dist/client/assets/home-DYCk_i5V.js +0 -1
- package/dist/client/assets/index-Cx0uPPmh.js +0 -1
- package/dist/client/assets/index-qeM6EfxB.js +0 -1
- package/dist/client/assets/infra-billing-BFh6IlFL.js +0 -1
- package/dist/client/assets/input-B0doV0os.js +0 -1
- package/dist/client/assets/input-BQ74PHN6.js +0 -1
- package/dist/client/assets/jira-icon-C1bLqdEg.js +0 -1
- package/dist/client/assets/legacy-agents-deep-BBjNU_wv.js +0 -1
- package/dist/client/assets/library-CVuXHyjV.js +0 -1
- package/dist/client/assets/login-DNhk4MX6.js +0 -1
- package/dist/client/assets/mcp-oauth-C5T-IVs8.js +0 -1
- package/dist/client/assets/members-BftWOm2t.js +0 -1
- package/dist/client/assets/mustache-D-VzFUJG.js +0 -4
- package/dist/client/assets/new-project-dialog-CXEwhrv6.js +0 -1
- package/dist/client/assets/onboarding-BisuojYF.js +0 -1
- package/dist/client/assets/openai-conversation-BICNFmxp.js +0 -3
- package/dist/client/assets/optimistic-project-sidebar-views-BINKTU3_.js +0 -1
- package/dist/client/assets/orgs-DCjydoUZ.js +0 -1
- package/dist/client/assets/pair-knnOGTuF.js +0 -47
- package/dist/client/assets/plan-ladder-DlpzxobM.js +0 -1
- package/dist/client/assets/post-calendar-3X9xGSKe.js +0 -1
- package/dist/client/assets/post-editor-BS-N2LHp.js +0 -2
- package/dist/client/assets/preview-content-CWMTMNmp.js +0 -1
- package/dist/client/assets/preview-dialog-CmtjgV1o.js +0 -1
- package/dist/client/assets/product-picker-dialog-904WCGJu.js +0 -1
- package/dist/client/assets/profile-aIUaVWtC.js +0 -1
- package/dist/client/assets/project-app-view-ChZmhZ13.js +0 -1
- package/dist/client/assets/project-feed-t8IHFF-d.js +0 -1
- package/dist/client/assets/project-reports-BF24m5b-.js +0 -1
- package/dist/client/assets/project-tasks-Wmmy6hRq.js +0 -1
- package/dist/client/assets/projects-CxEhyr52.js +0 -1
- package/dist/client/assets/prompts-Cad3gM_K.js +0 -1
- package/dist/client/assets/record-editor-Cu0LbDVm.js +0 -1
- package/dist/client/assets/redirect-editor-B65ggNrM.js +0 -1
- package/dist/client/assets/reports-B3_ASbsZ.js +0 -1
- package/dist/client/assets/reports-onboarding-DzC8BMPj.js +0 -1
- package/dist/client/assets/reports-tab-flC8aPMq.js +0 -2
- package/dist/client/assets/repositories-BRVHvY5X.js +0 -1
- package/dist/client/assets/repository-binding-DpX8yLri.js +0 -1
- package/dist/client/assets/repository-import-picker-CO5nKRxA.js +0 -1
- package/dist/client/assets/repository-picker-C2HnHK1A.js +0 -1
- package/dist/client/assets/require-capability-Do1773Hs.js +0 -1
- package/dist/client/assets/reset-password-Dh0gWEkU.js +0 -1
- package/dist/client/assets/review-settings-C9jJxNAv.js +0 -1
- package/dist/client/assets/roles-BOnFVbcr.js +0 -1
- package/dist/client/assets/route-Bvv7axF1.js +0 -1
- package/dist/client/assets/route-DNZvy3kt.js +0 -1
- package/dist/client/assets/route-DdkXah7z.js +0 -1
- package/dist/client/assets/sandbox-lifecycle-context-BJE24h7z.js +0 -1
- package/dist/client/assets/search-toggle-Br3rmrbk.js +0 -1
- package/dist/client/assets/secrets-t0Aczfol.js +0 -1
- package/dist/client/assets/sections-editor-CEBB7XW8.js +0 -1
- package/dist/client/assets/select-model-ER05JMp8.js +0 -1
- package/dist/client/assets/seo-editor-DHXJaGsL.js +0 -1
- package/dist/client/assets/settings-tab-CTiWw7bm.js +0 -4
- package/dist/client/assets/sheet-Gpaizien.js +0 -1
- package/dist/client/assets/shell-layout-B0-NcUCt.js +0 -1
- package/dist/client/assets/skills-BHEjjAUu.js +0 -1
- package/dist/client/assets/sso-Dgg4nP6H.js +0 -1
- package/dist/client/assets/synced-repos-B1QJsQos.js +0 -1
- package/dist/client/assets/taskboard-analytics-C5y5DQZh.js +0 -1
- package/dist/client/assets/tasks-B6PT7ia3.js +0 -1
- package/dist/client/assets/thread-analytics-5o8rlytc.js +0 -1
- package/dist/client/assets/thread-button-DwjwmudD.js +0 -1
- package/dist/client/assets/thread-route-BcAw7-v0.js +0 -1
- package/dist/client/assets/thread-route-CW2be8Kx.js +0 -1
- package/dist/client/assets/thread-sheet-body-B6geJ00B.js +0 -1
- package/dist/client/assets/time-range-picker-Bu58tMJr.js +0 -1
- package/dist/client/assets/use-ai-providers-C1bb7SnA.js +0 -1
- package/dist/client/assets/use-automations-zlAoF9SL.js +0 -1
- package/dist/client/assets/use-chat-layout-state-DDDFQN6Y.js +0 -1
- package/dist/client/assets/use-chat-navigation-BF9opsK8.js +0 -1
- package/dist/client/assets/use-connect-companion-DcLSyBxl.js +0 -1
- package/dist/client/assets/use-connection-5LUEsGlJ.js +0 -1
- package/dist/client/assets/use-deco-credits-BgPf-IIH.js +0 -1
- package/dist/client/assets/use-delete-connection-BLZ4VLoa.js +0 -1
- package/dist/client/assets/use-ensure-project-folder-BUpbRP81.js +0 -1
- package/dist/client/assets/use-file-configs-By7UB_YZ.js +0 -1
- package/dist/client/assets/use-join-requests-Cb1ihQM1.js +0 -1
- package/dist/client/assets/use-main-panel-tabs-xXeWrfnF.js +0 -1
- package/dist/client/assets/use-mcp-auth-status-B-gyzfqG.js +0 -1
- package/dist/client/assets/use-members-vjX9lJhj.js +0 -1
- package/dist/client/assets/use-navigate-to-agent-p65xWFDF.js +0 -1
- package/dist/client/assets/use-new-blocks-editor-DZnaAqkX.js +0 -1
- package/dist/client/assets/use-org-auth-client-CuZ7oLTb.js +0 -1
- package/dist/client/assets/use-org-fs-DPxqVRhB.js +0 -1
- package/dist/client/assets/use-org-repo-syncs-BG16MD5Q.js +0 -1
- package/dist/client/assets/use-organization-roles-DOROP0yS.js +0 -1
- package/dist/client/assets/use-organization-settings-CB0-LYjl.js +0 -1
- package/dist/client/assets/use-releases-DO5M1M4y.js +0 -1
- package/dist/client/assets/use-reports-diagnostic-C3LmmHKo.js +0 -1
- package/dist/client/assets/use-sandbox-events-E2bKOQlM.js +0 -2
- package/dist/client/assets/use-secrets-C2sdbGJM.js +0 -1
- package/dist/client/assets/use-section-preview-base-26sYGS0B.js +0 -1
- package/dist/client/assets/use-tags-CFN9IU6i.js +0 -1
- package/dist/client/assets/use-task-board-analytics-BmwRnCgb.js +0 -1
- package/dist/client/assets/use-task-board-item-prs-DY1JtBFR.js +0 -1
- package/dist/client/assets/use-task-board-items-DUgOnZAe.js +0 -1
- package/dist/client/assets/use-task-metadata-BCqsxDXx.js +0 -1
- package/dist/client/assets/use-thread-outputs-DfIiLAuO.js +0 -1
- package/dist/client/assets/useInfiniteQuery-eYXaZ_bo.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-i_drPWHc.js +0 -1
- package/dist/client/assets/variant-calendar-BR3Tvz7m.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as D,
|
|
1
|
+
import{r as D,b1 as rt,c as W,b as ie,j as i,et as Ee,eu as Oe,ev as We,at,a2 as ye,aa as ke,o as we,aB as Be,aC as Ve,e as Se,I as fe,aD as He,aE as ge,K as pe,t as le,B as re,w as qe,y as ne,D as ct,q as dt,s as ht,v as ut,aK as mt,h as Pe,l as ve,b2 as G,d as ft,H as pt,a4 as xt}from"./index-P5CXrVFm.js";import{C as gt}from"./checkbox-C1PTdkvC.js";import{S as vt,b as bt,a as yt,d as jt,c as St}from"./select-BTTyWh-3.js";import{i as Ye}from"./ArrowLeft-CYC7J9yW.js";import{i as Nt}from"./ChevronSelectorVertical-DFKb4uq6.js";import{i as kt}from"./Key01-CZzgEM3b.js";import{i as Ge,t as wt,e as _t,f as It,d as Ct,a as Mt,s as Et}from"./Tool01-BD6R-D4L.js";import{i as Xe}from"./SearchMd-8jxREbgM.js";import{e as _e,u as Ot,a as Pt,c as At}from"./use-ai-providers-RQRNdq_e.js";import{c as Tt}from"./chat-context-By_4gW6u.js";import{g as Ie}from"./ai-providers-logos-DD3qZ33J.js";import{i as Lt}from"./Monitor01-Cp_HdXFf.js";import{i as Ft}from"./AlertCircle--xQnBD7d.js";import{A as zt}from"./avatar-DbpOZfYL.js";import{s as Qe,a as Rt}from"./Image01-iHUacVtP.js";import{t as Ae}from"./ChevronUp-DZuLpYB1.js";function me(n,e,t){let s=t.initialDeps??[],o,l=!0;function r(){var c,h,d;let a;t.key&&((c=t.debug)!=null&&c.call(t))&&(a=Date.now());const m=n();if(!(m.length!==s.length||m.some((f,v)=>s[v]!==f)))return o;s=m;let u;if(t.key&&((h=t.debug)!=null&&h.call(t))&&(u=Date.now()),o=e(...m),t.key&&((d=t.debug)!=null&&d.call(t))){const f=Math.round((Date.now()-a)*100)/100,v=Math.round((Date.now()-u)*100)/100,k=v/16,b=(y,_)=>{for(y=String(y);y.length<_;)y=" "+y;return y};console.info(`%c⏱ ${b(v,5)} /${b(f,5)} ms`,`
|
|
2
2
|
font-size: .6rem;
|
|
3
3
|
font-weight: bold;
|
|
4
|
-
color: hsl(${Math.max(0,Math.min(120-120*k,120))}deg 100% 31%);`,t?.key)}return t?.onChange&&!(l&&t.skipInitialOnChange)&&t.onChange(o),l=!1,o}return r.updateDeps=c=>{s=c},r}function Te(n,e){if(n===void 0)throw new Error("Unexpected undefined");return n}const Kt=(n,e)=>Math.abs(n-e)<1.01,Dt=(n,e,t)=>{let s;return function(...o){n.clearTimeout(s),s=n.setTimeout(()=>e.apply(this,o),t)}},Le=n=>{const{offsetWidth:e,offsetHeight:t}=n;return{width:e,height:t}},$t=n=>n,Ut=n=>{const e=Math.max(n.startIndex-n.overscan,0),t=Math.min(n.endIndex+n.overscan,n.count-1),s=[];for(let o=e;o<=t;o++)s.push(o);return s},Wt=(n,e)=>{const t=n.scrollElement;if(!t)return;const s=n.targetWindow;if(!s)return;const o=r=>{const{width:c,height:h}=r;e({width:Math.round(c),height:Math.round(h)})};if(o(Le(t)),!s.ResizeObserver)return()=>{};const l=new s.ResizeObserver(r=>{const c=()=>{const h=r[0];if(h?.borderBoxSize){const d=h.borderBoxSize[0];if(d){o({width:d.inlineSize,height:d.blockSize});return}}o(Le(t))};n.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(c):c()});return l.observe(t,{box:"border-box"}),()=>{l.unobserve(t)}},Fe={passive:!0},Re=typeof window>"u"?!0:"onscrollend"in window,Bt=(n,e)=>{const t=n.scrollElement;if(!t)return;const s=n.targetWindow;if(!s)return;let o=0;const l=n.options.useScrollendEvent&&Re?()=>{}:Dt(s,()=>{e(o,!1)},n.options.isScrollingResetDelay),r=a=>()=>{const{horizontal:m,isRtl:p}=n.options;o=m?t.scrollLeft*(p&&-1||1):t.scrollTop,l(),e(o,a)},c=r(!0),h=r(!1);t.addEventListener("scroll",c,Fe);const d=n.options.useScrollendEvent&ℜreturn d&&t.addEventListener("scrollend",h,Fe),()=>{t.removeEventListener("scroll",c),d&&t.removeEventListener("scrollend",h)}},Vt=(n,e,t)=>{if(e?.borderBoxSize){const s=e.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}return n[t.options.horizontal?"offsetWidth":"offsetHeight"]},Ht=(n,{adjustments:e=0,behavior:t},s)=>{var o,l;const r=n+e;(l=(o=s.scrollElement)==null?void 0:o.scrollTo)==null||l.call(o,{[s.options.horizontal?"left":"top"]:r,behavior:t})};class qt{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var t,s,o;return((o=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:o.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(o=>{o.forEach(l=>{const r=()=>{const c=l.target,h=this.indexFromElement(c);if(!c.isConnected){this.observer.unobserve(c);return}this.shouldMeasureDuringScroll(h)&&this.resizeItem(h,this.options.measureElement(c,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()})}));return{disconnect:()=>{var o;(o=s())==null||o.disconnect(),t=null},observe:o=>{var l;return(l=s())==null?void 0:l.observe(o,{box:"border-box"})},unobserve:o=>{var l;return(l=s())==null?void 0:l.unobserve(o)}}})(),this.range=null,this.setOptions=t=>{Object.entries(t).forEach(([s,o])=>{typeof o>"u"&&delete t[s]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:$t,rangeExtractor:Ut,onChange:()=>{},measureElement:Vt,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...t}},this.notify=t=>{var s,o;(o=(s=this.options).onChange)==null||o.call(s,this,t)},this.maybeNotify=me(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(o=>{this.observer.observe(o)}),this.unsubs.push(this.options.observeElementRect(this,o=>{this.scrollRect=o,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(o,l)=>{this.scrollAdjustments=0,this.scrollDirection=l?this.getScrollOffset()<o?"forward":"backward":null,this.scrollOffset=o,this.isScrolling=l,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{const o=new Map,l=new Map;for(let r=s-1;r>=0;r--){const c=t[r];if(o.has(c.lane))continue;const h=l.get(c.lane);if(h==null||c.end>h.end?l.set(c.lane,c):c.end<h.end&&o.set(c.lane,!0),o.size===this.options.lanes)break}return l.size===this.options.lanes?Array.from(l.values()).sort((r,c)=>r.end===c.end?r.index-c.index:r.end-c.end)[0]:void 0},this.getMeasurementOptions=me(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,s,o,l,r,c,h)=>(this.prevLanes!==void 0&&this.prevLanes!==c&&(this.lanesChangedFlag=!0),this.prevLanes=c,this.pendingMeasuredCacheIndexes=[],{count:t,paddingStart:s,scrollMargin:o,getItemKey:l,enabled:r,lanes:c,laneAssignmentMode:h}),{key:!1}),this.getMeasurements=me(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:t,paddingStart:s,scrollMargin:o,getItemKey:l,enabled:r,lanes:c,laneAssignmentMode:h},d)=>{if(!r)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const u of this.laneAssignments.keys())u>=t&&this.laneAssignments.delete(u);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(u=>{this.itemSizeCache.set(u.key,u.size)}));const a=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1);const m=this.measurementsCache.slice(0,a),p=new Array(c).fill(void 0);for(let u=0;u<a;u++){const f=m[u];f&&(p[f.lane]=u)}for(let u=a;u<t;u++){const f=l(u),v=this.laneAssignments.get(u);let k,b;const y=h==="estimate"||d.has(f);if(v!==void 0&&this.options.lanes>1){k=v;const I=p[k],g=I!==void 0?m[I]:void 0;b=g?g.end+this.options.gap:s+o}else{const I=this.options.lanes===1?m[u-1]:this.getFurthestMeasurement(m,u);b=I?I.end+this.options.gap:s+o,k=I?I.lane:u%this.options.lanes,this.options.lanes>1&&y&&this.laneAssignments.set(u,k)}const _=d.get(f),C=typeof _=="number"?_:this.options.estimateSize(u),E=b+C;m[u]={index:u,start:b,size:C,end:E,key:f,lane:k},p[k]=u}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=me(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,o,l)=>this.range=t.length>0&&s>0?Yt({measurements:t,outerSize:s,scrollOffset:o,lanes:l}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=me(()=>{let t=null,s=null;const o=this.calculateRange();return o&&(t=o.startIndex,s=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,o,l,r)=>l===null||r===null?[]:t({startIndex:l,endIndex:r,overscan:s,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,o=t.getAttribute(s);return o?parseInt(o,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const o=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(o!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,o-l),c=Math.min(this.options.count-1,o+l);return t>=r&&t<=c}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((r,c)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(c))});return}const s=this.indexFromElement(t),o=this.options.getItemKey(s),l=this.elementsCache.get(o);l!==t&&(l&&this.observer.unobserve(l),this.observer.observe(t),this.elementsCache.set(o,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var o;const l=this.measurementsCache[t];if(!l)return;const r=this.itemSizeCache.get(l.key)??l.size,c=s-r;c!==0&&(((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(l,c,this):l.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=c,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(l.index),this.itemSizeCache=new Map(this.itemSizeCache.set(l.key,s)),this.notify(!1))},this.getVirtualItems=me(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{const o=[];for(let l=0,r=t.length;l<r;l++){const c=t[l],h=s[c];o.push(h)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const s=this.getMeasurements();if(s.length!==0)return Te(s[Je(0,s.length-1,o=>Te(s[o]).start,t)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(t,s,o=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),r=this.getScrollOffset();s==="auto"&&(s=t>=r+l?"end":"start"),s==="center"?t+=(o-l)/2:s==="end"&&(t-=l);const c=this.getMaxScrollOffset();return Math.max(Math.min(c,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const o=this.getSize(),l=this.getScrollOffset(),r=this.measurementsCache[t];if(!r)return;if(s==="auto")if(r.end>=l+o-this.options.scrollPaddingEnd)s="end";else if(r.start<=l+this.options.scrollPaddingStart)s="start";else return[l,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const c=s==="end"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(c,s,r.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:o="auto"}={})=>{const l=this.getOffsetForAlignment(t,s),r=this.now();this.scrollState={index:null,align:s,behavior:o,startedAt:r,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:o="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const l=this.getOffsetForIndex(t,s);if(!l)return;const[r,c]=l,h=this.now();this.scrollState={index:t,align:c,behavior:o,startedAt:h,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const o=this.getScrollOffset()+t,l=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:l,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var t;const s=this.getMeasurements();let o;if(s.length===0)o=this.options.paddingStart;else if(this.options.lanes===1)o=((t=s[s.length-1])==null?void 0:t.end)??0;else{const l=Array(this.options.lanes).fill(null);let r=s.length-1;for(;r>=0&&l.some(c=>c===null);){const c=s[r];l[c.lane]===null&&(l[c.lane]=c.end),r--}o=Math.max(...l.filter(c=>c!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(t,{adjustments:s,behavior:o})=>{this.options.scrollToFn(t,{behavior:o,adjustments:s},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=s?s[0]:this.scrollState.lastTargetOffset,l=1,r=o!==this.scrollState.lastTargetOffset;if(!r&&Kt(o,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.scrollState=null;return}}else this.scrollState.stableFrames=0,r&&(this.scrollState.lastTargetOffset=o,this.scrollState.behavior="auto",this._scrollToOffset(o,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const Je=(n,e,t,s)=>{for(;n<=e;){const o=(n+e)/2|0,l=t(o);if(l<s)n=o+1;else if(l>s)e=o-1;else return o}return n>0?n-1:0};function Yt({measurements:n,outerSize:e,scrollOffset:t,lanes:s}){const o=n.length-1,l=h=>n[h].start;if(n.length<=s)return{startIndex:0,endIndex:o};let r=Je(0,o,l,t),c=r;if(s===1)for(;c<o&&n[c].end<t+e;)c++;else if(s>1){const h=Array(s).fill(0);for(;c<o&&h.some(a=>a<t+e);){const a=n[c];h[a.lane]=a.end,c++}const d=Array(s).fill(t+e);for(;r>=0&&d.some(a=>a>=t);){const a=n[r];d[a.lane]=a.start,r--}r=Math.max(0,r-r%s),c=Math.min(o,c+(s-1-c%s))}return{startIndex:r,endIndex:c}}const ze=typeof document<"u"?D.useLayoutEffect:D.useEffect;function Gt({useFlushSync:n=!0,...e}){const t=D.useReducer(()=>({}),{})[1],s={...e,onChange:(l,r)=>{var c;n&&r?rt.flushSync(t):t(),(c=e.onChange)==null||c.call(e,l,r)}},[o]=D.useState(()=>new qt(s));return o.setOptions(s),ze(()=>o._didMount(),[]),ze(()=>o._willUpdate()),o}function Xt(n){return Gt({observeElementRect:Wt,observeElementOffset:Bt,scrollToFn:Ht,...n})}const Ze=[{id:"openai",name:"OpenAI",description:"GPT-4, GPT-5, and other OpenAI models",logo:"https://decoims.com/decocms/b51001ef-ae58-4db4-8a75-9e6d2df2dd8e/openai.png",baseUrlPlaceholder:"https://api.openai.com/v1",defaultBaseUrl:"https://api.openai.com/v1",apiKeyRecommended:!0,helpText:"Use your OpenAI API key (starts with sk-)."},{id:"litellm",name:"LiteLLM",description:"Connect to a LiteLLM gateway your team manages",logo:"https://decoims.com/decocms/e974ae05-ad64-4b4a-8444-d9705f019b85/litellm.png",baseUrlPlaceholder:"http://localhost:4000",apiKeyRecommended:!0,helpText:"Point at your LiteLLM proxy. The base URL should be the root of the proxy (we'll append /v1)."},{id:"ollama",name:"Ollama",description:"Run open-source models on your own computer",logo:"https://decoims.com/decocms/2bb2f822-5288-4b7c-a541-dcbef76525a0/ollama.png",baseUrlPlaceholder:"http://localhost:11434",apiKeyRecommended:!1,helpText:"Ollama exposes /v1 by default — no API key required for local use."},{id:"lm-studio",name:"LM Studio",description:"Open models running through LM Studio",logo:"https://decoims.com/decocms/9f0ab1a9-d2d5-4f3e-9de0-aadd4926428d/lmstudio.webp",baseUrlPlaceholder:"http://localhost:1234",apiKeyRecommended:!1,helpText:"Start the local server in LM Studio, then paste its base URL here."},{id:"vllm",name:"vLLM",description:"Connect to your team's self-hosted vLLM server",logo:"https://decoims.com/decocms/b6c60e4f-a4aa-443c-981f-ad0f31640e22/vllm.png",baseUrlPlaceholder:"http://localhost:8000",apiKeyRecommended:!1}];function be(n){if(n)return Ze.find(e=>e.id===n)}const Ke=4;function xe(n){const e=W.c(8),{logo:t,name:s,description:o,onClick:l}=n;let r;e[0]!==t||e[1]!==s?(r=t?i.jsx("img",{src:t,alt:s,className:"size-8 rounded-md object-contain dark:bg-white dark:p-0.5"}):i.jsx(Rt,{fallback:s.charAt(0),className:"size-8 bg-primary/10 text-primary"}),e[0]=t,e[1]=s,e[2]=r):r=e[2];let c;return e[3]!==o||e[4]!==s||e[5]!==l||e[6]!==r?(c=i.jsx(We,{onClick:l,icon:r,title:s,description:o}),e[3]=o,e[4]=s,e[5]=l,e[6]=r,e[7]=c):c=e[7],c}function et(n){const e=W.c(38),{providers:t,onSelect:s,onShowAll:o}=n,l=ie();let r;e[0]!==t?(r=t.find(es),e[0]=t,e[1]=r):r=e[1];const c=r;let h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h={openrouter:0,llmapi:1,anthropic:2,google:3},e[2]=h):h=e[2];const d=h;let a;if(e[3]!==s||e[4]!==t||e[5]!==l){let C;e[7]===Symbol.for("react.memo_cache_sentinel")?(C=(j,P)=>{const A=d[j.id]??Number.MAX_SAFE_INTEGER,L=d[P.id]??Number.MAX_SAFE_INTEGER;return A-L},e[7]=C):C=e[7];const E=t.filter(Zt).sort(C);let I;e[8]!==t?(I=t.find(Jt),e[8]=t,e[9]=I):I=e[9];const g=I;let S;e[10]===Symbol.for("react.memo_cache_sentinel")?(S=be("openai"),e[10]=S):S=e[10];const N=S;let M;e[11]!==s?(M=j=>i.jsx(xe,{logo:j.logo,name:j.name,description:j.description,onClick:()=>s({kind:"provider",provider:j})},j.id),e[11]=s,e[12]=M):M=e[12];let x;e[13]!==s||e[14]!==g?(x=g&&N?[i.jsx(xe,{logo:N.logo,name:N.name,description:N.description,onClick:()=>s({kind:"openai-compatible",provider:g,preset:N})},N.id)]:[],e[13]=s,e[14]=g,e[15]=x):x=e[15];let w;e[16]!==s||e[17]!==g||e[18]!==l?(w=g?[...Ze.filter(Qt).map(j=>i.jsx(xe,{logo:j.logo,name:j.name,description:j.description,onClick:()=>s({kind:"openai-compatible",provider:g,preset:j})},j.id)),i.jsx(xe,{logo:g.logo,name:l("settings.aiProviders.customOpenAiCompatible"),description:l("settings.aiProviders.customOpenAiDescription"),onClick:()=>s({kind:"openai-compatible",provider:g,preset:null})},"custom")]:[],e[16]=s,e[17]=g,e[18]=l,e[19]=w):w=e[19],a=[...E.map(M),...x,...w],e[3]=s,e[4]=t,e[5]=l,e[6]=a}else a=e[6];const m=a,p=m.length-Ke,u=!!o&&p>0;let f;e[20]!==m||e[21]!==u?(f=u?m.slice(0,Ke):m,e[20]=m,e[21]=u,e[22]=f):f=e[22];const v=f;let k;e[23]!==c||e[24]!==s||e[25]!==l?(k=c&&i.jsx(Ee,{children:i.jsxs("div",{className:"relative rounded-xl border border-violet-400/30 bg-gradient-to-br from-violet-50/50 via-transparent to-lime-50/30 dark:from-violet-950/20 dark:to-lime-950/10 p-1.5",children:[i.jsx("div",{className:"absolute inset-0 rounded-xl bg-gradient-to-br from-violet-400/5 to-lime-400/5 pointer-events-none"}),i.jsx("p",{className:"text-xs font-medium text-special mb-1.5 px-2 pt-2 relative",children:l("settings.aiProviders.recommended")}),i.jsx(Oe,{className:"relative",children:i.jsx(xe,{logo:c.logo,name:c.name,description:c.description,onClick:()=>s({kind:"provider",provider:c})})})]})}),e[23]=c,e[24]=s,e[25]=l,e[26]=k):k=e[26];let b;e[27]!==p||e[28]!==o||e[29]!==u||e[30]!==l?(b=u&&i.jsx(We,{onClick:o,title:l(p===1?"settings.aiProviders.moreProvidersSingular":"settings.aiProviders.moreProvidersPlural",{count:p}),action:i.jsx(at,{size:16,className:"text-muted-foreground"})}),e[27]=p,e[28]=o,e[29]=u,e[30]=l,e[31]=b):b=e[31];let y;e[32]!==b||e[33]!==v?(y=i.jsx(Ee,{children:i.jsxs(Oe,{children:[v,b]})}),e[32]=b,e[33]=v,e[34]=y):y=e[34];let _;return e[35]!==k||e[36]!==y?(_=i.jsxs("div",{className:"flex flex-col gap-6",children:[k,y]}),e[35]=k,e[36]=y,e[37]=_):_=e[37],_}function Qt(n){return n.id!=="openai"}function Jt(n){return n.id==="openai-compatible"}function Zt(n){return n.id!=="deco"&&n.id!=="openai-compatible"}function es(n){return n.id==="deco"}function ts(n){return He({label:ge().optional(),apiKey:ge().min(1,n)})}function ss(n){const e=W.c(91),{providerId:t,onCancel:s,onSuccess:o}=n,{org:l}=ye(),r=ke(),c=we(),[h,d]=D.useState(!1),a=ie();let m;e[0]!==a?(m=Be(ts(a("settings.connectForms.apiKeyRequired"))),e[0]=a,e[1]=m):m=e[1];let p;e[2]===Symbol.for("react.memo_cache_sentinel")?(p={label:"",apiKey:""},e[2]=p):p=e[2];let u;e[3]!==m?(u={resolver:m,defaultValues:p},e[3]=m,e[4]=u):u=e[4];const{register:f,handleSubmit:v,formState:k}=Ve(u),{errors:b}=k;let y;e[5]!==t||e[6]!==r||e[7]!==a?(y=async se=>{await r.call("AI_PROVIDER_KEY_CREATE",{providerId:t,label:se.label||a("settings.connectForms.defaultKeyLabel"),apiKey:se.apiKey})},e[5]=t,e[6]=r,e[7]=a,e[8]=y):y=e[8];let _;e[9]!==o||e[10]!==l||e[11]!==c||e[12]!==a?(_=()=>{c.invalidateQueries({queryKey:pe.aiProviderKeys(l.id)}),c.invalidateQueries({queryKey:pe.aiProviders(l.id)}),le.success(a("settings.connectForms.keySavedSuccess")),o()},e[9]=o,e[10]=l,e[11]=c,e[12]=a,e[13]=_):_=e[13];let C;e[14]!==a?(C=se=>{le.error(a("settings.connectForms.failedSaveKey",{error:se.message}))},e[14]=a,e[15]=C):C=e[15];let E;e[16]!==y||e[17]!==_||e[18]!==C?(E={mutationFn:y,onSuccess:_,onError:C},e[16]=y,e[17]=_,e[18]=C,e[19]=E):E=e[19];const{mutate:I,isPending:g,error:S}=Se(E);let N;e[20]!==I?(N=se=>I(se),e[20]=I,e[21]=N):N=e[21];let M;e[22]!==v||e[23]!==N?(M=v(N),e[22]=v,e[23]=N,e[24]=M):M=e[24];let x;e[25]!==a?(x=a("settings.connectForms.labelField"),e[25]=a,e[26]=x):x=e[26];let w;e[27]!==x?(w=i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:x}),e[27]=x,e[28]=w):w=e[28];let j;e[29]!==a?(j=a("settings.connectForms.labelPlaceholder"),e[29]=a,e[30]=j):j=e[30];let P;e[31]!==f?(P=f("label"),e[31]=f,e[32]=P):P=e[32];let A;e[33]!==j||e[34]!==P?(A=i.jsx(fe,{placeholder:j,...P,className:"h-8 text-sm"}),e[33]=j,e[34]=P,e[35]=A):A=e[35];let L;e[36]!==w||e[37]!==A?(L=i.jsxs("div",{className:"space-y-1",children:[w,A]}),e[36]=w,e[37]=A,e[38]=L):L=e[38];let O;e[39]!==a?(O=a("settings.connectForms.apiKeyField"),e[39]=a,e[40]=O):O=e[40];let z;e[41]!==O?(z=i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:O}),e[41]=O,e[42]=z):z=e[42];const Y=h?"text":"password";let $;e[43]!==f?($=f("apiKey"),e[43]=f,e[44]=$):$=e[44];let X;e[45]!==Y||e[46]!==$?(X=i.jsx(fe,{type:Y,placeholder:"sk-...",...$,className:"ph-no-capture h-8 text-sm pr-8"}),e[45]=Y,e[46]=$,e[47]=X):X=e[47];let Z;e[48]!==h?(Z=()=>d(!h),e[48]=h,e[49]=Z):Z=e[49];let Q;e[50]!==h||e[51]!==a?(Q=a(h?"settings.connectForms.hideApiKey":"settings.connectForms.showApiKey"),e[50]=h,e[51]=a,e[52]=Q):Q=e[52];let B;e[53]!==h?(B=h?i.jsx(Ye,{size:14}):i.jsx(Qe,{size:14}),e[53]=h,e[54]=B):B=e[54];let V;e[55]!==Z||e[56]!==Q||e[57]!==B?(V=i.jsx("button",{type:"button",onClick:Z,"aria-label":Q,className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:B}),e[55]=Z,e[56]=Q,e[57]=B,e[58]=V):V=e[58];let ee;e[59]!==X||e[60]!==V?(ee=i.jsxs("div",{className:"relative",children:[X,V]}),e[59]=X,e[60]=V,e[61]=ee):ee=e[61];let H;e[62]!==b.apiKey?(H=b.apiKey&&i.jsx("p",{className:"text-xs text-destructive",children:b.apiKey.message}),e[62]=b.apiKey,e[63]=H):H=e[63];let q;e[64]!==z||e[65]!==ee||e[66]!==H?(q=i.jsxs("div",{className:"space-y-1",children:[z,ee,H]}),e[64]=z,e[65]=ee,e[66]=H,e[67]=q):q=e[67];let J;e[68]!==S?(J=S&&i.jsx("p",{className:"text-xs text-destructive",children:S.message}),e[68]=S,e[69]=J):J=e[69];let T;e[70]!==a?(T=a("settings.connectForms.cancel"),e[70]=a,e[71]=T):T=e[71];let F;e[72]!==g||e[73]!==s||e[74]!==T?(F=i.jsx(re,{type:"button",variant:"ghost",size:"sm",onClick:s,disabled:g,children:T}),e[72]=g,e[73]=s,e[74]=T,e[75]=F):F=e[75];let R;e[76]!==g||e[77]!==a?(R=a(g?"settings.connectForms.saving":"settings.connectForms.saveKey"),e[76]=g,e[77]=a,e[78]=R):R=e[78];let K;e[79]!==g||e[80]!==R?(K=i.jsx(re,{type:"submit",size:"sm",disabled:g,children:R}),e[79]=g,e[80]=R,e[81]=K):K=e[81];let U;e[82]!==F||e[83]!==K?(U=i.jsxs(Xe,{children:[F,K]}),e[82]=F,e[83]=K,e[84]=U):U=e[84];let te;return e[85]!==M||e[86]!==L||e[87]!==q||e[88]!==J||e[89]!==U?(te=i.jsxs("form",{onSubmit:M,className:"space-y-3",children:[L,q,J,U]}),e[85]=M,e[86]=L,e[87]=q,e[88]=J,e[89]=U,e[90]=te):te=e[90],te}function is(n){return He({label:ge().optional(),baseUrl:ge().min(1,n),apiKey:ge().optional()})}function ns(n){const e=W.c(109),{preset:t,onCancel:s,onSuccess:o}=n,{org:l}=ye(),r=ke(),c=we(),[h,d]=D.useState(!1),a=ie();let m;e[0]!==a?(m=Be(is(a("settings.connectForms.baseUrlRequired"))),e[0]=a,e[1]=m):m=e[1];const p=t?.defaultBaseUrl??"";let u;e[2]!==p?(u={label:"",baseUrl:p,apiKey:""},e[2]=p,e[3]=u):u=e[3];let f;e[4]!==m||e[5]!==u?(f={resolver:m,defaultValues:u},e[4]=m,e[5]=u,e[6]=f):f=e[6];const{register:v,handleSubmit:k,formState:b}=Ve(f),{errors:y}=b;let _;e[7]!==t||e[8]!==r?(_=async oe=>{const ot=JSON.stringify({baseUrl:oe.baseUrl,apiKey:oe.apiKey||""});await r.call("AI_PROVIDER_KEY_CREATE",{providerId:"openai-compatible",label:oe.label||t?.name||oe.baseUrl,apiKey:ot,...t?{presetId:t.id}:{}})},e[7]=t,e[8]=r,e[9]=_):_=e[9];let C;e[10]!==o||e[11]!==l||e[12]!==c||e[13]!==a?(C=()=>{c.invalidateQueries({queryKey:pe.aiProviderKeys(l.id)}),c.invalidateQueries({queryKey:pe.aiProviders(l.id)}),le.success(a("settings.connectForms.connectionSavedSuccess")),o()},e[10]=o,e[11]=l,e[12]=c,e[13]=a,e[14]=C):C=e[14];let E;e[15]!==a?(E=oe=>{le.error(a("settings.connectForms.failedSaveConnection",{error:oe.message}))},e[15]=a,e[16]=E):E=e[16];let I;e[17]!==_||e[18]!==C||e[19]!==E?(I={mutationFn:_,onSuccess:C,onError:E},e[17]=_,e[18]=C,e[19]=E,e[20]=I):I=e[20];const{mutate:g,isPending:S,error:N}=Se(I);let M;e[21]!==t||e[22]!==a?(M=t?a("settings.connectForms.labelPlaceholderPreset",{name:t.name}):a("settings.connectForms.labelPlaceholderOpenAiCompatible"),e[21]=t,e[22]=a,e[23]=M):M=e[23];const x=M;let w;e[24]!==t?.baseUrlPlaceholder||e[25]!==a?(w=t?.baseUrlPlaceholder??a("settings.connectForms.baseUrlPlaceholder"),e[24]=t?.baseUrlPlaceholder,e[25]=a,e[26]=w):w=e[26];const j=w;let P;e[27]!==g?(P=oe=>g(oe),e[27]=g,e[28]=P):P=e[28];let A;e[29]!==k||e[30]!==P?(A=k(P),e[29]=k,e[30]=P,e[31]=A):A=e[31];let L;e[32]!==a?(L=a("settings.connectForms.labelField"),e[32]=a,e[33]=L):L=e[33];let O;e[34]!==L?(O=i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:L}),e[34]=L,e[35]=O):O=e[35];let z;e[36]!==v?(z=v("label"),e[36]=v,e[37]=z):z=e[37];let Y;e[38]!==x||e[39]!==z?(Y=i.jsx(fe,{placeholder:x,...z,className:"h-8 text-sm"}),e[38]=x,e[39]=z,e[40]=Y):Y=e[40];let $;e[41]!==O||e[42]!==Y?($=i.jsxs("div",{className:"space-y-1",children:[O,Y]}),e[41]=O,e[42]=Y,e[43]=$):$=e[43];let X;e[44]!==j||e[45]!==y||e[46]!==t?.defaultBaseUrl||e[47]!==v||e[48]!==a?(X=t?.defaultBaseUrl?i.jsx("input",{type:"hidden",...v("baseUrl")}):i.jsxs("div",{className:"space-y-1",children:[i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:a("settings.connectForms.baseUrlField")}),i.jsx(fe,{type:"url",placeholder:j,...v("baseUrl"),className:"h-8 text-sm"}),y.baseUrl&&i.jsx("p",{className:"text-xs text-destructive",children:y.baseUrl.message})]}),e[44]=j,e[45]=y,e[46]=t?.defaultBaseUrl,e[47]=v,e[48]=a,e[49]=X):X=e[49];let Z;e[50]!==a?(Z=a("settings.connectForms.apiKeyField"),e[50]=a,e[51]=Z):Z=e[51];let Q;e[52]!==t?.apiKeyRecommended||e[53]!==a?(Q=t?.apiKeyRecommended?a("settings.connectForms.recommended"):a("settings.connectForms.optional"),e[52]=t?.apiKeyRecommended,e[53]=a,e[54]=Q):Q=e[54];let B;e[55]!==Q?(B=i.jsxs("span",{className:"text-muted-foreground/60",children:["(",Q,")"]}),e[55]=Q,e[56]=B):B=e[56];let V;e[57]!==Z||e[58]!==B?(V=i.jsxs("label",{className:"text-xs font-medium text-muted-foreground",children:[Z," ",B]}),e[57]=Z,e[58]=B,e[59]=V):V=e[59];const ee=h?"text":"password";let H;e[60]!==v?(H=v("apiKey"),e[60]=v,e[61]=H):H=e[61];let q;e[62]!==ee||e[63]!==H?(q=i.jsx(fe,{type:ee,placeholder:"sk-...",...H,className:"ph-no-capture h-8 text-sm pr-8"}),e[62]=ee,e[63]=H,e[64]=q):q=e[64];let J;e[65]!==h?(J=()=>d(!h),e[65]=h,e[66]=J):J=e[66];let T;e[67]!==h||e[68]!==a?(T=a(h?"settings.connectForms.hideApiKey":"settings.connectForms.showApiKey"),e[67]=h,e[68]=a,e[69]=T):T=e[69];let F;e[70]!==h?(F=h?i.jsx(Ye,{size:14}):i.jsx(Qe,{size:14}),e[70]=h,e[71]=F):F=e[71];let R;e[72]!==J||e[73]!==T||e[74]!==F?(R=i.jsx("button",{type:"button",onClick:J,"aria-label":T,className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:F}),e[72]=J,e[73]=T,e[74]=F,e[75]=R):R=e[75];let K;e[76]!==q||e[77]!==R?(K=i.jsxs("div",{className:"relative",children:[q,R]}),e[76]=q,e[77]=R,e[78]=K):K=e[78];let U;e[79]!==V||e[80]!==K?(U=i.jsxs("div",{className:"space-y-1",children:[V,K]}),e[79]=V,e[80]=K,e[81]=U):U=e[81];let te;e[82]!==t?(te=t?.helpText&&i.jsx("p",{className:"text-xs text-muted-foreground",children:t.helpText}),e[82]=t,e[83]=te):te=e[83];let se;e[84]!==N?(se=N&&i.jsx("p",{className:"text-xs text-destructive",children:N.message}),e[84]=N,e[85]=se):se=e[85];let ae;e[86]!==a?(ae=a("settings.connectForms.cancel"),e[86]=a,e[87]=ae):ae=e[87];let ce;e[88]!==S||e[89]!==s||e[90]!==ae?(ce=i.jsx(re,{type:"button",variant:"ghost",size:"sm",onClick:s,disabled:S,children:ae}),e[88]=S,e[89]=s,e[90]=ae,e[91]=ce):ce=e[91];let de;e[92]!==S||e[93]!==a?(de=a(S?"settings.connectForms.saving":"settings.connectForms.saveConnection"),e[92]=S,e[93]=a,e[94]=de):de=e[94];let he;e[95]!==S||e[96]!==de?(he=i.jsx(re,{type:"submit",size:"sm",disabled:S,children:de}),e[95]=S,e[96]=de,e[97]=he):he=e[97];let ue;e[98]!==ce||e[99]!==he?(ue=i.jsxs(Xe,{children:[ce,he]}),e[98]=ce,e[99]=he,e[100]=ue):ue=e[100];let je;return e[101]!==A||e[102]!==$||e[103]!==X||e[104]!==U||e[105]!==te||e[106]!==se||e[107]!==ue?(je=i.jsxs("form",{onSubmit:A,className:"space-y-3",children:[$,X,U,te,se,ue]}),e[101]=A,e[102]=$,e[103]=X,e[104]=U,e[105]=te,e[106]=se,e[107]=ue,e[108]=je):je=e[108],je}const ls={kind:"closed"};function os(n,e){switch(e.type){case"open":return n.kind==="closed"?{kind:"grid"}:n;case"close":return{kind:"closed"};case"back":switch(n.kind){case"form":case"oauth-pending":case"provision-pending":case"provision-error":return{kind:"grid"};default:return n}case"select-form":return n.kind!=="grid"?n:{kind:"form",providerId:e.providerId,presetId:e.presetId};case"select-oauth":return n.kind!=="grid"?n:{kind:"oauth-pending",providerId:e.providerId,stateToken:e.stateToken};case"oauth-failed":return n.kind==="oauth-pending"?{kind:"grid"}:n;case"select-provision":return n.kind!=="grid"?n:{kind:"provision-pending",providerId:e.providerId};case"provision-error":return n.kind!=="provision-pending"?n:{kind:"provision-error",providerId:n.providerId,error:e.error};case"retry-provision":return n.kind!=="provision-error"?n:{kind:"provision-pending",providerId:n.providerId}}}function rs(n){switch(n.kind){case"form":case"oauth-pending":case"provision-pending":case"provision-error":return n.providerId;default:return null}}function as({open:n,onOpenChange:e,initialProvider:t}){const s=ie(),l=_e()?.providers??[],{org:r}=ye(),c=ke(),h=we(),[d,a]=D.useReducer(os,ls),m=D.useRef(!1);D.useEffect(()=>{n&&d.kind==="closed"?a({type:"open"}):!n&&d.kind!=="closed"&&a({type:"close"})},[n,d.kind]);const p=()=>{m.current=!1,a({type:"close"}),e(!1)},u=()=>{h.invalidateQueries({queryKey:pe.aiProviderKeys(r.id)}),h.invalidateQueries({queryKey:pe.aiProviders(r.id)})},{mutate:f}=Se({mutationFn:async({providerId:x,code:w,stateToken:j,label:P})=>(await c.call("AI_PROVIDER_OAUTH_EXCHANGE",{providerId:x,code:w,stateToken:j,label:P}),x),onSuccess:x=>{ne("ai_provider_oauth_succeeded",{provider_id:x}),u();const w=l.find(j=>j.id===x);le.success(s("settings.connectProviderDialog.oauthSuccessMessage",{provider:w?.name??s("settings.connectProviderDialog.defaultProviderName")})),p()},onError:(x,w)=>{ne("ai_provider_oauth_failed",{provider_id:w.providerId,error:x.message}),le.error(s("settings.connectProviderDialog.oauthFailedMessage",{error:x.message})),a({type:"oauth-failed"})}}),{mutate:v}=Se({mutationFn:async x=>(await c.call("AI_PROVIDER_PROVISION_KEY",{providerId:x}),x),onSuccess:x=>{ne("ai_provider_provision_succeeded",{provider_id:x}),u();const w=l.find(j=>j.id===x);le.success(s("settings.connectProviderDialog.provisionSuccessMessage",{provider:w?.name??s("settings.connectProviderDialog.defaultProviderName")})),p()},onError:(x,w)=>{ne("ai_provider_provision_failed",{provider_id:w,error:x.message}),a({type:"provision-error",error:x.message})}}),k=async x=>{const{provider:w}=x,j=x.kind==="openai-compatible"?x.preset?.id??null:null,P=w.supportedMethods.includes("oauth-pkce"),A=w.supportedMethods.includes("api-key");if(w.supportsProvision===!0){ne("ai_provider_connect_clicked",{provider_id:w.id,method:"provision"}),a({type:"select-provision",providerId:w.id}),v(w.id);return}if(P){ne("ai_provider_connect_clicked",{provider_id:w.id,method:"oauth-pkce"});try{const O=await c.call("AI_PROVIDER_OAUTH_URL",{providerId:w.id,callbackUrl:`${window.location.origin}/oauth/callback/ai-provider`});if(!O?.url)throw new Error("Invalid response from AI_PROVIDER_OAUTH_URL");a({type:"select-oauth",providerId:w.id,stateToken:O.stateToken}),window.open(O.url,"AiProviderOAuth","width=600,height=700")}catch(O){le.error(s("settings.connectProviderDialog.startOAuthFailedMessage",{error:O instanceof Error?O.message:String(O)}))}return}A&&(ne("ai_provider_connect_clicked",{provider_id:w.id,...j!==null?{preset_id:j}:{},method:"api-key"}),a({type:"select-form",providerId:w.id,presetId:j}))},b=D.useRef(k);b.current=k;const y=D.useRef(t);y.current=t,D.useEffect(()=>{!y.current||d.kind!=="grid"||m.current||(m.current=!0,b.current(y.current))},[d.kind]);const _=d.kind==="oauth-pending"?d.stateToken:null,C=d.kind==="oauth-pending"?d.providerId:null;D.useEffect(()=>{if(d.kind!=="oauth-pending")return;let x=!1;const w=d.stateToken,j=d.providerId,P=L=>{if(L.origin!==window.location.origin||L.data?.type!=="AI_PROVIDER_OAUTH_CALLBACK")return;const{code:O,stateToken:z}=L.data;if(z!==w){le.error(s("settings.connectProviderDialog.securityCheckFailedMessage")),a({type:"oauth-failed"});return}x=!0;const Y=l.find($=>$.id===j);f({providerId:j,code:O,stateToken:w,label:Y?.name??j})};window.addEventListener("message",P);const A=setTimeout(()=>{x||(ne("ai_provider_oauth_timeout",{provider_id:j}),a({type:"oauth-failed"}),le.error(s("settings.connectProviderDialog.connectionTimedOutMessage")))},12e4);return()=>{window.removeEventListener("message",P),clearTimeout(A)}},[d.kind,_,C,f]);const E=rs(d),I=E?l.find(x=>x.id===E):null,S=(d.kind==="form"&&d.presetId?be(d.presetId):null)?.name??I?.name??s("settings.connectProviderDialog.defaultTitle"),N=d.kind!=="grid"&&d.kind!=="closed",M=()=>{t?p():a({type:"back"})};return i.jsx(Pt,{open:d.kind!=="closed",onOpenChange:x=>!x&&p(),children:i.jsxs(At,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[i.jsxs(Tt,{children:[i.jsxs("div",{className:"flex items-center gap-2",children:[N&&i.jsx(re,{variant:"ghost",size:"icon","aria-label":s("settings.connectProviderDialog.backButtonLabel"),className:"h-7 w-7",onClick:M,children:i.jsx(qe,{size:16})}),i.jsx(Lt,{children:S})]}),d.kind==="grid"&&!t&&i.jsx(Ft,{children:s("settings.connectProviderDialog.gridDescription")})]}),d.kind==="grid"&&!t&&i.jsx(et,{providers:l,onSelect:k}),d.kind==="form"&&(d.providerId==="openai-compatible"?i.jsx(ns,{preset:d.presetId?be(d.presetId):void 0,onCancel:()=>a({type:"back"}),onSuccess:()=>{u(),p()}}):i.jsx(ss,{providerId:d.providerId,onCancel:()=>a({type:"back"}),onSuccess:()=>{u(),p()}})),d.kind==="oauth-pending"&&i.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[i.jsx(Pe,{size:"lg"}),i.jsx("p",{className:"text-sm text-muted-foreground text-center",children:s("settings.connectProviderDialog.oauthPendingMessage")})]}),d.kind==="provision-pending"&&i.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[i.jsx(Pe,{size:"lg"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:s("settings.connectProviderDialog.provisionPendingMessage")})]}),d.kind==="provision-error"&&i.jsxs("div",{className:"flex flex-col items-center gap-4 py-6",children:[i.jsx(Ot,{size:28,className:"text-destructive"}),i.jsx("p",{className:"text-sm text-foreground text-center",children:d.error}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(re,{variant:"outline",size:"sm",onClick:()=>a({type:"back"}),children:s("settings.connectProviderDialog.backButton")}),i.jsx(re,{size:"sm",onClick:()=>{a({type:"retry-provision"}),v(d.providerId)},children:s("settings.connectProviderDialog.retryButton")})]})]})]})})}function cs(n){const e=W.c(36);let t;e[0]!==n?(t=n===void 0?{}:n,e[0]=n,e[1]=t):t=e[1];const{title:s,description:o,providerFilter:l}=t,r=ie(),{org:c}=ye(),[h,d]=D.useState(null),[a,m]=D.useState(!1),p=_e();let u;e[2]!==p?.providers?(u=p?.providers??[],e[2]=p?.providers,e[3]=u):u=e[3];let f;if(e[4]!==l||e[5]!==u){let O;e[7]!==l?(O=z=>!l||l(z.id),e[7]=l,e[8]=O):O=e[8],f=u.filter(O),e[4]=l,e[5]=u,e[6]=f}else f=e[6];const v=f,k=c.name;let b;e[9]!==k||e[10]!==r||e[11]!==s?(b=s??(k?r("chat.noAiProviderEmptyState.headingWithOrg",{org:k}):r("chat.noAiProviderEmptyState.headingDefault")),e[9]=k,e[10]=r,e[11]=s,e[12]=b):b=e[12];const y=b;let _;e[13]!==o||e[14]!==r?(_=o??r("chat.noAiProviderEmptyState.subtitleDefault"),e[13]=o,e[14]=r,e[15]=_):_=e[15];const C=_;let E;e[16]===Symbol.for("react.memo_cache_sentinel")?(E=i.jsx("div",{className:"flex items-center justify-center size-14 rounded-2xl bg-muted border border-border",children:i.jsx(Et,{size:24,className:"text-muted-foreground"})}),e[16]=E):E=e[16];let I;e[17]!==y?(I=i.jsx("p",{className:"text-xl font-semibold text-foreground tracking-tight",children:y}),e[17]=y,e[18]=I):I=e[18];let g;e[19]!==C?(g=i.jsx("p",{className:"text-sm text-muted-foreground max-w-md",children:C}),e[19]=C,e[20]=g):g=e[20];let S;e[21]!==I||e[22]!==g?(S=i.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[E,i.jsxs("div",{className:"space-y-2",children:[I,g]})]}),e[21]=I,e[22]=g,e[23]=S):S=e[23];let N,M;e[24]===Symbol.for("react.memo_cache_sentinel")?(N=O=>d(O),M=()=>m(!0),e[24]=N,e[25]=M):(N=e[24],M=e[25]);let x;e[26]!==v?(x=i.jsx("div",{className:"w-full",children:i.jsx(et,{providers:v,onSelect:N,onShowAll:M})}),e[26]=v,e[27]=x):x=e[27];const w=h!==null||a;let j;e[28]===Symbol.for("react.memo_cache_sentinel")?(j=O=>{O||(d(null),m(!1))},e[28]=j):j=e[28];const P=h??void 0;let A;e[29]!==w||e[30]!==P?(A=i.jsx(as,{open:w,onOpenChange:j,initialProvider:P}),e[29]=w,e[30]=P,e[31]=A):A=e[31];let L;return e[32]!==x||e[33]!==A||e[34]!==S?(L=i.jsxs("div",{className:"flex flex-col items-center gap-8 w-full max-w-3xl px-4",children:[S,x,A]}),e[32]=x,e[33]=A,e[34]=S,e[35]=L):L=e[35],L}function Ce(n){const e=n.title.includes(": ");return{provider:e?n.title.split(": ")[0]??"":n.modelId.split("/")[0]??"",displayName:e?n.title.split(": ").slice(1).join(": "):n.title}}function ds(n){return n<32e3?{level:1,labelKey:"chat.shared.contextLevelSmall",descriptionKey:"chat.shared.contextLevelSmallDesc"}:n<2e5?{level:2,labelKey:"chat.shared.contextLevelMedium",descriptionKey:"chat.shared.contextLevelMediumDesc"}:n<5e5?{level:3,labelKey:"chat.shared.contextLevelLarge",descriptionKey:"chat.shared.contextLevelLargeDesc"}:{level:4,labelKey:"chat.shared.contextLevelVeryLarge",descriptionKey:"chat.shared.contextLevelVeryLargeDesc"}}const hs=["bg-destructive","bg-warning","bg-success","bg-success"],us=["text-success","text-warning","text-warning","text-destructive"];function ms(n,e){const t=Math.round(n*.75/1e3),s=t>=1?`${t}K`:`${Math.round(n*.75)}`;return e("chat.shared.approxWords",{wordCount:s})}function fs(n){return n<1?{level:1,labelKey:"chat.shared.costLevelCheap"}:n<5?{level:2,labelKey:"chat.shared.costLevelModerate"}:n<15?{level:3,labelKey:"chat.shared.costLevelHigh"}:{level:4,labelKey:"chat.shared.costLevelExpensive"}}const ps={text:{icon:i.jsx(Nt,{className:"size-3.5"}),labelKey:"chat.shared.capabilityText"},vision:{icon:i.jsx(zt,{className:"size-3.5"}),labelKey:"chat.shared.capabilityVision"},image:{icon:i.jsx(St,{className:"size-3.5"}),labelKey:"chat.shared.capabilityImage"},tools:{icon:i.jsx(jt,{className:"size-3.5"}),labelKey:"chat.shared.capabilityTools"},reasoning:{icon:i.jsx(yt,{className:"size-3.5"}),labelKey:"chat.shared.capabilityReasoning"},"web-search":{icon:i.jsx(Ge,{className:"size-3.5"}),labelKey:"chat.shared.capabilityWebSearch"}};function xs(n){const e=W.c(10),{capability:t}=n,s=ie(),o=ps[t];if(o){const h=o.icon;let d;e[0]!==o.labelKey||e[1]!==s?(d=s(o.labelKey),e[0]=o.labelKey,e[1]=s,e[2]=d):d=e[2];let a;return e[3]!==o.icon||e[4]!==d?(a=i.jsxs("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground border border-border rounded px-2 py-0.5",children:[h,d]}),e[3]=o.icon,e[4]=d,e[5]=a):a=e[5],a}let l;e[6]!==t?(l=t.charAt(0).toUpperCase(),e[6]=t,e[7]=l):l=e[7];const r=l+t.slice(1);let c;return e[8]!==r?(c=i.jsx("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground border border-border rounded px-2 py-0.5",children:r}),e[8]=r,e[9]=c):c=e[9],c}function gs(n){const e=W.c(59),{model:t,compact:s}=n,o=s===void 0?!1:s,l=ie();if(!t){let g;e[0]!==l?(g=l("chat.shared.hoverToPreview"),e[0]=l,e[1]=g):g=e[1];let S;return e[2]!==g?(S=i.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:g}),e[2]=g,e[3]=S):S=e[3],S}const r=t.costs?.input!=null?t.costs.input*1e6:null,c=t.costs?.output!=null?t.costs.output*1e6:null;let h;e[4]!==t?(h=Ce(t),e[4]=t,e[5]=h):h=e[5];const{provider:d,displayName:a}=h;if(o){let g;e[6]!==t.limits||e[7]!==l?(g=t.limits?.contextWindow&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.context")}),i.jsxs("span",{className:"text-foreground font-medium",children:[t.limits.contextWindow.toLocaleString()," ",l("chat.shared.tokens")]})]}),e[6]=t.limits,e[7]=l,e[8]=g):g=e[8];let S;e[9]!==r||e[10]!==l?(S=r!=null&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.input")}),i.jsxs("span",{className:"text-foreground font-medium",children:["$",r.toFixed(2)," / 1M"]})]}),e[9]=r,e[10]=l,e[11]=S):S=e[11];let N;e[12]!==c||e[13]!==l?(N=c!=null&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.output")}),i.jsxs("span",{className:"text-foreground font-medium",children:["$",c.toFixed(2)," / 1M"]})]}),e[12]=c,e[13]=l,e[14]=N):N=e[14];let M;e[15]!==t.limits||e[16]!==l?(M=t.limits?.maxOutputTokens&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.outputLimit")}),i.jsxs("span",{className:"text-foreground font-medium",children:[t.limits.maxOutputTokens.toLocaleString()," ",l("chat.shared.tokens")]})]}),e[15]=t.limits,e[16]=l,e[17]=M):M=e[17];let x;return e[18]!==g||e[19]!==S||e[20]!==N||e[21]!==M?(x=i.jsxs("div",{className:"flex flex-col gap-2 pt-3 pb-3 px-3 text-xs",children:[g,S,N,M]}),e[18]=g,e[19]=S,e[20]=N,e[21]=M,e[22]=x):x=e[22],x}let m;e[23]!==d?(m=i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:d}),e[23]=d,e[24]=m):m=e[24];let p;e[25]!==t.logo||e[26]!==t.title?(p=t.logo&&i.jsx("img",{src:t.logo,className:"size-6 shrink-0 rounded-md dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[25]=t.logo,e[26]=t.title,e[27]=p):p=e[27];let u;e[28]!==a?(u=i.jsx("p",{className:"text-lg font-semibold leading-snug tracking-tight",children:a}),e[28]=a,e[29]=u):u=e[29];let f;e[30]!==p||e[31]!==u?(f=i.jsxs("div",{className:"flex items-center gap-2.5",children:[p,u]}),e[30]=p,e[31]=u,e[32]=f):f=e[32];let v;e[33]!==t.modelId?(v=i.jsx("p",{className:"text-xs text-muted-foreground/50 font-mono",children:t.modelId}),e[33]=t.modelId,e[34]=v):v=e[34];let k;e[35]!==m||e[36]!==f||e[37]!==v?(k=i.jsxs("div",{className:"flex flex-col gap-1 pt-1 pr-6",children:[m,f,v]}),e[35]=m,e[36]=f,e[37]=v,e[38]=k):k=e[38];let b;e[39]!==t.capabilities?(b=t.capabilities&&t.capabilities.length>0&&i.jsx("div",{className:"flex flex-wrap items-center gap-1.5 pb-4 border-b border-border",children:[...new Set(t.capabilities)].map(vs)}),e[39]=t.capabilities,e[40]=b):b=e[40];let y;e[41]!==t.limits||e[42]!==l?(y=t.limits?.contextWindow&&(()=>{const{level:g,labelKey:S,descriptionKey:N}=ds(t.limits.contextWindow);return i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l("chat.shared.contextWindow")}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("div",{className:"flex items-center gap-0.5",children:[1,2,3,4].map(M=>i.jsx("div",{className:ve("w-2 h-2 rounded-full",M<=g?hs[g-1]:"bg-muted")},M))}),i.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:l(S)}),i.jsxs("span",{className:"text-xs text-muted-foreground",children:["— ",l(N)]})]}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[t.limits.contextWindow.toLocaleString()," ",l("chat.shared.tokens")]})]})})(),e[41]=t.limits,e[42]=l,e[43]=y):y=e[43];let _;e[44]!==t.limits||e[45]!==l?(_=t.limits?.maxOutputTokens&&i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l("chat.shared.outputLimit")}),i.jsxs("div",{className:"flex items-baseline gap-2",children:[i.jsxs("span",{className:"text-sm text-foreground",children:[t.limits.maxOutputTokens.toLocaleString()," ",l("chat.shared.tokens")]}),i.jsx("span",{className:"text-sm text-muted-foreground",children:ms(t.limits.maxOutputTokens,l)})]})]}),e[44]=t.limits,e[45]=l,e[46]=_):_=e[46];let C;e[47]!==r||e[48]!==c||e[49]!==l?(C=(r!=null||c!=null)&&(()=>{const{level:g,labelKey:S}=r!=null?fs(r):{level:0,labelKey:null};return i.jsxs("div",{className:"flex flex-col gap-2",children:[i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l("chat.shared.pricing")}),r!=null&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("div",{className:"flex items-center",children:[1,2,3,4].map(N=>i.jsx("span",{className:ve("text-sm font-bold leading-none",N<=g?us[g-1]:"text-muted-foreground/20"),children:"$"},N))}),i.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:S?l(S):""})]}),i.jsxs("div",{className:"flex flex-col gap-1",children:[r!=null&&i.jsxs("div",{className:"flex justify-between items-center",children:[i.jsx("span",{className:"text-xs text-muted-foreground",children:l("chat.shared.input")}),i.jsxs("span",{className:"text-xs text-foreground",children:["$",r.toFixed(2)," / 1M"," ",l("chat.shared.tokens")]})]}),c!=null&&i.jsxs("div",{className:"flex justify-between items-center",children:[i.jsx("span",{className:"text-xs text-muted-foreground",children:l("chat.shared.output")}),i.jsxs("span",{className:"text-xs text-foreground",children:["$",c.toFixed(2)," / 1M"," ",l("chat.shared.tokens")]})]})]})]})})(),e[47]=r,e[48]=c,e[49]=l,e[50]=C):C=e[50];let E;e[51]!==y||e[52]!==_||e[53]!==C?(E=i.jsxs("div",{className:"flex flex-col gap-6",children:[y,_,C]}),e[51]=y,e[52]=_,e[53]=C,e[54]=E):E=e[54];let I;return e[55]!==E||e[56]!==k||e[57]!==b?(I=i.jsxs("div",{className:"flex flex-col gap-5 py-1 px-1.5",children:[k,b,E]}),e[55]=E,e[56]=k,e[57]=b,e[58]=I):I=e[58],I}function vs(n){return i.jsx(xs,{capability:n},n)}function ci(n){const e=W.c(22),{model:t,placeholder:s,isLoading:o}=n,l=o===void 0?!1:o,r=ie();let c;e[0]!==s||e[1]!==r?(c=s??r("chat.shared.selectModel"),e[0]=s,e[1]=r,e[2]=c):c=e[2];const h=c;if(l){let b;return e[3]===Symbol.for("react.memo_cache_sentinel")?(b=i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsx(G,{className:"w-5 h-5 rounded-sm shrink-0"}),i.jsx(G,{className:"w-16 h-3 hidden md:block"})]}),e[3]=b):b=e[3],b}if(!t){let b;e[4]!==h?(b=i.jsx("span",{className:"text-sm text-muted-foreground",children:h}),e[4]=h,e[5]=b):b=e[5];let y;e[6]===Symbol.for("react.memo_cache_sentinel")?(y=i.jsx(Ae,{size:14,className:"text-muted-foreground opacity-50 shrink-0"}),e[6]=y):y=e[6];let _;return e[7]!==b?(_=i.jsxs("div",{className:"flex items-center gap-1.5",children:[b,y]}),e[7]=b,e[8]=_):_=e[8],_}let d;e[9]!==t?(d=Ce(t),e[9]=t,e[10]=d):d=e[10];const{displayName:a}=d;let m;e[11]!==t?(m=Ie(t),e[11]=t,e[12]=m):m=e[12];const p=m;let u;e[13]!==t.title||e[14]!==p?(u=i.jsx("img",{src:p,className:"w-3.5 h-3.5 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[13]=t.title,e[14]=p,e[15]=u):u=e[15];let f;e[16]!==a?(f=i.jsx("span",{className:"text-sm truncate whitespace-nowrap text-muted-foreground max-w-[100px] sm:max-w-none",children:a}),e[16]=a,e[17]=f):f=e[17];let v;e[18]===Symbol.for("react.memo_cache_sentinel")?(v=i.jsx(Ae,{size:14,className:"text-muted-foreground opacity-50 shrink-0"}),e[18]=v):v=e[18];let k;return e[19]!==u||e[20]!==f?(k=i.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 overflow-hidden",children:[u,f,v]}),e[19]=u,e[20]=f,e[21]=k):k=e[21],k}const bs=["vision","image","file","audio","video"],tt=["image/png","image/jpeg","image/gif","image/webp"],st=["application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"];function Me(n){const e=n?.capabilities;return e?bs.some(t=>e.includes(t)):!1}function di(n,e){if(!n)return!1;if(n.startsWith("text/"))return!0;const t=e?.capabilities??[],s=t.includes("vision")||t.includes("image"),o=t.includes("file"),l=t.includes("audio"),r=t.includes("video");return!!(s&&tt.includes(n)||o&&n==="application/pdf"||l&&n.startsWith("audio/")||r&&n.startsWith("video/")||Me(e)&&st.includes(n))}function hi(n){const e=n?.capabilities??[],t=["text/*"];return(e.includes("vision")||e.includes("image"))&&t.push(...tt),e.includes("file")&&t.push("application/pdf"),e.includes("audio")&&t.push("audio/*"),e.includes("video")&&t.push("video/*"),Me(n)&&t.push(...st),t.join(",")}function ui(n){const e=n?.capabilities??[],t=[];return(e.includes("vision")||e.includes("image"))&&t.push("chat.shared.fileTypeImages"),e.includes("file")&&t.push("chat.shared.fileTypePdfs"),e.includes("audio")&&t.push("chat.shared.fileTypeAudio"),e.includes("video")&&t.push("chat.shared.fileTypeVideo"),Me(n)&&t.push("chat.shared.fileTypeOffice"),{parts:t,count:t.length}}const it=["smarter","faster","cheaper"],ys={smarter:"chat.decopilot.tierSmarter",faster:"chat.decopilot.tierFaster",cheaper:"chat.decopilot.tierCheaper"},js=[{tier:"smarter",prefixes:["anthropic/claude-opus-4.8","anthropic/claude-sonnet-4.6","anthropic/claude-4.6-sonnet","openai/gpt-5.3-codex","google/gemini-3-pro","google/gemini-2.5-pro","cohere/command-r-plus","cohere/command-a"]},{tier:"faster",prefixes:["anthropic/claude-haiku-4.5","anthropic/claude-4.5-haiku","google/gemini-3-flash","openai/gpt-5.1-codex-mini","x-ai/grok-code-fast","x-ai/grok-3","mistralai/mistral-large","mistralai/codestral","mistralai/mistral-medium","minimax/minimax-m1"]},{tier:"cheaper",prefixes:["google/gemini-2.5-flash-lite","google/gemini-2.5-flash","google/gemini-2.0-flash","deepseek/deepseek-v3","openai/gpt-oss-120b","mistralai/mistral-small","mistralai/pixtral","cohere/command-r"]}],Ss=js.flatMap(({tier:n,prefixes:e})=>e.map(t=>({tier:n,prefix:t}))).sort((n,e)=>e.prefix.length-n.prefix.length),Ns="google/gemini-2.5-pro",De=new Map;function ks(n){const e=De.get(n);if(e!==void 0)return e;let t=null;if(n.endsWith(":free"))t="cheaper";else for(const{tier:s,prefix:o}of Ss)if(n.startsWith(o)){if(o===Ns&&n.length>o.length&&n[o.length]==="-"){const r=n[o.length+1];if(!r||!/\d/.test(r))continue}t=s;break}return De.set(n,t),t}function ws(n,e,t){if(t)return n;const s=n.filter(o=>e.has(o.modelId));return s.length>0?s:n}function $e(n){const e={smarter:[],faster:[],cheaper:[],other:[]};for(const t of n){const s=ks(t.modelId);e[s??"other"].push(t)}for(const t of Object.keys(e))e[t].sort((s,o)=>s.title.localeCompare(o.title));return e}const nt="studio:model-shortlist:",_s=new Set(["anthropic/claude-opus-4.8","anthropic/claude-sonnet-4.6","anthropic/claude-4.6-sonnet","anthropic/claude-sonnet-4.6:extended","openai/gpt-5.3-codex","google/gemini-3-pro-preview","google/gemini-2.5-pro","anthropic/claude-haiku-4.5","anthropic/claude-haiku-4.5-20251001","anthropic/claude-4.5-haiku","google/gemini-3-flash-preview","openai/gpt-5.1-codex-mini","x-ai/grok-code-fast-1","google/gemini-2.5-flash","deepseek/deepseek-v3.2","google/gemini-2.5-flash-lite","openai/gpt-oss-120b:free"]);function Is(n){try{const e=localStorage.getItem(nt+n);return e?new Set(JSON.parse(e)):null}catch{return null}}function Cs(n,e){localStorage.setItem(nt+n,JSON.stringify([...e]))}function Ms(n){const e=W.c(21),{model:t,onHover:s}=n;let o;e[0]!==t?(o=Ce(t),e[0]=t,e[1]=o):o=e[1];const{displayName:l,provider:r}=o;let c;e[2]!==t?(c=Ie(t),e[2]=t,e[3]=c):c=e[3];const h=c;let d;e[4]!==t||e[5]!==s?(d=()=>s(t),e[4]=t,e[5]=s,e[6]=d):d=e[6];let a;e[7]!==t.title||e[8]!==h?(a=i.jsx("img",{src:h,className:"w-4 h-4 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[7]=t.title,e[8]=h,e[9]=a):a=e[9];let m;e[10]!==l?(m=i.jsx("span",{className:"text-sm text-foreground leading-tight truncate",children:l}),e[10]=l,e[11]=m):m=e[11];let p;e[12]!==r?(p=i.jsx("span",{className:"text-xs text-muted-foreground/60 leading-tight",children:r}),e[12]=r,e[13]=p):p=e[13];let u;e[14]!==m||e[15]!==p?(u=i.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[m,p]}),e[14]=m,e[15]=p,e[16]=u):u=e[16];let f;return e[17]!==d||e[18]!==a||e[19]!==u?(f=i.jsxs("div",{className:"flex items-center gap-2.5 py-2 px-3 hover:bg-accent cursor-pointer rounded-lg",onMouseEnter:d,children:[a,u]}),e[17]=d,e[18]=a,e[19]=u,e[20]=f):f=e[20],f}function Es(n){const e=W.c(16),{error:t,onRetry:s}=n,o=ie();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx("div",{className:"bg-destructive/10 p-2 rounded-full",children:i.jsx(ht,{className:"size-5 text-destructive"})}),e[0]=l):l=e[0];const r=o("chat.decopilot.failedToLoadModels");let c;e[1]!==r?(c=i.jsx("p",{className:"text-sm font-medium text-foreground",children:r}),e[1]=r,e[2]=c):c=e[2];const h=t?.message||o("chat.decopilot.couldNotFetchModels"),d=" "+o("chat.decopilot.tryAnotherProviderOrRetry");let a;e[3]!==h||e[4]!==d?(a=i.jsxs("p",{className:"text-xs text-muted-foreground max-w-[260px]",children:[h,d]}),e[3]=h,e[4]=d,e[5]=a):a=e[5];let m;e[6]!==c||e[7]!==a?(m=i.jsxs("div",{className:"flex flex-col gap-1",children:[c,a]}),e[6]=c,e[7]=a,e[8]=m):m=e[8];let p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=i.jsx(wt,{className:"size-3.5"}),e[9]=p):p=e[9];const u=o("chat.decopilot.retry");let f;e[10]!==s||e[11]!==u?(f=i.jsx("div",{className:"flex items-center gap-2",children:i.jsxs(re,{variant:"outline",size:"sm",onClick:s,className:"gap-1.5",children:[p,u]})}),e[10]=s,e[11]=u,e[12]=f):f=e[12];let v;return e[13]!==f||e[14]!==m?(v=i.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 px-4 py-8 text-center",children:[l,m,f]}),e[13]=f,e[14]=m,e[15]=v):v=e[15],v}function Os(){const n=W.c(1);let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:Array.from({length:6}).map(Ps)}),n[0]=e):e=n[0],e}function Ps(n,e){return i.jsxs("div",{className:"flex items-center gap-2 min-h-8 py-3 px-3 rounded-lg",children:[i.jsx(G,{className:"size-5 shrink-0 rounded-sm"}),i.jsx(G,{className:"flex-1 h-4"}),i.jsx(G,{className:"w-16 h-5 shrink-0 rounded-md"})]},e)}function Ue(n){const e=W.c(12),{label:t,models:s,onSelect:o,onHover:l}=n;if(s.length===0)return null;let r;e[0]!==t?(r=i.jsx("div",{className:"text-xs font-medium text-muted-foreground px-3 pt-3 pb-1",children:t}),e[0]=t,e[1]=r):r=e[1];let c;if(e[2]!==s||e[3]!==l||e[4]!==o){let d;e[6]!==l||e[7]!==o?(d=a=>i.jsx("button",{type:"button",onClick:()=>o(a),onFocus:()=>l(a),className:"w-full text-left cursor-pointer",children:i.jsx(Ms,{model:a,onHover:l})},a.modelId),e[6]=l,e[7]=o,e[8]=d):d=e[8],c=s.map(d),e[2]=s,e[3]=l,e[4]=o,e[5]=c}else c=e[5];let h;return e[9]!==r||e[10]!==c?(h=i.jsxs("div",{children:[r,c]}),e[9]=r,e[10]=c,e[11]=h):h=e[11],h}function Ne(n,e){return e(n==="other"?"chat.decopilot.tierOther":ys[n])}function As(n){const e=W.c(21),{model:t,isChecked:s,onToggle:o,onHover:l}=n,[r,c]=D.useState(s);r!==s&&c(s);let h;e[0]!==t?(h=Ie(t),e[0]=t,e[1]=h):h=e[1];const d=h;let a;e[2]!==t||e[3]!==l?(a=()=>l(t),e[2]=t,e[3]=l,e[4]=a):a=e[4];let m;e[5]!==t.modelId||e[6]!==o?(m=()=>{c(Ts),o(t.modelId)},e[5]=t.modelId,e[6]=o,e[7]=m):m=e[7];let p;e[8]!==r||e[9]!==m?(p=i.jsx(ut,{checked:r,onCheckedChange:m}),e[8]=r,e[9]=m,e[10]=p):p=e[10];let u;e[11]!==d||e[12]!==t.title?(u=i.jsx("img",{src:d,className:"w-5 h-5 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[11]=d,e[12]=t.title,e[13]=u):u=e[13];let f;e[14]!==t.title?(f=i.jsx("span",{className:"text-sm text-foreground flex-1 min-w-0 line-clamp-1",children:t.title}),e[14]=t.title,e[15]=f):f=e[15];let v;return e[16]!==a||e[17]!==p||e[18]!==u||e[19]!==f?(v=i.jsxs("label",{className:"flex items-center gap-3 min-h-8 py-2.5 px-3 hover:bg-accent cursor-pointer rounded-lg",onMouseEnter:a,children:[p,u,f]}),e[16]=a,e[17]=p,e[18]=u,e[19]=f,e[20]=v):v=e[20],v}function Ts(n){return!n}function Ls(n,e){const t=[];for(const s of it)if(n[s].length>0){t.push({type:"header",label:Ne(s,e)});for(const o of n[s])t.push({type:"model",model:o})}if(n.other.length>0){t.push({type:"header",label:Ne("other",e)});for(const s of n.other)t.push({type:"model",model:s})}return t}function Fs({items:n,shortlistSet:e,onToggle:t,onHover:s}){const o=D.useRef(null),l=Xt({count:n.length,getScrollElement:()=>o.current,estimateSize:r=>n[r]?.type==="header"?36:44,overscan:6});return i.jsx("div",{ref:o,className:"flex-1 overflow-y-auto",children:i.jsx("div",{className:"relative",style:{height:l.getTotalSize()},children:l.getVirtualItems().map(r=>{const c=n[r.index];return c?i.jsx("div",{"data-index":r.index,ref:l.measureElement,className:"absolute left-0 right-0 top-0 px-0.5",style:{transform:`translateY(${r.start}px)`},children:c.type==="header"?i.jsx("div",{className:"text-xs font-medium text-muted-foreground px-3 pt-3 pb-1",children:c.label}):i.jsx(As,{model:c.model,isChecked:e.has(c.model.modelId),onToggle:t,onHover:s})},r.key):null})})})}function Rs(n){const e=W.c(28),{keyId:t,searchTerm:s,onHover:o,onModelSelect:l,managing:r,onToggleManage:c,filterModels:h}=n,d=ie(),{models:a}=It(t),m=h?a.filter(h):a.filter(Ct);let p;e[0]!==t?(p=()=>(t?Is(t):null)??_s,e[0]=t,e[1]=p):p=e[1];const[u,f]=D.useState(p),[,v]=D.useTransition();let k;e[2]!==t||e[3]!==v?(k=N=>{t&&v(()=>{f(M=>{const x=new Set(M);return x.has(N)?x.delete(N):x.add(N),Cs(t,x),x})})},e[2]=t,e[3]=v,e[4]=k):k=e[4];const b=k,y=s.toLowerCase().trim(),_=N=>y?N.filter(M=>M.title.toLowerCase().includes(y)||M.modelId.toLowerCase().includes(y)):N;if(r){const N=$e(_(m)),M=Ls(N,d);let x;e[5]!==u?(x=L=>u.has(L.modelId),e[5]=u,e[6]=x):x=e[6];const w=m.filter(x).length;let j;e[7]===Symbol.for("react.memo_cache_sentinel")?(j=i.jsx(qe,{size:14}),e[7]=j):j=e[7];let P;e[8]!==d?(P=d("chat.decopilot.back"),e[8]=d,e[9]=P):P=e[9];let A;return e[10]!==c||e[11]!==P?(A=i.jsxs("button",{type:"button",onClick:c,className:"flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground cursor-pointer",children:[j,P]}),e[10]=c,e[11]=P,e[12]=A):A=e[12],i.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[i.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border",children:[A,i.jsx("span",{className:"text-xs text-muted-foreground",children:d("chat.decopilot.selectedCount",{count:w})})]}),i.jsx(Fs,{items:M,shortlistSet:u,onToggle:b,onHover:o})]})}const C=$e(_(ws(m,u,y)));let E;e[13]!==C||e[14]!==o||e[15]!==l||e[16]!==d?(E=it.map(N=>i.jsx(Ue,{label:Ne(N,d),models:C[N],onSelect:l,onHover:o},N)),e[13]=C,e[14]=o,e[15]=l,e[16]=d,e[17]=E):E=e[17];let I;e[18]!==d?(I=Ne("other",d),e[18]=d,e[19]=I):I=e[19];let g;e[20]!==C.other||e[21]!==o||e[22]!==l||e[23]!==I?(g=i.jsx(Ue,{label:I,models:C.other,onSelect:l,onHover:o}),e[20]=C.other,e[21]=o,e[22]=l,e[23]=I,e[24]=g):g=e[24];let S;return e[25]!==E||e[26]!==g?(S=i.jsxs("div",{className:"flex-1 overflow-y-auto px-0.5 pt-1 [touch-action:pan-y]",children:[E,g]}),e[25]=E,e[26]=g,e[27]=S):S=e[27],S}function mi(){const n=W.c(6);let e;n[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx("div",{className:"border-b border-border h-12 bg-background/95 backdrop-blur sticky top-0 z-10",children:i.jsxs("div",{className:"flex items-center gap-2.5 h-12 px-4",children:[i.jsx(G,{className:"size-4 shrink-0"}),i.jsx(G,{className:"flex-1 h-6"}),i.jsx(G,{className:"w-[140px] h-8 shrink-0"})]})}),n[0]=e):e=n[0];let t;n[1]===Symbol.for("react.memo_cache_sentinel")?(t=i.jsxs("div",{className:"flex-1 flex flex-col md:border-r md:w-[420px] md:min-w-[420px] min-h-0 overflow-hidden",children:[e,i.jsx("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:Array.from({length:8}).map(zs)})]}),n[1]=t):t=n[1];let s;n[2]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[i.jsx(G,{className:"size-6 shrink-0"}),i.jsx(G,{className:"h-6 w-32"})]}),n[2]=s):s=n[2];let o;n[3]===Symbol.for("react.memo_cache_sentinel")?(o=i.jsxs("div",{className:"flex flex-col gap-3 py-2 px-0",children:[s,i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(G,{className:"h-6 w-20 rounded-md"}),i.jsx(G,{className:"h-6 w-24 rounded-md"})]})]}),n[3]=o):o=n[3];let l;n[4]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx(G,{className:"h-4 w-24"}),i.jsx(G,{className:"h-4 w-32"})]}),n[4]=l):l=n[4];let r;return n[5]===Symbol.for("react.memo_cache_sentinel")?(r=i.jsxs("div",{className:"flex flex-col md:flex-row h-full sm:h-[460px] min-h-0",children:[t,i.jsx("div",{className:"hidden md:block md:w-[320px] md:shrink-0 p-3",children:i.jsxs("div",{className:"flex flex-col gap-3 py-1 px-1.5",children:[o,i.jsxs("div",{className:"flex flex-col gap-4",children:[l,i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx(G,{className:"h-4 w-16"}),i.jsx(G,{className:"h-4 w-40"})]})]})]})})]}),n[5]=r):r=n[5],r}function zs(n,e){return i.jsxs("div",{className:"flex items-center gap-2 min-h-8 py-3 px-3 rounded-lg",children:[i.jsx(G,{className:"size-5 shrink-0 rounded-sm"}),i.jsx(G,{className:"flex-1 h-4"}),i.jsx(G,{className:"w-16 h-5 shrink-0 rounded-md"})]},e)}function lt(n){const e=W.c(66),{onClose:t,credentialId:s,onCredentialChange:o,selectedModel:l,onModelChange:r,filterModels:c,compact:h}=n,d=ie(),[a,m]=D.useState(null),[p,u]=D.useState(""),[f,v]=D.useState(!1),k=_e(),b=_t();let y;e[0]!==k?.providers?(y=Object.fromEntries((k?.providers??[]).map($s)),e[0]=k?.providers,e[1]=y):y=e[1];const _=y,C=ct(),{org:E}=ye();let I;e[2]!==o?(I=T=>{o(T),m(null)},e[2]=o,e[3]=I):I=e[3];const g=I;let S;e[4]!==s||e[5]!==t||e[6]!==r?(S=T=>{s&&(r(T),u(""),t())},e[4]=s,e[5]=t,e[6]=r,e[7]=S):S=e[7];const N=S;if(b.length===0){const T=!h&&"sm:w-[740px]";let F;e[8]!==T?(F=ve("flex items-center justify-center p-8 w-full",T),e[8]=T,e[9]=F):F=e[9];let R;e[10]===Symbol.for("react.memo_cache_sentinel")?(R=i.jsx(cs,{}),e[10]=R):R=e[10];let K;return e[11]!==F?(K=i.jsx("div",{className:F,children:R}),e[11]=F,e[12]=K):K=e[12],K}const M=h?"sm:h-[420px]":"sm:h-[460px]";let x;e[13]!==M?(x=ve("flex flex-col md:flex-row h-full min-h-0",M),e[13]=M,e[14]=x):x=e[14];const w=h?"w-full":"md:border-r md:w-[420px] md:min-w-[420px]";let j;e[15]!==w?(j=ve("flex-1 flex flex-col min-h-0 overflow-hidden",w),e[15]=w,e[16]=j):j=e[16];let P;e[17]===Symbol.for("react.memo_cache_sentinel")?(P=i.jsx(Ge,{size:16,className:"text-muted-foreground shrink-0"}),e[17]=P):P=e[17];let A;e[18]!==f||e[19]!==d?(A=d(f?"chat.decopilot.searchAllModels":"chat.decopilot.searchForModel"),e[18]=f,e[19]=d,e[20]=A):A=e[20];let L;e[21]===Symbol.for("react.memo_cache_sentinel")?(L=T=>u(T.target.value),e[21]=L):L=e[21];let O;e[22]!==p||e[23]!==A?(O=i.jsx(fe,{autoFocus:!0,type:"text",placeholder:A,value:p,onChange:L,className:"flex-1 min-w-0 border-0 !shadow-none focus-visible:ring-0 px-0 h-full text-sm placeholder:text-muted-foreground/50 bg-transparent"}),e[22]=p,e[23]=A,e[24]=O):O=e[24];let z;e[25]!==s||e[26]!==g||e[27]!==b||e[28]!==_||e[29]!==d?(z=b.length>0&&i.jsxs(mt,{value:s??"",onValueChange:g,children:[i.jsxs(ft,{size:"sm",className:"w-auto max-w-[140px] h-8 shrink-0 gap-1.5 px-2 [&>svg:last-child]:hidden",onClick:Ds,children:[i.jsx(pt,{placeholder:d("chat.decopilot.key"),children:(()=>{const T=b.find(te=>te.id===s),F=T?_[T.providerId]:void 0,R=be(T?.presetId),K=R?.logo??F?.logo,U=R?.name??F?.name??T?.providerId??"Key";return i.jsxs("span",{className:"flex items-center gap-1.5 min-w-0",children:[K?i.jsx("img",{src:K,alt:U,className:"w-4 h-4 rounded shrink-0 dark:bg-white dark:rounded-sm dark:p-px"}):i.jsx("div",{className:"w-4 h-4 rounded bg-primary/10 flex items-center justify-center text-xs font-semibold text-primary shrink-0",children:U.slice(0,1).toUpperCase()}),i.jsx("span",{className:"text-xs truncate",children:U})]})})()}),i.jsx(vt,{className:"size-4 opacity-50 shrink-0 pointer-events-none"})]}),i.jsx(xt,{children:b.map(T=>{const F=_[T.providerId],R=be(T.presetId),K=R?.logo??F?.logo,U=R?.name??F?.name??T.providerId;return i.jsx(gt,{value:T.id,children:i.jsxs("div",{className:"flex items-center gap-2",children:[K?i.jsx("img",{src:K,alt:U,className:"w-4 h-4 rounded dark:bg-white dark:rounded-sm dark:p-px"}):i.jsx("div",{className:"w-4 h-4 rounded bg-primary/10 flex items-center justify-center text-xs font-semibold text-primary",children:U.slice(0,1).toUpperCase()}),i.jsxs("span",{children:[U," — ",T.label]})]})},T.id)})})]}),e[25]=s,e[26]=g,e[27]=b,e[28]=_,e[29]=d,e[30]=z):z=e[30];let Y;e[31]!==O||e[32]!==z?(Y=i.jsx("div",{className:"border-b border-border h-12 bg-background/95 backdrop-blur sticky top-0 z-10",children:i.jsxs("label",{className:"flex items-center gap-2.5 h-12 px-4 pr-12 md:pr-4 cursor-text",children:[P,O,z]})}),e[31]=O,e[32]=z,e[33]=Y):Y=e[33];let $;e[34]!==s?($=T=>{const{error:F,resetError:R}=T;return i.jsx(Es,{error:F,onRetry:R,credentialId:s??void 0})},e[34]=s,e[35]=$):$=e[35];let X;e[36]===Symbol.for("react.memo_cache_sentinel")?(X=i.jsx(Os,{}),e[36]=X):X=e[36];const Z=s??void 0;let Q;e[37]===Symbol.for("react.memo_cache_sentinel")?(Q=()=>v(Ks),e[37]=Q):Q=e[37];let B;e[38]!==c||e[39]!==N||e[40]!==f||e[41]!==p||e[42]!==Z?(B=i.jsx(D.Suspense,{fallback:X,children:i.jsx(Rs,{keyId:Z,searchTerm:p,onHover:m,onModelSelect:N,managing:f,onToggleManage:Q,filterModels:c})}),e[38]=c,e[39]=N,e[40]=f,e[41]=p,e[42]=Z,e[43]=B):B=e[43];let V;e[44]!==s||e[45]!==$||e[46]!==B?(V=i.jsx(dt,{fallback:$,children:B},s),e[44]=s,e[45]=$,e[46]=B,e[47]=V):V=e[47];let ee;e[48]!==f||e[49]!==C||e[50]!==E||e[51]!==d?(ee=!f&&i.jsxs("div",{className:"border-t border-border flex",children:[i.jsxs("button",{type:"button",onClick:()=>D.startTransition(()=>v(!0)),className:"flex items-center gap-2 flex-1 px-4 py-2.5 text-xs text-muted-foreground hover:text-foreground hover:bg-accent cursor-pointer",children:[i.jsx(kt,{className:"size-3.5 shrink-0"}),d("chat.decopilot.manageModels")]}),i.jsx("div",{className:"w-px bg-border shrink-0"}),i.jsxs("button",{type:"button",onClick:()=>C({to:"/$org/settings/ai-providers",params:{org:E.slug}}),className:"flex items-center gap-2 flex-1 px-4 py-2.5 text-xs text-muted-foreground hover:text-foreground hover:bg-accent cursor-pointer",children:[i.jsx(bt,{className:"size-3.5 shrink-0"}),d("chat.decopilot.manageApiKeys")]})]}),e[48]=f,e[49]=C,e[50]=E,e[51]=d,e[52]=ee):ee=e[52];let H;e[53]!==Y||e[54]!==V||e[55]!==ee||e[56]!==j?(H=i.jsxs("div",{className:j,children:[Y,V,ee]}),e[53]=Y,e[54]=V,e[55]=ee,e[56]=j,e[57]=H):H=e[57];let q;e[58]!==h||e[59]!==a||e[60]!==l?(q=!h&&i.jsx("div",{className:"hidden md:flex md:flex-col md:w-[320px] md:shrink-0 p-3",children:i.jsx(gs,{model:a??l??null})}),e[58]=h,e[59]=a,e[60]=l,e[61]=q):q=e[61];let J;return e[62]!==H||e[63]!==q||e[64]!==x?(J=i.jsxs("div",{className:x,children:[H,q]}),e[62]=H,e[63]=q,e[64]=x,e[65]=J):J=e[65],J}function Ks(n){return!n}function Ds(n){return n.stopPropagation()}function $s(n){return[n.id,n]}function Us(n){const e=W.c(12),{onClose:t}=n,{credentialId:s,setCredentialId:o,selectedModel:l,setModel:r}=Mt();let c;e[0]!==o?(c=a=>{ne("chat_credential_changed",{credential_id:a}),o(a)},e[0]=o,e[1]=c):c=e[1];let h;e[2]!==s||e[3]!==l?.modelId||e[4]!==r?(h=a=>{s&&(ne("chat_model_changed",{from_model_id:l?.modelId??null,to_model_id:a.modelId,to_model_provider:a.providerId??null,credential_id:s}),r({...a,keyId:s}))},e[2]=s,e[3]=l?.modelId,e[4]=r,e[5]=h):h=e[5];let d;return e[6]!==s||e[7]!==t||e[8]!==l||e[9]!==c||e[10]!==h?(d=i.jsx(lt,{onClose:t,credentialId:s,onCredentialChange:c,selectedModel:l,onModelChange:h}),e[6]=s,e[7]=t,e[8]=l,e[9]=c,e[10]=h,e[11]=d):d=e[11],d}function Ws(n){const e=W.c(2),{onClose:t}=n;let s;return e[0]!==t?(s=i.jsx(Us,{onClose:t}),e[0]=t,e[1]=s):s=e[1],s}function Bs(n){const e=W.c(2);let t;return e[0]!==n?(t=i.jsx(lt,{...n}),e[0]=n,e[1]=t):t=e[1],t}function fi(n){const e=W.c(2),{onClose:t}=n;let s;return e[0]!==t?(s=i.jsx(Ws,{onClose:t}),e[0]=t,e[1]=s):s=e[1],s}function pi(n){const e=W.c(4);let t;e[0]!==n?({...t}=n,e[0]=n,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(Bs,{...t}),e[2]=t,e[3]=s):s=e[3],s}export{as as C,pi as M,cs as N,et as P,ci as S,mi as a,ui as b,fi as c,be as d,hi as g,di as i,Me as m};
|
|
4
|
+
color: hsl(${Math.max(0,Math.min(120-120*k,120))}deg 100% 31%);`,t?.key)}return t?.onChange&&!(l&&t.skipInitialOnChange)&&t.onChange(o),l=!1,o}return r.updateDeps=c=>{s=c},r}function Te(n,e){if(n===void 0)throw new Error("Unexpected undefined");return n}const Kt=(n,e)=>Math.abs(n-e)<1.01,Dt=(n,e,t)=>{let s;return function(...o){n.clearTimeout(s),s=n.setTimeout(()=>e.apply(this,o),t)}},Le=n=>{const{offsetWidth:e,offsetHeight:t}=n;return{width:e,height:t}},$t=n=>n,Ut=n=>{const e=Math.max(n.startIndex-n.overscan,0),t=Math.min(n.endIndex+n.overscan,n.count-1),s=[];for(let o=e;o<=t;o++)s.push(o);return s},Wt=(n,e)=>{const t=n.scrollElement;if(!t)return;const s=n.targetWindow;if(!s)return;const o=r=>{const{width:c,height:h}=r;e({width:Math.round(c),height:Math.round(h)})};if(o(Le(t)),!s.ResizeObserver)return()=>{};const l=new s.ResizeObserver(r=>{const c=()=>{const h=r[0];if(h?.borderBoxSize){const d=h.borderBoxSize[0];if(d){o({width:d.inlineSize,height:d.blockSize});return}}o(Le(t))};n.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(c):c()});return l.observe(t,{box:"border-box"}),()=>{l.unobserve(t)}},Fe={passive:!0},ze=typeof window>"u"?!0:"onscrollend"in window,Bt=(n,e)=>{const t=n.scrollElement;if(!t)return;const s=n.targetWindow;if(!s)return;let o=0;const l=n.options.useScrollendEvent&&ze?()=>{}:Dt(s,()=>{e(o,!1)},n.options.isScrollingResetDelay),r=a=>()=>{const{horizontal:m,isRtl:p}=n.options;o=m?t.scrollLeft*(p&&-1||1):t.scrollTop,l(),e(o,a)},c=r(!0),h=r(!1);t.addEventListener("scroll",c,Fe);const d=n.options.useScrollendEvent&&ze;return d&&t.addEventListener("scrollend",h,Fe),()=>{t.removeEventListener("scroll",c),d&&t.removeEventListener("scrollend",h)}},Vt=(n,e,t)=>{if(e?.borderBoxSize){const s=e.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}return n[t.options.horizontal?"offsetWidth":"offsetHeight"]},Ht=(n,{adjustments:e=0,behavior:t},s)=>{var o,l;const r=n+e;(l=(o=s.scrollElement)==null?void 0:o.scrollTo)==null||l.call(o,{[s.options.horizontal?"left":"top"]:r,behavior:t})};class qt{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var t,s,o;return((o=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:o.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(o=>{o.forEach(l=>{const r=()=>{const c=l.target,h=this.indexFromElement(c);if(!c.isConnected){this.observer.unobserve(c);return}this.shouldMeasureDuringScroll(h)&&this.resizeItem(h,this.options.measureElement(c,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()})}));return{disconnect:()=>{var o;(o=s())==null||o.disconnect(),t=null},observe:o=>{var l;return(l=s())==null?void 0:l.observe(o,{box:"border-box"})},unobserve:o=>{var l;return(l=s())==null?void 0:l.unobserve(o)}}})(),this.range=null,this.setOptions=t=>{Object.entries(t).forEach(([s,o])=>{typeof o>"u"&&delete t[s]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:$t,rangeExtractor:Ut,onChange:()=>{},measureElement:Vt,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...t}},this.notify=t=>{var s,o;(o=(s=this.options).onChange)==null||o.call(s,this,t)},this.maybeNotify=me(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(o=>{this.observer.observe(o)}),this.unsubs.push(this.options.observeElementRect(this,o=>{this.scrollRect=o,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(o,l)=>{this.scrollAdjustments=0,this.scrollDirection=l?this.getScrollOffset()<o?"forward":"backward":null,this.scrollOffset=o,this.isScrolling=l,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{const o=new Map,l=new Map;for(let r=s-1;r>=0;r--){const c=t[r];if(o.has(c.lane))continue;const h=l.get(c.lane);if(h==null||c.end>h.end?l.set(c.lane,c):c.end<h.end&&o.set(c.lane,!0),o.size===this.options.lanes)break}return l.size===this.options.lanes?Array.from(l.values()).sort((r,c)=>r.end===c.end?r.index-c.index:r.end-c.end)[0]:void 0},this.getMeasurementOptions=me(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,s,o,l,r,c,h)=>(this.prevLanes!==void 0&&this.prevLanes!==c&&(this.lanesChangedFlag=!0),this.prevLanes=c,this.pendingMeasuredCacheIndexes=[],{count:t,paddingStart:s,scrollMargin:o,getItemKey:l,enabled:r,lanes:c,laneAssignmentMode:h}),{key:!1}),this.getMeasurements=me(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:t,paddingStart:s,scrollMargin:o,getItemKey:l,enabled:r,lanes:c,laneAssignmentMode:h},d)=>{if(!r)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const u of this.laneAssignments.keys())u>=t&&this.laneAssignments.delete(u);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(u=>{this.itemSizeCache.set(u.key,u.size)}));const a=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1);const m=this.measurementsCache.slice(0,a),p=new Array(c).fill(void 0);for(let u=0;u<a;u++){const f=m[u];f&&(p[f.lane]=u)}for(let u=a;u<t;u++){const f=l(u),v=this.laneAssignments.get(u);let k,b;const y=h==="estimate"||d.has(f);if(v!==void 0&&this.options.lanes>1){k=v;const I=p[k],g=I!==void 0?m[I]:void 0;b=g?g.end+this.options.gap:s+o}else{const I=this.options.lanes===1?m[u-1]:this.getFurthestMeasurement(m,u);b=I?I.end+this.options.gap:s+o,k=I?I.lane:u%this.options.lanes,this.options.lanes>1&&y&&this.laneAssignments.set(u,k)}const _=d.get(f),C=typeof _=="number"?_:this.options.estimateSize(u),E=b+C;m[u]={index:u,start:b,size:C,end:E,key:f,lane:k},p[k]=u}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=me(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,o,l)=>this.range=t.length>0&&s>0?Yt({measurements:t,outerSize:s,scrollOffset:o,lanes:l}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=me(()=>{let t=null,s=null;const o=this.calculateRange();return o&&(t=o.startIndex,s=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,o,l,r)=>l===null||r===null?[]:t({startIndex:l,endIndex:r,overscan:s,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,o=t.getAttribute(s);return o?parseInt(o,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const o=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(o!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,o-l),c=Math.min(this.options.count-1,o+l);return t>=r&&t<=c}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((r,c)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(c))});return}const s=this.indexFromElement(t),o=this.options.getItemKey(s),l=this.elementsCache.get(o);l!==t&&(l&&this.observer.unobserve(l),this.observer.observe(t),this.elementsCache.set(o,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var o;const l=this.measurementsCache[t];if(!l)return;const r=this.itemSizeCache.get(l.key)??l.size,c=s-r;c!==0&&(((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(l,c,this):l.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=c,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(l.index),this.itemSizeCache=new Map(this.itemSizeCache.set(l.key,s)),this.notify(!1))},this.getVirtualItems=me(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{const o=[];for(let l=0,r=t.length;l<r;l++){const c=t[l],h=s[c];o.push(h)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const s=this.getMeasurements();if(s.length!==0)return Te(s[Je(0,s.length-1,o=>Te(s[o]).start,t)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(t,s,o=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),r=this.getScrollOffset();s==="auto"&&(s=t>=r+l?"end":"start"),s==="center"?t+=(o-l)/2:s==="end"&&(t-=l);const c=this.getMaxScrollOffset();return Math.max(Math.min(c,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const o=this.getSize(),l=this.getScrollOffset(),r=this.measurementsCache[t];if(!r)return;if(s==="auto")if(r.end>=l+o-this.options.scrollPaddingEnd)s="end";else if(r.start<=l+this.options.scrollPaddingStart)s="start";else return[l,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const c=s==="end"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(c,s,r.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:o="auto"}={})=>{const l=this.getOffsetForAlignment(t,s),r=this.now();this.scrollState={index:null,align:s,behavior:o,startedAt:r,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:o="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const l=this.getOffsetForIndex(t,s);if(!l)return;const[r,c]=l,h=this.now();this.scrollState={index:t,align:c,behavior:o,startedAt:h,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const o=this.getScrollOffset()+t,l=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:l,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var t;const s=this.getMeasurements();let o;if(s.length===0)o=this.options.paddingStart;else if(this.options.lanes===1)o=((t=s[s.length-1])==null?void 0:t.end)??0;else{const l=Array(this.options.lanes).fill(null);let r=s.length-1;for(;r>=0&&l.some(c=>c===null);){const c=s[r];l[c.lane]===null&&(l[c.lane]=c.end),r--}o=Math.max(...l.filter(c=>c!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(t,{adjustments:s,behavior:o})=>{this.options.scrollToFn(t,{behavior:o,adjustments:s},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=s?s[0]:this.scrollState.lastTargetOffset,l=1,r=o!==this.scrollState.lastTargetOffset;if(!r&&Kt(o,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.scrollState=null;return}}else this.scrollState.stableFrames=0,r&&(this.scrollState.lastTargetOffset=o,this.scrollState.behavior="auto",this._scrollToOffset(o,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const Je=(n,e,t,s)=>{for(;n<=e;){const o=(n+e)/2|0,l=t(o);if(l<s)n=o+1;else if(l>s)e=o-1;else return o}return n>0?n-1:0};function Yt({measurements:n,outerSize:e,scrollOffset:t,lanes:s}){const o=n.length-1,l=h=>n[h].start;if(n.length<=s)return{startIndex:0,endIndex:o};let r=Je(0,o,l,t),c=r;if(s===1)for(;c<o&&n[c].end<t+e;)c++;else if(s>1){const h=Array(s).fill(0);for(;c<o&&h.some(a=>a<t+e);){const a=n[c];h[a.lane]=a.end,c++}const d=Array(s).fill(t+e);for(;r>=0&&d.some(a=>a>=t);){const a=n[r];d[a.lane]=a.start,r--}r=Math.max(0,r-r%s),c=Math.min(o,c+(s-1-c%s))}return{startIndex:r,endIndex:c}}const Re=typeof document<"u"?D.useLayoutEffect:D.useEffect;function Gt({useFlushSync:n=!0,...e}){const t=D.useReducer(()=>({}),{})[1],s={...e,onChange:(l,r)=>{var c;n&&r?rt.flushSync(t):t(),(c=e.onChange)==null||c.call(e,l,r)}},[o]=D.useState(()=>new qt(s));return o.setOptions(s),Re(()=>o._didMount(),[]),Re(()=>o._willUpdate()),o}function Xt(n){return Gt({observeElementRect:Wt,observeElementOffset:Bt,scrollToFn:Ht,...n})}const Ze=[{id:"openai",name:"OpenAI",description:"GPT-4, GPT-5, and other OpenAI models",logo:"https://decoims.com/decocms/b51001ef-ae58-4db4-8a75-9e6d2df2dd8e/openai.png",baseUrlPlaceholder:"https://api.openai.com/v1",defaultBaseUrl:"https://api.openai.com/v1",apiKeyRecommended:!0,helpText:"Use your OpenAI API key (starts with sk-)."},{id:"litellm",name:"LiteLLM",description:"Connect to a LiteLLM gateway your team manages",logo:"https://decoims.com/decocms/e974ae05-ad64-4b4a-8444-d9705f019b85/litellm.png",baseUrlPlaceholder:"http://localhost:4000",apiKeyRecommended:!0,helpText:"Point at your LiteLLM proxy. The base URL should be the root of the proxy (we'll append /v1)."},{id:"ollama",name:"Ollama",description:"Run open-source models on your own computer",logo:"https://decoims.com/decocms/2bb2f822-5288-4b7c-a541-dcbef76525a0/ollama.png",baseUrlPlaceholder:"http://localhost:11434",apiKeyRecommended:!1,helpText:"Ollama exposes /v1 by default — no API key required for local use."},{id:"lm-studio",name:"LM Studio",description:"Open models running through LM Studio",logo:"https://decoims.com/decocms/9f0ab1a9-d2d5-4f3e-9de0-aadd4926428d/lmstudio.webp",baseUrlPlaceholder:"http://localhost:1234",apiKeyRecommended:!1,helpText:"Start the local server in LM Studio, then paste its base URL here."},{id:"vllm",name:"vLLM",description:"Connect to your team's self-hosted vLLM server",logo:"https://decoims.com/decocms/b6c60e4f-a4aa-443c-981f-ad0f31640e22/vllm.png",baseUrlPlaceholder:"http://localhost:8000",apiKeyRecommended:!1}];function be(n){if(n)return Ze.find(e=>e.id===n)}const Ke=4;function xe(n){const e=W.c(8),{logo:t,name:s,description:o,onClick:l}=n;let r;e[0]!==t||e[1]!==s?(r=t?i.jsx("img",{src:t,alt:s,className:"size-8 rounded-md object-contain dark:bg-white dark:p-0.5"}):i.jsx(zt,{fallback:s.charAt(0),className:"size-8 bg-primary/10 text-primary"}),e[0]=t,e[1]=s,e[2]=r):r=e[2];let c;return e[3]!==o||e[4]!==s||e[5]!==l||e[6]!==r?(c=i.jsx(We,{onClick:l,icon:r,title:s,description:o}),e[3]=o,e[4]=s,e[5]=l,e[6]=r,e[7]=c):c=e[7],c}function et(n){const e=W.c(38),{providers:t,onSelect:s,onShowAll:o}=n,l=ie();let r;e[0]!==t?(r=t.find(es),e[0]=t,e[1]=r):r=e[1];const c=r;let h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h={openrouter:0,llmapi:1,anthropic:2,google:3},e[2]=h):h=e[2];const d=h;let a;if(e[3]!==s||e[4]!==t||e[5]!==l){let C;e[7]===Symbol.for("react.memo_cache_sentinel")?(C=(j,P)=>{const A=d[j.id]??Number.MAX_SAFE_INTEGER,L=d[P.id]??Number.MAX_SAFE_INTEGER;return A-L},e[7]=C):C=e[7];const E=t.filter(Zt).sort(C);let I;e[8]!==t?(I=t.find(Jt),e[8]=t,e[9]=I):I=e[9];const g=I;let S;e[10]===Symbol.for("react.memo_cache_sentinel")?(S=be("openai"),e[10]=S):S=e[10];const N=S;let M;e[11]!==s?(M=j=>i.jsx(xe,{logo:j.logo,name:j.name,description:j.description,onClick:()=>s({kind:"provider",provider:j})},j.id),e[11]=s,e[12]=M):M=e[12];let x;e[13]!==s||e[14]!==g?(x=g&&N?[i.jsx(xe,{logo:N.logo,name:N.name,description:N.description,onClick:()=>s({kind:"openai-compatible",provider:g,preset:N})},N.id)]:[],e[13]=s,e[14]=g,e[15]=x):x=e[15];let w;e[16]!==s||e[17]!==g||e[18]!==l?(w=g?[...Ze.filter(Qt).map(j=>i.jsx(xe,{logo:j.logo,name:j.name,description:j.description,onClick:()=>s({kind:"openai-compatible",provider:g,preset:j})},j.id)),i.jsx(xe,{logo:g.logo,name:l("settings.aiProviders.customOpenAiCompatible"),description:l("settings.aiProviders.customOpenAiDescription"),onClick:()=>s({kind:"openai-compatible",provider:g,preset:null})},"custom")]:[],e[16]=s,e[17]=g,e[18]=l,e[19]=w):w=e[19],a=[...E.map(M),...x,...w],e[3]=s,e[4]=t,e[5]=l,e[6]=a}else a=e[6];const m=a,p=m.length-Ke,u=!!o&&p>0;let f;e[20]!==m||e[21]!==u?(f=u?m.slice(0,Ke):m,e[20]=m,e[21]=u,e[22]=f):f=e[22];const v=f;let k;e[23]!==c||e[24]!==s||e[25]!==l?(k=c&&i.jsx(Ee,{children:i.jsxs("div",{className:"relative rounded-xl border border-violet-400/30 bg-gradient-to-br from-violet-50/50 via-transparent to-lime-50/30 dark:from-violet-950/20 dark:to-lime-950/10 p-1.5",children:[i.jsx("div",{className:"absolute inset-0 rounded-xl bg-gradient-to-br from-violet-400/5 to-lime-400/5 pointer-events-none"}),i.jsx("p",{className:"text-xs font-medium text-special mb-1.5 px-2 pt-2 relative",children:l("settings.aiProviders.recommended")}),i.jsx(Oe,{className:"relative",children:i.jsx(xe,{logo:c.logo,name:c.name,description:c.description,onClick:()=>s({kind:"provider",provider:c})})})]})}),e[23]=c,e[24]=s,e[25]=l,e[26]=k):k=e[26];let b;e[27]!==p||e[28]!==o||e[29]!==u||e[30]!==l?(b=u&&i.jsx(We,{onClick:o,title:l(p===1?"settings.aiProviders.moreProvidersSingular":"settings.aiProviders.moreProvidersPlural",{count:p}),action:i.jsx(at,{size:16,className:"text-muted-foreground"})}),e[27]=p,e[28]=o,e[29]=u,e[30]=l,e[31]=b):b=e[31];let y;e[32]!==b||e[33]!==v?(y=i.jsx(Ee,{children:i.jsxs(Oe,{children:[v,b]})}),e[32]=b,e[33]=v,e[34]=y):y=e[34];let _;return e[35]!==k||e[36]!==y?(_=i.jsxs("div",{className:"flex flex-col gap-6",children:[k,y]}),e[35]=k,e[36]=y,e[37]=_):_=e[37],_}function Qt(n){return n.id!=="openai"}function Jt(n){return n.id==="openai-compatible"}function Zt(n){return n.id!=="deco"&&n.id!=="openai-compatible"}function es(n){return n.id==="deco"}function ts(n){return He({label:ge().optional(),apiKey:ge().min(1,n)})}function ss(n){const e=W.c(91),{providerId:t,onCancel:s,onSuccess:o}=n,{org:l}=ye(),r=ke(),c=we(),[h,d]=D.useState(!1),a=ie();let m;e[0]!==a?(m=Be(ts(a("settings.connectForms.apiKeyRequired"))),e[0]=a,e[1]=m):m=e[1];let p;e[2]===Symbol.for("react.memo_cache_sentinel")?(p={label:"",apiKey:""},e[2]=p):p=e[2];let u;e[3]!==m?(u={resolver:m,defaultValues:p},e[3]=m,e[4]=u):u=e[4];const{register:f,handleSubmit:v,formState:k}=Ve(u),{errors:b}=k;let y;e[5]!==t||e[6]!==r||e[7]!==a?(y=async se=>{await r.call("AI_PROVIDER_KEY_CREATE",{providerId:t,label:se.label||a("settings.connectForms.defaultKeyLabel"),apiKey:se.apiKey})},e[5]=t,e[6]=r,e[7]=a,e[8]=y):y=e[8];let _;e[9]!==o||e[10]!==l||e[11]!==c||e[12]!==a?(_=()=>{c.invalidateQueries({queryKey:pe.aiProviderKeys(l.id)}),c.invalidateQueries({queryKey:pe.aiProviders(l.id)}),le.success(a("settings.connectForms.keySavedSuccess")),o()},e[9]=o,e[10]=l,e[11]=c,e[12]=a,e[13]=_):_=e[13];let C;e[14]!==a?(C=se=>{le.error(a("settings.connectForms.failedSaveKey",{error:se.message}))},e[14]=a,e[15]=C):C=e[15];let E;e[16]!==y||e[17]!==_||e[18]!==C?(E={mutationFn:y,onSuccess:_,onError:C},e[16]=y,e[17]=_,e[18]=C,e[19]=E):E=e[19];const{mutate:I,isPending:g,error:S}=Se(E);let N;e[20]!==I?(N=se=>I(se),e[20]=I,e[21]=N):N=e[21];let M;e[22]!==v||e[23]!==N?(M=v(N),e[22]=v,e[23]=N,e[24]=M):M=e[24];let x;e[25]!==a?(x=a("settings.connectForms.labelField"),e[25]=a,e[26]=x):x=e[26];let w;e[27]!==x?(w=i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:x}),e[27]=x,e[28]=w):w=e[28];let j;e[29]!==a?(j=a("settings.connectForms.labelPlaceholder"),e[29]=a,e[30]=j):j=e[30];let P;e[31]!==f?(P=f("label"),e[31]=f,e[32]=P):P=e[32];let A;e[33]!==j||e[34]!==P?(A=i.jsx(fe,{placeholder:j,...P,className:"h-8 text-sm"}),e[33]=j,e[34]=P,e[35]=A):A=e[35];let L;e[36]!==w||e[37]!==A?(L=i.jsxs("div",{className:"space-y-1",children:[w,A]}),e[36]=w,e[37]=A,e[38]=L):L=e[38];let O;e[39]!==a?(O=a("settings.connectForms.apiKeyField"),e[39]=a,e[40]=O):O=e[40];let R;e[41]!==O?(R=i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:O}),e[41]=O,e[42]=R):R=e[42];const Y=h?"text":"password";let $;e[43]!==f?($=f("apiKey"),e[43]=f,e[44]=$):$=e[44];let X;e[45]!==Y||e[46]!==$?(X=i.jsx(fe,{type:Y,placeholder:"sk-...",...$,className:"ph-no-capture h-8 text-sm pr-8"}),e[45]=Y,e[46]=$,e[47]=X):X=e[47];let Z;e[48]!==h?(Z=()=>d(!h),e[48]=h,e[49]=Z):Z=e[49];let Q;e[50]!==h||e[51]!==a?(Q=a(h?"settings.connectForms.hideApiKey":"settings.connectForms.showApiKey"),e[50]=h,e[51]=a,e[52]=Q):Q=e[52];let B;e[53]!==h?(B=h?i.jsx(Ge,{size:14}):i.jsx(Qe,{size:14}),e[53]=h,e[54]=B):B=e[54];let V;e[55]!==Z||e[56]!==Q||e[57]!==B?(V=i.jsx("button",{type:"button",onClick:Z,"aria-label":Q,className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:B}),e[55]=Z,e[56]=Q,e[57]=B,e[58]=V):V=e[58];let ee;e[59]!==X||e[60]!==V?(ee=i.jsxs("div",{className:"relative",children:[X,V]}),e[59]=X,e[60]=V,e[61]=ee):ee=e[61];let H;e[62]!==b.apiKey?(H=b.apiKey&&i.jsx("p",{className:"text-xs text-destructive",children:b.apiKey.message}),e[62]=b.apiKey,e[63]=H):H=e[63];let q;e[64]!==R||e[65]!==ee||e[66]!==H?(q=i.jsxs("div",{className:"space-y-1",children:[R,ee,H]}),e[64]=R,e[65]=ee,e[66]=H,e[67]=q):q=e[67];let J;e[68]!==S?(J=S&&i.jsx("p",{className:"text-xs text-destructive",children:S.message}),e[68]=S,e[69]=J):J=e[69];let T;e[70]!==a?(T=a("settings.connectForms.cancel"),e[70]=a,e[71]=T):T=e[71];let F;e[72]!==g||e[73]!==s||e[74]!==T?(F=i.jsx(re,{type:"button",variant:"ghost",size:"sm",onClick:s,disabled:g,children:T}),e[72]=g,e[73]=s,e[74]=T,e[75]=F):F=e[75];let z;e[76]!==g||e[77]!==a?(z=a(g?"settings.connectForms.saving":"settings.connectForms.saveKey"),e[76]=g,e[77]=a,e[78]=z):z=e[78];let K;e[79]!==g||e[80]!==z?(K=i.jsx(re,{type:"submit",size:"sm",disabled:g,children:z}),e[79]=g,e[80]=z,e[81]=K):K=e[81];let U;e[82]!==F||e[83]!==K?(U=i.jsxs(qe,{children:[F,K]}),e[82]=F,e[83]=K,e[84]=U):U=e[84];let te;return e[85]!==M||e[86]!==L||e[87]!==q||e[88]!==J||e[89]!==U?(te=i.jsxs("form",{onSubmit:M,className:"space-y-3",children:[L,q,J,U]}),e[85]=M,e[86]=L,e[87]=q,e[88]=J,e[89]=U,e[90]=te):te=e[90],te}function is(n){return He({label:ge().optional(),baseUrl:ge().min(1,n),apiKey:ge().optional()})}function ns(n){const e=W.c(109),{preset:t,onCancel:s,onSuccess:o}=n,{org:l}=ye(),r=ke(),c=we(),[h,d]=D.useState(!1),a=ie();let m;e[0]!==a?(m=Be(is(a("settings.connectForms.baseUrlRequired"))),e[0]=a,e[1]=m):m=e[1];const p=t?.defaultBaseUrl??"";let u;e[2]!==p?(u={label:"",baseUrl:p,apiKey:""},e[2]=p,e[3]=u):u=e[3];let f;e[4]!==m||e[5]!==u?(f={resolver:m,defaultValues:u},e[4]=m,e[5]=u,e[6]=f):f=e[6];const{register:v,handleSubmit:k,formState:b}=Ve(f),{errors:y}=b;let _;e[7]!==t||e[8]!==r?(_=async oe=>{const ot=JSON.stringify({baseUrl:oe.baseUrl,apiKey:oe.apiKey||""});await r.call("AI_PROVIDER_KEY_CREATE",{providerId:"openai-compatible",label:oe.label||t?.name||oe.baseUrl,apiKey:ot,...t?{presetId:t.id}:{}})},e[7]=t,e[8]=r,e[9]=_):_=e[9];let C;e[10]!==o||e[11]!==l||e[12]!==c||e[13]!==a?(C=()=>{c.invalidateQueries({queryKey:pe.aiProviderKeys(l.id)}),c.invalidateQueries({queryKey:pe.aiProviders(l.id)}),le.success(a("settings.connectForms.connectionSavedSuccess")),o()},e[10]=o,e[11]=l,e[12]=c,e[13]=a,e[14]=C):C=e[14];let E;e[15]!==a?(E=oe=>{le.error(a("settings.connectForms.failedSaveConnection",{error:oe.message}))},e[15]=a,e[16]=E):E=e[16];let I;e[17]!==_||e[18]!==C||e[19]!==E?(I={mutationFn:_,onSuccess:C,onError:E},e[17]=_,e[18]=C,e[19]=E,e[20]=I):I=e[20];const{mutate:g,isPending:S,error:N}=Se(I);let M;e[21]!==t||e[22]!==a?(M=t?a("settings.connectForms.labelPlaceholderPreset",{name:t.name}):a("settings.connectForms.labelPlaceholderOpenAiCompatible"),e[21]=t,e[22]=a,e[23]=M):M=e[23];const x=M;let w;e[24]!==t?.baseUrlPlaceholder||e[25]!==a?(w=t?.baseUrlPlaceholder??a("settings.connectForms.baseUrlPlaceholder"),e[24]=t?.baseUrlPlaceholder,e[25]=a,e[26]=w):w=e[26];const j=w;let P;e[27]!==g?(P=oe=>g(oe),e[27]=g,e[28]=P):P=e[28];let A;e[29]!==k||e[30]!==P?(A=k(P),e[29]=k,e[30]=P,e[31]=A):A=e[31];let L;e[32]!==a?(L=a("settings.connectForms.labelField"),e[32]=a,e[33]=L):L=e[33];let O;e[34]!==L?(O=i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:L}),e[34]=L,e[35]=O):O=e[35];let R;e[36]!==v?(R=v("label"),e[36]=v,e[37]=R):R=e[37];let Y;e[38]!==x||e[39]!==R?(Y=i.jsx(fe,{placeholder:x,...R,className:"h-8 text-sm"}),e[38]=x,e[39]=R,e[40]=Y):Y=e[40];let $;e[41]!==O||e[42]!==Y?($=i.jsxs("div",{className:"space-y-1",children:[O,Y]}),e[41]=O,e[42]=Y,e[43]=$):$=e[43];let X;e[44]!==j||e[45]!==y||e[46]!==t?.defaultBaseUrl||e[47]!==v||e[48]!==a?(X=t?.defaultBaseUrl?i.jsx("input",{type:"hidden",...v("baseUrl")}):i.jsxs("div",{className:"space-y-1",children:[i.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:a("settings.connectForms.baseUrlField")}),i.jsx(fe,{type:"url",placeholder:j,...v("baseUrl"),className:"h-8 text-sm"}),y.baseUrl&&i.jsx("p",{className:"text-xs text-destructive",children:y.baseUrl.message})]}),e[44]=j,e[45]=y,e[46]=t?.defaultBaseUrl,e[47]=v,e[48]=a,e[49]=X):X=e[49];let Z;e[50]!==a?(Z=a("settings.connectForms.apiKeyField"),e[50]=a,e[51]=Z):Z=e[51];let Q;e[52]!==t?.apiKeyRecommended||e[53]!==a?(Q=t?.apiKeyRecommended?a("settings.connectForms.recommended"):a("settings.connectForms.optional"),e[52]=t?.apiKeyRecommended,e[53]=a,e[54]=Q):Q=e[54];let B;e[55]!==Q?(B=i.jsxs("span",{className:"text-muted-foreground/60",children:["(",Q,")"]}),e[55]=Q,e[56]=B):B=e[56];let V;e[57]!==Z||e[58]!==B?(V=i.jsxs("label",{className:"text-xs font-medium text-muted-foreground",children:[Z," ",B]}),e[57]=Z,e[58]=B,e[59]=V):V=e[59];const ee=h?"text":"password";let H;e[60]!==v?(H=v("apiKey"),e[60]=v,e[61]=H):H=e[61];let q;e[62]!==ee||e[63]!==H?(q=i.jsx(fe,{type:ee,placeholder:"sk-...",...H,className:"ph-no-capture h-8 text-sm pr-8"}),e[62]=ee,e[63]=H,e[64]=q):q=e[64];let J;e[65]!==h?(J=()=>d(!h),e[65]=h,e[66]=J):J=e[66];let T;e[67]!==h||e[68]!==a?(T=a(h?"settings.connectForms.hideApiKey":"settings.connectForms.showApiKey"),e[67]=h,e[68]=a,e[69]=T):T=e[69];let F;e[70]!==h?(F=h?i.jsx(Ge,{size:14}):i.jsx(Qe,{size:14}),e[70]=h,e[71]=F):F=e[71];let z;e[72]!==J||e[73]!==T||e[74]!==F?(z=i.jsx("button",{type:"button",onClick:J,"aria-label":T,className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:F}),e[72]=J,e[73]=T,e[74]=F,e[75]=z):z=e[75];let K;e[76]!==q||e[77]!==z?(K=i.jsxs("div",{className:"relative",children:[q,z]}),e[76]=q,e[77]=z,e[78]=K):K=e[78];let U;e[79]!==V||e[80]!==K?(U=i.jsxs("div",{className:"space-y-1",children:[V,K]}),e[79]=V,e[80]=K,e[81]=U):U=e[81];let te;e[82]!==t?(te=t?.helpText&&i.jsx("p",{className:"text-xs text-muted-foreground",children:t.helpText}),e[82]=t,e[83]=te):te=e[83];let se;e[84]!==N?(se=N&&i.jsx("p",{className:"text-xs text-destructive",children:N.message}),e[84]=N,e[85]=se):se=e[85];let ae;e[86]!==a?(ae=a("settings.connectForms.cancel"),e[86]=a,e[87]=ae):ae=e[87];let ce;e[88]!==S||e[89]!==s||e[90]!==ae?(ce=i.jsx(re,{type:"button",variant:"ghost",size:"sm",onClick:s,disabled:S,children:ae}),e[88]=S,e[89]=s,e[90]=ae,e[91]=ce):ce=e[91];let de;e[92]!==S||e[93]!==a?(de=a(S?"settings.connectForms.saving":"settings.connectForms.saveConnection"),e[92]=S,e[93]=a,e[94]=de):de=e[94];let he;e[95]!==S||e[96]!==de?(he=i.jsx(re,{type:"submit",size:"sm",disabled:S,children:de}),e[95]=S,e[96]=de,e[97]=he):he=e[97];let ue;e[98]!==ce||e[99]!==he?(ue=i.jsxs(qe,{children:[ce,he]}),e[98]=ce,e[99]=he,e[100]=ue):ue=e[100];let je;return e[101]!==A||e[102]!==$||e[103]!==X||e[104]!==U||e[105]!==te||e[106]!==se||e[107]!==ue?(je=i.jsxs("form",{onSubmit:A,className:"space-y-3",children:[$,X,U,te,se,ue]}),e[101]=A,e[102]=$,e[103]=X,e[104]=U,e[105]=te,e[106]=se,e[107]=ue,e[108]=je):je=e[108],je}const ls={kind:"closed"};function os(n,e){switch(e.type){case"open":return n.kind==="closed"?{kind:"grid"}:n;case"close":return{kind:"closed"};case"back":switch(n.kind){case"form":case"oauth-pending":case"provision-pending":case"provision-error":return{kind:"grid"};default:return n}case"select-form":return n.kind!=="grid"?n:{kind:"form",providerId:e.providerId,presetId:e.presetId};case"select-oauth":return n.kind!=="grid"?n:{kind:"oauth-pending",providerId:e.providerId,stateToken:e.stateToken};case"oauth-failed":return n.kind==="oauth-pending"?{kind:"grid"}:n;case"select-provision":return n.kind!=="grid"?n:{kind:"provision-pending",providerId:e.providerId};case"provision-error":return n.kind!=="provision-pending"?n:{kind:"provision-error",providerId:n.providerId,error:e.error};case"retry-provision":return n.kind!=="provision-error"?n:{kind:"provision-pending",providerId:n.providerId}}}function rs(n){switch(n.kind){case"form":case"oauth-pending":case"provision-pending":case"provision-error":return n.providerId;default:return null}}function as({open:n,onOpenChange:e,initialProvider:t}){const s=ie(),l=_e()?.providers??[],{org:r}=ye(),c=ke(),h=we(),[d,a]=D.useReducer(os,ls),m=D.useRef(!1);D.useEffect(()=>{n&&d.kind==="closed"?a({type:"open"}):!n&&d.kind!=="closed"&&a({type:"close"})},[n,d.kind]);const p=()=>{m.current=!1,a({type:"close"}),e(!1)},u=()=>{h.invalidateQueries({queryKey:pe.aiProviderKeys(r.id)}),h.invalidateQueries({queryKey:pe.aiProviders(r.id)})},{mutate:f}=Se({mutationFn:async({providerId:x,code:w,stateToken:j,label:P})=>(await c.call("AI_PROVIDER_OAUTH_EXCHANGE",{providerId:x,code:w,stateToken:j,label:P}),x),onSuccess:x=>{ne("ai_provider_oauth_succeeded",{provider_id:x}),u();const w=l.find(j=>j.id===x);le.success(s("settings.connectProviderDialog.oauthSuccessMessage",{provider:w?.name??s("settings.connectProviderDialog.defaultProviderName")})),p()},onError:(x,w)=>{ne("ai_provider_oauth_failed",{provider_id:w.providerId,error:x.message}),le.error(s("settings.connectProviderDialog.oauthFailedMessage",{error:x.message})),a({type:"oauth-failed"})}}),{mutate:v}=Se({mutationFn:async x=>(await c.call("AI_PROVIDER_PROVISION_KEY",{providerId:x}),x),onSuccess:x=>{ne("ai_provider_provision_succeeded",{provider_id:x}),u();const w=l.find(j=>j.id===x);le.success(s("settings.connectProviderDialog.provisionSuccessMessage",{provider:w?.name??s("settings.connectProviderDialog.defaultProviderName")})),p()},onError:(x,w)=>{ne("ai_provider_provision_failed",{provider_id:w,error:x.message}),a({type:"provision-error",error:x.message})}}),k=async x=>{const{provider:w}=x,j=x.kind==="openai-compatible"?x.preset?.id??null:null,P=w.supportedMethods.includes("oauth-pkce"),A=w.supportedMethods.includes("api-key");if(w.supportsProvision===!0){ne("ai_provider_connect_clicked",{provider_id:w.id,method:"provision"}),a({type:"select-provision",providerId:w.id}),v(w.id);return}if(P){ne("ai_provider_connect_clicked",{provider_id:w.id,method:"oauth-pkce"});try{const O=await c.call("AI_PROVIDER_OAUTH_URL",{providerId:w.id,callbackUrl:`${window.location.origin}/oauth/callback/ai-provider`});if(!O?.url)throw new Error("Invalid response from AI_PROVIDER_OAUTH_URL");a({type:"select-oauth",providerId:w.id,stateToken:O.stateToken}),window.open(O.url,"AiProviderOAuth","width=600,height=700")}catch(O){le.error(s("settings.connectProviderDialog.startOAuthFailedMessage",{error:O instanceof Error?O.message:String(O)}))}return}A&&(ne("ai_provider_connect_clicked",{provider_id:w.id,...j!==null?{preset_id:j}:{},method:"api-key"}),a({type:"select-form",providerId:w.id,presetId:j}))},b=D.useRef(k);b.current=k;const y=D.useRef(t);y.current=t,D.useEffect(()=>{!y.current||d.kind!=="grid"||m.current||(m.current=!0,b.current(y.current))},[d.kind]);const _=d.kind==="oauth-pending"?d.stateToken:null,C=d.kind==="oauth-pending"?d.providerId:null;D.useEffect(()=>{if(d.kind!=="oauth-pending")return;let x=!1;const w=d.stateToken,j=d.providerId,P=L=>{if(L.origin!==window.location.origin||L.data?.type!=="AI_PROVIDER_OAUTH_CALLBACK")return;const{code:O,stateToken:R}=L.data;if(R!==w){le.error(s("settings.connectProviderDialog.securityCheckFailedMessage")),a({type:"oauth-failed"});return}x=!0;const Y=l.find($=>$.id===j);f({providerId:j,code:O,stateToken:w,label:Y?.name??j})};window.addEventListener("message",P);const A=setTimeout(()=>{x||(ne("ai_provider_oauth_timeout",{provider_id:j}),a({type:"oauth-failed"}),le.error(s("settings.connectProviderDialog.connectionTimedOutMessage")))},12e4);return()=>{window.removeEventListener("message",P),clearTimeout(A)}},[d.kind,_,C,f]);const E=rs(d),I=E?l.find(x=>x.id===E):null,S=(d.kind==="form"&&d.presetId?be(d.presetId):null)?.name??I?.name??s("settings.connectProviderDialog.defaultTitle"),N=d.kind!=="grid"&&d.kind!=="closed",M=()=>{t?p():a({type:"back"})};return i.jsx(ct,{open:d.kind!=="closed",onOpenChange:x=>!x&&p(),children:i.jsxs(dt,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[i.jsxs(ht,{children:[i.jsxs("div",{className:"flex items-center gap-2",children:[N&&i.jsx(re,{variant:"ghost",size:"icon","aria-label":s("settings.connectProviderDialog.backButtonLabel"),className:"h-7 w-7",onClick:M,children:i.jsx(Ye,{size:16})}),i.jsx(ut,{children:S})]}),d.kind==="grid"&&!t&&i.jsx(mt,{children:s("settings.connectProviderDialog.gridDescription")})]}),d.kind==="grid"&&!t&&i.jsx(et,{providers:l,onSelect:k}),d.kind==="form"&&(d.providerId==="openai-compatible"?i.jsx(ns,{preset:d.presetId?be(d.presetId):void 0,onCancel:()=>a({type:"back"}),onSuccess:()=>{u(),p()}}):i.jsx(ss,{providerId:d.providerId,onCancel:()=>a({type:"back"}),onSuccess:()=>{u(),p()}})),d.kind==="oauth-pending"&&i.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[i.jsx(Pe,{size:"lg"}),i.jsx("p",{className:"text-sm text-muted-foreground text-center",children:s("settings.connectProviderDialog.oauthPendingMessage")})]}),d.kind==="provision-pending"&&i.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[i.jsx(Pe,{size:"lg"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:s("settings.connectProviderDialog.provisionPendingMessage")})]}),d.kind==="provision-error"&&i.jsxs("div",{className:"flex flex-col items-center gap-4 py-6",children:[i.jsx(Ft,{size:28,className:"text-destructive"}),i.jsx("p",{className:"text-sm text-foreground text-center",children:d.error}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(re,{variant:"outline",size:"sm",onClick:()=>a({type:"back"}),children:s("settings.connectProviderDialog.backButton")}),i.jsx(re,{size:"sm",onClick:()=>{a({type:"retry-provision"}),v(d.providerId)},children:s("settings.connectProviderDialog.retryButton")})]})]})]})})}function cs(n){const e=W.c(36);let t;e[0]!==n?(t=n===void 0?{}:n,e[0]=n,e[1]=t):t=e[1];const{title:s,description:o,providerFilter:l}=t,r=ie(),{org:c}=ye(),[h,d]=D.useState(null),[a,m]=D.useState(!1),p=_e();let u;e[2]!==p?.providers?(u=p?.providers??[],e[2]=p?.providers,e[3]=u):u=e[3];let f;if(e[4]!==l||e[5]!==u){let O;e[7]!==l?(O=R=>!l||l(R.id),e[7]=l,e[8]=O):O=e[8],f=u.filter(O),e[4]=l,e[5]=u,e[6]=f}else f=e[6];const v=f,k=c.name;let b;e[9]!==k||e[10]!==r||e[11]!==s?(b=s??(k?r("chat.noAiProviderEmptyState.headingWithOrg",{org:k}):r("chat.noAiProviderEmptyState.headingDefault")),e[9]=k,e[10]=r,e[11]=s,e[12]=b):b=e[12];const y=b;let _;e[13]!==o||e[14]!==r?(_=o??r("chat.noAiProviderEmptyState.subtitleDefault"),e[13]=o,e[14]=r,e[15]=_):_=e[15];const C=_;let E;e[16]===Symbol.for("react.memo_cache_sentinel")?(E=i.jsx("div",{className:"flex items-center justify-center size-14 rounded-2xl bg-muted border border-border",children:i.jsx(Lt,{size:24,className:"text-muted-foreground"})}),e[16]=E):E=e[16];let I;e[17]!==y?(I=i.jsx("p",{className:"text-xl font-semibold text-foreground tracking-tight",children:y}),e[17]=y,e[18]=I):I=e[18];let g;e[19]!==C?(g=i.jsx("p",{className:"text-sm text-muted-foreground max-w-md",children:C}),e[19]=C,e[20]=g):g=e[20];let S;e[21]!==I||e[22]!==g?(S=i.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[E,i.jsxs("div",{className:"space-y-2",children:[I,g]})]}),e[21]=I,e[22]=g,e[23]=S):S=e[23];let N,M;e[24]===Symbol.for("react.memo_cache_sentinel")?(N=O=>d(O),M=()=>m(!0),e[24]=N,e[25]=M):(N=e[24],M=e[25]);let x;e[26]!==v?(x=i.jsx("div",{className:"w-full",children:i.jsx(et,{providers:v,onSelect:N,onShowAll:M})}),e[26]=v,e[27]=x):x=e[27];const w=h!==null||a;let j;e[28]===Symbol.for("react.memo_cache_sentinel")?(j=O=>{O||(d(null),m(!1))},e[28]=j):j=e[28];const P=h??void 0;let A;e[29]!==w||e[30]!==P?(A=i.jsx(as,{open:w,onOpenChange:j,initialProvider:P}),e[29]=w,e[30]=P,e[31]=A):A=e[31];let L;return e[32]!==x||e[33]!==A||e[34]!==S?(L=i.jsxs("div",{className:"flex flex-col items-center gap-8 w-full max-w-3xl px-4",children:[S,x,A]}),e[32]=x,e[33]=A,e[34]=S,e[35]=L):L=e[35],L}function Ce(n){const e=n.title.includes(": ");return{provider:e?n.title.split(": ")[0]??"":n.modelId.split("/")[0]??"",displayName:e?n.title.split(": ").slice(1).join(": "):n.title}}function ds(n){return n<32e3?{level:1,labelKey:"chat.shared.contextLevelSmall",descriptionKey:"chat.shared.contextLevelSmallDesc"}:n<2e5?{level:2,labelKey:"chat.shared.contextLevelMedium",descriptionKey:"chat.shared.contextLevelMediumDesc"}:n<5e5?{level:3,labelKey:"chat.shared.contextLevelLarge",descriptionKey:"chat.shared.contextLevelLargeDesc"}:{level:4,labelKey:"chat.shared.contextLevelVeryLarge",descriptionKey:"chat.shared.contextLevelVeryLargeDesc"}}const hs=["bg-destructive","bg-warning","bg-success","bg-success"],us=["text-success","text-warning","text-warning","text-destructive"];function ms(n,e){const t=Math.round(n*.75/1e3),s=t>=1?`${t}K`:`${Math.round(n*.75)}`;return e("chat.shared.approxWords",{wordCount:s})}function fs(n){return n<1?{level:1,labelKey:"chat.shared.costLevelCheap"}:n<5?{level:2,labelKey:"chat.shared.costLevelModerate"}:n<15?{level:3,labelKey:"chat.shared.costLevelHigh"}:{level:4,labelKey:"chat.shared.costLevelExpensive"}}const ps={text:{icon:i.jsx(Ct,{className:"size-3.5"}),labelKey:"chat.shared.capabilityText"},vision:{icon:i.jsx(Rt,{className:"size-3.5"}),labelKey:"chat.shared.capabilityVision"},image:{icon:i.jsx(It,{className:"size-3.5"}),labelKey:"chat.shared.capabilityImage"},tools:{icon:i.jsx(_t,{className:"size-3.5"}),labelKey:"chat.shared.capabilityTools"},reasoning:{icon:i.jsx(wt,{className:"size-3.5"}),labelKey:"chat.shared.capabilityReasoning"},"web-search":{icon:i.jsx(Xe,{className:"size-3.5"}),labelKey:"chat.shared.capabilityWebSearch"}};function xs(n){const e=W.c(10),{capability:t}=n,s=ie(),o=ps[t];if(o){const h=o.icon;let d;e[0]!==o.labelKey||e[1]!==s?(d=s(o.labelKey),e[0]=o.labelKey,e[1]=s,e[2]=d):d=e[2];let a;return e[3]!==o.icon||e[4]!==d?(a=i.jsxs("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground border border-border rounded px-2 py-0.5",children:[h,d]}),e[3]=o.icon,e[4]=d,e[5]=a):a=e[5],a}let l;e[6]!==t?(l=t.charAt(0).toUpperCase(),e[6]=t,e[7]=l):l=e[7];const r=l+t.slice(1);let c;return e[8]!==r?(c=i.jsx("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground border border-border rounded px-2 py-0.5",children:r}),e[8]=r,e[9]=c):c=e[9],c}function gs(n){const e=W.c(59),{model:t,compact:s}=n,o=s===void 0?!1:s,l=ie();if(!t){let g;e[0]!==l?(g=l("chat.shared.hoverToPreview"),e[0]=l,e[1]=g):g=e[1];let S;return e[2]!==g?(S=i.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:g}),e[2]=g,e[3]=S):S=e[3],S}const r=t.costs?.input!=null?t.costs.input*1e6:null,c=t.costs?.output!=null?t.costs.output*1e6:null;let h;e[4]!==t?(h=Ce(t),e[4]=t,e[5]=h):h=e[5];const{provider:d,displayName:a}=h;if(o){let g;e[6]!==t.limits||e[7]!==l?(g=t.limits?.contextWindow&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.context")}),i.jsxs("span",{className:"text-foreground font-medium",children:[t.limits.contextWindow.toLocaleString()," ",l("chat.shared.tokens")]})]}),e[6]=t.limits,e[7]=l,e[8]=g):g=e[8];let S;e[9]!==r||e[10]!==l?(S=r!=null&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.input")}),i.jsxs("span",{className:"text-foreground font-medium",children:["$",r.toFixed(2)," / 1M"]})]}),e[9]=r,e[10]=l,e[11]=S):S=e[11];let N;e[12]!==c||e[13]!==l?(N=c!=null&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.output")}),i.jsxs("span",{className:"text-foreground font-medium",children:["$",c.toFixed(2)," / 1M"]})]}),e[12]=c,e[13]=l,e[14]=N):N=e[14];let M;e[15]!==t.limits||e[16]!==l?(M=t.limits?.maxOutputTokens&&i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"text-muted-foreground",children:l("chat.shared.outputLimit")}),i.jsxs("span",{className:"text-foreground font-medium",children:[t.limits.maxOutputTokens.toLocaleString()," ",l("chat.shared.tokens")]})]}),e[15]=t.limits,e[16]=l,e[17]=M):M=e[17];let x;return e[18]!==g||e[19]!==S||e[20]!==N||e[21]!==M?(x=i.jsxs("div",{className:"flex flex-col gap-2 pt-3 pb-3 px-3 text-xs",children:[g,S,N,M]}),e[18]=g,e[19]=S,e[20]=N,e[21]=M,e[22]=x):x=e[22],x}let m;e[23]!==d?(m=i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:d}),e[23]=d,e[24]=m):m=e[24];let p;e[25]!==t.logo||e[26]!==t.title?(p=t.logo&&i.jsx("img",{src:t.logo,className:"size-6 shrink-0 rounded-md dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[25]=t.logo,e[26]=t.title,e[27]=p):p=e[27];let u;e[28]!==a?(u=i.jsx("p",{className:"text-lg font-semibold leading-snug tracking-tight",children:a}),e[28]=a,e[29]=u):u=e[29];let f;e[30]!==p||e[31]!==u?(f=i.jsxs("div",{className:"flex items-center gap-2.5",children:[p,u]}),e[30]=p,e[31]=u,e[32]=f):f=e[32];let v;e[33]!==t.modelId?(v=i.jsx("p",{className:"text-xs text-muted-foreground/50 font-mono",children:t.modelId}),e[33]=t.modelId,e[34]=v):v=e[34];let k;e[35]!==m||e[36]!==f||e[37]!==v?(k=i.jsxs("div",{className:"flex flex-col gap-1 pt-1 pr-6",children:[m,f,v]}),e[35]=m,e[36]=f,e[37]=v,e[38]=k):k=e[38];let b;e[39]!==t.capabilities?(b=t.capabilities&&t.capabilities.length>0&&i.jsx("div",{className:"flex flex-wrap items-center gap-1.5 pb-4 border-b border-border",children:[...new Set(t.capabilities)].map(vs)}),e[39]=t.capabilities,e[40]=b):b=e[40];let y;e[41]!==t.limits||e[42]!==l?(y=t.limits?.contextWindow&&(()=>{const{level:g,labelKey:S,descriptionKey:N}=ds(t.limits.contextWindow);return i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l("chat.shared.contextWindow")}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("div",{className:"flex items-center gap-0.5",children:[1,2,3,4].map(M=>i.jsx("div",{className:ve("w-2 h-2 rounded-full",M<=g?hs[g-1]:"bg-muted")},M))}),i.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:l(S)}),i.jsxs("span",{className:"text-xs text-muted-foreground",children:["— ",l(N)]})]}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[t.limits.contextWindow.toLocaleString()," ",l("chat.shared.tokens")]})]})})(),e[41]=t.limits,e[42]=l,e[43]=y):y=e[43];let _;e[44]!==t.limits||e[45]!==l?(_=t.limits?.maxOutputTokens&&i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l("chat.shared.outputLimit")}),i.jsxs("div",{className:"flex items-baseline gap-2",children:[i.jsxs("span",{className:"text-sm text-foreground",children:[t.limits.maxOutputTokens.toLocaleString()," ",l("chat.shared.tokens")]}),i.jsx("span",{className:"text-sm text-muted-foreground",children:ms(t.limits.maxOutputTokens,l)})]})]}),e[44]=t.limits,e[45]=l,e[46]=_):_=e[46];let C;e[47]!==r||e[48]!==c||e[49]!==l?(C=(r!=null||c!=null)&&(()=>{const{level:g,labelKey:S}=r!=null?fs(r):{level:0,labelKey:null};return i.jsxs("div",{className:"flex flex-col gap-2",children:[i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l("chat.shared.pricing")}),r!=null&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("div",{className:"flex items-center",children:[1,2,3,4].map(N=>i.jsx("span",{className:ve("text-sm font-bold leading-none",N<=g?us[g-1]:"text-muted-foreground/20"),children:"$"},N))}),i.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:S?l(S):""})]}),i.jsxs("div",{className:"flex flex-col gap-1",children:[r!=null&&i.jsxs("div",{className:"flex justify-between items-center",children:[i.jsx("span",{className:"text-xs text-muted-foreground",children:l("chat.shared.input")}),i.jsxs("span",{className:"text-xs text-foreground",children:["$",r.toFixed(2)," / 1M"," ",l("chat.shared.tokens")]})]}),c!=null&&i.jsxs("div",{className:"flex justify-between items-center",children:[i.jsx("span",{className:"text-xs text-muted-foreground",children:l("chat.shared.output")}),i.jsxs("span",{className:"text-xs text-foreground",children:["$",c.toFixed(2)," / 1M"," ",l("chat.shared.tokens")]})]})]})]})})(),e[47]=r,e[48]=c,e[49]=l,e[50]=C):C=e[50];let E;e[51]!==y||e[52]!==_||e[53]!==C?(E=i.jsxs("div",{className:"flex flex-col gap-6",children:[y,_,C]}),e[51]=y,e[52]=_,e[53]=C,e[54]=E):E=e[54];let I;return e[55]!==E||e[56]!==k||e[57]!==b?(I=i.jsxs("div",{className:"flex flex-col gap-5 py-1 px-1.5",children:[k,b,E]}),e[55]=E,e[56]=k,e[57]=b,e[58]=I):I=e[58],I}function vs(n){return i.jsx(xs,{capability:n},n)}function ri(n){const e=W.c(22),{model:t,placeholder:s,isLoading:o}=n,l=o===void 0?!1:o,r=ie();let c;e[0]!==s||e[1]!==r?(c=s??r("chat.shared.selectModel"),e[0]=s,e[1]=r,e[2]=c):c=e[2];const h=c;if(l){let b;return e[3]===Symbol.for("react.memo_cache_sentinel")?(b=i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsx(G,{className:"w-5 h-5 rounded-sm shrink-0"}),i.jsx(G,{className:"w-16 h-3 hidden md:block"})]}),e[3]=b):b=e[3],b}if(!t){let b;e[4]!==h?(b=i.jsx("span",{className:"text-sm text-muted-foreground",children:h}),e[4]=h,e[5]=b):b=e[5];let y;e[6]===Symbol.for("react.memo_cache_sentinel")?(y=i.jsx(Ae,{size:14,className:"text-muted-foreground opacity-50 shrink-0"}),e[6]=y):y=e[6];let _;return e[7]!==b?(_=i.jsxs("div",{className:"flex items-center gap-1.5",children:[b,y]}),e[7]=b,e[8]=_):_=e[8],_}let d;e[9]!==t?(d=Ce(t),e[9]=t,e[10]=d):d=e[10];const{displayName:a}=d;let m;e[11]!==t?(m=Ie(t),e[11]=t,e[12]=m):m=e[12];const p=m;let u;e[13]!==t.title||e[14]!==p?(u=i.jsx("img",{src:p,className:"w-3.5 h-3.5 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[13]=t.title,e[14]=p,e[15]=u):u=e[15];let f;e[16]!==a?(f=i.jsx("span",{className:"text-sm truncate whitespace-nowrap text-muted-foreground max-w-[100px] sm:max-w-none",children:a}),e[16]=a,e[17]=f):f=e[17];let v;e[18]===Symbol.for("react.memo_cache_sentinel")?(v=i.jsx(Ae,{size:14,className:"text-muted-foreground opacity-50 shrink-0"}),e[18]=v):v=e[18];let k;return e[19]!==u||e[20]!==f?(k=i.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 overflow-hidden",children:[u,f,v]}),e[19]=u,e[20]=f,e[21]=k):k=e[21],k}const bs=["vision","image","file","audio","video"],tt=["image/png","image/jpeg","image/gif","image/webp"],st=["application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"];function Me(n){const e=n?.capabilities;return e?bs.some(t=>e.includes(t)):!1}function ai(n,e){if(!n)return!1;if(n.startsWith("text/"))return!0;const t=e?.capabilities??[],s=t.includes("vision")||t.includes("image"),o=t.includes("file"),l=t.includes("audio"),r=t.includes("video");return!!(s&&tt.includes(n)||o&&n==="application/pdf"||l&&n.startsWith("audio/")||r&&n.startsWith("video/")||Me(e)&&st.includes(n))}function ci(n){const e=n?.capabilities??[],t=["text/*"];return(e.includes("vision")||e.includes("image"))&&t.push(...tt),e.includes("file")&&t.push("application/pdf"),e.includes("audio")&&t.push("audio/*"),e.includes("video")&&t.push("video/*"),Me(n)&&t.push(...st),t.join(",")}function di(n){const e=n?.capabilities??[],t=[];return(e.includes("vision")||e.includes("image"))&&t.push("chat.shared.fileTypeImages"),e.includes("file")&&t.push("chat.shared.fileTypePdfs"),e.includes("audio")&&t.push("chat.shared.fileTypeAudio"),e.includes("video")&&t.push("chat.shared.fileTypeVideo"),Me(n)&&t.push("chat.shared.fileTypeOffice"),{parts:t,count:t.length}}const it=["smarter","faster","cheaper"],ys={smarter:"chat.decopilot.tierSmarter",faster:"chat.decopilot.tierFaster",cheaper:"chat.decopilot.tierCheaper"},js=[{tier:"smarter",prefixes:["anthropic/claude-opus-4.8","anthropic/claude-sonnet-4.6","anthropic/claude-4.6-sonnet","openai/gpt-5.3-codex","google/gemini-3-pro","google/gemini-2.5-pro","cohere/command-r-plus","cohere/command-a"]},{tier:"faster",prefixes:["anthropic/claude-haiku-4.5","anthropic/claude-4.5-haiku","google/gemini-3-flash","openai/gpt-5.1-codex-mini","x-ai/grok-code-fast","x-ai/grok-3","mistralai/mistral-large","mistralai/codestral","mistralai/mistral-medium","minimax/minimax-m1"]},{tier:"cheaper",prefixes:["google/gemini-2.5-flash-lite","google/gemini-2.5-flash","google/gemini-2.0-flash","deepseek/deepseek-v3","openai/gpt-oss-120b","mistralai/mistral-small","mistralai/pixtral","cohere/command-r"]}],Ss=js.flatMap(({tier:n,prefixes:e})=>e.map(t=>({tier:n,prefix:t}))).sort((n,e)=>e.prefix.length-n.prefix.length),Ns="google/gemini-2.5-pro",De=new Map;function ks(n){const e=De.get(n);if(e!==void 0)return e;let t=null;if(n.endsWith(":free"))t="cheaper";else for(const{tier:s,prefix:o}of Ss)if(n.startsWith(o)){if(o===Ns&&n.length>o.length&&n[o.length]==="-"){const r=n[o.length+1];if(!r||!/\d/.test(r))continue}t=s;break}return De.set(n,t),t}function ws(n,e,t){if(t)return n;const s=n.filter(o=>e.has(o.modelId));return s.length>0?s:n}function $e(n){const e={smarter:[],faster:[],cheaper:[],other:[]};for(const t of n){const s=ks(t.modelId);e[s??"other"].push(t)}for(const t of Object.keys(e))e[t].sort((s,o)=>s.title.localeCompare(o.title));return e}const nt="studio:model-shortlist:",_s=new Set(["anthropic/claude-opus-4.8","anthropic/claude-sonnet-4.6","anthropic/claude-4.6-sonnet","anthropic/claude-sonnet-4.6:extended","openai/gpt-5.3-codex","google/gemini-3-pro-preview","google/gemini-2.5-pro","anthropic/claude-haiku-4.5","anthropic/claude-haiku-4.5-20251001","anthropic/claude-4.5-haiku","google/gemini-3-flash-preview","openai/gpt-5.1-codex-mini","x-ai/grok-code-fast-1","google/gemini-2.5-flash","deepseek/deepseek-v3.2","google/gemini-2.5-flash-lite","openai/gpt-oss-120b:free"]);function Is(n){try{const e=localStorage.getItem(nt+n);return e?new Set(JSON.parse(e)):null}catch{return null}}function Cs(n,e){localStorage.setItem(nt+n,JSON.stringify([...e]))}function Ms(n){const e=W.c(21),{model:t,onHover:s}=n;let o;e[0]!==t?(o=Ce(t),e[0]=t,e[1]=o):o=e[1];const{displayName:l,provider:r}=o;let c;e[2]!==t?(c=Ie(t),e[2]=t,e[3]=c):c=e[3];const h=c;let d;e[4]!==t||e[5]!==s?(d=()=>s(t),e[4]=t,e[5]=s,e[6]=d):d=e[6];let a;e[7]!==t.title||e[8]!==h?(a=i.jsx("img",{src:h,className:"w-4 h-4 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[7]=t.title,e[8]=h,e[9]=a):a=e[9];let m;e[10]!==l?(m=i.jsx("span",{className:"text-sm text-foreground leading-tight truncate",children:l}),e[10]=l,e[11]=m):m=e[11];let p;e[12]!==r?(p=i.jsx("span",{className:"text-xs text-muted-foreground/60 leading-tight",children:r}),e[12]=r,e[13]=p):p=e[13];let u;e[14]!==m||e[15]!==p?(u=i.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[m,p]}),e[14]=m,e[15]=p,e[16]=u):u=e[16];let f;return e[17]!==d||e[18]!==a||e[19]!==u?(f=i.jsxs("div",{className:"flex items-center gap-2.5 py-2 px-3 hover:bg-accent cursor-pointer rounded-lg",onMouseEnter:d,children:[a,u]}),e[17]=d,e[18]=a,e[19]=u,e[20]=f):f=e[20],f}function Es(n){const e=W.c(16),{error:t,onRetry:s}=n,o=ie();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx("div",{className:"bg-destructive/10 p-2 rounded-full",children:i.jsx(xt,{className:"size-5 text-destructive"})}),e[0]=l):l=e[0];const r=o("chat.decopilot.failedToLoadModels");let c;e[1]!==r?(c=i.jsx("p",{className:"text-sm font-medium text-foreground",children:r}),e[1]=r,e[2]=c):c=e[2];const h=t?.message||o("chat.decopilot.couldNotFetchModels"),d=" "+o("chat.decopilot.tryAnotherProviderOrRetry");let a;e[3]!==h||e[4]!==d?(a=i.jsxs("p",{className:"text-xs text-muted-foreground max-w-[260px]",children:[h,d]}),e[3]=h,e[4]=d,e[5]=a):a=e[5];let m;e[6]!==c||e[7]!==a?(m=i.jsxs("div",{className:"flex flex-col gap-1",children:[c,a]}),e[6]=c,e[7]=a,e[8]=m):m=e[8];let p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=i.jsx(Et,{className:"size-3.5"}),e[9]=p):p=e[9];const u=o("chat.decopilot.retry");let f;e[10]!==s||e[11]!==u?(f=i.jsx("div",{className:"flex items-center gap-2",children:i.jsxs(re,{variant:"outline",size:"sm",onClick:s,className:"gap-1.5",children:[p,u]})}),e[10]=s,e[11]=u,e[12]=f):f=e[12];let v;return e[13]!==f||e[14]!==m?(v=i.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 px-4 py-8 text-center",children:[l,m,f]}),e[13]=f,e[14]=m,e[15]=v):v=e[15],v}function Os(){const n=W.c(1);let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:Array.from({length:6}).map(Ps)}),n[0]=e):e=n[0],e}function Ps(n,e){return i.jsxs("div",{className:"flex items-center gap-2 min-h-8 py-3 px-3 rounded-lg",children:[i.jsx(G,{className:"size-5 shrink-0 rounded-sm"}),i.jsx(G,{className:"flex-1 h-4"}),i.jsx(G,{className:"w-16 h-5 shrink-0 rounded-md"})]},e)}function Ue(n){const e=W.c(12),{label:t,models:s,onSelect:o,onHover:l}=n;if(s.length===0)return null;let r;e[0]!==t?(r=i.jsx("div",{className:"text-xs font-medium text-muted-foreground px-3 pt-3 pb-1",children:t}),e[0]=t,e[1]=r):r=e[1];let c;if(e[2]!==s||e[3]!==l||e[4]!==o){let d;e[6]!==l||e[7]!==o?(d=a=>i.jsx("button",{type:"button",onClick:()=>o(a),onFocus:()=>l(a),className:"w-full text-left cursor-pointer",children:i.jsx(Ms,{model:a,onHover:l})},a.modelId),e[6]=l,e[7]=o,e[8]=d):d=e[8],c=s.map(d),e[2]=s,e[3]=l,e[4]=o,e[5]=c}else c=e[5];let h;return e[9]!==r||e[10]!==c?(h=i.jsxs("div",{children:[r,c]}),e[9]=r,e[10]=c,e[11]=h):h=e[11],h}function Ne(n,e){return e(n==="other"?"chat.decopilot.tierOther":ys[n])}function As(n){const e=W.c(21),{model:t,isChecked:s,onToggle:o,onHover:l}=n,[r,c]=D.useState(s);r!==s&&c(s);let h;e[0]!==t?(h=Ie(t),e[0]=t,e[1]=h):h=e[1];const d=h;let a;e[2]!==t||e[3]!==l?(a=()=>l(t),e[2]=t,e[3]=l,e[4]=a):a=e[4];let m;e[5]!==t.modelId||e[6]!==o?(m=()=>{c(Ts),o(t.modelId)},e[5]=t.modelId,e[6]=o,e[7]=m):m=e[7];let p;e[8]!==r||e[9]!==m?(p=i.jsx(gt,{checked:r,onCheckedChange:m}),e[8]=r,e[9]=m,e[10]=p):p=e[10];let u;e[11]!==d||e[12]!==t.title?(u=i.jsx("img",{src:d,className:"w-5 h-5 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:t.title}),e[11]=d,e[12]=t.title,e[13]=u):u=e[13];let f;e[14]!==t.title?(f=i.jsx("span",{className:"text-sm text-foreground flex-1 min-w-0 line-clamp-1",children:t.title}),e[14]=t.title,e[15]=f):f=e[15];let v;return e[16]!==a||e[17]!==p||e[18]!==u||e[19]!==f?(v=i.jsxs("label",{className:"flex items-center gap-3 min-h-8 py-2.5 px-3 hover:bg-accent cursor-pointer rounded-lg",onMouseEnter:a,children:[p,u,f]}),e[16]=a,e[17]=p,e[18]=u,e[19]=f,e[20]=v):v=e[20],v}function Ts(n){return!n}function Ls(n,e){const t=[];for(const s of it)if(n[s].length>0){t.push({type:"header",label:Ne(s,e)});for(const o of n[s])t.push({type:"model",model:o})}if(n.other.length>0){t.push({type:"header",label:Ne("other",e)});for(const s of n.other)t.push({type:"model",model:s})}return t}function Fs({items:n,shortlistSet:e,onToggle:t,onHover:s}){const o=D.useRef(null),l=Xt({count:n.length,getScrollElement:()=>o.current,estimateSize:r=>n[r]?.type==="header"?36:44,overscan:6});return i.jsx("div",{ref:o,className:"flex-1 overflow-y-auto",children:i.jsx("div",{className:"relative",style:{height:l.getTotalSize()},children:l.getVirtualItems().map(r=>{const c=n[r.index];return c?i.jsx("div",{"data-index":r.index,ref:l.measureElement,className:"absolute left-0 right-0 top-0 px-0.5",style:{transform:`translateY(${r.start}px)`},children:c.type==="header"?i.jsx("div",{className:"text-xs font-medium text-muted-foreground px-3 pt-3 pb-1",children:c.label}):i.jsx(As,{model:c.model,isChecked:e.has(c.model.modelId),onToggle:t,onHover:s})},r.key):null})})})}function zs(n){const e=W.c(28),{keyId:t,searchTerm:s,onHover:o,onModelSelect:l,managing:r,onToggleManage:c,filterModels:h}=n,d=ie(),{models:a}=Pt(t),m=h?a.filter(h):a.filter(At);let p;e[0]!==t?(p=()=>(t?Is(t):null)??_s,e[0]=t,e[1]=p):p=e[1];const[u,f]=D.useState(p),[,v]=D.useTransition();let k;e[2]!==t||e[3]!==v?(k=N=>{t&&v(()=>{f(M=>{const x=new Set(M);return x.has(N)?x.delete(N):x.add(N),Cs(t,x),x})})},e[2]=t,e[3]=v,e[4]=k):k=e[4];const b=k,y=s.toLowerCase().trim(),_=N=>y?N.filter(M=>M.title.toLowerCase().includes(y)||M.modelId.toLowerCase().includes(y)):N;if(r){const N=$e(_(m)),M=Ls(N,d);let x;e[5]!==u?(x=L=>u.has(L.modelId),e[5]=u,e[6]=x):x=e[6];const w=m.filter(x).length;let j;e[7]===Symbol.for("react.memo_cache_sentinel")?(j=i.jsx(Ye,{size:14}),e[7]=j):j=e[7];let P;e[8]!==d?(P=d("chat.decopilot.back"),e[8]=d,e[9]=P):P=e[9];let A;return e[10]!==c||e[11]!==P?(A=i.jsxs("button",{type:"button",onClick:c,className:"flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground cursor-pointer",children:[j,P]}),e[10]=c,e[11]=P,e[12]=A):A=e[12],i.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[i.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border",children:[A,i.jsx("span",{className:"text-xs text-muted-foreground",children:d("chat.decopilot.selectedCount",{count:w})})]}),i.jsx(Fs,{items:M,shortlistSet:u,onToggle:b,onHover:o})]})}const C=$e(_(ws(m,u,y)));let E;e[13]!==C||e[14]!==o||e[15]!==l||e[16]!==d?(E=it.map(N=>i.jsx(Ue,{label:Ne(N,d),models:C[N],onSelect:l,onHover:o},N)),e[13]=C,e[14]=o,e[15]=l,e[16]=d,e[17]=E):E=e[17];let I;e[18]!==d?(I=Ne("other",d),e[18]=d,e[19]=I):I=e[19];let g;e[20]!==C.other||e[21]!==o||e[22]!==l||e[23]!==I?(g=i.jsx(Ue,{label:I,models:C.other,onSelect:l,onHover:o}),e[20]=C.other,e[21]=o,e[22]=l,e[23]=I,e[24]=g):g=e[24];let S;return e[25]!==E||e[26]!==g?(S=i.jsxs("div",{className:"flex-1 overflow-y-auto px-0.5 pt-1 [touch-action:pan-y]",children:[E,g]}),e[25]=E,e[26]=g,e[27]=S):S=e[27],S}function hi(){const n=W.c(6);let e;n[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx("div",{className:"border-b border-border h-12 bg-background/95 backdrop-blur sticky top-0 z-10",children:i.jsxs("div",{className:"flex items-center gap-2.5 h-12 px-4",children:[i.jsx(G,{className:"size-4 shrink-0"}),i.jsx(G,{className:"flex-1 h-6"}),i.jsx(G,{className:"w-[140px] h-8 shrink-0"})]})}),n[0]=e):e=n[0];let t;n[1]===Symbol.for("react.memo_cache_sentinel")?(t=i.jsxs("div",{className:"flex-1 flex flex-col md:border-r md:w-[420px] md:min-w-[420px] min-h-0 overflow-hidden",children:[e,i.jsx("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:Array.from({length:8}).map(Rs)})]}),n[1]=t):t=n[1];let s;n[2]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[i.jsx(G,{className:"size-6 shrink-0"}),i.jsx(G,{className:"h-6 w-32"})]}),n[2]=s):s=n[2];let o;n[3]===Symbol.for("react.memo_cache_sentinel")?(o=i.jsxs("div",{className:"flex flex-col gap-3 py-2 px-0",children:[s,i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(G,{className:"h-6 w-20 rounded-md"}),i.jsx(G,{className:"h-6 w-24 rounded-md"})]})]}),n[3]=o):o=n[3];let l;n[4]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx(G,{className:"h-4 w-24"}),i.jsx(G,{className:"h-4 w-32"})]}),n[4]=l):l=n[4];let r;return n[5]===Symbol.for("react.memo_cache_sentinel")?(r=i.jsxs("div",{className:"flex flex-col md:flex-row h-full sm:h-[460px] min-h-0",children:[t,i.jsx("div",{className:"hidden md:block md:w-[320px] md:shrink-0 p-3",children:i.jsxs("div",{className:"flex flex-col gap-3 py-1 px-1.5",children:[o,i.jsxs("div",{className:"flex flex-col gap-4",children:[l,i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx(G,{className:"h-4 w-16"}),i.jsx(G,{className:"h-4 w-40"})]})]})]})})]}),n[5]=r):r=n[5],r}function Rs(n,e){return i.jsxs("div",{className:"flex items-center gap-2 min-h-8 py-3 px-3 rounded-lg",children:[i.jsx(G,{className:"size-5 shrink-0 rounded-sm"}),i.jsx(G,{className:"flex-1 h-4"}),i.jsx(G,{className:"w-16 h-5 shrink-0 rounded-md"})]},e)}function lt(n){const e=W.c(66),{onClose:t,credentialId:s,onCredentialChange:o,selectedModel:l,onModelChange:r,filterModels:c,compact:h}=n,d=ie(),[a,m]=D.useState(null),[p,u]=D.useState(""),[f,v]=D.useState(!1),k=_e(),b=Ot();let y;e[0]!==k?.providers?(y=Object.fromEntries((k?.providers??[]).map($s)),e[0]=k?.providers,e[1]=y):y=e[1];const _=y,C=ft(),{org:E}=ye();let I;e[2]!==o?(I=T=>{o(T),m(null)},e[2]=o,e[3]=I):I=e[3];const g=I;let S;e[4]!==s||e[5]!==t||e[6]!==r?(S=T=>{s&&(r(T),u(""),t())},e[4]=s,e[5]=t,e[6]=r,e[7]=S):S=e[7];const N=S;if(b.length===0){const T=!h&&"sm:w-[740px]";let F;e[8]!==T?(F=ve("flex items-center justify-center p-8 w-full",T),e[8]=T,e[9]=F):F=e[9];let z;e[10]===Symbol.for("react.memo_cache_sentinel")?(z=i.jsx(cs,{}),e[10]=z):z=e[10];let K;return e[11]!==F?(K=i.jsx("div",{className:F,children:z}),e[11]=F,e[12]=K):K=e[12],K}const M=h?"sm:h-[420px]":"sm:h-[460px]";let x;e[13]!==M?(x=ve("flex flex-col md:flex-row h-full min-h-0",M),e[13]=M,e[14]=x):x=e[14];const w=h?"w-full":"md:border-r md:w-[420px] md:min-w-[420px]";let j;e[15]!==w?(j=ve("flex-1 flex flex-col min-h-0 overflow-hidden",w),e[15]=w,e[16]=j):j=e[16];let P;e[17]===Symbol.for("react.memo_cache_sentinel")?(P=i.jsx(Xe,{size:16,className:"text-muted-foreground shrink-0"}),e[17]=P):P=e[17];let A;e[18]!==f||e[19]!==d?(A=d(f?"chat.decopilot.searchAllModels":"chat.decopilot.searchForModel"),e[18]=f,e[19]=d,e[20]=A):A=e[20];let L;e[21]===Symbol.for("react.memo_cache_sentinel")?(L=T=>u(T.target.value),e[21]=L):L=e[21];let O;e[22]!==p||e[23]!==A?(O=i.jsx(fe,{autoFocus:!0,type:"text",placeholder:A,value:p,onChange:L,className:"flex-1 min-w-0 border-0 !shadow-none focus-visible:ring-0 px-0 h-full text-sm placeholder:text-muted-foreground/50 bg-transparent"}),e[22]=p,e[23]=A,e[24]=O):O=e[24];let R;e[25]!==s||e[26]!==g||e[27]!==b||e[28]!==_||e[29]!==d?(R=b.length>0&&i.jsxs(vt,{value:s??"",onValueChange:g,children:[i.jsxs(bt,{size:"sm",className:"w-auto max-w-[140px] h-8 shrink-0 gap-1.5 px-2 [&>svg:last-child]:hidden",onClick:Ds,children:[i.jsx(yt,{placeholder:d("chat.decopilot.key"),children:(()=>{const T=b.find(te=>te.id===s),F=T?_[T.providerId]:void 0,z=be(T?.presetId),K=z?.logo??F?.logo,U=z?.name??F?.name??T?.providerId??"Key";return i.jsxs("span",{className:"flex items-center gap-1.5 min-w-0",children:[K?i.jsx("img",{src:K,alt:U,className:"w-4 h-4 rounded shrink-0 dark:bg-white dark:rounded-sm dark:p-px"}):i.jsx("div",{className:"w-4 h-4 rounded bg-primary/10 flex items-center justify-center text-xs font-semibold text-primary shrink-0",children:U.slice(0,1).toUpperCase()}),i.jsx("span",{className:"text-xs truncate",children:U})]})})()}),i.jsx(Nt,{className:"size-4 opacity-50 shrink-0 pointer-events-none"})]}),i.jsx(jt,{children:b.map(T=>{const F=_[T.providerId],z=be(T.presetId),K=z?.logo??F?.logo,U=z?.name??F?.name??T.providerId;return i.jsx(St,{value:T.id,children:i.jsxs("div",{className:"flex items-center gap-2",children:[K?i.jsx("img",{src:K,alt:U,className:"w-4 h-4 rounded dark:bg-white dark:rounded-sm dark:p-px"}):i.jsx("div",{className:"w-4 h-4 rounded bg-primary/10 flex items-center justify-center text-xs font-semibold text-primary",children:U.slice(0,1).toUpperCase()}),i.jsxs("span",{children:[U," — ",T.label]})]})},T.id)})})]}),e[25]=s,e[26]=g,e[27]=b,e[28]=_,e[29]=d,e[30]=R):R=e[30];let Y;e[31]!==O||e[32]!==R?(Y=i.jsx("div",{className:"border-b border-border h-12 bg-background/95 backdrop-blur sticky top-0 z-10",children:i.jsxs("label",{className:"flex items-center gap-2.5 h-12 px-4 pr-12 md:pr-4 cursor-text",children:[P,O,R]})}),e[31]=O,e[32]=R,e[33]=Y):Y=e[33];let $;e[34]!==s?($=T=>{const{error:F,resetError:z}=T;return i.jsx(Es,{error:F,onRetry:z,credentialId:s??void 0})},e[34]=s,e[35]=$):$=e[35];let X;e[36]===Symbol.for("react.memo_cache_sentinel")?(X=i.jsx(Os,{}),e[36]=X):X=e[36];const Z=s??void 0;let Q;e[37]===Symbol.for("react.memo_cache_sentinel")?(Q=()=>v(Ks),e[37]=Q):Q=e[37];let B;e[38]!==c||e[39]!==N||e[40]!==f||e[41]!==p||e[42]!==Z?(B=i.jsx(D.Suspense,{fallback:X,children:i.jsx(zs,{keyId:Z,searchTerm:p,onHover:m,onModelSelect:N,managing:f,onToggleManage:Q,filterModels:c})}),e[38]=c,e[39]=N,e[40]=f,e[41]=p,e[42]=Z,e[43]=B):B=e[43];let V;e[44]!==s||e[45]!==$||e[46]!==B?(V=i.jsx(pt,{fallback:$,children:B},s),e[44]=s,e[45]=$,e[46]=B,e[47]=V):V=e[47];let ee;e[48]!==f||e[49]!==C||e[50]!==E||e[51]!==d?(ee=!f&&i.jsxs("div",{className:"border-t border-border flex",children:[i.jsxs("button",{type:"button",onClick:()=>D.startTransition(()=>v(!0)),className:"flex items-center gap-2 flex-1 px-4 py-2.5 text-xs text-muted-foreground hover:text-foreground hover:bg-accent cursor-pointer",children:[i.jsx(Mt,{className:"size-3.5 shrink-0"}),d("chat.decopilot.manageModels")]}),i.jsx("div",{className:"w-px bg-border shrink-0"}),i.jsxs("button",{type:"button",onClick:()=>C({to:"/$org/settings/ai-providers",params:{org:E.slug}}),className:"flex items-center gap-2 flex-1 px-4 py-2.5 text-xs text-muted-foreground hover:text-foreground hover:bg-accent cursor-pointer",children:[i.jsx(kt,{className:"size-3.5 shrink-0"}),d("chat.decopilot.manageApiKeys")]})]}),e[48]=f,e[49]=C,e[50]=E,e[51]=d,e[52]=ee):ee=e[52];let H;e[53]!==Y||e[54]!==V||e[55]!==ee||e[56]!==j?(H=i.jsxs("div",{className:j,children:[Y,V,ee]}),e[53]=Y,e[54]=V,e[55]=ee,e[56]=j,e[57]=H):H=e[57];let q;e[58]!==h||e[59]!==a||e[60]!==l?(q=!h&&i.jsx("div",{className:"hidden md:flex md:flex-col md:w-[320px] md:shrink-0 p-3",children:i.jsx(gs,{model:a??l??null})}),e[58]=h,e[59]=a,e[60]=l,e[61]=q):q=e[61];let J;return e[62]!==H||e[63]!==q||e[64]!==x?(J=i.jsxs("div",{className:x,children:[H,q]}),e[62]=H,e[63]=q,e[64]=x,e[65]=J):J=e[65],J}function Ks(n){return!n}function Ds(n){return n.stopPropagation()}function $s(n){return[n.id,n]}function Us(n){const e=W.c(12),{onClose:t}=n,{credentialId:s,setCredentialId:o,selectedModel:l,setModel:r}=Tt();let c;e[0]!==o?(c=a=>{ne("chat_credential_changed",{credential_id:a}),o(a)},e[0]=o,e[1]=c):c=e[1];let h;e[2]!==s||e[3]!==l?.modelId||e[4]!==r?(h=a=>{s&&(ne("chat_model_changed",{from_model_id:l?.modelId??null,to_model_id:a.modelId,to_model_provider:a.providerId??null,credential_id:s}),r({...a,keyId:s}))},e[2]=s,e[3]=l?.modelId,e[4]=r,e[5]=h):h=e[5];let d;return e[6]!==s||e[7]!==t||e[8]!==l||e[9]!==c||e[10]!==h?(d=i.jsx(lt,{onClose:t,credentialId:s,onCredentialChange:c,selectedModel:l,onModelChange:h}),e[6]=s,e[7]=t,e[8]=l,e[9]=c,e[10]=h,e[11]=d):d=e[11],d}function Ws(n){const e=W.c(2),{onClose:t}=n;let s;return e[0]!==t?(s=i.jsx(Us,{onClose:t}),e[0]=t,e[1]=s):s=e[1],s}function Bs(n){const e=W.c(2);let t;return e[0]!==n?(t=i.jsx(lt,{...n}),e[0]=n,e[1]=t):t=e[1],t}function ui(n){const e=W.c(2),{onClose:t}=n;let s;return e[0]!==t?(s=i.jsx(Ws,{onClose:t}),e[0]=t,e[1]=s):s=e[1],s}function mi(n){const e=W.c(4);let t;e[0]!==n?({...t}=n,e[0]=n,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(Bs,{...t}),e[2]=t,e[3]=s):s=e[3],s}export{as as C,mi as M,cs as N,et as P,ri as S,hi as a,di as b,ui as c,be as d,ci as g,ai as i,Me as m};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as f,a2 as h,ej as d,j as g,N as m,ae as p,_ as j}from"./index-P5CXrVFm.js";import{L as v}from"./legacy-main-redirect-DddC7e1C.js";import"./thread-route-VDZP73-c.js";const x=j("/shell/$org/org-shell/");function L(){const e=f.c(19),{org:a}=h(),l=x.useSearch(),{main:i,virtualmcpid:o}=l;if(i!==void 0){let t;e[0]!==i||e[1]!==a.slug||e[2]!==l||e[3]!==o?(t=d({org:a.slug,agentId:o,main:i,search:l}),e[0]=i,e[1]=a.slug,e[2]=l,e[3]=o,e[4]=t):t=e[4];const s=t;if(s?.kind==="canonical"){let r;return e[5]!==s?(r=g.jsx(v,{target:s}),e[5]=s,e[6]=r):r=e[6],r}}let n;e[7]!==o?(n=o?.trim()||null,e[7]=o,e[8]=n):n=e[8];const u=n;if(u){let t;e[9]!==a.slug||e[10]!==u?(t={org:a.slug,agentId:u},e[9]=a.slug,e[10]=u,e[11]=t):t=e[11];let s;e[12]!==l?(s={...l,virtualmcpid:void 0},e[12]=l,e[13]=s):s=e[13];let r;return e[14]!==t||e[15]!==s?(r=g.jsx(m,{to:p.projects,params:t,search:s,hash:!0,replace:!0}),e[14]=t,e[15]=s,e[16]=r):r=e[16],r}let c;return e[17]!==a.slug?(c=g.jsx(m,{to:p.home,params:{org:a.slug},search:N,hash:!0,replace:!0}),e[17]=a.slug,e[18]=c):c=e[18],c}function N(e){return{...e,virtualmcpid:void 0}}export{L as default};
|