decocms 2.292.1 → 2.293.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/{AlertCircle-Cx8oex2u.js → AlertCircle-DnJbX_0w.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-DtpIYMrr.js → ArrowNarrowLeft-M9-X6Sxy.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-BBjaHjTK.js → ArrowUpRight-BQK-oA7E.js} +1 -1
- package/dist/client/assets/{CheckCircle-Mywkb82K.js → CheckCircle-BTDGGZJo.js} +1 -1
- package/dist/client/assets/{ChevronDown-BE0rQ4ho.js → ChevronDown-D098IDk9.js} +1 -1
- package/dist/client/assets/{ChevronRight-BVJ2HUMt.js → ChevronRight-DIr3-XeU.js} +1 -1
- package/dist/client/assets/{ChevronUp-B2y_5HwX.js → ChevronUp-qt4sL4uC.js} +1 -1
- package/dist/client/assets/{Container-CtsNRge8.js → Container-BvdKvtbe.js} +1 -1
- package/dist/client/assets/{DotsVertical-BQnGY6Nc.js → DotsVertical-DGFUAKYN.js} +1 -1
- package/dist/client/assets/{LinkExternal01-SieYyhiZ.js → LinkExternal01-CS_vTEL0.js} +1 -1
- package/dist/client/assets/{Lock01-BrFrkt3t.js → Lock01-DepQhBci.js} +1 -1
- package/dist/client/assets/{Palette-2CChK5yr.js → Palette-SeD4BOqL.js} +1 -1
- package/dist/client/assets/{Play-BfzIvHVC.js → Play-B2WhNMxb.js} +1 -1
- package/dist/client/assets/{Plus-kLSd3TZy.js → Plus-6a_0gFD5.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-B-L6FvMp.js → RefreshCcw01-CmGHOB_j.js} +1 -1
- package/dist/client/assets/{SearchMd-BfBE-dHK.js → SearchMd-B4RJoOIR.js} +1 -1
- package/dist/client/assets/{Settings02-EP4I50bB.js → Settings02-86F4b3dQ.js} +1 -1
- package/dist/client/assets/{Shield01-D19-LRUf.js → Shield01-CzaXyqoU.js} +1 -1
- package/dist/client/assets/{Star01-MuiWZ8GS.js → Star01-BsL_E8DX.js} +1 -1
- package/dist/client/assets/{Sun-CTLobT4y.js → Sun-CoYtwe4c.js} +1 -1
- package/dist/client/assets/{Tool01-CeBylvMu.js → Tool01-Cxeqfwwz.js} +1 -1
- package/dist/client/assets/{Trash01-BLGcALKg.js → Trash01-Crqeojj8.js} +1 -1
- package/dist/client/assets/{User01-BLHrCCyy.js → User01-lfQ-qZIG.js} +1 -1
- package/dist/client/assets/{Users03-C3QqJn94.js → Users03-BEcIfaLP.js} +1 -1
- package/dist/client/assets/{X-BJbamPEP.js → X-DSm8Y-S-.js} +1 -1
- package/dist/client/assets/{XCircle-DP5EGLqX.js → XCircle-D0NNu2cU.js} +1 -1
- package/dist/client/assets/{XClose-BRn4UVuG.js → XClose-8tp9nQPE.js} +1 -1
- package/dist/client/assets/{Zap-kZUu0No-.js → Zap-GnwBp_Qp.js} +1 -1
- package/dist/client/assets/{ZapSquare-B3o6QvJe.js → ZapSquare-DgxRVJjy.js} +1 -1
- package/dist/client/assets/accordion-CJq3HBrS.js +1 -0
- package/dist/client/assets/agent-icon-DxobcFDr.js +1 -0
- package/dist/client/assets/agents-list-eEeKypKu.js +1 -0
- package/dist/client/assets/ai-providers-D_bgIPsh.js +1 -0
- package/dist/client/assets/{alert-dialog-BFg1HHbW.js → alert-dialog-CscciHzk.js} +2 -2
- package/dist/client/assets/{auth-catchall-BPCBowrT.js → auth-catchall-DZZidYw0.js} +1 -1
- package/dist/client/assets/{automation-list-row-0e1qSQoQ.js → automation-list-row-Br_pkbGs.js} +1 -1
- package/dist/client/assets/automations-Ch3eQvio.js +1 -0
- package/dist/client/assets/{avatar-BfSY5CVM.js → avatar-BQ09Qk0Z.js} +1 -1
- package/dist/client/assets/{badge-C_B8gNbw.js → badge-Clg4Tzdw.js} +1 -1
- package/dist/client/assets/brand-context-DZl3n4iE.js +1 -0
- package/dist/client/assets/{card-G6flwhwa.js → card-DUOq7Rl6.js} +1 -1
- package/dist/client/assets/chat-context-CfrtTY3a.js +31 -0
- package/dist/client/assets/{checkbox-LBmczTXJ.js → checkbox-D2GZcsVt.js} +1 -1
- package/dist/client/assets/collection-detail-ChjtG6Ga.js +1 -0
- package/dist/client/assets/collection-display-button-BZwsY1Wv.js +1 -0
- package/dist/client/assets/{collection-search-DoXoIAYq.js → collection-search-CzSQR8Hb.js} +1 -1
- package/dist/client/assets/{collection-search-CsSMb59s.js → collection-search-DW3g3zGc.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-B2fVBjE4.js → collection-table-wrapper-B84Op-Zk.js} +1 -1
- package/dist/client/assets/{collection-tabs-CA1SpsaZ.js → collection-tabs-DVyOXsXh.js} +1 -1
- package/dist/client/assets/{collections-BAHpsq0P.js → collections-CzE8C7FB.js} +1 -1
- package/dist/client/assets/{command-CJYPyBOh.js → command-ChcvD0z3.js} +1 -1
- package/dist/client/assets/{connection-card-DZ1fYoPr.js → connection-card-C2vEoZIt.js} +1 -1
- package/dist/client/assets/connection-detail-BGY9VwYa.js +1 -0
- package/dist/client/assets/connection-form-helpers-CgA-QNzF.js +1 -0
- package/dist/client/assets/connections-DRgi7C4U.js +1 -0
- package/dist/client/assets/{constants-B-gCw63I.js → constants-CrD_AMxD.js} +1 -1
- package/dist/client/assets/{constants-Dw_UtizE.js → constants-nJzh8CYx.js} +2 -2
- package/dist/client/assets/{dialog-DjZXbytL.js → dialog-CVDAkUpR.js} +1 -1
- package/dist/client/assets/domain-settings-ClmaftJG.js +1 -0
- package/dist/client/assets/{drawer-BFBl_9mB.js → drawer-CFg3CiQr.js} +1 -1
- package/dist/client/assets/dropdown-menu-gP2-wJTw.js +1 -0
- package/dist/client/assets/dynamic-plugin-layout-DZA29J1C.js +1 -0
- package/dist/client/assets/{empty-state-CWYR2iH4.js → empty-state-C2PUUqhT.js} +1 -1
- package/dist/client/assets/{empty-state-DskpQs8Q.js → empty-state-CPpC79-7.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DiYA0QYt.js → extract-connection-data-5g73Imwy.js} +1 -1
- package/dist/client/assets/features-CeA9UMCz.js +1 -0
- package/dist/client/assets/form-yPmbpUVF.js +1 -0
- package/dist/client/assets/general-CX6-dTKZ.js +1 -0
- package/dist/client/assets/index-B3vDeqTk.js +1 -0
- package/dist/client/assets/{index-Bm_-4bAj.js → index-BYM0cbyk.js} +3 -3
- package/dist/client/assets/{index-QvZR-ABK.js → index-BdUJIICa.js} +1 -1
- package/dist/client/assets/index-BzSFWy5-.js +189 -0
- package/dist/client/assets/index-C3hSkh4S.js +1 -0
- package/dist/client/assets/index-CXbGCxBV.js +547 -0
- package/dist/client/assets/{index-BnoHDdAn.js → index-CfanpUI7.js} +3 -3
- package/dist/client/assets/{index-x18ABRVV.js → index-CqrrK0SQ.js} +1 -1
- package/dist/client/assets/{index-DA_fcz0a.js → index-CsTWePfc.js} +1 -1
- package/dist/client/assets/index-DImBkhtD.js +1 -0
- package/dist/client/assets/index-Dbs2wH7N.js +1 -0
- package/dist/client/assets/index-DkZMRzTR.js +1 -0
- package/dist/client/assets/index-Dkaetwrr.js +142 -0
- package/dist/client/assets/{index-CllFnV9J.js → index-Dlk19fTc.js} +1 -1
- package/dist/client/assets/index-b9vWbQjO.js +1 -0
- package/dist/client/assets/{index-Bu0xhzLF.js → index-gKZjkMnf.js} +26 -26
- package/dist/client/assets/{infiniteQueryObserver-DEk-T30Y.js → infiniteQueryObserver-B9PWohpE.js} +1 -1
- package/dist/client/assets/{input-B5aMagwc.js → input-Cet4kRAV.js} +1 -1
- package/dist/client/assets/{integration-icon-B5mNngh-.js → integration-icon-BYjt2zM8.js} +1 -1
- package/dist/client/assets/{label-Bv4VMaQH.js → label-CaWfIbuT.js} +1 -1
- package/dist/client/assets/layout-BgwHTi9m.js +1 -0
- package/dist/client/assets/lean-canvas-recruit-modal-CNtMOKiS.js +116 -0
- package/dist/client/assets/{login-DFTX50_T.js → login-DDBhfkxa.js} +1 -1
- package/dist/client/assets/{members-BbGgTXF7.js → members-CpZry3vM.js} +1 -1
- package/dist/client/assets/{monaco-editor-CV15HqlU.js → monaco-editor-D2GSkzL1.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-FCrYNYUL.js → monitoring-stats-row-B9-AgFrN.js} +1 -1
- package/dist/client/assets/{oauth-callback-W1x4HvAt.js → oauth-callback-ZTQDmTMI.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-8jGGtkD-.js → oauth-callback-ai-provider-Gd1uARX2.js} +1 -1
- package/dist/client/assets/{onboarding-DiKHM7MB.js → onboarding-8fDDt_RN.js} +1 -1
- package/dist/client/assets/{org-layout-B-bINoer.js → org-layout-Bw77z4Sw.js} +1 -1
- package/dist/client/assets/org-plugin-layout-BIXLREf_.js +1 -0
- package/dist/client/assets/{task-status-D3v6N-jY.js → pair-CSF6pLZy.js} +40 -40
- package/dist/client/assets/plugin-empty-state-D452cObw.js +1 -0
- package/dist/client/assets/plugin-header-DesRdhcy.js +1 -0
- package/dist/client/assets/{plugin-layout-2a2a-fWN.js → plugin-layout-cW34W41Y.js} +1 -1
- package/dist/client/assets/{popover-CGtNHDEz.js → popover-dpRZqzOJ.js} +1 -1
- package/dist/client/assets/profile-AXVJhA8D.js +1 -0
- package/dist/client/assets/project-app-view-C0WWCGe_.js +1 -0
- package/dist/client/assets/registry-91e7KTfr.js +2 -0
- package/dist/client/assets/{registry-layout-YWa06n-y.js → registry-layout-DWruz43b.js} +1 -1
- package/dist/client/assets/required-auth-layout-DVgyyuV-.js +1 -0
- package/dist/client/assets/{reset-password-CfhsLJCK.js → reset-password-jjqpZRxZ.js} +1 -1
- package/dist/client/assets/roles-Bf8vBKyU.js +1 -0
- package/dist/client/assets/scroll-area-CH9Vosbx.js +1 -0
- package/dist/client/assets/{search-input-DRzVzeWW.js → search-input-BTdLweUR.js} +1 -1
- package/dist/client/assets/select-B6R2tTSM.js +1 -0
- package/dist/client/assets/{select-model-BdV3Nm5y.js → select-model-BMdrDFa3.js} +1 -1
- package/dist/client/assets/settings-layout-CnrVmFqe.js +1 -0
- package/dist/client/assets/{settings-section-nyO0fOgx.js → settings-section-Z9FmAPIg.js} +1 -1
- package/dist/client/assets/shell-layout-DaB5J-du.js +1 -0
- package/dist/client/assets/{skeleton-ClT50YXx.js → skeleton-BhVqr-eG.js} +1 -1
- package/dist/client/assets/sso-DZJw-CAn.js +1 -0
- package/dist/client/assets/store-D-L6Gt6i.js +1 -0
- package/dist/client/assets/store-registry-DdZCk03l.js +2 -0
- package/dist/client/assets/{switch-Bp1Tvx2h.js → switch-D_DqyrYW.js} +1 -1
- package/dist/client/assets/{table-BL7WuMkY.js → table-D1_6e_tY.js} +1 -1
- package/dist/client/assets/{tabs-CNz9F6wL.js → tabs-Bu_QsdLq.js} +1 -1
- package/dist/client/assets/task-status-DKnoaN0K.js +1 -0
- package/dist/client/assets/{textarea-BxmFQbso.js → textarea-BPX5qWaA.js} +1 -1
- package/dist/client/assets/{toggle-group-B4KaadHq.js → toggle-group-BJxlfhsN.js} +1 -1
- package/dist/client/assets/tools-list-CjPOU8GA.js +1 -0
- package/dist/client/assets/tooltip-DlUl6zVU.js +1 -0
- package/dist/client/assets/{types-BtVZ_7jK.js → types-CUVoLk-m.js} +6 -6
- package/dist/client/assets/{use-ai-providers-DqhLue8O.js → use-ai-providers-CKSasQTP.js} +1 -1
- package/dist/client/assets/{use-collections-CLt7BhQ3.js → use-collections-DKaygmj-.js} +1 -1
- package/dist/client/assets/{use-connection-BCV5VAjQ.js → use-connection-DLwIHVYP.js} +1 -1
- package/dist/client/assets/{use-copy-CYT1tdMJ.js → use-copy-CLL1wnsg.js} +1 -1
- package/dist/client/assets/use-create-virtual-mcp-B693GvUD.js +1 -0
- package/dist/client/assets/{use-decopilot-events-BNaQbe7E.js → use-decopilot-events-NXGOEGvZ.js} +1 -1
- package/dist/client/assets/{use-delete-connection-YzycomMd.js → use-delete-connection-DN8HxHVx.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CoMWGssU.js → use-infinite-scroll-B32XN73V.js} +1 -1
- package/dist/client/assets/{use-list-state-jiGNrC7M.js → use-list-state-Cwr5OloB.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-yi4edHzR.js → use-mcp-tools-CyPVbfii.js} +1 -1
- package/dist/client/assets/{use-members-BPb2gPfy.js → use-members-C8bjIWu8.js} +1 -1
- package/dist/client/assets/use-navigate-to-agent-DuF5pNCT.js +1 -0
- package/dist/client/assets/{use-org-sso-CEfAe1W3.js → use-org-sso-pbiXxD33.js} +1 -1
- package/dist/client/assets/{use-organization-roles-1TjtICKp.js → use-organization-roles-7NVaQG9M.js} +1 -1
- package/dist/client/assets/{use-organization-settings-B98QP_Ve.js → use-organization-settings-DpXizr85.js} +1 -1
- package/dist/client/assets/{use-registry-connections-D0FgXcrs.js → use-registry-connections-BFqaVIUz.js} +1 -1
- package/dist/client/assets/{use-status-sounds-B5WhjryL.js → use-status-sounds-DVyydX5_.js} +1 -1
- package/dist/client/assets/{use-tasks-COeMfIn8.js → use-tasks-tzb1zUeQ.js} +1 -1
- package/dist/client/assets/use-view-mode-D9sT86SW.js +1 -0
- package/dist/client/assets/{use-virtual-mcp-CZoeCuBL.js → use-virtual-mcp-SIWEo5E_.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-B3rxurAJ.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-KPnhOQU0.js +1 -0
- package/dist/client/assets/{user-CWcWoefF.js → user-DxM-AJLw.js} +1 -1
- package/dist/client/assets/view-mode-toggle-CussfoqD.js +1 -0
- package/dist/client/assets/workflow-a5DJAs_-.js +1 -0
- package/dist/client/assets/workflow-detail-DqMXf6Es.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +1 -1
- package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
- package/dist/server/node_modules/ansi-styles/index.js +223 -0
- package/dist/server/node_modules/ansi-styles/license +9 -0
- package/dist/server/node_modules/ansi-styles/package.json +54 -0
- package/dist/server/node_modules/ansi-styles/readme.md +173 -0
- package/dist/server/node_modules/environment/index.d.ts +74 -0
- package/dist/server/node_modules/environment/index.js +47 -0
- package/dist/server/node_modules/environment/license +9 -0
- package/dist/server/node_modules/environment/package.json +74 -0
- package/dist/server/node_modules/environment/readme.md +94 -0
- package/dist/server/node_modules/escape-string-regexp/index.d.ts +18 -0
- package/dist/server/node_modules/escape-string-regexp/index.js +11 -0
- package/dist/server/node_modules/escape-string-regexp/license +9 -0
- package/dist/server/node_modules/escape-string-regexp/package.json +43 -0
- package/dist/server/node_modules/escape-string-regexp/readme.md +29 -0
- package/dist/server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/dist/server/node_modules/is-fullwidth-code-point/index.js +12 -0
- package/dist/server/node_modules/is-fullwidth-code-point/license +9 -0
- package/dist/server/node_modules/is-fullwidth-code-point/package.json +53 -0
- package/dist/server/node_modules/is-fullwidth-code-point/readme.md +31 -0
- package/dist/server/node_modules/is-unicode-supported/index.d.ts +12 -0
- package/dist/server/node_modules/is-unicode-supported/index.js +21 -0
- package/dist/server/node_modules/is-unicode-supported/license +9 -0
- package/dist/server/node_modules/is-unicode-supported/package.json +47 -0
- package/dist/server/node_modules/is-unicode-supported/readme.md +35 -0
- package/dist/server/node_modules/pg-pool/LICENSE +21 -0
- package/dist/server/node_modules/pg-pool/README.md +357 -0
- package/dist/server/node_modules/pg-pool/esm/index.mjs +5 -0
- package/dist/server/node_modules/pg-pool/index.js +517 -0
- package/dist/server/node_modules/pg-pool/package.json +51 -0
- package/dist/server/node_modules/string-width/index.d.ts +39 -0
- package/dist/server/node_modules/string-width/index.js +82 -0
- package/dist/server/node_modules/string-width/license +9 -0
- package/dist/server/node_modules/string-width/package.json +64 -0
- package/dist/server/node_modules/string-width/readme.md +66 -0
- package/package.json +1 -1
- package/dist/client/assets/accordion-BP1gqDGq.js +0 -1
- package/dist/client/assets/agent-icon-Db8xI2bq.js +0 -1
- package/dist/client/assets/agents-list-CKkZAwkG.js +0 -1
- package/dist/client/assets/ai-providers-Cnvjm1DV.js +0 -1
- package/dist/client/assets/automations-Cr0E7mF8.js +0 -1
- package/dist/client/assets/brand-context-DMrJlbv3.js +0 -1
- package/dist/client/assets/chat-context-BJBiG4eq.js +0 -30
- package/dist/client/assets/collection-detail-D_lV_A0m.js +0 -1
- package/dist/client/assets/collection-display-button-BXL1tYdg.js +0 -1
- package/dist/client/assets/connection-detail-DGI32gtH.js +0 -1
- package/dist/client/assets/connection-form-helpers-Dim-adMo.js +0 -1
- package/dist/client/assets/connections-Dl4MUHeU.js +0 -1
- package/dist/client/assets/domain-settings-NIhMIJvG.js +0 -1
- package/dist/client/assets/dropdown-menu--l1OQ6xu.js +0 -1
- package/dist/client/assets/dynamic-plugin-layout-D8kk92gE.js +0 -1
- package/dist/client/assets/features-j7f3i077.js +0 -1
- package/dist/client/assets/form-BVdbuwTF.js +0 -1
- package/dist/client/assets/general-BLunjYWc.js +0 -1
- package/dist/client/assets/github-repo-picker-ku0KWxb8.js +0 -116
- package/dist/client/assets/index-CHcfXh0a.js +0 -1
- package/dist/client/assets/index-ClmOj0lo.js +0 -735
- package/dist/client/assets/index-I_6bIMcX.js +0 -1
- package/dist/client/assets/layout-ChoVtsz2.js +0 -1
- package/dist/client/assets/org-plugin-layout-enuMys5H.js +0 -1
- package/dist/client/assets/plugin-empty-state-DCR5r8Zj.js +0 -1
- package/dist/client/assets/plugin-header-DX2ycNO6.js +0 -1
- package/dist/client/assets/profile-C0rN-ocq.js +0 -1
- package/dist/client/assets/project-app-view-CQsZ6NHk.js +0 -1
- package/dist/client/assets/registry-BO2q_Gke.js +0 -2
- package/dist/client/assets/required-auth-layout-emsOE3qR.js +0 -1
- package/dist/client/assets/roles-BDsBxvE0.js +0 -1
- package/dist/client/assets/scroll-area-CoWBmpAM.js +0 -142
- package/dist/client/assets/select-DerdayxE.js +0 -1
- package/dist/client/assets/settings-layout-B3TmxZwq.js +0 -1
- package/dist/client/assets/shell-layout-cKwbYqFy.js +0 -1
- package/dist/client/assets/sso-DXETt_Ed.js +0 -1
- package/dist/client/assets/store-BBgqe7Dc.js +0 -1
- package/dist/client/assets/store-registry-DKa8Ghfu.js +0 -2
- package/dist/client/assets/tools-list-BNtwzSa4.js +0 -1
- package/dist/client/assets/use-create-virtual-mcp-DPW_d2QJ.js +0 -1
- package/dist/client/assets/use-mobile-BACO9YYc.js +0 -1
- package/dist/client/assets/use-navigate-to-agent-DbPOuTIs.js +0 -1
- package/dist/client/assets/use-view-mode-BLlR5qfu.js +0 -1
- package/dist/client/assets/useInfiniteQuery-BiAZtptE.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CPbx6xDm.js +0 -1
- package/dist/client/assets/view-mode-toggle-C_B0ABFw.js +0 -1
- package/dist/client/assets/workflow-Cq9jV44q.js +0 -1
- package/dist/client/assets/workflow-detail-CaiPxMVe.js +0 -1
|
@@ -1,735 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/project-app-view-CQsZ6NHk.js","assets/index-Bu0xhzLF.js","assets/index-BZi9riJ2.css","assets/task-status-D3v6N-jY.js","assets/agent-icon-Db8xI2bq.js","assets/AlertCircle-Cx8oex2u.js","assets/Tool01-CeBylvMu.js","assets/XClose-BRn4UVuG.js","assets/RefreshCcw01-B-L6FvMp.js","assets/ArrowNarrowLeft-DtpIYMrr.js","assets/XCircle-DP5EGLqX.js","assets/ArrowUpRight-BBjaHjTK.js","assets/ZapSquare-B3o6QvJe.js","assets/Users03-C3QqJn94.js","assets/CheckCircle-Mywkb82K.js","assets/ChevronDown-BE0rQ4ho.js","assets/ChevronRight-BVJ2HUMt.js","assets/ChevronUp-B2y_5HwX.js","assets/DotsVertical-BQnGY6Nc.js","assets/Container-CtsNRge8.js","assets/Star01-MuiWZ8GS.js","assets/Palette-2CChK5yr.js","assets/SearchMd-BfBE-dHK.js","assets/index-CHcfXh0a.js","assets/use-mobile-BACO9YYc.js","assets/X-BJbamPEP.js","assets/LinkExternal01-SieYyhiZ.js","assets/Lock01-BrFrkt3t.js","assets/Sun-CTLobT4y.js","assets/Play-BfzIvHVC.js","assets/Plus-kLSd3TZy.js","assets/Settings02-EP4I50bB.js","assets/Shield01-D19-LRUf.js","assets/Trash01-BLGcALKg.js","assets/User01-BLHrCCyy.js","assets/Zap-kZUu0No-.js","assets/scroll-area-CoWBmpAM.js","assets/select-DerdayxE.js","assets/use-copy-CYT1tdMJ.js","assets/differenceInSeconds-NQ4PDo0z.js","assets/dialog-DjZXbytL.js","assets/content-blocks-o63cs2vh.js","assets/types-BtVZ_7jK.js","assets/constants-Dw_UtizE.js","assets/chat-context-BJBiG4eq.js","assets/use-virtual-mcp-CZoeCuBL.js","assets/use-collections-CLt7BhQ3.js","assets/use-ai-providers-DqhLue8O.js","assets/use-decopilot-events-BNaQbe7E.js","assets/create-sse-subscription-CxkOgzKf.js","assets/use-tasks-COeMfIn8.js","assets/use-organization-settings-B98QP_Ve.js","assets/shell-layout-cKwbYqFy.js","assets/required-auth-layout-emsOE3qR.js","assets/use-org-sso-CEfAe1W3.js","assets/integration-icon-B5mNngh-.js","assets/use-mcp-tools-yi4edHzR.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as bt,r as j,p as Vf,q as Cf,e as B,s as xe,K as Ze,n as ji,a as Ni,v as as,w as gr,x as Ai,j as r,B as oe,y as pt,c as Y,E as ls,z as he,C as ei,_ as kf,t as re,f as Oe,D as wa,F as jf,R as vd,G as Nf,H as rs,I as Kn,J as Ei,L as Af,M as qn,P as Ef,Q as If,T as Tf,U as Rf,V as bd,W as Mf,X as Df,Y as Pf,Z as Lf,$ as pl,l as Ne,b as dt,u as Of,a0 as Zi,a1 as Yr,a2 as Va,a3 as Ca,g as _r,a4 as yd,d as ti,a5 as Bf,a6 as $f,a7 as zf,a8 as Ff,a9 as Sd,aa as wd,ab as Uf,ac as Hf,ad as Wf,ae as Kf,af as qf,ag as Gf,ah as Yf,ai as Li,aj as Xf,ak as Jf,al as Qf,am as Zf,an as Vd,ao as em,ap as tm,aq as sm,ar as im,as as rm,at as nm,au as om,av as am,aw as lm,ax as cm,ay as Cd,az as Xr,aA as dm,aB as pi,aC as Pr,aD as kd,aE as hm,aF as um}from"./index-Bu0xhzLF.js";import{u as $s,a as Ii,b as Lt,A as fm,C as mm,t as jd,c as Co,d as pm,e as Cn,f as gl}from"./chat-context-BJBiG4eq.js";import{d as kn,g as Ls,c as gm,s as ka,t as ko,a as _m,M as xm,i as vm,b as or,e as bm,F as ym,f as Nd,S as Sm,u as wm,h as _l,j as Vm,k as Cm,l as jo,r as km,m as jm,p as Ad,n as Nm,o as Am,q as ja,G as Em,L as Im,v as Tm,w as Rm,x as Mm,y as Dm}from"./task-status-D3v6N-jY.js";import{S as ar,u as jn,P as No,a as Pm,b as Lm,c as Om,E as Bm,i as $m,d as zm,e as Ed}from"./scroll-area-CoWBmpAM.js";import{T as bi,u as ms,a as qe,b as Ge,c as Ye}from"./use-mobile-BACO9YYc.js";import{D as qt,a as Gt,b as Na,c as Ot,d as Bt,e as Nn}from"./dialog-DjZXbytL.js";import{D as An,a as si,b as ii,c as ri,d as Fm,e as Um,f as Hm}from"./drawer-BFBl_9mB.js";import{C as Id}from"./collection-search-DoXoIAYq.js";import{S as yt,u as Ae,g as En,i as lr,c as Wm,W as jt,a as Km,b as Aa}from"./constants-Dw_UtizE.js";import{u as Td,g as Ea,T as Rd,a as Jr,l as hn,b as Gn,c as qm}from"./tabs-CNz9F6wL.js";import{F as yi,a as gt,b as _t,c as Ht,d as xt,e as vt,f as Gm}from"./form-BVdbuwTF.js";import{I as at}from"./input-B5aMagwc.js";import{i as Md,u as xr,r as Dd}from"./shell-layout-cKwbYqFy.js";import{D as Qe,a as Qr,b as Zr,c as cs,d as ds,e as hs,f as Pd,g as Ld,h as xl}from"./dropdown-menu--l1OQ6xu.js";import{s as Os,i as Od}from"./XClose-BRn4UVuG.js";import{t as Ym,i as Bd,n as $d,A as Qt,a as zd,b as Ia,c as Xm,d as Jm,e as Fd,f as Qm,g as Ta,h as er,j as Zm,k as Ra,s as ep,l as tp,p as vr,m as br,o as sp,q as vl,r as bl,u as ip,v as yl,w as rp,x as Ma,y as Ud,z as Ao,B as Yn,C as Sl,D as np,E as op,F as ap,G as lp,H as Hd,I as Wd,J as Kd,K as qd,L as wl,M as cp,N as tr,O as dp,P as hp,Q as up,R as Gd}from"./agent-icon-Db8xI2bq.js";import{n as Yd,a as Eo,i as fp,b as mp,c as pp}from"./ZapSquare-B3o6QvJe.js";import{i as Mt,t as cr}from"./ChevronDown-BE0rQ4ho.js";import{s as vi}from"./Star01-MuiWZ8GS.js";import{a as Io,t as Da}from"./Tool01-CeBylvMu.js";import{i as Xd}from"./Lock01-BrFrkt3t.js";import{s as Dt}from"./Plus-kLSd3TZy.js";import{i as In,t as gp,a as _p,b as xp,c as Jd,d as vp,e as bp,f as Si,g as Qd}from"./XCircle-DP5EGLqX.js";import{i as Es}from"./X-BJbamPEP.js";import{i as Bs}from"./AlertCircle-Cx8oex2u.js";import{S as Ts,a as Rs,b as Nt,c as Ms,d as Ds}from"./select-DerdayxE.js";import{i as Pa}from"./RefreshCcw01-B-L6FvMp.js";import{T as Zd,a as un}from"./toggle-group-B4KaadHq.js";import{u as La,a as eh}from"./use-ai-providers-DqhLue8O.js";import{m as Tn,g as yp,i as Sp,a as th,M as sh,N as wp}from"./select-model-BdV3Nm5y.js";import{S as Vp,A as Cp,a as kp,b as jp,c as Np,R as ih,d as Ap,e as Ep}from"./accordion-BP1gqDGq.js";import{r as rh,l as sr,u as Ip,g as Tp}from"./types-BtVZ_7jK.js";import{u as Rn,a as $t,b as Oa}from"./use-virtual-mcp-CZoeCuBL.js";import{u as yr,a as Mn,b as Ba}from"./use-connection-BCV5VAjQ.js";import{p as Rp,q as Vl}from"./question-004-sINsf4GQ.js";import{g as Cl}from"./ai-providers-logos-D6a8kmGH.js";import{g as nh,s as oh}from"./connection-slug-eyAPH6o3.js";import{u as ah,a as lh,g as Mp,C as Xn}from"./connection-card-DZ1fYoPr.js";import{C as ch}from"./collection-tabs-CA1SpsaZ.js";import{g as dh}from"./constants-B-gCw63I.js";import{T as To}from"./textarea-BxmFQbso.js";import{n as en}from"./Container-CtsNRge8.js";import{c as Dp,i as Lr,a as kl,E as Pp,p as Lp,b as Op,d as Bp}from"./connection-form-helpers-Dim-adMo.js";import{u as jl}from"./use-infinite-scroll-CoMWGssU.js";import{u as $p}from"./useSuspenseInfiniteQuery-CPbx6xDm.js";import{g as zp,e as Fp,a as Up}from"./extract-connection-data-DiYA0QYt.js";import{B as Nl}from"./badge-C_B8gNbw.js";import{i as $a}from"./ChevronRight-BVJ2HUMt.js";import{I as ps}from"./integration-icon-B5mNngh-.js";import{S as wi}from"./skeleton-ClT50YXx.js";import{u as Hp}from"./use-organization-settings-B98QP_Ve.js";import{a as Dn}from"./Users03-C3QqJn94.js";import{G as hh,u as Wp,I as fn,S as uh,L as fh,a as mh,b as ph}from"./github-repo-picker-ku0KWxb8.js";import{u as Sr,a as gh}from"./use-navigate-to-agent-DbPOuTIs.js";import{S as mn}from"./switch-Bp1Tvx2h.js";import{u as _h}from"./use-create-virtual-mcp-DPW_d2QJ.js";import{i as Kp}from"./CheckCircle-Mywkb82K.js";import{C as qp,a as Al,b as El,c as Gp,d as Yp,e as Xp,f as Jp}from"./command-CJYPyBOh.js";import{P as zs,a as Fs,b as Us}from"./popover-CGtNHDEz.js";import{u as ni,a as Qp}from"./use-mcp-tools-yi4edHzR.js";import{E as Vi}from"./empty-state-DskpQs8Q.js";import{u as Zp}from"./use-decopilot-events-BNaQbe7E.js";import{i as Ci}from"./Zap-kZUu0No-.js";import{i as xh,S as wr,a as Vr,b as es,u as Cr,c as Zt,d as Pt,e as vh,f as bh,g as eg,h as yh,j as Sh,P as Jt,k as tg,l as sg,m as ig,n as rg,o as ng,p as og}from"./index-CHcfXh0a.js";import{A as Il}from"./avatar-BfSY5CVM.js";import{n as ag,a as lg,i as cg}from"./Sun-CTLobT4y.js";import{a as kr}from"./Settings02-EP4I50bB.js";import{i as dg}from"./Shield01-D19-LRUf.js";import{A as za,a as Fa,b as Ua,c as Ha,d as Wa,e as Ka,f as qa,g as wh}from"./alert-dialog-BFg1HHbW.js";import"./index-x18ABRVV.js";import{u as hg,a as Tl,K as ug,P as fg,S as mg,v as pg,D as gg,c as _g,s as xg,b as vg,d as bg,C as yg,e as Sg}from"./collection-search-CsSMb59s.js";import{u as Vh}from"./use-tasks-COeMfIn8.js";import{u as wg}from"./use-status-sounds-B5WhjryL.js";import{U as Ch}from"./user-CWcWoefF.js";import{T as Vg,u as kh}from"./tools-list-BNtwzSa4.js";import{u as Jn}from"./unwrap-tool-result-BYXdCQMg.js";import{C as Cg,a as Rl}from"./card-G6flwhwa.js";import{L as ir}from"./label-Bv4VMaQH.js";import{i as tn}from"./Play-BfzIvHVC.js";import{s as Ro}from"./Trash01-BLGcALKg.js";import{i as jh,a as kg}from"./SearchMd-BfBE-dHK.js";import{C as jg}from"./checkbox-LBmczTXJ.js";import{n as oi}from"./LinkExternal01-SieYyhiZ.js";import{V as Ng}from"./view-mode-toggle-C_B0ABFw.js";import{u as jr,a as Ag,b as Eg,c as Ig,A as Tg,d as Rg}from"./automation-list-row-0e1qSQoQ.js";import{S as Mg}from"./search-input-DRzVzeWW.js";import"./use-collections-CLt7BhQ3.js";import"./use-copy-CYT1tdMJ.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./content-blocks-o63cs2vh.js";import"./DotsVertical-BQnGY6Nc.js";import"./required-auth-layout-emsOE3qR.js";import"./use-org-sso-CEfAe1W3.js";import"./ArrowNarrowLeft-DtpIYMrr.js";import"./ArrowUpRight-BBjaHjTK.js";import"./ChevronUp-B2y_5HwX.js";import"./Palette-2CChK5yr.js";import"./User01-BLHrCCyy.js";import"./settings-section-nyO0fOgx.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./use-registry-connections-D0FgXcrs.js";import"./useInfiniteQuery-BiAZtptE.js";import"./infiniteQueryObserver-DEk-T30Y.js";import"./collections-BAHpsq0P.js";import"./index-DA_fcz0a.js";import"./create-sse-subscription-CxkOgzKf.js";function Dg(t,e){const s=bt(e);return Pg({filters:{...t,status:"pending"}},s).length}function Ml(t,e){return t.findAll(e.filters).map(s=>e.select?e.select(s):s.state)}function Pg(t={},e){const s=bt(e).getMutationCache(),i=j.useRef(t),n=j.useRef(null);return n.current===null&&(n.current=Ml(s,t)),j.useEffect(()=>{i.current=t}),j.useSyncExternalStore(j.useCallback(o=>s.subscribe(()=>{const a=Vf(n.current,Ml(s,i.current));n.current!==a&&(n.current=a,Cf.schedule(o))}),[s]),()=>n.current,()=>n.current)}function Lg(t,e){const s=B.c(37),{org:i,locator:n}=xe();let o;s[0]!==i.id?(o={connectionId:yt,orgId:i.id},s[0]=i.id,s[1]=o):o=s[1];const a=Ae(o),l=bt();let c;s[2]!==t||s[3]!==i.id?(c=Ze.ensureTask(i.id,t),s[2]=t,s[3]=i.id,s[4]=c):c=s[4];let d;s[5]!==a||s[6]!==t?(d=async()=>(await a.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:t}})).structuredContent?.item??null,s[5]=a,s[6]=t,s[7]=d):d=s[7];let u;s[8]!==c||s[9]!==d?(u={queryKey:c,queryFn:d,retry:!1,refetchOnWindowFocus:!1},s[8]=c,s[9]=d,s[10]=u):u=s[10];const h=ji(u);let f;s[11]!==a||s[12]!==e?(f=async b=>{const y=await a.callTool({name:"COLLECTION_THREADS_CREATE",arguments:{data:{id:b,virtual_mcp_id:e}}});if(y.isError){const C=y.content,S=Array.isArray(C)&&C[0]&&typeof C[0]=="object"?C[0].text??"Create failed":"Create failed";throw new Error(S)}return y.structuredContent.item},s[11]=a,s[12]=e,s[13]=f):f=s[13];let m;s[14]!==n||s[15]!==i.id||s[16]!==h||s[17]!==l?(m=()=>{l.invalidateQueries({predicate:b=>b.queryKey[1]===i.id&&b.queryKey[3]==="collection"&&b.queryKey[4]==="THREADS"}),l.invalidateQueries({queryKey:Ze.tasksPrefix(n)}),h.refetch()},s[14]=n,s[15]=i.id,s[16]=h,s[17]=l,s[18]=m):m=s[18];let p;s[19]!==f||s[20]!==m?(p={mutationFn:f,onSuccess:m},s[19]=f,s[20]=m,s[21]=p):p=s[21];const g=Ni(p);let _,v;if(s[22]!==g||s[23]!==t||s[24]!==h.data||s[25]!==h.isSuccess?(_=()=>{!h.isSuccess||h.data||g.isPending||g.variables!==t&&g.mutate(t)},v=[t,h.isSuccess,h.data,g],s[22]=g,s[23]=t,s[24]=h.data,s[25]=h.isSuccess,s[26]=_,s[27]=v):(_=s[26],v=s[27]),j.useEffect(_,v),h.isLoading){let b;return s[28]===Symbol.for("react.memo_cache_sentinel")?(b={status:"loading"},s[28]=b):b=s[28],b}if(h.isError){const b=h.error;let y;return s[29]!==b?(y={status:"error",error:b},s[29]=b,s[30]=y):y=s[30],y}if(h.isSuccess&&h.data){let b;return s[31]!==h.data?(b={status:"ready",task:h.data},s[31]=h.data,s[32]=b):b=s[32],b}if(g.isPending||h.isSuccess&&!h.data){let b;return s[33]===Symbol.for("react.memo_cache_sentinel")?(b={status:"creating"},s[33]=b):b=s[33],b}if(g.isError){let b;return s[34]!==g.error?(b={status:"error",error:g.error},s[34]=g.error,s[35]=b):b=s[35],b}let x;return s[36]===Symbol.for("react.memo_cache_sentinel")?(x={status:"loading"},s[36]=x):x=s[36],x}function Og(t){const e={};for(const s of t.arguments??[])e[s.name]=s.required?pt().min(1,"Required"):pt();return as(e)}function Bg(t){const e={};for(const s of t.arguments??[])e[s.name]="";return e}function Ga(t){const e=B.c(65),{prompt:s,setPrompt:i,onSubmit:n}=t,o=j.useId();let a;if(e[0]!==s){const R=s?Og(s):as({});a=gr(R),e[0]=s,e[1]=a}else a=e[1];const c=a;let d;e[2]!==s?(d=s?Bg(s):{},e[2]=s,e[3]=d):d=e[3];let u;e[4]!==c||e[5]!==d?(u={resolver:c,defaultValues:d,mode:"onChange"},e[4]=c,e[5]=d,e[6]=u):u=e[6];const h=Ai(u);let f;e[7]!==s?.arguments?(f=s?.arguments??[],e[7]=s?.arguments,e[8]=f):f=e[8];const m=f;let p;e[9]!==h||e[10]!==n||e[11]!==i?(p=async R=>{await n(R),i(null),h.reset()},e[9]=h,e[10]=n,e[11]=i,e[12]=p):p=e[12];const g=p;let _;e[13]!==h||e[14]!==i?(_=R=>{R||(h.reset(),i(null))},e[13]=h,e[14]=i,e[15]=_):_=e[15];const v=_;if(!s)return null;let x;e[16]!==s._meta||e[17]!==s.name||e[18]!==s.title?(x=s.title||kn(s.name,Ls(s._meta)),e[16]=s._meta,e[17]=s.name,e[18]=s.title,e[19]=x):x=e[19];let b;e[20]!==x?(b=r.jsx(qt,{children:r.jsx("span",{className:"capitalize",children:x})}),e[20]=x,e[21]=b):b=e[21];let y;e[22]!==s.description?(y=s.description&&r.jsx("p",{className:"text-sm text-muted-foreground",children:s.description}),e[22]=s.description,e[23]=y):y=e[23];let V;e[24]!==y||e[25]!==b?(V=r.jsxs(Gt,{children:[b,y]}),e[24]=y,e[25]=b,e[26]=V):V=e[26];let C;e[27]!==h||e[28]!==g?(C=R=>{R.stopPropagation(),h.handleSubmit(g)(R)},e[27]=h,e[28]=g,e[29]=C):C=e[29];let S;if(e[30]!==m||e[31]!==h.control||e[32]!==h.formState.isSubmitting){let R;e[34]!==h.control||e[35]!==h.formState.isSubmitting?(R=P=>r.jsx(gt,{control:h.control,name:P.name,render:O=>{const{field:z}=O;return r.jsxs(_t,{children:[r.jsxs(Ht,{className:"text-xs",children:[P.name,P.required?null:r.jsxs("span",{className:"text-muted-foreground font-normal",children:[" ","(optional)"]})]}),r.jsx(xt,{children:r.jsx(at,{...z,value:z.value??"",required:P.required,placeholder:P.description??"",className:"h-9",disabled:h.formState.isSubmitting})}),r.jsx(vt,{})]})}},P.name),e[34]=h.control,e[35]=h.formState.isSubmitting,e[36]=R):R=e[36],S=m.map(R),e[30]=m,e[31]=h.control,e[32]=h.formState.isSubmitting,e[33]=S}else S=e[33];let w;e[37]!==v?(w=()=>v(!1),e[37]=v,e[38]=w):w=e[38];let k;e[39]!==h.formState.isSubmitting||e[40]!==w?(k=r.jsx(oe,{type:"button",variant:"ghost",onClick:w,disabled:h.formState.isSubmitting,children:"Cancel"}),e[39]=h.formState.isSubmitting,e[40]=w,e[41]=k):k=e[41];const T=!h.formState.isValid||h.formState.isSubmitting;let M;e[42]!==h.formState.isSubmitting?(M=h.formState.isSubmitting?r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(ar,{size:"xs"}),"Loading..."]}):"Use prompt",e[42]=h.formState.isSubmitting,e[43]=M):M=e[43];let I;e[44]!==o||e[45]!==T||e[46]!==M?(I=r.jsx(oe,{type:"submit",form:o,disabled:T,children:M}),e[44]=o,e[45]=T,e[46]=M,e[47]=I):I=e[47];let E;e[48]!==k||e[49]!==I?(E=r.jsxs(Na,{children:[k,I]}),e[48]=k,e[49]=I,e[50]=E):E=e[50];let N;e[51]!==o||e[52]!==C||e[53]!==S||e[54]!==E?(N=r.jsxs("form",{id:o,className:"space-y-4 py-4",autoComplete:"off",onSubmit:C,children:[S,E]}),e[51]=o,e[52]=C,e[53]=S,e[54]=E,e[55]=N):N=e[55];let A;e[56]!==h||e[57]!==N?(A=r.jsx(yi,{...h,children:N}),e[56]=h,e[57]=N,e[58]=A):A=e[58];let D;e[59]!==V||e[60]!==A?(D=r.jsxs(Ot,{className:"sm:max-w-lg max-h-[80vh] overflow-y-auto",children:[V,A]}),e[59]=V,e[60]=A,e[61]=D):D=e[61];let L;return e[62]!==v||e[63]!==D?(L=r.jsx(Bt,{open:!0,onOpenChange:v,children:D}),e[62]=v,e[63]=D,e[64]=L):L=e[64],L}function $g(t){return!t||!t.content||t.content.length===0?!0:t.content.every(e=>e.type==="paragraph"?!e.content||e.content.length===0?!0:e.content.every(s=>s.type==="hardBreak"||s.type==="text"&&(!s.text||s.text.trim()==="")):!1)}function zg(t,e){return{type:"doc",content:[...t?.content??[],e].filter(Boolean)}}const Dl=3,Nh="inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-muted text-muted-foreground text-sm font-medium transition-colors cursor-pointer",Fg="flex flex-col gap-1.5 p-4 rounded-xl bg-accent/40 text-sm leading-snug transition-colors cursor-pointer text-left";function Ah(t){const e=B.c(46),{item:s,onSelect:i,isLoading:n,isDisabled:o,variant:a}=t,l=a===void 0?"pill":a,{prompt:c}=s;let d;if(e[0]!==c._meta||e[1]!==c.name||e[2]!==c.title){const S=Ls(c._meta);d=c.title??kn(c.name,S),e[0]=c._meta,e[1]=c.name,e[2]=c.title,e[3]=d}else d=e[3];const u=d,h=c.description||null;if(l==="card"){let S;e[4]!==i||e[5]!==c?(S=()=>i(c),e[4]=i,e[5]=c,e[6]=S):S=e[6];const w=o||n,k=n&&"bg-accent/40",T=(o||n)&&"cursor-not-allowed opacity-50";let M;e[7]!==k||e[8]!==T?(M=Y(Fg,"hover:bg-accent/60 text-foreground",k,T),e[7]=k,e[8]=T,e[9]=M):M=e[9];let I;e[10]!==u?(I=r.jsx("span",{className:"font-medium truncate capitalize",children:u}),e[10]=u,e[11]=I):I=e[11];let E;e[12]!==n?(E=n&&r.jsx(ar,{size:"xs"}),e[12]=n,e[13]=E):E=e[13];let N;e[14]!==I||e[15]!==E?(N=r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[I,E]}),e[14]=I,e[15]=E,e[16]=N):N=e[16];let A;e[17]!==h?(A=h&&r.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:h}),e[17]=h,e[18]=A):A=e[18];let D;return e[19]!==N||e[20]!==A||e[21]!==S||e[22]!==w||e[23]!==M?(D=r.jsxs("button",{type:"button",onClick:S,disabled:w,className:M,children:[N,A]}),e[19]=N,e[20]=A,e[21]=S,e[22]=w,e[23]=M,e[24]=D):D=e[24],D}let f;e[25]!==i||e[26]!==c?(f=()=>i(c),e[25]=i,e[26]=c,e[27]=f):f=e[27];const m=o||n,p=n&&"bg-muted/50",g=(o||n)&&"cursor-not-allowed opacity-50";let _;e[28]!==p||e[29]!==g?(_=Y(Nh,"hover:bg-muted/70 hover:text-foreground",p,g),e[28]=p,e[29]=g,e[30]=_):_=e[30];let v;e[31]!==u?(v=r.jsx("span",{className:"capitalize",children:u}),e[31]=u,e[32]=v):v=e[32];let x;e[33]!==n?(x=n&&r.jsx(ar,{size:"xs"}),e[33]=n,e[34]=x):x=e[34];let b;e[35]!==f||e[36]!==m||e[37]!==_||e[38]!==v||e[39]!==x?(b=r.jsx(qe,{asChild:!0,children:r.jsxs("button",{type:"button",onClick:f,disabled:m,className:_,children:[v,x]})}),e[35]=f,e[36]=m,e[37]=_,e[38]=v,e[39]=x,e[40]=b):b=e[40];const y=h??u;let V;e[41]!==y?(V=r.jsx(Ge,{side:"top",className:"max-w-xs",children:r.jsx("p",{className:"text-xs",children:y})}),e[41]=y,e[42]=V):V=e[42];let C;return e[43]!==b||e[44]!==V?(C=r.jsxs(Ye,{delayDuration:400,children:[b,V]}),e[43]=b,e[44]=V,e[45]=C):C=e[45],C}function Ug(t){const e=B.c(41),{items:s,open:i,onOpenChange:n,onSelect:o,loadingPrompt:a}=t,[l,c]=j.useState(""),d=!!a;let u;e[0]!==s||e[1]!==l?(u=l.trim()?s.filter(w=>{const k=l.toLowerCase();return w.prompt.name.toLowerCase().includes(k)||(w.prompt.title??"").toLowerCase().includes(k)||(w.prompt.description??"").toLowerCase().includes(k)}):s,e[0]=s,e[1]=l,e[2]=u):u=e[2];const h=u,f=ms();let m;e[3]!==h.length||e[4]!==l?(m=h.length===0&&r.jsxs("p",{className:"col-span-4 text-sm text-muted-foreground text-center py-8",children:["No prompts match “",l,"”"]}),e[3]=h.length,e[4]=l,e[5]=m):m=e[5];let p;if(e[6]!==h||e[7]!==d||e[8]!==a?.name||e[9]!==n||e[10]!==o){let w;e[12]!==d||e[13]!==a?.name||e[14]!==n||e[15]!==o?(w=k=>r.jsx(Ah,{item:k,variant:"card",onSelect:T=>{n(!1),o(T)},isLoading:a?.name===k.prompt.name,isDisabled:d&&a?.name!==k.prompt.name},k.prompt.name),e[12]=d,e[13]=a?.name,e[14]=n,e[15]=o,e[16]=w):w=e[16],p=h.map(w),e[6]=h,e[7]=d,e[8]=a?.name,e[9]=n,e[10]=o,e[11]=p}else p=e[11];let g;e[17]!==m||e[18]!==p?(g=r.jsx("div",{className:"flex-1 overflow-y-auto [scrollbar-gutter:stable]",children:r.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 p-5",children:[m,p]})}),e[17]=m,e[18]=p,e[19]=g):g=e[19];const _=g;let v;e[20]===Symbol.for("react.memo_cache_sentinel")?(v=w=>{w.key==="Escape"&&c("")},e[20]=v):v=e[20];let x;e[21]!==l?(x=r.jsx(Id,{value:l,onChange:c,placeholder:"Search prompts...",onKeyDown:v}),e[21]=l,e[22]=x):x=e[22];const b=x;if(f){let w;e[23]===Symbol.for("react.memo_cache_sentinel")?(w=r.jsx(An,{className:"sr-only",children:r.jsx(si,{children:"All prompts"})}),e[23]=w):w=e[23];let k;e[24]===Symbol.for("react.memo_cache_sentinel")?(k=r.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 shrink-0",children:r.jsx("span",{className:"text-sm font-medium text-foreground",children:"Prompts"})}),e[24]=k):k=e[24];let T;e[25]!==_||e[26]!==b?(T=r.jsxs(ii,{className:"h-[85vh] flex flex-col p-0 gap-0",children:[w,k,b,_]}),e[25]=_,e[26]=b,e[27]=T):T=e[27];let M;return e[28]!==n||e[29]!==i||e[30]!==T?(M=r.jsx(bi,{delayDuration:400,children:r.jsx(ri,{open:i,onOpenChange:n,children:T})}),e[28]=n,e[29]=i,e[30]=T,e[31]=M):M=e[31],M}let y;e[32]===Symbol.for("react.memo_cache_sentinel")?(y=r.jsx(Gt,{className:"sr-only",children:r.jsx(qt,{children:"All prompts"})}),e[32]=y):y=e[32];let V;e[33]===Symbol.for("react.memo_cache_sentinel")?(V=r.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 shrink-0",children:r.jsx("span",{className:"text-sm font-medium text-foreground",children:"Prompts"})}),e[33]=V):V=e[33];let C;e[34]!==_||e[35]!==b?(C=r.jsxs(Ot,{className:"sm:max-w-[1100px] h-[680px] p-0 gap-0 overflow-hidden flex flex-col",children:[y,V,b,_]}),e[34]=_,e[35]=b,e[36]=C):C=e[36];let S;return e[37]!==n||e[38]!==i||e[39]!==C?(S=r.jsx(bi,{delayDuration:400,children:r.jsx(Bt,{open:i,onOpenChange:n,children:C})}),e[37]=n,e[38]=i,e[39]=C,e[40]=S):S=e[40],S}function Hg(t){const e=B.c(29),{items:s,onSelect:i,loadingPrompt:n,className:o}=t,[a,l]=j.useState(!1);if(s.length===0)return null;let c,d,u;if(e[0]!==s||e[1]!==n||e[2]!==i){const v=s.slice(0,Dl);let x;e[6]!==s?(x=s.slice(Dl),e[6]=s,e[7]=x):x=e[7],c=x,d=!!n;let b;e[8]!==d||e[9]!==n?.name||e[10]!==i?(b=y=>r.jsx(Ah,{item:y,onSelect:i,isLoading:n?.name===y.prompt.name,isDisabled:d&&n?.name!==y.prompt.name},y.prompt.name),e[8]=d,e[9]=n?.name,e[10]=i,e[11]=b):b=e[11],u=v.map(b),e[0]=s,e[1]=n,e[2]=i,e[3]=c,e[4]=d,e[5]=u}else c=e[3],d=e[4],u=e[5];const h=u;let f;e[12]!==o?(f=Y("w-full flex flex-wrap gap-2 justify-center",o),e[12]=o,e[13]=f):f=e[13];let m;e[14]!==c.length||e[15]!==d?(m=c.length>0&&r.jsxs("button",{type:"button",disabled:d,onClick:()=>l(!0),className:Y(Nh,"hover:bg-muted/70 hover:text-foreground",d&&"opacity-50 cursor-not-allowed"),children:["+",c.length," more"]}),e[14]=c.length,e[15]=d,e[16]=m):m=e[16];let p;e[17]!==h||e[18]!==f||e[19]!==m?(p=r.jsxs("div",{className:f,children:[h,m]}),e[17]=h,e[18]=f,e[19]=m,e[20]=p):p=e[20];let g;e[21]!==s||e[22]!==n||e[23]!==a||e[24]!==i?(g=r.jsx(Ug,{items:s,open:a,onOpenChange:l,onSelect:i,loadingPrompt:n}),e[21]=s,e[22]=n,e[23]=a,e[24]=i,e[25]=g):g=e[25];let _;return e[26]!==p||e[27]!==g?(_=r.jsxs(bi,{delayDuration:400,children:[p,g]}),e[26]=p,e[27]=g,e[28]=_):_=e[28],_}function Wg(){return null}function Kg(t,e){switch(e.type){case"SELECT_PROMPT":return!e.prompt.arguments||e.prompt.arguments.length===0?{stage:"loading",prompt:e.prompt}:{stage:"idle"};case"START_LOADING":return{stage:"loading",prompt:e.prompt,arguments:e.arguments};case"RESET":return{stage:"idle"};default:return t}}function qg(t){const e=B.c(30),{connectionId:s}=t,{sendMessage:i}=Ii(),{tiptapDocRef:n}=$s(),{org:o}=xe();let a;e[0]!==s||e[1]!==o.id?(a={connectionId:s,orgId:o.id},e[0]=s,e[1]=o.id,e[2]=a):a=e[2];const l=Ae(a);let c;e[3]!==l?(c={client:l,staleTime:6e4},e[3]=l,e[4]=c):c=e[4];const{data:d}=Td(c);let u;e[5]!==d?.prompts?(u=d?.prompts??[],e[5]=d?.prompts,e[6]=u):u=e[6];const h=u;let f;e[7]!==h?(f=h.map(Gg),e[7]=h,e[8]=f):f=e[8];const m=f;let p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p={stage:"idle"},e[9]=p):p=e[9];const[g,_]=j.useReducer(Kg,p),[v,x]=j.useState(null);let b;e[10]!==l||e[11]!==i||e[12]!==n?(b=async(N,A)=>{if(!l){he.error("MCP client not available"),_({type:"RESET"});return}try{const D=await Ea(l,N.name,A);_({type:"RESET"});const L=zg(n.current,{type:"paragraph",content:[gm({id:N.name,name:ka(N.name,Ls(N._meta)),metadata:D.messages,char:"/"})]});await i(L)}catch(D){console.error("[ice-breakers] Failed to fetch prompt:",D),he.error("Failed to load prompt. Please try again."),_({type:"RESET"})}},e[10]=l,e[11]=i,e[12]=n,e[13]=b):b=e[13];const y=b;let V;e[14]!==y?(V=async N=>{if(N.arguments&&N.arguments.length>0){_({type:"SELECT_PROMPT",prompt:N}),x(N);return}_({type:"START_LOADING",prompt:N}),await y(N)},e[14]=y,e[15]=V):V=e[15];const C=V;let S;e[16]!==v||e[17]!==y?(S=async N=>{v&&(_({type:"START_LOADING",prompt:v,arguments:N}),x(null),await y(v,N))},e[16]=v,e[17]=y,e[18]=S):S=e[18];const w=S;if(m.length===0)return null;const k=g.stage==="loading"?g.prompt:null;let T;e[19]!==C||e[20]!==m||e[21]!==k?(T=r.jsx(Hg,{items:m,onSelect:C,loadingPrompt:k}),e[19]=C,e[20]=m,e[21]=k,e[22]=T):T=e[22];let M;e[23]===Symbol.for("react.memo_cache_sentinel")?(M=()=>{x(null),_({type:"RESET"})},e[23]=M):M=e[23];let I;e[24]!==v||e[25]!==w?(I=r.jsx(Ga,{prompt:v,setPrompt:M,onSubmit:w}),e[24]=v,e[25]=w,e[26]=I):I=e[26];let E;return e[27]!==T||e[28]!==I?(E=r.jsxs(r.Fragment,{children:[T,I]}),e[27]=T,e[28]=I,e[29]=E):E=e[29],E}function Gg(t){return{prompt:t}}function Yg(t){const e=B.c(13),{className:s}=t,{selectedVirtualMcp:i}=$s(),{org:n}=xe();let o;e[0]!==n.id?(o=En(n.id),e[0]=n.id,e[1]=o):o=e[1];const a=o.id,l=i?.id??a;let c;e[2]!==s?(c=Y("w-full @container",s),e[2]=s,e[3]=c):c=e[3];const d=l??"default";let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(Wg,{}),e[4]=u):u=e[4];let h;e[5]!==l?(h=r.jsx(qg,{connectionId:l}),e[5]=l,e[6]=h):h=e[6];let f;e[7]!==d||e[8]!==h?(f=r.jsx(ls,{fallback:null,children:r.jsx(j.Suspense,{fallback:u,children:h},d)}),e[7]=d,e[8]=h,e[9]=f):f=e[9];let m;return e[10]!==c||e[11]!==f?(m=r.jsx("div",{className:c,children:f}),e[10]=c,e[11]=f,e[12]=m):m=e[12],m}function Eh(t){const e=B.c(21),{current:s,total:i,onPrev:n,onNext:o}=t;if(i<=1)return null;const a=s===0,l=s===0?"opacity-30 cursor-not-allowed":"hover:text-foreground cursor-pointer";let c;e[0]!==l?(c=Y("p-0.5 rounded transition-colors",l),e[0]=l,e[1]=c):c=e[1];let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx(Pa,{size:14}),e[2]=d):d=e[2];let u;e[3]!==n||e[4]!==a||e[5]!==c?(u=r.jsx("button",{type:"button",onClick:n,disabled:a,className:c,"aria-label":"Previous question",children:d}),e[3]=n,e[4]=a,e[5]=c,e[6]=u):u=e[6];const h=s+1;let f;e[7]!==h||e[8]!==i?(f=r.jsxs("span",{className:"tabular-nums text-xs",children:[h," of ",i]}),e[7]=h,e[8]=i,e[9]=f):f=e[9];const m=s===i-1,p=s===i-1?"opacity-30 cursor-not-allowed":"hover:text-foreground cursor-pointer";let g;e[10]!==p?(g=Y("p-0.5 rounded transition-colors",p),e[10]=p,e[11]=g):g=e[11];let _;e[12]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx(In,{size:14}),e[12]=_):_=e[12];let v;e[13]!==o||e[14]!==g||e[15]!==m?(v=r.jsx("button",{type:"button",onClick:o,disabled:m,className:g,"aria-label":"Next question",children:_}),e[13]=o,e[14]=g,e[15]=m,e[16]=v):v=e[16];let x;return e[17]!==v||e[18]!==u||e[19]!==f?(x=r.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[u,f,v]}),e[17]=v,e[18]=u,e[19]=f,e[20]=x):x=e[20],x}function pn(t){const e=B.c(18),{title:s,children:i,footerLeft:n,footerRight:o,className:a}=t,l=a??"border-border";let c;e[0]!==l?(c=Y("flex flex-col rounded-xl bg-background border shadow-md w-[calc(100%-16px)] max-w-[584px] mx-auto mb-[-16px]",l),e[0]=l,e[1]=c):c=e[1];let d;e[2]!==s?(d=r.jsx("div",{className:"flex items-center gap-2 p-4",children:r.jsx("p",{className:"flex-1 text-base font-medium text-foreground min-w-0",children:s})}),e[2]=s,e[3]=d):d=e[3];let u;e[4]!==i?(u=r.jsx("div",{className:"overflow-clip pb-4",children:i}),e[4]=i,e[5]=u):u=e[5];let h;e[6]!==n?(h=r.jsx("div",{children:n}),e[6]=n,e[7]=h):h=e[7];let f;e[8]!==o?(f=r.jsx("div",{className:"flex items-center gap-2",children:o}),e[8]=o,e[9]=f):f=e[9];let m;e[10]!==h||e[11]!==f?(m=r.jsx("div",{className:"border-t border-border px-3 py-3 pb-6",children:r.jsxs("div",{className:"flex items-center justify-between",children:[h,f]})}),e[10]=h,e[11]=f,e[12]=m):m=e[12];let p;return e[13]!==c||e[14]!==d||e[15]!==u||e[16]!==m?(p=r.jsxs("div",{className:c,children:[d,u,m]}),e[13]=c,e[14]=d,e[15]=u,e[16]=m,e[17]=p):p=e[17],p}const Xg="User denied this tool call, give other alternatives.",Jg=[{value:"readonly",label:"Ask before edit"},{value:"auto",label:"Auto approve"}];function Qg(t){const e=B.c(9),{onYolo:s}=t,[i,n]=ei();let o;e[0]!==s||e[1]!==i||e[2]!==n?(o=u=>{const h=u;n({...i,toolApprovalLevel:h}),h==="auto"&&s()},e[0]=s,e[1]=i,e[2]=n,e[3]=o):o=e[3];const a=o;let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx(Ms,{size:"xs",className:"text-xs text-muted-foreground border-border/60 bg-transparent hover:bg-accent/60 h-7 gap-1",onClick:e_,children:r.jsx(Ds,{})}),e[4]=l):l=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx(Ts,{children:Jg.map(Zg)}),e[5]=c):c=e[5];let d;return e[6]!==a||e[7]!==i.toolApprovalLevel?(d=r.jsxs(Rs,{value:i.toolApprovalLevel,onValueChange:a,children:[l,c]}),e[6]=a,e[7]=i.toolApprovalLevel,e[8]=d):d=e[8],d}function Zg(t){return r.jsx(Nt,{value:t.value,children:t.label},t.value)}function e_(t){return t.stopPropagation()}function t_(t){const e=B.c(5),{input:s}=t;if(s==null){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("div",{className:"px-4 text-xs text-muted-foreground",children:"No input"}),e[0]=o):o=e[0],o}let i;try{let o;e[1]!==s?(o=JSON.stringify(s,null,2),e[1]=s,e[2]=o):o=e[2],i=o}catch{i=String(s)}let n;return e[3]!==i?(n=r.jsx("div",{className:"px-4",children:r.jsx("pre",{className:"text-xs font-mono text-muted-foreground/70 whitespace-pre-wrap wrap-break-word max-h-32 overflow-y-auto rounded-md bg-muted/30 px-3 py-2",children:i})}),e[3]=i,e[4]=n):n=e[4],n}function s_(t){const e=B.c(42),{approvals:s,onRespond:i}=t,[n,o]=j.useState(0),a=Math.min(n,s.length-1),l=s[a];if(!l)return null;let c;e[0]!==l.approvalId||e[1]!==i?(c=()=>{i(l.approvalId,!1,Xg)},e[0]=l.approvalId,e[1]=i,e[2]=c):c=e[2];const d=c;let u;e[3]!==l.approvalId||e[4]!==i?(u=()=>{i(l.approvalId,!0)},e[3]=l.approvalId,e[4]=i,e[5]=u):u=e[5];const h=u;let f;e[6]!==s||e[7]!==i?(f=()=>{for(const E of s)i(E.approvalId,!0)},e[6]=s,e[7]=i,e[8]=f):f=e[8];const m=f;let p;e[9]!==a?(p=()=>{a>0&&o(a-1)},e[9]=a,e[10]=p):p=e[10];const g=p;let _;e[11]!==s.length||e[12]!==a?(_=()=>{a<s.length-1&&o(a+1)},e[11]=s.length,e[12]=a,e[13]=_):_=e[13];const v=_;let x;e[14]!==m?(x=r.jsx(Qg,{onYolo:m}),e[14]=m,e[15]=x):x=e[15];let b;e[16]!==s.length||e[17]!==v||e[18]!==g||e[19]!==a?(b=r.jsx(Eh,{current:a,total:s.length,onPrev:g,onNext:v}),e[16]=s.length,e[17]=v,e[18]=g,e[19]=a,e[20]=b):b=e[20];let y;e[21]!==x||e[22]!==b?(y=r.jsxs("div",{className:"flex items-center gap-2",children:[x,b]}),e[21]=x,e[22]=b,e[23]=y):y=e[23];const V=y;let C;e[24]!==d?(C=r.jsx(oe,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2.5 text-xs text-muted-foreground [@media(hover:hover)]:hover:text-foreground active:scale-[0.97] transition-transform",onClick:d,children:"Deny"}),e[24]=d,e[25]=C):C=e[25];let S;e[26]!==s.length||e[27]!==m?(S=s.length>1&&r.jsx(oe,{type:"button",variant:"outline",size:"sm",className:"h-7 px-2.5 text-xs active:scale-[0.97] transition-transform",onClick:m,children:"Accept All"}),e[26]=s.length,e[27]=m,e[28]=S):S=e[28];let w;e[29]!==h?(w=r.jsx(oe,{type:"button",size:"sm",className:"h-7 px-2.5 text-xs active:scale-[0.97] transition-transform",onClick:h,children:"Accept"}),e[29]=h,e[30]=w):w=e[30];let k;e[31]!==S||e[32]!==w||e[33]!==C?(k=r.jsxs(r.Fragment,{children:[C,S,w]}),e[31]=S,e[32]=w,e[33]=C,e[34]=k):k=e[34];const T=k;let M;e[35]!==l.input?(M=r.jsx(t_,{input:l.input}),e[35]=l.input,e[36]=M):M=e[36];let I;return e[37]!==l.friendlyName||e[38]!==V||e[39]!==T||e[40]!==M?(I=r.jsx(pn,{title:l.friendlyName,footerLeft:V,footerRight:T,children:M}),e[37]=l.friendlyName,e[38]=V,e[39]=T,e[40]=M,e[41]=I):I=e[41],I}function i_(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed rounded-lg bg-accent/50 w-[calc(100%-16px)] max-w-[584px] mx-auto mb-2",children:[r.jsx(Ym,{className:"size-5 text-muted-foreground shimmer"}),r.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing approval request..."})]}),t[0]=e):e=t[0],e}function r_(t){const e=B.c(4),{approvals:s,isStreaming:i,onRespond:n}=t;if(i&&s.length===0){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx(i_,{}),e[0]=a):a=e[0],a}if(s.length===0)return null;let o;return e[1]!==s||e[2]!==n?(o=r.jsx(s_,{approvals:s,onRespond:n}),e[1]=s,e[2]=n,e[3]=o):o=e[3],o}function n_(t){const e=[];for(const s of t)if("state"in s&&s.state==="approval-requested"&&"approval"in s&&s.approval?.id&&"toolCallId"in s&&s.toolCallId){const i="toolName"in s&&typeof s.toolName=="string"?s.toolName:s.type.startsWith("tool-")?s.type.replace("tool-",""):"Tool";e.push({approvalId:s.approval.id,toolCallId:s.toolCallId,toolName:i,friendlyName:ko(_m(i)),input:s.input})}return e}function o_(t){const e=B.c(15),{plan:s,onApprove:i,onDismiss:n}=t;let o;e[0]!==i||e[1]!==s.plan?(o=()=>{i(s.plan)},e[0]=i,e[1]=s.plan,e[2]=o):o=e[2];const a=o;let l;e[3]!==n?(l=r.jsx(oe,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2.5 text-xs text-muted-foreground [@media(hover:hover)]:hover:text-foreground active:scale-[0.97] transition-transform",onClick:n,children:"Keep iterating"}),e[3]=n,e[4]=l):l=e[4];let c;e[5]!==a?(c=r.jsx(oe,{type:"button",size:"sm",className:"h-7 px-2.5 text-xs bg-purple-600 hover:bg-purple-700 text-white active:scale-[0.97] transition-transform",onClick:a,children:"Let's go"}),e[5]=a,e[6]=c):c=e[6];let d;e[7]!==l||e[8]!==c?(d=r.jsxs(r.Fragment,{children:[l,c]}),e[7]=l,e[8]=c,e[9]=d):d=e[9];const u=d;let h;e[10]!==s.plan?(h=r.jsx("div",{className:"px-4 max-h-64 overflow-y-auto",children:r.jsx("div",{className:"prose prose-sm max-w-none text-sm",children:r.jsx(xm,{id:"plan-preview",part:{type:"text",text:s.plan}})})}),e[10]=s.plan,e[11]=h):h=e[11];let f;return e[12]!==u||e[13]!==h?(f=r.jsx(pn,{title:"Implementation Plan",footerRight:u,className:"border-dashed border-purple-500",children:h}),e[12]=u,e[13]=h,e[14]=f):f=e[14],f}function a_(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed border-purple-500/30 rounded-lg bg-purple-500/5 w-[calc(100%-16px)] max-w-[584px] mx-auto mb-2",children:[r.jsx(Mt,{className:"size-5 text-purple-500 shimmer"}),r.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing plan..."})]}),t[0]=e):e=t[0],e}function l_(t){const e=B.c(7),{plans:s,isStreaming:i,onApprove:n,onDismiss:o}=t;if(i&&s.length===0){let d;return e[0]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx(a_,{}),e[0]=d):d=e[0],d}let a;e[1]!==s?(a=s.at(-1),e[1]=s,e[2]=a):a=e[2];const l=a;if(!l)return null;let c;return e[3]!==l||e[4]!==n||e[5]!==o?(c=r.jsx(o_,{plan:l,onApprove:n,onDismiss:o}),e[3]=l,e[4]=n,e[5]=o,e[6]=c):c=e[6],c}function c_(t){const e=[];for(const s of t)if("type"in s&&s.type==="tool-propose_plan"&&"state"in s&&s.state==="input-available"&&"toolCallId"in s&&"input"in s){const i=s.input;e.push({toolCallId:s.toolCallId,plan:i.plan,state:s.state})}return e}const Pl=as({response:pt().min(1,"Response is required")}),d_=as({response:pt().min(1,"Please select or enter an option")}),h_=as({response:kf(["yes","no"])});function u_(t){switch(t.type){case"text":return Pl;case"choice":return d_;case"confirm":return h_;default:return Pl}}function f_(t){const e={};for(const s of t)e[s.toolCallId]=u_(s.input);return as(e)}function m_(t){const e=B.c(6),{control:s,name:i,placeholder:n}=t;let o;e[0]!==n?(o=l=>{const{field:c}=l;return r.jsxs(_t,{children:[r.jsx(xt,{children:r.jsx("div",{className:"px-2",children:r.jsxs("div",{className:"flex items-center gap-3 px-2 py-3 rounded-lg bg-accent/50",children:[r.jsx("span",{className:"flex items-center justify-center size-6 rounded-md bg-muted shrink-0",children:r.jsx(Bd,{size:16,className:"text-muted-foreground"})}),r.jsx("input",{...c,type:"text",placeholder:n||"Type your response...",autoFocus:!0,"aria-label":"Text response input",className:"flex-1 text-sm bg-transparent outline-none placeholder:text-foreground/25 text-foreground min-w-0"})]})})}),r.jsx(vt,{})]})},e[0]=n,e[1]=o):o=e[1];let a;return e[2]!==s||e[3]!==i||e[4]!==o?(a=r.jsx(gt,{control:s,name:i,render:o}),e[2]=s,e[3]=i,e[4]=o,e[5]=a):a=e[5],a}function Ih(t,e){const s=B.c(4);let i,n;s[0]!==t||s[1]!==e?(i=()=>{const o=a=>{const l=a.target.tagName;if(l==="INPUT"||l==="TEXTAREA"||a.metaKey||a.ctrlKey||a.altKey)return;const c=Number.parseInt(a.key,10);c>=1&&c<=t&&(a.preventDefault(),e(c-1))};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},n=[t,e],s[0]=t,s[1]=e,s[2]=i,s[3]=n):(i=s[2],n=s[3]),j.useEffect(i,n)}function p_(t){const e=B.c(9),{control:s,name:i,options:n}=t,[o,a]=j.useState(!1),l=j.useRef(null),c=j.useRef(null);let d;if(e[0]!==n?(d=f=>{c.current?.onChange(n[f]??""),a(!1)},e[0]=n,e[1]=d):d=e[1],Ih(n.length,d),n.length===0)return null;let u;e[2]!==o||e[3]!==n?(u=f=>{const{field:m}=f;c.current=m;const p=o||!!m.value&&!n.includes(m.value);return r.jsxs(_t,{children:[r.jsx(xt,{children:r.jsxs("div",{className:"flex flex-col px-2",role:"group","aria-label":"Choice options",children:[n.map((g,_)=>{const v=m.value===g;return r.jsxs("button",{type:"button",onClick:()=>{m.onChange(g??""),a(!1)},className:Y("flex items-center gap-3 px-2 py-3 rounded-lg text-left transition-colors w-full",v&&"bg-accent/50",!v&&"hover:bg-accent/30"),"aria-label":`Select ${g}`,children:[r.jsx("span",{className:Y("flex items-center justify-center size-6 rounded-md text-sm shrink-0",v?"bg-chart-1 text-white":"bg-muted text-foreground"),children:_+1}),r.jsx("span",{className:"text-sm text-foreground truncate",children:g})]},`${_}-${g}`)}),r.jsxs("div",{className:Y("flex items-center gap-3 px-2 py-3 rounded-lg transition-colors w-full cursor-text",p&&"bg-accent/50",!p&&"hover:bg-accent/30"),onClick:()=>{a(!0),n.includes(m.value)&&m.onChange(""),setTimeout(()=>l.current?.focus(),0)},children:[r.jsx("span",{className:"flex items-center justify-center size-6 rounded-md bg-muted shrink-0",children:r.jsx(Bd,{size:16,className:"text-muted-foreground"})}),p?r.jsx("input",{ref:l,type:"text",value:m.value,onChange:g=>m.onChange(g.target.value),placeholder:"Something else...",autoFocus:!0,"aria-label":"Custom choice input",className:"flex-1 text-sm bg-transparent outline-none placeholder:text-foreground/25 text-foreground min-w-0"}):r.jsx("span",{className:"text-sm text-foreground/25",children:"Something else..."})]})]})}),r.jsx(vt,{})]})},e[2]=o,e[3]=n,e[4]=u):u=e[4];let h;return e[5]!==s||e[6]!==i||e[7]!==u?(h=r.jsx(gt,{control:s,name:i,render:u}),e[5]=s,e[6]=i,e[7]=u,e[8]=h):h=e[8],h}function g_(t){const e=B.c(6),{control:s,name:i}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=["yes","no"],e[0]=n):n=e[0];const o=n,a=j.useRef(null);let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=u=>{a.current?.onChange(o[u]??"")},e[1]=l):l=e[1],Ih(o.length,l);let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=u=>{const{field:h}=u;return a.current=h,r.jsxs(_t,{children:[r.jsx(xt,{children:r.jsx("div",{className:"flex gap-2 px-2",role:"group","aria-label":"Confirmation options",children:o.map(f=>{const m=h.value===f;return r.jsxs("button",{type:"button",onClick:()=>h.onChange(f),className:Y("flex items-center gap-3 px-4 py-3 rounded-lg text-left transition-colors flex-1",m&&"bg-accent/50",!m&&"hover:bg-accent/30"),"aria-label":`Confirm ${f}`,children:[r.jsx("span",{className:Y("flex items-center justify-center size-6 rounded-md text-sm shrink-0",m?"bg-chart-1 text-white":"bg-muted text-foreground"),children:f==="yes"?1:2}),r.jsx("span",{className:"text-sm text-foreground capitalize",children:f})]},f)})})}),r.jsx(vt,{})]})},e[2]=c):c=e[2];let d;return e[3]!==s||e[4]!==i?(d=r.jsx(gt,{control:s,name:i,render:c}),e[3]=s,e[4]=i,e[5]=d):d=e[5],d}function Ll(t){const e=B.c(13),{input:s,control:i,name:n}=t;switch(s.type){case"text":{let o;return e[0]!==i||e[1]!==s.default||e[2]!==n?(o=r.jsx(m_,{control:i,name:n,placeholder:s.default}),e[0]=i,e[1]=s.default,e[2]=n,e[3]=o):o=e[3],o}case"choice":{let o;e[4]!==s.options?(o=s.options?.filter(Boolean)??[],e[4]=s.options,e[5]=o):o=e[5];const a=o;let l;return e[6]!==i||e[7]!==n||e[8]!==a?(l=r.jsx(p_,{control:i,name:n,options:a}),e[6]=i,e[7]=n,e[8]=a,e[9]=l):l=e[9],l}case"confirm":{let o;return e[10]!==i||e[11]!==n?(o=r.jsx(g_,{control:i,name:n}),e[10]=i,e[11]=n,e[12]=o):o=e[12],o}default:return null}}function __({parts:t,onSubmit:e}){const[s,i]=j.useState(t[0]?.toolCallId??""),n=f_(t.map(x=>({toolCallId:x.toolCallId,input:x.input}))),o=Ai({resolver:gr(n),defaultValues:Object.fromEntries(t.map(x=>[x.toolCallId,{response:""}]))}),a=o.watch(),l=t.findIndex(x=>x.toolCallId===s),c=!!a[s]?.response,d=t.every(x=>!!a[x.toolCallId]?.response),u=x=>{for(const b of t){const y=x[b.toolCallId]?.response;y&&e(b,y)}},h=x=>t.find(b=>!x[b.toolCallId]?.response&&b.toolCallId!==s)??null,f=()=>{const x=o.getValues();if(t.every(y=>!!x[y.toolCallId]?.response))o.handleSubmit(u)();else{const y=h(x);y&&i(y.toolCallId)}},m=()=>{o.setValue(`${s}.response`,"user has skip this question"),f()},p=()=>{if(l>0){const x=t[l-1];x&&i(x.toolCallId)}},g=()=>{if(l<t.length-1){const x=t[l+1];x&&i(x.toolCallId)}},_=r.jsxs(r.Fragment,{children:[r.jsx(oe,{type:"button",variant:"outline",size:"sm",onClick:m,className:"h-7",children:"Skip"}),r.jsx(oe,{type:"button",size:"sm",disabled:!c,onClick:f,className:Y("h-7",c?"":"opacity-50"),children:d?"Submit":"Next"})]}),v=r.jsx(Eh,{current:l,total:t.length,onPrev:p,onNext:g});if(t.length===1){const x=t[0];return x?.input?r.jsx(yi,{...o,children:r.jsx("form",{onSubmit:o.handleSubmit(u),autoComplete:"off",children:r.jsx(pn,{title:x.input?.prompt??"Question",footerRight:_,children:r.jsx(Ll,{input:x.input,control:o.control,name:`${x.toolCallId}.response`})})})}):null}return r.jsx(yi,{...o,children:r.jsx("form",{onSubmit:o.handleSubmit(u),autoComplete:"off",children:r.jsx(Rd,{value:s,onValueChange:i,children:t.map(x=>r.jsx(Jr,{value:x.toolCallId,className:"mt-0",children:r.jsx(pn,{title:x.input?.prompt??"Question",footerLeft:v,footerRight:_,children:r.jsx(Ll,{input:x.input,control:o.control,name:`${x.toolCallId}.response`})})},x.toolCallId))})})})}function x_(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed rounded-lg bg-accent/50 w-[calc(100%-16px)] max-w-[584px] mx-auto mb-2",children:[r.jsx(gp,{className:"size-5 text-muted-foreground shimmer"}),r.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing question..."})]}),t[0]=e):e=t[0],e}function Th(t){const e=B.c(6),{userAskParts:s,isStreaming:i,onSubmit:n}=t;let o;e[0]!==s?(o=s.filter(v_),e[0]=s,e[1]=o):o=e[1];const a=o;if(i){let c;return e[2]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx(x_,{}),e[2]=c):c=e[2],c}if(a.length===0)return null;let l;return e[3]!==n||e[4]!==a?(l=r.jsx(__,{parts:a,onSubmit:n}),e[3]=n,e[4]=a,e[5]=l):l=e[5],l}function v_(t){return t.state==="input-available"}const Ol=new Map;function Pn(){const{org:t}=xe(),e=Ae({connectionId:yt,orgId:t.id}),s=La(),i=s.find(_=>_.providerId==="deco"),{data:n,isLoading:o,refetch:a,isFetching:l}=ji({queryKey:Ze.aiProviderCredits(t.id,"deco"),enabled:!!i,staleTime:6e4,queryFn:async()=>{const _=await e.callTool({name:"AI_PROVIDER_CREDITS",arguments:{providerId:"deco"}});return _?.isError?null:_.structuredContent??null}}),c=n?.balanceCents??null,d=c!=null?c/100:null,u=j.useRef(new Map);if(c!=null){const _=Ol.get(t.id);u.current.get(t.id)&&_!=null&&c>_&&re("credits_topped_up_detected",{organization_id:t.id,delta_cents:c-_,previous_balance_cents:_,new_balance_cents:c}),Ol.set(t.id,c),u.current.set(t.id,!0)}const h=!!i,f=c!=null&&c>0,m=c!=null&&c===0,p=c!=null&&c===200,g=s.length>0&&s.every(_=>_.providerId==="deco");return{hasDecoKey:h,decoKeyId:i?.id??null,balanceCents:c,balanceDollars:d,hasCredits:f,isZeroBalance:m,isInitialFreeCredit:p,hasOnlyDecoProvider:g,isLoading:o,isFetching:l,refetch:a}}function b_(t){return t?t.message.startsWith("[CREDITS]"):!1}const y_={usd:[{dollars:10,label:"Starter"},{dollars:20,label:"Popular"},{dollars:100,label:"Best value"}],brl:[{dollars:50,label:"Starter"},{dollars:100,label:"Popular"},{dollars:500,label:"Best value"}]},S_=["Access to 100+ AI models","Unified API, no separate keys needed","Pay only for what you use"];function Rh(t){const e=B.c(43),{onDismiss:s}=t,{org:i}=xe(),n=Oe(),{decoKeyId:o}=Pn();let a;e[0]!==i.id?(a={connectionId:yt,orgId:i.id},e[0]=i.id,e[1]=a):a=e[1];const l=Ae(a),[c,d]=j.useState(""),[u,h]=j.useState(!1),[f,m]=j.useState("usd"),p=f==="brl"?"R$":"$";let g,_;e[2]!==i.id?(g=()=>{re("credits_exhausted_shown",{organization_id:i.id})},_=[i.id],e[2]=i.id,e[3]=g,e[4]=_):(g=e[3],_=e[4]),j.useEffect(g,_);let v;e[5]!==l||e[6]!==f?(v=async R=>{const P=await l.callTool({name:"AI_PROVIDER_TOPUP_URL",arguments:{providerId:"deco",amountCents:R,currency:f}});if(P?.isError)throw new Error(P.content?.[0]?.text??"Failed to get top-up URL");return P.structuredContent?.url},e[5]=l,e[6]=f,e[7]=v):v=e[7];let x;e[8]!==s?(x=R=>{R&&window.open(R,"_blank","noopener,noreferrer"),s?.()},e[8]=s,e[9]=x):x=e[9];let b;e[10]!==v||e[11]!==x?(b={mutationFn:v,onSuccess:x,onError:C_},e[10]=v,e[11]=x,e[12]=b):b=e[12];const{mutate:y,isPending:V}=Ni(b),C=parseFloat(c),S=!isNaN(C)&&C>=1;let w;e[13]!==s?(w=R=>!R&&s?.(),e[13]=s,e[14]=w):w=e[14];let k;e[15]===Symbol.for("react.memo_cache_sentinel")?(k=["radial-gradient(ellipse 40% 200% at -5% 100%, rgba(165,149,255,0.5) 0%, transparent 100%)","radial-gradient(ellipse 40% 200% at 105% -10%, rgba(208,236,26,0.45) 0%, transparent 100%)"],e[15]=k):k=e[15];let T;e[16]===Symbol.for("react.memo_cache_sentinel")?(T=r.jsx("div",{className:"absolute inset-x-0 top-0 h-36 pointer-events-none",style:{backgroundImage:k.join(", "),maskImage:"linear-gradient(to bottom, black 0%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 0%, transparent 100%)"}}),e[16]=T):T=e[16];let M;e[17]===Symbol.for("react.memo_cache_sentinel")?(M=r.jsxs("div",{className:"relative px-8 pt-8 pb-2 overflow-hidden",children:[T,r.jsxs(Gt,{className:"relative gap-4",children:[r.jsx("img",{src:"/logos/deco%20logo.svg",alt:"Deco AI Gateway",className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"}),r.jsxs("div",{children:[r.jsx(qt,{className:"text-xl font-semibold tracking-tight",children:"Top up to keep building"}),r.jsx(Nn,{className:"mt-1.5 text-sm leading-relaxed",children:"Your credits are used up. Add more to continue using AI across all your agents."})]})]})]}),e[17]=M):M=e[17];let I;e[18]!==f||e[19]!==p||e[20]!==c||e[21]!==C||e[22]!==o||e[23]!==S||e[24]!==V||e[25]!==u||e[26]!==y?(I=o&&r.jsxs("div",{className:"px-8 pt-5 pb-6",children:[r.jsx("div",{className:"mb-4",children:r.jsxs(Zd,{type:"single",variant:"outline",size:"sm",value:f,onValueChange:R=>{R&&m(R)},children:[r.jsx(un,{value:"usd",className:"h-8 px-3 text-xs",children:"USD"}),r.jsx(un,{value:"brl",className:"h-8 px-3 text-xs",children:"BRL"})]})}),r.jsxs("div",{className:"rounded-xl border border-border p-5",children:[r.jsx("div",{className:"grid grid-cols-3 gap-2.5",children:y_[f].map(R=>{const{dollars:P,label:O}=R;return r.jsxs("button",{type:"button",disabled:V,onClick:()=>{re("credits_topup_clicked",{amount_cents:P*100,currency:f,tier_label:O,source:"exhausted_banner"}),y(P*100)},className:Y("relative flex flex-col items-center gap-1 py-5 rounded-xl border transition-all duration-150 cursor-pointer","disabled:opacity-50 disabled:cursor-wait","border-border hover:border-foreground/20 hover:bg-muted/30"),children:[r.jsxs("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:[p,P]}),r.jsx("span",{className:"text-xs text-muted-foreground",children:O})]},P)})}),u?r.jsxs("div",{className:"flex gap-2 mt-3",children:[r.jsxs("div",{className:"relative flex-1",children:[r.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:p}),r.jsx(at,{type:"number",min:"1",step:"1",placeholder:"50",value:c,onChange:R=>d(R.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),r.jsx(oe,{className:"h-10",disabled:!S||V,onClick:()=>{re("credits_topup_clicked",{amount_cents:Math.round(C*100),currency:f,tier_label:"custom",source:"exhausted_banner"}),y(Math.round(C*100))},children:V?"Opening...":"Add"})]}):r.jsx("button",{type:"button",className:"w-full mt-3 text-xs text-muted-foreground hover:text-foreground transition-colors py-1",onClick:()=>h(!0),children:"Enter custom amount"})]}),r.jsx("div",{className:"mt-5 rounded-xl bg-muted/25 border border-border/50 p-4 space-y-3",children:S_.map(w_)})]}),e[18]=f,e[19]=p,e[20]=c,e[21]=C,e[22]=o,e[23]=S,e[24]=V,e[25]=u,e[26]=y,e[27]=I):I=e[27];let E;e[28]!==s?(E=r.jsx(oe,{variant:"ghost",size:"sm",onClick:s,children:"Dismiss"}),e[28]=s,e[29]=E):E=e[29];let N;e[30]!==n||e[31]!==s||e[32]!==i.slug?(N=r.jsx("button",{type:"button",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>{n({to:"/$org/settings/ai-providers",params:{org:i.slug}}),s?.()},children:"Manage providers"}),e[30]=n,e[31]=s,e[32]=i.slug,e[33]=N):N=e[33];let A;e[34]!==E||e[35]!==N?(A=r.jsxs("div",{className:"px-8 py-4 border-t border-border bg-muted/30 flex items-center justify-between",children:[E,N]}),e[34]=E,e[35]=N,e[36]=A):A=e[36];let D;e[37]!==I||e[38]!==A?(D=r.jsxs(Ot,{className:"sm:max-w-[520px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:V_,children:[M,I,A]}),e[37]=I,e[38]=A,e[39]=D):D=e[39];let L;return e[40]!==D||e[41]!==w?(L=r.jsx(Bt,{open:!0,onOpenChange:w,children:D}),e[40]=D,e[41]=w,e[42]=L):L=e[42],L}function w_(t){return r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"flex items-center justify-center size-5 rounded-full bg-[hsl(var(--chart-1))]/15 shrink-0",children:r.jsx(Mt,{size:12,className:"text-[hsl(var(--chart-1))]"})}),r.jsx("span",{className:"text-sm text-foreground/80",children:t})]},t)}function V_(t){return t.preventDefault()}function C_(t){he.error(`Top-up failed: ${t.message}`)}const k_={length:"Response reached the model's output limit. Different models have different limits. Try switching models or asking it to continue.","content-filter":"Response was filtered due to content policy.","tool-calls":"Response paused after tool execution to prevent infinite loops and save costs. Click continue to keep working."};function gn(t){const e=B.c(32),{variant:s,onDismiss:i}=t,n=s==="error",o=n?"Error occurred":"Response incomplete",a=n?t.error.message:k_[t.finishReason]??`Response stopped unexpectedly: ${t.finishReason}`,l=n?"border-destructive/30 bg-destructive/5":"border-amber-500/30 bg-amber-500/5",c=n?"text-destructive":"text-amber-600 dark:text-amber-500",d=n?Bs:wa;let u;e[0]!==l?(u=Y("flex items-start gap-2 px-3 py-2.5 rounded-lg border border-dashed text-sm w-full mb-2 shadow",l),e[0]=l,e[1]=u):u=e[1];let h;e[2]!==c?(h=Y("mt-0.5 shrink-0",c),e[2]=c,e[3]=h):h=e[3];let f;e[4]!==d?(f=r.jsx(d,{size:16}),e[4]=d,e[5]=f):f=e[5];let m;e[6]!==h||e[7]!==f?(m=r.jsx("div",{className:h,children:f}),e[6]=h,e[7]=f,e[8]=m):m=e[8];let p;e[9]!==c?(p=Y("text-xs mb-1 font-medium",c),e[9]=c,e[10]=p):p=e[10];let g;e[11]!==p||e[12]!==o?(g=r.jsx("div",{className:p,children:o}),e[11]=p,e[12]=o,e[13]=g):g=e[13];let _;e[14]!==a?(_=r.jsx("div",{className:"text-xs line-clamp-2 text-muted-foreground mb-2",children:a}),e[14]=a,e[15]=_):_=e[15];let v;e[16]!==n||e[17]!==t.onContinue||e[18]!==t.onFixInChat?(v=r.jsx("div",{className:"flex gap-2",children:n?r.jsxs(r.Fragment,{children:[r.jsx(oe,{size:"sm",variant:"outline",onClick:t.onFixInChat,className:"h-7 text-xs",children:"Fix in chat"}),r.jsx(oe,{size:"sm",variant:"outline",disabled:!0,className:"h-7 text-xs",children:"Report"})]}):r.jsx(oe,{size:"sm",variant:"outline",onClick:t.onContinue,className:"h-7 text-xs",children:"Continue"})}),e[16]=n,e[17]=t.onContinue,e[18]=t.onFixInChat,e[19]=v):v=e[19];let x;e[20]!==g||e[21]!==_||e[22]!==v?(x=r.jsxs("div",{className:"flex-1 min-w-0",children:[g,_,v]}),e[20]=g,e[21]=_,e[22]=v,e[23]=x):x=e[23];let b;e[24]===Symbol.for("react.memo_cache_sentinel")?(b=r.jsx(Es,{size:14}),e[24]=b):b=e[24];let y;e[25]!==i?(y=r.jsx("button",{type:"button",onClick:i,className:"text-muted-foreground hover:text-foreground transition-colors shrink-0",title:"Dismiss",children:b}),e[25]=i,e[26]=y):y=e[26];let V;return e[27]!==u||e[28]!==y||e[29]!==m||e[30]!==x?(V=r.jsx("div",{className:"px-0.5",children:r.jsxs("div",{className:u,children:[m,x,y]})}),e[27]=u,e[28]=y,e[29]=m,e[30]=x,e[31]=V):V=e[31],V}function Ln(){const t=B.c(41),{error:e,clearError:s,finishReason:i,clearFinishReason:n,messages:o,isStreaming:a,isWaitingForApprovals:l,addToolOutput:c,addToolApprovalResponse:d,sendMessage:u}=Ii(),[h,f]=ei(),{virtualMcpId:m,createTaskWithMessage:p}=Lt();let g,_,v,x;if(t[0]!==o){const A=o.at(-1);x=A?.role==="assistant"?A.parts.filter(A_):null,g=x?.filter(N_)?.length,_=A?.role==="assistant"?c_(A.parts):[],v=A?.role==="assistant"?n_(A.parts):[],t[0]=o,t[1]=g,t[2]=_,t[3]=v,t[4]=x}else g=t[1],_=t[2],v=t[3],x=t[4];const b=v;let y;t[5]!==e||t[6]!==u?(y=()=>{if(e){const D={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:`I encountered this error: ${e.message}. Can you help me fix it?`}]}]};u(D)}},t[5]=e,t[6]=u,t[7]=y):y=t[7];const V=y;let C;t[8]!==u?(C=()=>{u({type:"doc",content:[{type:"paragraph",content:[{type:"text",text:"Please continue."}]}]})},t[8]=u,t[9]=C):C=t[9];const S=C;let w;t[10]!==c?(w=(A,D)=>{c({tool:"user_ask",toolCallId:A.toolCallId,output:{response:D}})},t[10]=c,t[11]=w):w=t[11];const k=w;let T;t[12]!==p||t[13]!==h||t[14]!==f||t[15]!==m?(T=A=>{f({...h,toolApprovalLevel:"auto"}),p({virtualMcpId:m,message:{parts:[{type:"text",text:`Implement this plan:
|
|
3
|
-
|
|
4
|
-
${A}`}]}})},t[12]=p,t[13]=h,t[14]=f,t[15]=m,t[16]=T):T=t[16];const M=T,I=j_;let E;t[17]!==d?(E=(A,D,L)=>{d({id:A,approved:D,...L?{reason:L}:{}})},t[17]=d,t[18]=E):E=t[18];const N=E;if(g){let A;return t[19]!==k||t[20]!==a||t[21]!==x?(A=r.jsx("div",{className:"absolute bottom-full left-0 right-0",children:r.jsx(Th,{userAskParts:x,isStreaming:a,onSubmit:k})}),t[19]=k,t[20]=a,t[21]=x,t[22]=A):A=t[22],A}if(_.length>0){let A;return t[23]!==M||t[24]!==a||t[25]!==_?(A=r.jsx("div",{className:"absolute bottom-full left-0 right-0",children:r.jsx(l_,{plans:_,isStreaming:a,onApprove:M,onDismiss:I})}),t[23]=M,t[24]=a,t[25]=_,t[26]=A):A=t[26],A}if(b.length>0||a&&l){let A;return t[27]!==N||t[28]!==a||t[29]!==b?(A=r.jsx("div",{className:"absolute bottom-full left-0 right-0",children:r.jsx(r_,{approvals:b,isStreaming:a,onRespond:N})}),t[27]=N,t[28]=a,t[29]=b,t[30]=A):A=t[30],A}if(!a&&e){if(b_(e)){let D;return t[31]!==s?(D=r.jsx(Rh,{onDismiss:s}),t[31]=s,t[32]=D):D=t[32],D}let A;return t[33]!==s||t[34]!==e||t[35]!==V?(A=r.jsx("div",{className:"absolute bottom-full left-0 right-0 bg-background",children:r.jsx(gn,{variant:"error",error:e,onDismiss:s,onFixInChat:V})}),t[33]=s,t[34]=e,t[35]=V,t[36]=A):A=t[36],A}if(!a&&i&&i!=="stop"&&!l){let A;return t[37]!==n||t[38]!==i||t[39]!==S?(A=r.jsx("div",{className:"absolute bottom-full left-0 right-0 bg-background",children:r.jsx(gn,{variant:"warning",finishReason:i,onDismiss:n,onContinue:S})}),t[37]=n,t[38]=i,t[39]=S,t[40]=A):A=t[40],A}return null}function j_(){document.querySelector("[data-chat-input]")?.focus()}function N_(t){return t.state!=="output-available"}function A_(t){return t.type==="tool-user_ask"}Ln.Error=function(e){return r.jsx(gn,{variant:"error",error:e.error,onDismiss:e.onDismiss,onFixInChat:e.onFixInChat})};Ln.Warning=function(e){return r.jsx(gn,{variant:"warning",finishReason:e.finishReason,onDismiss:e.onDismiss,onContinue:e.onContinue})};Ln.UserAskQuestion=Th;async function Ya(t,e,s,i,n){if(!Tn(e)){he.error("Selected model does not support file uploads");return}const o=s.type||"application/octet-stream";if(!Sp(o,e)){const l=th(e),c=e?.title??"This model";n?n({fileName:s.name,modelName:c,accepted:l}):he.error(`"${s.name}" can't be attached`,{description:`${c} accepts ${l}. PowerPoint, Word, and Excel files aren't supported yet.`});return}const a=10*1024*1024;if(s.size>a){he.error(`File "${s.name}" exceeds 10MB limit`);return}try{const l=new FileReader,c=new Promise((h,f)=>{l.onload=()=>{const m=l.result;if(typeof m!="string"){f(new Error("Failed to read file as data URL"));return}const p=m.includes(",")?m.split(",")[1]??m:m;h(p)},l.onerror=f});l.readAsDataURL(s);const d=await c,u={id:crypto.randomUUID(),name:s.name,mimeType:s.type||"application/octet-stream",size:s.size,data:d};vm(t,{from:i,to:i},u)}catch(l){console.error("Failed to process file:",l),he.error(`Failed to load file "${s.name}"`)}}function E_(t){const e=B.c(8),{editor:s,selectedModel:i,onUnsupportedFile:n}=t,o=j.useRef(T_);let a,l;e[0]!==s||e[1]!==n||e[2]!==i?(a=()=>{o.current=async(u,h)=>{await Ya(s,i,u,h,n)}},l=[s,i,n],e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=l):(a=e[3],l=e[4]),j.useEffect(a,l);let c,d;return e[5]!==s?(c=()=>{if(s?.isDestroyed)return;const u=new No("fileDropHandler");s.state.plugins.find(m=>m.spec.key===u)&&s.unregisterPlugin(u);const f=new Pm({key:u,props:{handleDrop:(m,p,g,_)=>{if(_)return!1;const v=p.dataTransfer?.files;if(!v||v.length===0)return!1;p.preventDefault();const x=m.posAtCoords({left:p.clientX,top:p.clientY});if(!x)return!1;const b=Array.from(v),y=x.pos;for(const V of b)o.current?.(V,y);return!0},handlePaste:(m,p)=>{const g=p.clipboardData?.items;if(!g)return!1;const _=Array.from(g).filter(I_);if(_.length===0)return!1;p.preventDefault();const{from:v}=m.state.selection;for(const x of _){const b=x.getAsFile();b&&o.current?.(b,v)}return!0}}});return s.registerPlugin(f),()=>{s?.isDestroyed||s.unregisterPlugin(u)}},d=[s],e[5]=s,e[6]=c,e[7]=d):(c=e[6],d=e[7]),j.useEffect(c,d),null}function I_(t){return t.kind==="file"}function T_(){return Promise.resolve()}function R_(t){const e=B.c(24),{selectedModel:s,isStreaming:i,icon:n,onUnsupportedFile:o}=t,{editor:a}=jn(),l=j.useRef(null);let c;e[0]!==s?(c=Tn(s),e[0]=s,e[1]=c):c=e[1];const d=c;let u;e[2]!==a||e[3]!==o||e[4]!==s?(u=async V=>{const C=V.target.files;if(!C||C.length===0||!a)return;const S=Array.from(C),{from:w}=a.state.selection,k=w;for(const T of S)await Ya(a,s,T,k,o);l.current&&(l.current.value="")},e[2]=a,e[3]=o,e[4]=s,e[5]=u):u=e[5];const h=u;if(!a||!d)return null;let f;e[6]!==s?(f=yp(s),e[6]=s,e[7]=f):f=e[7];let m;e[8]!==h||e[9]!==i||e[10]!==f?(m=r.jsx("input",{ref:l,type:"file",multiple:!0,accept:f,className:"hidden",onChange:h,disabled:i}),e[8]=h,e[9]=i,e[10]=f,e[11]=m):m=e[11];const p=i||!d;let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=()=>l.current?.click(),e[12]=g):g=e[12];let _;e[13]!==n?(_=n??r.jsx($d,{size:16}),e[13]=n,e[14]=_):_=e[14];let v;e[15]!==p||e[16]!==_?(v=r.jsx(qe,{asChild:!0,children:r.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"text-muted-foreground/75",disabled:p,onClick:g,children:_})}),e[15]=p,e[16]=_,e[17]=v):v=e[17];let x;e[18]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsx(Ge,{side:"top",children:"Add file"}),e[18]=x):x=e[18];let b;e[19]!==v?(b=r.jsxs(Ye,{children:[v,x]}),e[19]=v,e[20]=b):b=e[20];let y;return e[21]!==b||e[22]!==m?(y=r.jsxs(r.Fragment,{children:[m,b]}),e[21]=b,e[22]=m,e[23]=y):y=e[23],y}const M_=["PowerPoint (.pptx)","Word documents (.docx)","Excel spreadsheets (.xlsx)"];function D_(t){const e=B.c(29),{info:s,onClose:i}=t,n=s!==null;let o;e[0]!==i?(o=S=>!S&&i(),e[0]=i,e[1]=o):o=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=["radial-gradient(ellipse 40% 200% at -5% 100%, rgba(251,191,36,0.35) 0%, transparent 100%)","radial-gradient(ellipse 40% 200% at 105% -10%, rgba(244,114,182,0.25) 0%, transparent 100%)"],e[2]=a):a=e[2];let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx("div",{className:"absolute inset-x-0 top-0 h-36 pointer-events-none",style:{backgroundImage:a.join(", "),maskImage:"linear-gradient(to bottom, black 0%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 0%, transparent 100%)"}}),e[3]=l):l=e[3];let c,d;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx("div",{className:"flex items-center justify-center size-9 rounded-lg bg-amber-500/15 text-amber-600 dark:text-amber-400",children:r.jsx(wa,{size:18})}),d=r.jsx(qt,{className:"text-xl font-semibold tracking-tight",children:"File type not supported"}),e[4]=c,e[5]=d):(c=e[4],d=e[5]);const u=s?.fileName;let h;e[6]!==u?(h=r.jsxs("div",{className:"relative px-8 pt-8 pb-2 overflow-hidden",children:[l,r.jsxs(Gt,{className:"relative gap-4",children:[c,r.jsxs("div",{children:[d,r.jsxs(Nn,{className:"mt-1.5 text-sm leading-relaxed",children:[r.jsxs("span",{className:"font-medium text-foreground",children:["“",u,"”"]})," ","can't be attached to this chat."]})]})]})]}),e[6]=u,e[7]=h):h=e[7];const f=s?.modelName;let m;e[8]!==f?(m=r.jsxs("div",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground mb-2",children:[f," accepts"]}),e[8]=f,e[9]=m):m=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=r.jsx($d,{size:14,className:"text-muted-foreground"}),e[10]=p):p=e[10];const g=s?.accepted;let _;e[11]!==g?(_=r.jsxs("div",{className:"flex items-center gap-2 text-sm text-foreground",children:[p,r.jsx("span",{className:"capitalize",children:g})]}),e[11]=g,e[12]=_):_=e[12];let v;e[13]!==m||e[14]!==_?(v=r.jsxs("div",{className:"rounded-xl border border-border p-4",children:[m,_]}),e[13]=m,e[14]=_,e[15]=v):v=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsxs("div",{className:"rounded-xl bg-muted/25 border border-border/50 p-4 space-y-2",children:[r.jsx("div",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Not supported yet"}),M_.map(P_)]}),e[16]=x):x=e[16];let b;e[17]!==v?(b=r.jsxs("div",{className:"px-8 pt-3 pb-6 space-y-3",children:[v,x]}),e[17]=v,e[18]=b):b=e[18];let y;e[19]!==i?(y=r.jsx("div",{className:"px-8 py-4 border-t border-border bg-muted/30 flex items-center justify-end",children:r.jsx(oe,{onClick:i,children:"Got it"})}),e[19]=i,e[20]=y):y=e[20];let V;e[21]!==b||e[22]!==y||e[23]!==h?(V=r.jsxs(Ot,{className:"sm:max-w-[480px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:L_,children:[h,b,y]}),e[21]=b,e[22]=y,e[23]=h,e[24]=V):V=e[24];let C;return e[25]!==n||e[26]!==V||e[27]!==o?(C=r.jsx(Bt,{open:n,onOpenChange:o,children:V}),e[25]=n,e[26]=V,e[27]=o,e[28]=C):C=e[28],C}function P_(t){return r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"flex items-center justify-center size-5 rounded-full bg-muted shrink-0",children:r.jsx(Es,{size:10,className:"text-muted-foreground"})}),r.jsx("span",{className:"text-sm text-foreground/80",children:t})]},t)}function L_(t){return t.preventDefault()}function O_(){const t=B.c(3),[e,s]=j.useState(null);let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=()=>s(null),t[0]=i):i=t[0];let n;return t[1]!==e?(n={unsupportedFile:e,onUnsupportedFile:s,clearUnsupportedFile:i},t[1]=e,t[2]=n):n=t[2],n}var B_=Lm;var $_=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],Mo=$_.join(","),Mh=typeof Element>"u",dr=Mh?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,_n=!Mh&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t?.ownerDocument},xn=function(e,s){var i;s===void 0&&(s=!0);var n=e==null||(i=e.getAttribute)===null||i===void 0?void 0:i.call(e,"inert"),o=n===""||n==="true",a=o||s&&e&&(typeof e.closest=="function"?e.closest("[inert]"):xn(e.parentNode));return a},z_=function(e){var s,i=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"contenteditable");return i===""||i==="true"},F_=function(e,s,i){if(xn(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Mo));return s&&dr.call(e,Mo)&&n.unshift(e),n=n.filter(i),n},Do=function(e,s,i){for(var n=[],o=Array.from(e);o.length;){var a=o.shift();if(!xn(a,!1))if(a.tagName==="SLOT"){var l=a.assignedElements(),c=l.length?l:a.children,d=Do(c,!0,i);i.flatten?n.push.apply(n,d):n.push({scopeParent:a,candidates:d})}else{var u=dr.call(a,Mo);u&&i.filter(a)&&(s||!e.includes(a))&&n.push(a);var h=a.shadowRoot||typeof i.getShadowRoot=="function"&&i.getShadowRoot(a),f=!xn(h,!1)&&(!i.shadowRootFilter||i.shadowRootFilter(a));if(h&&f){var m=Do(h===!0?a.children:h.children,!0,i);i.flatten?n.push.apply(n,m):n.push({scopeParent:a,candidates:m})}else o.unshift.apply(o,a.children)}}return n},Dh=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},Ph=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||z_(e))&&!Dh(e)?0:e.tabIndex},U_=function(e,s){var i=Ph(e);return i<0&&s&&!Dh(e)?0:i},H_=function(e,s){return e.tabIndex===s.tabIndex?e.documentOrder-s.documentOrder:e.tabIndex-s.tabIndex},Lh=function(e){return e.tagName==="INPUT"},W_=function(e){return Lh(e)&&e.type==="hidden"},K_=function(e){var s=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(i){return i.tagName==="SUMMARY"});return s},q_=function(e,s){for(var i=0;i<e.length;i++)if(e[i].checked&&e[i].form===s)return e[i]},G_=function(e){if(!e.name)return!0;var s=e.form||_n(e),i=function(l){return s.querySelectorAll('input[type="radio"][name="'+l+'"]')},n;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")n=i(window.CSS.escape(e.name));else try{n=i(e.name)}catch(a){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",a.message),!1}var o=q_(n,e.form);return!o||o===e},Y_=function(e){return Lh(e)&&e.type==="radio"},X_=function(e){return Y_(e)&&!G_(e)},J_=function(e){var s,i=e&&_n(e),n=(s=i)===null||s===void 0?void 0:s.host,o=!1;if(i&&i!==e){var a,l,c;for(o=!!((a=n)!==null&&a!==void 0&&(l=a.ownerDocument)!==null&&l!==void 0&&l.contains(n)||e!=null&&(c=e.ownerDocument)!==null&&c!==void 0&&c.contains(e));!o&&n;){var d,u,h;i=_n(n),n=(d=i)===null||d===void 0?void 0:d.host,o=!!((u=n)!==null&&u!==void 0&&(h=u.ownerDocument)!==null&&h!==void 0&&h.contains(n))}}return o},Bl=function(e){var s=e.getBoundingClientRect(),i=s.width,n=s.height;return i===0&&n===0},Q_=function(e,s){var i=s.displayCheck,n=s.getShadowRoot;if(i==="full-native"&&"checkVisibility"in e){var o=e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!o}if(getComputedStyle(e).visibility==="hidden")return!0;var a=dr.call(e,"details>summary:first-of-type"),l=a?e.parentElement:e;if(dr.call(l,"details:not([open]) *"))return!0;if(!i||i==="full"||i==="full-native"||i==="legacy-full"){if(typeof n=="function"){for(var c=e;e;){var d=e.parentElement,u=_n(e);if(d&&!d.shadowRoot&&n(d)===!0)return Bl(e);e.assignedSlot?e=e.assignedSlot:!d&&u!==e.ownerDocument?e=u.host:e=d}e=c}if(J_(e))return!e.getClientRects().length;if(i!=="legacy-full")return!0}else if(i==="non-zero-area")return Bl(e);return!1},Z_=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var s=e.parentElement;s;){if(s.tagName==="FIELDSET"&&s.disabled){for(var i=0;i<s.children.length;i++){var n=s.children.item(i);if(n.tagName==="LEGEND")return dr.call(s,"fieldset[disabled] *")?!0:!n.contains(e)}return!0}s=s.parentElement}return!1},ex=function(e,s){return!(s.disabled||W_(s)||Q_(s,e)||K_(s)||Z_(s))},$l=function(e,s){return!(X_(s)||Ph(s)<0||!ex(e,s))},tx=function(e){var s=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(s)||s>=0)},Oh=function(e){var s=[],i=[];return e.forEach(function(n,o){var a=!!n.scopeParent,l=a?n.scopeParent:n,c=U_(l,a),d=a?Oh(n.candidates):l;c===0?a?s.push.apply(s,d):s.push(l):i.push({documentOrder:o,tabIndex:c,item:n,isScope:a,content:d})}),i.sort(H_).reduce(function(n,o){return o.isScope?n.push.apply(n,o.content):n.push(o.content),n},[]).concat(s)},Bh=function(e,s){s=s||{};var i;return s.getShadowRoot?i=Do([e],s.includeContainer,{filter:$l.bind(null,s),flatten:!1,getShadowRoot:s.getShadowRoot,shadowRootFilter:tx}):i=F_(e,s.includeContainer,$l.bind(null,s)),Oh(i)};function sx(){return/apple/i.test(navigator.vendor)}const zl="data-floating-ui-focusable";function ix(t){let e=t.activeElement;for(;((s=e)==null||(s=s.shadowRoot)==null?void 0:s.activeElement)!=null;){var s;e=e.shadowRoot.activeElement}return e}function Po(t,e){if(!t||!e)return!1;const s=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e))return!0;if(s&&jf(s)){let i=e;for(;i;){if(t===i)return!0;i=i.parentNode||i.host}}return!1}function Oi(t){return"composedPath"in t?t.composedPath()[0]:t.target}function Qn(t,e){if(e==null)return!1;if("composedPath"in t)return t.composedPath().includes(e);const s=t;return s.target!=null&&e.contains(s.target)}function rx(t){return t.matches("html,body")}function hr(t){return t?.ownerDocument||document}function nx(t){return t?t.hasAttribute(zl)?t:t.querySelector("["+zl+"]")||t:null}function sn(t,e,s){return s===void 0&&(s=!0),t.filter(n=>{var o;return n.parentId===e&&(!s||((o=n.context)==null?void 0:o.open))}).flatMap(n=>[n,...sn(t,n.id,s)])}function ox(t){return"nativeEvent"in t}var ax=typeof document<"u",lx=function(){},Xs=ax?j.useLayoutEffect:lx;const cx={...vd},dx=cx.useInsertionEffect,hx=dx||(t=>t());function gi(t){const e=j.useRef(()=>{});return hx(()=>{e.current=t}),j.useCallback(function(){for(var s=arguments.length,i=new Array(s),n=0;n<s;n++)i[n]=arguments[n];return e.current==null?void 0:e.current(...i)},[])}const $h=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function zh(t,e){const s=Bh(t,$h()),i=s.length;if(i===0)return;const n=ix(hr(t)),o=s.indexOf(n),a=o===-1?e===1?0:i-1:o+e;return s[a]}function ux(t){return zh(hr(t).body,1)||t}function fx(t){return zh(hr(t).body,-1)||t}function Zn(t,e){const s=e||t.currentTarget,i=t.relatedTarget;return!i||!Po(s,i)}function mx(t){Bh(t,$h()).forEach(s=>{s.dataset.tabindex=s.getAttribute("tabindex")||"",s.setAttribute("tabindex","-1")})}function Fl(t){t.querySelectorAll("[data-tabindex]").forEach(s=>{const i=s.dataset.tabindex;delete s.dataset.tabindex,i?s.setAttribute("tabindex",i):s.removeAttribute("tabindex")})}const px="data-floating-ui-focusable",Ul="active",Hl="selected",gx={...vd};let Wl=!1,_x=0;const Kl=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+_x++;function xx(){const[t,e]=j.useState(()=>Wl?Kl():void 0);return Xs(()=>{t==null&&e(Kl())},[]),j.useEffect(()=>{Wl=!0},[]),t}const vx=gx.useId,Xa=vx||xx;function bx(){const t=new Map;return{emit(e,s){var i;(i=t.get(e))==null||i.forEach(n=>n(s))},on(e,s){t.has(e)||t.set(e,new Set),t.get(e).add(s)},off(e,s){var i;(i=t.get(e))==null||i.delete(s)}}}const yx=j.createContext(null),Sx=j.createContext(null),Fh=()=>{var t;return((t=j.useContext(yx))==null?void 0:t.id)||null},Uh=()=>j.useContext(Sx);function Ja(t){return"data-floating-ui-"+t}const wx={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0},ql=j.forwardRef(function(e,s){const[i,n]=j.useState();Xs(()=>{sx()&&n("button")},[]);const o={ref:s,tabIndex:0,role:i,"aria-hidden":i?void 0:!0,[Ja("focus-guard")]:"",style:wx};return r.jsx("span",{...e,...o})}),Vx={clipPath:"inset(50%)",position:"fixed",top:0,left:0},Hh=j.createContext(null),Gl=Ja("portal");function Cx(t){t===void 0&&(t={});const{id:e,root:s}=t,i=Xa(),n=jx(),[o,a]=j.useState(null),l=j.useRef(null);return Xs(()=>()=>{o?.remove(),queueMicrotask(()=>{l.current=null})},[o]),Xs(()=>{if(!i||l.current)return;const c=e?document.getElementById(e):null;if(!c)return;const d=document.createElement("div");d.id=i,d.setAttribute(Gl,""),c.appendChild(d),l.current=d,a(d)},[e,i]),Xs(()=>{if(s===null||!i||l.current)return;let c=s||n?.portalNode;c&&!Rf(c)&&(c=c.current),c=c||document.body;let d=null;e&&(d=document.createElement("div"),d.id=e,c.appendChild(d));const u=document.createElement("div");u.id=i,u.setAttribute(Gl,""),c=d||c,c.appendChild(u),l.current=u,a(u)},[e,s,i,n]),o}function kx(t){const{children:e,id:s,root:i,preserveTabOrder:n=!0}=t,o=Cx({id:s,root:i}),[a,l]=j.useState(null),c=j.useRef(null),d=j.useRef(null),u=j.useRef(null),h=j.useRef(null),f=a?.modal,m=a?.open,p=!!a&&!a.modal&&a.open&&n&&!!(i||o);return j.useEffect(()=>{if(!o||!n||f)return;function g(_){o&&Zn(_)&&(_.type==="focusin"?Fl:mx)(o)}return o.addEventListener("focusin",g,!0),o.addEventListener("focusout",g,!0),()=>{o.removeEventListener("focusin",g,!0),o.removeEventListener("focusout",g,!0)}},[o,n,f]),j.useEffect(()=>{o&&(m||Fl(o))},[m,o]),r.jsxs(Hh.Provider,{value:j.useMemo(()=>({preserveTabOrder:n,beforeOutsideRef:c,afterOutsideRef:d,beforeInsideRef:u,afterInsideRef:h,portalNode:o,setFocusManagerState:l}),[n,o]),children:[p&&o&&r.jsx(ql,{"data-type":"outside",ref:c,onFocus:g=>{if(Zn(g,o)){var _;(_=u.current)==null||_.focus()}else{const v=a?a.domReference:null,x=fx(v);x?.focus()}}}),p&&o&&r.jsx("span",{"aria-owns":o.id,style:Vx}),o&&Ei.createPortal(e,o),p&&o&&r.jsx(ql,{"data-type":"outside",ref:d,onFocus:g=>{if(Zn(g,o)){var _;(_=h.current)==null||_.focus()}else{const v=a?a.domReference:null,x=ux(v);x?.focus(),a?.closeOnFocusOut&&a?.onOpenChange(!1,g.nativeEvent,"focus-out")}}})]})}const jx=()=>j.useContext(Hh),Nx={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},Ax={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Yl=t=>{var e,s;return{escapeKey:typeof t=="boolean"?t:(e=t?.escapeKey)!=null?e:!1,outsidePress:typeof t=="boolean"?t:(s=t?.outsidePress)!=null?s:!0}};function Ex(t,e){e===void 0&&(e={});const{open:s,onOpenChange:i,elements:n,dataRef:o}=t,{enabled:a=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:d="pointerdown",referencePress:u=!1,referencePressEvent:h="pointerdown",ancestorScroll:f=!1,bubbles:m,capture:p}=e,g=Uh(),_=gi(typeof c=="function"?c:()=>!1),v=typeof c=="function"?_:c,x=j.useRef(!1),{escapeKey:b,outsidePress:y}=Yl(m),{escapeKey:V,outsidePress:C}=Yl(p),S=j.useRef(!1),w=gi(N=>{var A;if(!s||!a||!l||N.key!=="Escape"||S.current)return;const D=(A=o.current.floatingContext)==null?void 0:A.nodeId,L=g?sn(g.nodesRef.current,D):[];if(!b&&(N.stopPropagation(),L.length>0)){let R=!0;if(L.forEach(P=>{var O;if((O=P.context)!=null&&O.open&&!P.context.dataRef.current.__escapeKeyBubbles){R=!1;return}}),!R)return}i(!1,ox(N)?N.nativeEvent:N,"escape-key")}),k=gi(N=>{var A;const D=()=>{var L;w(N),(L=Oi(N))==null||L.removeEventListener("keydown",D)};(A=Oi(N))==null||A.addEventListener("keydown",D)}),T=gi(N=>{var A;const D=o.current.insideReactTree;o.current.insideReactTree=!1;const L=x.current;if(x.current=!1,d==="click"&&L||D||typeof v=="function"&&!v(N))return;const R=Oi(N),P="["+Ja("inert")+"]",O=hr(n.floating).querySelectorAll(P);let z=rs(R)?R:null;for(;z&&!qn(z);){const W=Ef(z);if(qn(W)||!rs(W))break;z=W}if(O.length&&rs(R)&&!rx(R)&&!Po(R,n.floating)&&Array.from(O).every(W=>!Po(z,W)))return;if(If(R)&&E){const W=qn(R),H=Tf(R),U=/auto|scroll/,X=W||U.test(H.overflowX),K=W||U.test(H.overflowY),G=X&&R.clientWidth>0&&R.scrollWidth>R.clientWidth,ie=K&&R.clientHeight>0&&R.scrollHeight>R.clientHeight,te=H.direction==="rtl",J=ie&&(te?N.offsetX<=R.offsetWidth-R.clientWidth:N.offsetX>R.clientWidth),ae=G&&N.offsetY>R.clientHeight;if(J||ae)return}const $=(A=o.current.floatingContext)==null?void 0:A.nodeId,q=g&&sn(g.nodesRef.current,$).some(W=>{var H;return Qn(N,(H=W.context)==null?void 0:H.elements.floating)});if(Qn(N,n.floating)||Qn(N,n.domReference)||q)return;const F=g?sn(g.nodesRef.current,$):[];if(F.length>0){let W=!0;if(F.forEach(H=>{var U;if((U=H.context)!=null&&U.open&&!H.context.dataRef.current.__outsidePressBubbles){W=!1;return}}),!W)return}i(!1,N,"outside-press")}),M=gi(N=>{var A;const D=()=>{var L;T(N),(L=Oi(N))==null||L.removeEventListener(d,D)};(A=Oi(N))==null||A.addEventListener(d,D)});j.useEffect(()=>{if(!s||!a)return;o.current.__escapeKeyBubbles=b,o.current.__outsidePressBubbles=y;let N=-1;function A(O){i(!1,O,"ancestor-scroll")}function D(){window.clearTimeout(N),S.current=!0}function L(){N=window.setTimeout(()=>{S.current=!1},Af()?5:0)}const R=hr(n.floating);l&&(R.addEventListener("keydown",V?k:w,V),R.addEventListener("compositionstart",D),R.addEventListener("compositionend",L)),v&&R.addEventListener(d,C?M:T,C);let P=[];return f&&(rs(n.domReference)&&(P=Kn(n.domReference)),rs(n.floating)&&(P=P.concat(Kn(n.floating))),!rs(n.reference)&&n.reference&&n.reference.contextElement&&(P=P.concat(Kn(n.reference.contextElement)))),P=P.filter(O=>{var z;return O!==((z=R.defaultView)==null?void 0:z.visualViewport)}),P.forEach(O=>{O.addEventListener("scroll",A,{passive:!0})}),()=>{l&&(R.removeEventListener("keydown",V?k:w,V),R.removeEventListener("compositionstart",D),R.removeEventListener("compositionend",L)),v&&R.removeEventListener(d,C?M:T,C),P.forEach(O=>{O.removeEventListener("scroll",A)}),window.clearTimeout(N)}},[o,n,l,v,d,s,i,f,a,b,y,w,V,k,T,C,M]),j.useEffect(()=>{o.current.insideReactTree=!1},[o,v,d]);const I=j.useMemo(()=>({onKeyDown:w,...u&&{[Nx[h]]:N=>{i(!1,N.nativeEvent,"reference-press")},...h!=="click"&&{onClick(N){i(!1,N.nativeEvent,"reference-press")}}}}),[w,i,u,h]),E=j.useMemo(()=>{function N(A){A.button===0&&(x.current=!0)}return{onKeyDown:w,onMouseDown:N,onMouseUp:N,[Ax[d]]:()=>{o.current.insideReactTree=!0}}},[w,d,o]);return j.useMemo(()=>a?{reference:I,floating:E}:{},[a,I,E])}function Ix(t){const{open:e=!1,onOpenChange:s,elements:i}=t,n=Xa(),o=j.useRef({}),[a]=j.useState(()=>bx()),l=Fh()!=null,[c,d]=j.useState(i.reference),u=gi((m,p,g)=>{o.current.openEvent=m?p:void 0,a.emit("openchange",{open:m,event:p,reason:g,nested:l}),s?.(m,p,g)}),h=j.useMemo(()=>({setPositionReference:d}),[]),f=j.useMemo(()=>({reference:c||i.reference||null,floating:i.floating||null,domReference:i.reference}),[c,i.reference,i.floating]);return j.useMemo(()=>({dataRef:o,open:e,onOpenChange:u,elements:f,events:a,floatingId:n,refs:h}),[e,u,f,a,n,h])}function Tx(t){t===void 0&&(t={});const{nodeId:e}=t,s=Ix({...t,elements:{reference:null,floating:null,...t.elements}}),i=t.rootContext||s,n=i.elements,[o,a]=j.useState(null),[l,c]=j.useState(null),u=n?.domReference||o,h=j.useRef(null),f=Uh();Xs(()=>{u&&(h.current=u)},[u]);const m=Nf({...t,elements:{...n,...l&&{reference:l}}}),p=j.useCallback(b=>{const y=rs(b)?{getBoundingClientRect:()=>b.getBoundingClientRect(),getClientRects:()=>b.getClientRects(),contextElement:b}:b;c(y),m.refs.setReference(y)},[m.refs]),g=j.useCallback(b=>{(rs(b)||b===null)&&(h.current=b,a(b)),(rs(m.refs.reference.current)||m.refs.reference.current===null||b!==null&&!rs(b))&&m.refs.setReference(b)},[m.refs]),_=j.useMemo(()=>({...m.refs,setReference:g,setPositionReference:p,domReference:h}),[m.refs,g,p]),v=j.useMemo(()=>({...m.elements,domReference:u}),[m.elements,u]),x=j.useMemo(()=>({...m,...i,refs:_,elements:v,nodeId:e}),[m,_,v,e,i]);return Xs(()=>{i.dataRef.current.floatingContext=x;const b=f?.nodesRef.current.find(y=>y.id===e);b&&(b.context=x)}),j.useMemo(()=>({...m,context:x,refs:_,elements:v}),[m,_,v,x])}function eo(t,e,s){const i=new Map,n=s==="item";let o=t;if(n&&t){const{[Ul]:a,[Hl]:l,...c}=t;o=c}return{...s==="floating"&&{tabIndex:-1,[px]:""},...o,...e.map(a=>{const l=a?a[s]:null;return typeof l=="function"?t?l(t):null:l}).concat(t).reduce((a,l)=>(l&&Object.entries(l).forEach(c=>{let[d,u]=c;if(!(n&&[Ul,Hl].includes(d)))if(d.indexOf("on")===0){if(i.has(d)||i.set(d,[]),typeof u=="function"){var h;(h=i.get(d))==null||h.push(u),a[d]=function(){for(var f,m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];return(f=i.get(d))==null?void 0:f.map(_=>_(...p)).find(_=>_!==void 0)}}}else a[d]=u}),a),{})}}function Rx(t){t===void 0&&(t=[]);const e=t.map(l=>l?.reference),s=t.map(l=>l?.floating),i=t.map(l=>l?.item),n=j.useCallback(l=>eo(l,t,"reference"),e),o=j.useCallback(l=>eo(l,t,"floating"),s),a=j.useCallback(l=>eo(l,t,"item"),i);return j.useMemo(()=>({getReferenceProps:n,getFloatingProps:o,getItemProps:a}),[n,o,a])}const Mx=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Dx(t,e){var s,i;e===void 0&&(e={});const{open:n,elements:o,floatingId:a}=t,{enabled:l=!0,role:c="dialog"}=e,d=Xa(),u=((s=o.domReference)==null?void 0:s.id)||d,h=j.useMemo(()=>{var x;return((x=nx(o.floating))==null?void 0:x.id)||a},[o.floating,a]),f=(i=Mx.get(c))!=null?i:c,p=Fh()!=null,g=j.useMemo(()=>f==="tooltip"||c==="label"?{["aria-"+(c==="label"?"labelledby":"describedby")]:n?h:void 0}:{"aria-expanded":n?"true":"false","aria-haspopup":f==="alertdialog"?"dialog":f,"aria-controls":n?h:void 0,...f==="listbox"&&{role:"combobox"},...f==="menu"&&{id:u},...f==="menu"&&p&&{role:"menuitem"},...c==="select"&&{"aria-autocomplete":"none"},...c==="combobox"&&{"aria-autocomplete":"list"}},[f,h,p,n,u,c]),_=j.useMemo(()=>{const x={id:h,...f&&{role:f}};return f==="tooltip"||c==="label"?x:{...x,...f==="menu"&&{"aria-labelledby":u}}},[f,h,u,c]),v=j.useCallback(x=>{let{active:b,selected:y}=x;const V={role:"option",...b&&{id:h+"-fui-option"}};switch(c){case"select":case"combobox":return{...V,"aria-selected":y}}return{}},[h,c]);return j.useMemo(()=>l?{reference:g,floating:_,item:v}:{},[l,g,_,v])}function Px(t){const e=B.c(26),{editor:s,query:i,items:n,onSelect:o,onClose:a}=t,[l,c]=j.useState(0),d=j.useRef(n),u=j.useRef(l),h=j.useRef(o),f=j.useRef(a),m=j.useDeferredValue(i);let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=()=>{c(0)},e[0]=p):p=e[0];let g;e[1]!==m?(g=[m],e[1]=m,e[2]=g):g=e[2],j.useEffect(p,g);let _,v;e[3]!==n.length||e[4]!==l?(_=()=>{l>=n.length&&n.length>0&&c(0)},v=[n.length,l],e[3]=n.length,e[4]=l,e[5]=_,e[6]=v):(_=e[5],v=e[6]),j.useEffect(_,v);let x,b;e[7]!==n?(x=()=>{d.current=n},b=[n],e[7]=n,e[8]=x,e[9]=b):(x=e[8],b=e[9]),j.useEffect(x,b);let y,V;e[10]!==l?(y=()=>{u.current=l},V=[l],e[10]=l,e[11]=y,e[12]=V):(y=e[11],V=e[12]),j.useEffect(y,V);let C,S;e[13]!==o?(S=()=>{h.current=o},C=[o],e[13]=o,e[14]=C,e[15]=S):(C=e[14],S=e[15]),j.useEffect(S,C);let w,k;e[16]!==a?(w=()=>{f.current=a},k=[a],e[16]=a,e[17]=w,e[18]=k):(w=e[17],k=e[18]),j.useEffect(w,k);let T;e[19]!==s.isDestroyed||e[20]!==s.view.dom?(T=()=>{const N=s.view.dom;if(s?.isDestroyed||!N)return;const A=L=>{const R=d.current;if(!R.length)return!1;const P=()=>c(z=>(z+1)%R.length),O=()=>c(z=>(z-1+R.length)%R.length);switch(L.key){case"ArrowUp":return L.preventDefault(),O(),!0;case"ArrowDown":return L.preventDefault(),P(),!0;case"Tab":return L.preventDefault(),L.shiftKey?O():P(),!0;case"Home":return L.preventDefault(),c(0),!0;case"End":return L.preventDefault(),c(R.length-1),!0;case"Enter":{if(L.isComposing)return!1;L.preventDefault();const z=u.current;return z!==-1&&R[z]&&h.current?.(R[z],z),!0}case"Escape":return L.preventDefault(),f.current?.(),!0;default:return!1}},D=L=>{A(L)};return N.addEventListener("keydown",D,!0),()=>{N?.removeEventListener("keydown",D,!0)}},e[19]=s.isDestroyed,e[20]=s.view.dom,e[21]=T):T=e[21];let M;e[22]!==s?(M=[s],e[22]=s,e[23]=M):M=e[23],j.useEffect(T,M);const I=n.length?l:void 0;let E;return e[24]!==I?(E={selectedIndex:I,setSelectedIndex:c},e[24]=I,e[25]=E):E=e[25],E}function Lx(t,e){switch(e.type){case"SET_SELECTED_ITEM":return{...t,selectedItem:e.payload};case"ON_START":return{...t,open:!0,selectedItem:null,element:e.payload.element,query:e.payload.query,range:e.payload.range};case"ON_UPDATE":return{...t,element:e.payload.element,query:e.payload.query,range:e.payload.range};case"ON_EXIT":return{open:!1,element:null,query:"",range:null,selectedItem:null};default:return t}}const Wh=j.createContext(void 0);function Kh(){const t=j.useContext(Wh);if(!t)throw new Error("useSuggestionContext must be used within a SuggestionContext.Provider");return t}function Ox({editor:t,char:e,pluginKey:s,allow:i,onOpenChange:n}){const[o,a]=j.useReducer(Lx,{open:!1,element:null,query:"",range:null,selectedItem:null}),l=j.useRef(n);return l.current=n,j.useEffect(()=>{if(t?.isDestroyed)return;const c=s instanceof No?s:new No(s);t.state.plugins.find(h=>h.spec.key===c)&&t.unregisterPlugin(c);const u=Vp({pluginKey:c,editor:t,char:e,allow(h){const f=t.state.doc.resolve(h.range.from);for(let m=f.depth;m>0;m--)if(f.node(m).type.name==="image")return!1;return!(i&&!i(h))},command(){},render:()=>({onStart:h=>{a({type:"ON_START",payload:{element:h.decorationNode??null,query:h.query,range:h.range}}),l.current?.(!0)},onUpdate:h=>{a({type:"ON_UPDATE",payload:{element:h.decorationNode??null,query:h.query,range:h.range}})},onKeyDown:h=>h.event.key==="Escape"?(a({type:"ON_EXIT"}),!0):!1,onExit:()=>{a({type:"ON_EXIT"}),l.current?.(!1)}}),items:()=>[]});return t.registerPlugin(u),()=>{t?.isDestroyed||t.unregisterPlugin(c)}},[t,s,e,a,i]),{state:o,dispatch:a}}function Bx({editor:t,queryKey:e,queryFn:s,onSelect:i}){const{state:n,dispatch:o}=Kh(),a=j.useDeferredValue(n.query),{data:l}=bd({queryKey:Ze.suggestionItems(e,n.open,a),queryFn:()=>n.open?s({query:a}):[]}),c=()=>{o({type:"ON_EXIT"})},d=async(h,f)=>{if(!(n.selectedItem!==null||!n.range)){o({type:"SET_SELECTED_ITEM",payload:h});try{const{view:m}=t,g=m.state.selection.$to.nodeAfter?.text?.startsWith(" "),_=n.range?{...n.range}:{from:0,to:0};g&&n.range&&(_.to+=1),await i({range:_,item:h})===!1?o({type:"SET_SELECTED_ITEM",payload:null}):c()}catch{c()}}},{selectedIndex:u}=Px({editor:t,query:a,items:l,onSelect:d,onClose:c});return{selectedItem:n.selectedItem,items:l,selectedIndex:u,close:c,onSelect:d}}function $x({children:t}){const{state:e,dispatch:s}=Kh(),{open:i,element:n}=e,o=()=>{s({type:"ON_EXIT"})},{refs:a,floatingStyles:l,context:c}=Tx({placement:"bottom-start",open:i,onOpenChange:f=>{f||o()},elements:{reference:n},middleware:[Mf(10),Df(),Pf()],whileElementsMounted:Lf}),d=Ex(c,{outsidePress:f=>!(f.target instanceof Element&&f.target.closest(".ProseMirror"))}),u=Dx(c,{role:"listbox"}),{getFloatingProps:h}=Rx([d,u]);return i?r.jsx(kx,{children:r.jsx("div",{ref:a.setFloating,style:l,...h(),className:"z-50 w-auto min-w-[360px] max-w-[520px] rounded-lg border bg-popover p-0 text-popover-foreground shadow-md outline-hidden overflow-hidden",children:t})}):null}const zx=t=>{const e=B.c(29),{item:s,isSelected:i,onSelect:n,isLoading:o,ref:a}=t;let l;if(e[0]!==s){const C=Ls(s._meta);l=s.title||kn(s.name,C),e[0]=s,e[1]=l}else l=e[1];const c=l,d=s.description||null,u=s.icon,h=i&&"bg-accent text-accent-foreground",f=o&&"pointer-events-none opacity-50";let m;e[2]!==h||e[3]!==f?(m=Y("relative flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors","hover:bg-accent hover:text-accent-foreground","focus:bg-accent focus:text-accent-foreground",h,f),e[2]=h,e[3]=f,e[4]=m):m=e[4];let p;e[5]!==u||e[6]!==c?(p=u!==void 0&&r.jsx(Qt,{icon:u,name:c,size:"xs",className:"mr-2"}),e[5]=u,e[6]=c,e[7]=p):p=e[7];let g;e[8]!==c?(g=r.jsx("span",{className:"font-medium flex items-center truncate capitalize",children:c}),e[8]=c,e[9]=g):g=e[9];let _;e[10]!==o?(_=o&&r.jsx(ar,{size:"xs"}),e[10]=o,e[11]=_):_=e[11];let v;e[12]!==g||e[13]!==_?(v=r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g,_]}),e[12]=g,e[13]=_,e[14]=v):v=e[14];let x;e[15]!==d?(x=d&&r.jsx("div",{className:"text-xs text-muted-foreground line-clamp-1",children:d}),e[15]=d,e[16]=x):x=e[16];let b;e[17]!==v||e[18]!==x?(b=r.jsxs("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[v,x]}),e[17]=v,e[18]=x,e[19]=b):b=e[19];let y;e[20]!==s.drillable?(y=s.drillable&&r.jsx("kbd",{className:"shrink-0 ml-2 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground bg-muted border border-border rounded",children:"↵"}),e[20]=s.drillable,e[21]=y):y=e[21];let V;return e[22]!==n||e[23]!==a||e[24]!==b||e[25]!==y||e[26]!==m||e[27]!==p?(V=r.jsxs("div",{ref:a,onClick:n,className:m,children:[p,b,y]}),e[22]=n,e[23]=a,e[24]=b,e[25]=y,e[26]=m,e[27]=p,e[28]=V):V=e[28],V},Fx=t=>{const e=B.c(18),{editor:s,queryKey:i,queryFn:n,onSelect:o}=t;let a;e[0]!==s||e[1]!==o||e[2]!==n||e[3]!==i?(a={editor:s,queryKey:i,queryFn:n,onSelect:o},e[0]=s,e[1]=o,e[2]=n,e[3]=i,e[4]=a):a=e[4];const{items:l,selectedIndex:c,onSelect:d,selectedItem:u}=Bx(a);if(!l.length){let p;return e[5]===Symbol.for("react.memo_cache_sentinel")?(p=r.jsx("div",{className:"min-w-[360px] max-w-[520px] bg-popover text-popover-foreground rounded-md border shadow-md p-3 text-sm",children:"No items found"}),e[5]=p):p=e[5],p}let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h={maxHeight:"min(320px, var(--radix-popover-content-available-height, 320px))"},e[6]=h):h=e[6];let f;if(e[7]!==d||e[8]!==l||e[9]!==c||e[10]!==u?.name){let p;e[12]!==d||e[13]!==c||e[14]!==u?.name?(p=(g,_)=>r.jsx(zx,{item:g,isSelected:_===c,ref:_===c?Wx:void 0,onSelect:()=>d(g,_),isLoading:u?.name===g.name},g.name),e[12]=d,e[13]=c,e[14]=u?.name,e[15]=p):p=e[15],f=l.map(p),e[7]=d,e[8]=l,e[9]=c,e[10]=u?.name,e[11]=f}else f=e[11];let m;return e[16]!==f?(m=r.jsx("div",{className:"min-w-[360px] max-w-[520px] bg-popover text-popover-foreground rounded-md overflow-y-auto",style:h,children:r.jsx("div",{className:"p-1",children:f})}),e[16]=f,e[17]=m):m=e[17],m};function Ux(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"p-1",children:[...Array(3)].map(Hx)}),t[0]=e):e=t[0],e}function Hx(t,e){return r.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5 animate-pulse",children:[r.jsx("div",{className:"h-4 w-24 bg-muted rounded"}),r.jsx("div",{className:"h-3 w-32 bg-muted rounded"})]},e)}function qh(t){const e=B.c(18),{editor:s,char:i,pluginKey:n,queryKey:o,queryFn:a,onSelect:l,allow:c,onOpenChange:d}=t;let u;e[0]!==c||e[1]!==i||e[2]!==s||e[3]!==d||e[4]!==n?(u={editor:s,char:i,pluginKey:n,allow:c,onOpenChange:d},e[0]=c,e[1]=i,e[2]=s,e[3]=d,e[4]=n,e[5]=u):u=e[5];const{state:h,dispatch:f}=Ox(u);let m;e[6]!==f||e[7]!==h?(m={state:h,dispatch:f},e[6]=f,e[7]=h,e[8]=m):m=e[8];let p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=r.jsx(Ux,{}),e[9]=p):p=e[9];let g;e[10]!==s||e[11]!==l||e[12]!==a||e[13]!==o?(g=r.jsx($x,{children:r.jsx(j.Suspense,{fallback:p,children:r.jsx(Fx,{editor:s,queryKey:o,queryFn:a,onSelect:l})})}),e[10]=s,e[11]=l,e[12]=a,e[13]=o,e[14]=g):g=e[14];let _;return e[15]!==m||e[16]!==g?(_=r.jsx(Wh.Provider,{value:m,children:g}),e[15]=m,e[16]=g,e[17]=_):_=e[17],_}function Wx(t){t&&t.scrollIntoView({block:"center",behavior:"smooth"})}const Kx=[{name:"agents",title:"Agents",description:"Mention an agent to hand off work",kind:"category",drillable:!0},{name:"resources",title:"Resources",description:"Attach a resource as context",kind:"category",drillable:!0}],qx=({editor:t,virtualMcpId:e})=>{const s=bt(),{org:i}=xe(),n=Rn(),o=Ae({connectionId:e,orgId:i.id}),a=Ze.virtualMcpResources(e,i.id),[l,c]=j.useState("categories"),d=j.useRef(l);d.current=l;const u=j.useRef(null),h=j.useRef(!1),f=["at-mention",i.id,e??"default",l],m=async({item:_,range:v})=>{if(re("chat_picker_item_selected",{picker:"@",item_kind:_.kind,item_name:_.name}),_.kind!=="category"&&(h.current=!0),_.kind==="category")return c(_.name==="agents"?"agents":"resources"),!1;if(_.kind==="agent"&&_.agentId){or(t,v,{id:_.agentId,name:_.name,metadata:{agentId:_.agentId,title:_.name},char:"@"}),c("categories");return}if(_.kind==="resource"&&_.uri&&o){try{const x=await rh(o,_.uri);or(t,v,{id:_.uri,name:_.uri,metadata:x.contents,char:"@"})}catch(x){console.error("[at-mention] Failed to fetch resource:",x),he.error("Failed to load resource. Please try again.")}c("categories");return}},p=async _=>{const{query:v}=_,x=d.current;if(x==="categories"){if(!v.trim())return Kx;const V=v.toLowerCase(),C=n.filter(w=>w.status==="active"&&(!w.id||!lr(w.id))&&w.id!==e&&(w.title.toLowerCase().includes(V)||w.description?.toLowerCase().includes(V))).map(w=>({name:w.title,title:w.title,description:w.description??void 0,icon:w.icon??null,kind:"agent",agentId:w.id})),S=await(async()=>{if(!o)return[];let w=s.getQueryData(a);return w||(w=await s.fetchQuery({queryKey:a,queryFn:()=>sr(o),staleTime:6e4})),(w?.resources??[]).filter(k=>k.uri.toLowerCase().includes(V)||k.name?.toLowerCase().includes(V)||k.description?.toLowerCase().includes(V)).map(k=>({name:k.name??k.uri,title:k.name,description:k.description,kind:"resource",uri:k.uri}))})();return[...C,...S]}if(x==="agents"){let V=n.filter(C=>C.status==="active"&&(!C.id||!lr(C.id))&&C.id!==e);if(v.trim()){const C=v.toLowerCase();V=V.filter(S=>S.title.toLowerCase().includes(C)||S.description?.toLowerCase().includes(C))}return V.map(C=>({name:C.title,title:C.title,description:C.description??void 0,icon:C.icon??null,kind:"agent",agentId:C.id}))}if(!o)return[];let b=s.getQueryData(a);b?s.fetchQuery({queryKey:a,queryFn:()=>sr(o),staleTime:6e4}).catch(()=>{}):b=await s.fetchQuery({queryKey:a,queryFn:()=>sr(o),staleTime:6e4});let y=b?.resources??[];if(v.trim()){const V=v.toLowerCase();y=y.filter(C=>C.uri.toLowerCase().includes(V)||C.name?.toLowerCase().includes(V)||C.description?.toLowerCase().includes(V))}return y.map(V=>({name:V.name??V.uri,title:V.name,description:V.description,kind:"resource",uri:V.uri}))},g=_=>{if(_)u.current=Date.now(),h.current=!1,re("chat_picker_opened",{picker:"@"});else{const v=u.current;re("chat_picker_closed",{picker:"@",outcome:h.current?"selected":"dismissed",duration_ms:v?Date.now()-v:null}),u.current=null,c("categories")}};return r.jsx(qh,{editor:t,char:"@",pluginKey:"atDropdownMenu",queryKey:f,queryFn:p,onSelect:m,onOpenChange:g})};function Gx(t,e){const s=$t(t),i=yr(),n=new Map(i.map(c=>[c.id,c])),o=(s?.connections??[]).map(c=>c.connection_id),{data:a}=ji({queryKey:Ze.promptConnectionMap(e,o),queryFn:async()=>{const c={};return await Promise.all(o.map(async d=>{try{const u=await Wm({connectionId:d,orgId:e}),h=await hn(u);for(const f of h.prompts)f.name in c||(c[f.name]=d)}catch{}})),c},staleTime:6e4,enabled:o.length>0}),l=new Map;for(const[c,d]of Object.entries(a??{})){const u=n.get(d);u&&l.set(c,u)}return l}async function Xl(t,e,s,i,n,o){try{const a=await Ea(s,i,o);or(t,e,{id:i,name:ka(i,n),metadata:a.messages,char:"/"})}catch(a){console.error("[slash] Failed to fetch prompt:",a),he.error("Failed to load prompt. Please try again.")}}async function Yx(t,e,s,i){try{const n=await rh(s,i);or(t,e,{id:i,name:i,metadata:n.contents,char:"/"})}catch(n){console.error("[slash] Failed to fetch resource:",n),he.error("Failed to load resource. Please try again.")}}const Xx=({editor:t,virtualMcpId:e})=>{const s=bt(),{org:i}=xe(),n=Ae({connectionId:e,orgId:i.id}),o=Gx(e,i.id),a=j.useRef(o);a.current=o;const l=Ze.virtualMcpPrompts(e,i.id),c=Ze.virtualMcpResources(e,i.id),d=["slash-mention",i.id,e??"default"],[u,h]=j.useState(null),f=j.useRef(null),m=j.useRef(!1),p=async({item:x,range:b})=>{if(re("chat_picker_item_selected",{picker:"/",item_kind:x.kind,item_name:x.name}),m.current=!0,!!n)if(x.kind==="prompt"){if(x.arguments&&x.arguments.length>0){h({range:b,item:x});return}const y=Ls(x._meta);await Xl(t,b,n,x.name,y)}else x.uri&&await Yx(t,b,n,x.uri)},g=async x=>{if(!u||!n)return;const{range:b,item:y}=u,V=Ls(y._meta);await Xl(t,b,n,y.name,V,x),h(null)},_=async x=>{const{query:b}=x;if(!n)return[];const[y,V]=await Promise.all([Jx(s,l,n),Qx(s,c,n)]),C=b.trim().toLowerCase(),S=(y??[]).filter(k=>!C||k.name.toLowerCase().includes(C)||k.title?.toLowerCase().includes(C)||k.description?.toLowerCase().includes(C)).map(k=>({name:k.name,title:k.title,description:k.description,icon:a.current.get(k.name)?.icon??null,kind:"prompt",arguments:k.arguments,_meta:k._meta})),w=(V??[]).filter(k=>!C||k.uri.toLowerCase().includes(C)||k.name?.toLowerCase().includes(C)||k.description?.toLowerCase().includes(C)).map(k=>({name:k.name??k.uri,title:k.name,description:k.description,kind:"resource",uri:k.uri}));return[...S,...w]},v=u?.item.kind==="prompt"?{name:u.item.name,arguments:u.item.arguments,description:u.item.description}:null;return r.jsxs(r.Fragment,{children:[r.jsx(qh,{editor:t,char:"/",pluginKey:"slashDropdownMenu",queryKey:d,queryFn:_,onSelect:p,onOpenChange:x=>{if(x)f.current=Date.now(),m.current=!1,re("chat_picker_opened",{picker:"/"});else{const b=f.current;re("chat_picker_closed",{picker:"/",outcome:m.current?"selected":"dismissed",duration_ms:b?Date.now()-b:null}),f.current=null}}}),r.jsx(Ga,{prompt:v,setPrompt:()=>h(null),onSubmit:g})]})};async function Jx(t,e,s){let i=t.getQueryData(e);return i?t.fetchQuery({queryKey:e,queryFn:()=>hn(s),staleTime:6e4}).catch(()=>{}):i=await t.fetchQuery({queryKey:e,queryFn:()=>hn(s),staleTime:6e4}),i?.prompts??[]}async function Qx(t,e,s){let i=t.getQueryData(e);return i?t.fetchQuery({queryKey:e,queryFn:()=>sr(s),staleTime:6e4}).catch(()=>{}):i=await t.fetchQuery({queryKey:e,queryFn:()=>sr(s),staleTime:6e4}),i?.resources??[]}function Zx(t){return[$m.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,dropcursor:!1}),B_.configure({placeholder:()=>t.current??"Ask anything, / for prompts, @ for agents & resources...",showOnlyWhenEditable:!1}),bm,ym]}function Gh({tiptapDoc:t,setTiptapDoc:e,disabled:s=!1,enterToSubmit:i=!1,placeholder:n,onSubmit:o,children:a}){const l=j.useRef(o),c=j.useRef(e),d=j.useRef(i),u=j.useRef(n),h=Om({extensions:Zx(u),content:t||"",editorProps:{attributes:{"data-chat-input":"true",class:"prose prose-sm max-w-none focus:outline-none w-full h-full text-[15px] p-[18px]"},handleKeyDown:(f,m)=>m.key==="Enter"&&!m.shiftKey&&d.current?(m.preventDefault(),l.current?.(),!0):!1},onUpdate:({editor:f})=>{c.current(f?.getJSON())}});return j.useEffect(()=>{h?.setEditable(!s)},[h,s]),j.useEffect(()=>{l.current=o},[o]),j.useEffect(()=>{c.current=e},[e]),j.useEffect(()=>{d.current=i},[i]),j.useEffect(()=>{u.current=n},[n]),j.useEffect(()=>{if(h?.isDestroyed)return;const f=JSON.stringify(h?.getJSON()),m=JSON.stringify(t||{type:"doc",content:[]});f!==m&&h.commands.setContent(t||{type:"doc",content:[]})},[h,t]),r.jsx(Bm.Provider,{value:{editor:h},children:a})}function Yh(t){const e=B.c(26),{disabled:s,virtualMcpId:i,showFileUploader:n,selectedModel:o,onUnsupportedFile:a,ref:l,className:c}=t,d=s===void 0?!1:s,u=n===void 0?!1:n,{editor:h}=jn();let f,m;if(e[0]!==h?(f=()=>({focus:()=>{h?.commands.focus()},clear:()=>{h?.commands.clearContent(!0)},appendText:w=>{if(!h)return;const k=h.state.doc.textContent.trim()==="";h.commands.focus("end"),k||h.commands.insertContent(" "),h.commands.insertContent(w)},syncVoiceText:(w,k)=>{if(h&&(h.commands.setContent(w||{type:"doc",content:[]}),k)){h.commands.focus("end");const T=h.state.doc.textContent.trim().length>0;h.commands.insertContent(T?" "+k:k)}},restoreContent:w=>{h&&h.commands.setContent(w||{type:"doc",content:[]})}}),m=[h],e[0]=h,e[1]=f,e[2]=m):(f=e[1],m=e[2]),j.useImperativeHandle(l??null,f,m),!h)return null;const p=d&&"cursor-not-allowed opacity-70",g=d&&"[&_.ProseMirror]:cursor-not-allowed";let _;e[3]!==c||e[4]!==p||e[5]!==g?(_=Y("overflow-y-auto relative flex-1 max-h-[164px] min-h-[20px] w-full flex flex-col",c,"[&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[20px] [&_.ProseMirror]:flex-1","[&_.ProseMirror_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]","[&_.ProseMirror_p.is-editor-empty:first-child::before]:text-muted-foreground","[&_.ProseMirror_p.is-editor-empty:first-child::before]:opacity-50","[&_.ProseMirror_p.is-editor-empty:first-child::before]:float-left","[&_.ProseMirror_p.is-editor-empty:first-child::before]:pointer-events-none","[&_.ProseMirror_p.is-editor-empty:first-child::before]:h-0",p,g),e[3]=c,e[4]=p,e[5]=g,e[6]=_):_=e[6];let v;e[7]!==h||e[8]!==_?(v=r.jsx(zm,{editor:h,className:_}),e[7]=h,e[8]=_,e[9]=v):v=e[9];const x=i??null;let b;e[10]!==h||e[11]!==x?(b=r.jsx(j.Suspense,{fallback:null,children:r.jsx(Xx,{editor:h,virtualMcpId:x})}),e[10]=h,e[11]=x,e[12]=b):b=e[12];const y=i??null;let V;e[13]!==h||e[14]!==y?(V=r.jsx(j.Suspense,{fallback:null,children:r.jsx(qx,{editor:h,virtualMcpId:y})}),e[13]=h,e[14]=y,e[15]=V):V=e[15];let C;e[16]!==h||e[17]!==a||e[18]!==o||e[19]!==u?(C=u&&o?r.jsx(E_,{editor:h,selectedModel:o,onUnsupportedFile:a}):null,e[16]=h,e[17]=a,e[18]=o,e[19]=u,e[20]=C):C=e[20];let S;return e[21]!==b||e[22]!==V||e[23]!==C||e[24]!==v?(S=r.jsxs(r.Fragment,{children:[v,b,V,C]}),e[21]=b,e[22]=V,e[23]=C,e[24]=v,e[25]=S):S=e[25],S}function Lo(t){const e=B.c(3),[s]=ei();let i;return e[0]!==s.enableSounds||e[1]!==t?(i=()=>{s.enableSounds&&Rp(t.dataUri).catch(o=>{console.warn(`[sound] ${t.name} playback failed:`,o)})},e[0]=s.enableSounds,e[1]=t,e[2]=i):i=e[2],i}const e1={name:"switch-005",dataUri:"data:audio/mpeg;base64,SUQzBAAAAAAAIlRTU0VAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+1DAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAABkAABU4ABMTEx0dHR0nJycnMTExMTs7OztERERETk5OTlhYWFhiYmJibGxsbHZ2dnZ/f39/iYmJiZOTk5OdnZ2dp6enp7GxsbG7u7u7xMTExM7Ozs7Y2NjY4uLi4uzs7Oz29vb2/////wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkBVYAAAAAAAAVOPCP8KUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tQxAAACEwDXvQRAAG8Ii93HtACUCAABAKCJwfaCEHwfeoEAQdEAYygIHBOCAIAgCAJh9QIOg+D5/ygPh/wfB8DuKAgCHyn9QPh/5SCDv+CEHAQdxOD4B27c39tbckkqYbBAYAN9bNJLB+aXAf5wQAKdzxfbmrVIRQ4xNx3HwnoDmLhfMhgJiiw/HREXNCHqjvHEPEG8QjBYlxQNepJAT0kC8ip6JzSWj1TasoG+iyycbf2Uil1ovf1f/oUtR1qP+s1WSBFKoAAU02BDjMhuP/7UsQEgws8bRpd8YABJYPeBf9wCGXTGxBYcw5AJFMFMAmQQAhGAxgLBgHIAMYAAALhgAchipbe/91aU1VV4zcZj1Vf1XgYCIMBNrsBAIGs9/Ue4i/xFPeqCqwViI9/UeLf///rOngdA3OPHFjmOBv+EQnGahgaZxVplmkAH5JadDTQlNCEuGNiWYbCCONWdUJg6HXNazFdu1T+VgaEpOP70exv7f2/4b/yH//2/4cqCX/zWRUrIw+IPNMNlDnjAXQas/I4AzmYifA0tMSCgQDF//tSxBCDSzzi3k/sQwEyCtjJ/rBZAk+Uqj1YhA5YMCAAMwgOUchTkK7OR7LbMl0W1H6SvzG0Q2ZzfKUhnmTobv9DNhS1v7P8h//8Gv8gTRt1jReZ7YEjmMQg9hhwwMycHooasFmZyjcZGBKJD+IwbMCQQLoi+IQXCcIoydKoilI2MWFS5uJdDEu2taRrYI2ZSqKY50pJLv2NfjUAAuQAMfqVQ/T3PDQgMJMeEZ45hJzY6MNoFMxqTj1zNGQKJjAxEsSCBgQJBSIL0mcKYQJfVAn/+1LEGwLKlEKrD3MiYcuMkVa/wABB8Vh6M1q1epbvXwWBURhkyEhWZ/////////////9gjZ/Wt4w+4MNMCpE4TBYQl4w1IHvMDdA2zBngBMwc8COMDhCpDAfgOAAgrBgNYU+YC0FBGAkAMpgWoSCYAGESGBGAKBgXgJOdiOJmMCmNwCYNDJhYRPykRCJhTBnEUzlsjv4UNLj/z97n3Mv/7z1nZqyitYAZIqErIwMwJAqEw0GAAMFptJMaqFwB8CQIWlhuhuDAwNjfuwrQFAYXCf/7UsQVAA+9PTP42gYRdiIu9zBwAPbFUCi0DAhgNcS+7cDwVgM05A9bUDeuQMyE/u3CygVISgZhpIau/9PhdQG2C9DpxZZJmn/dn/Psmt0EFm////l84ThUTopE4VD/9JkubOGasTvN30C20G21qgUCkVCoUCgPMywrPCGly27V5q5t24vl/8jSlSAPCxzNseNCw3oh3NGBu4BZJ5hv7DRSfR/+eWG7nA8IKh2Olv5iz3q5m3//Joxo3JqNyYkSuGt/k6D4DeoBOHmHdl0dkZYA//tSxAUAC4B1Z/2DADEcA17Z/uhI4Yoik/TrZo+ww7UtmpW4LDWu2IacoJKJJeTSM+ZmAYBEiU+ZnnAwCn1VVVV6JUJQVnioKhrgqdKgqGpUFeCp0sDR3ztQNREDRUFioKuxKCpYGQBlRIBk+aLwb8KblGQVDdphPYTUdBOGbVpAaTF6ZdjEV0iRUZRCYkA4oUQDx5zqDugtXvza/7fuNNvfZ+j9v+T/2f//J/4cAAOTpE5K4zksR9MfIB+TDcQTI4gNs1XKAzEFUrGkxABYEBb/+1LEEYNKrEjgT/TCwYYVmUX+mHoKgWhKU5Eiw9SFIRmppw+3fYo4siPhUFeexM8KgIO6wVuPDDy01qeRaVbw357//y3+o8M0pBNlNLCGBzGKwyYw2IIFOE1WNTjRM6x8MlA1AxDhUHTAkEiyKpnbWrLcaOBotBUKbk1pypcWDAIK00AhKLGkUco6q9VWvM53mcaq3tVa8zjTM/tX//EDP//////////XAAmrwAAPoKwcw0ShDCZD/BQlhzinxQdorsOuXTEIC01ZkJyu4k/qPP/7UsQUAEjkrrkvZaPBIRXUoe5QObfMhYKX9RVgTPqCSCaSCaSC0XVdV1f/////6IAlguuAJSiDRNloNBsZg+0+Ts8MMCn81WUTRAlIi+GHECD0y8AWDIqswYsxGOSKVV7MqOni8tkVOip0fZX/////9HrMCbAz2EHGS4GKAAiRAAAYAcDdKd4G6Z/nwYgJ0ZAIgZyC8aPAs/iPBhwMpWDQNARltNS5Y61v//9i8Yl4SkFkIGTkAc0UBrIYLPA4MYBEy+YLMRuY4nhTC3hZA68H//tSxCoAyQC6mY6CkWDJBIsBz/QUrgNmahSzcrYw0/HhfnMAZBojDsgTFkDR5MDkG/DZEbk2FCmowqdqv2TYABiJwqqYjaQRGZ1URZ1DhSsdiHX/GBu0QpzIBNSaLqZ0ARkwFARxMrpt/Eh47mbQAhhU6sisFUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LESoHHJCRaj/dmYAIAQAAQAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7UsSLg8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEoYPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7UsShg8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEoYPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",duration:.609,format:"mp3",license:"CC0",author:"Kenney"},t1=[{src:"/connections/gmail.png",name:"Gmail"},{src:"/connections/perplexity.png",name:"Perplexity"},{src:"/connections/github.png",name:"GitHub"}];function s1(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"flex items-center -space-x-1.5",children:t1.map(i1)}),t[0]=e):e=t[0],e}function i1(t){return r.jsx("img",{src:t.src,alt:t.name,className:"size-5 rounded-sm ring-1 ring-border object-cover bg-white"},t.name)}function r1(t){const e=B.c(129),{disabled:s,onOpenConnections:i,virtualMcpId:n}=t,[o,a]=j.useState(!1),l=Lo(e1),{org:c}=xe(),{editor:d}=jn();let u;e[0]!==c.id||e[1]!==n?(u={connectionId:n,orgId:c.id},e[0]=c.id,e[1]=n,e[2]=u):u=e[2];const h=Ae(u);let f;e[3]!==c.id||e[4]!==n?(f=Ze.virtualMcpPrompts(n,c.id),e[3]=c.id,e[4]=n,e[5]=f):f=e[5];const m=f;let p;e[6]!==h?(p=()=>hn(h),e[6]=h,e[7]=p):p=e[7];const g=o&&!!h;let _;e[8]!==m||e[9]!==p||e[10]!==g?(_={queryKey:m,queryFn:p,staleTime:6e4,enabled:g},e[8]=m,e[9]=p,e[10]=g,e[11]=_):_=e[11];const{data:v,isLoading:x}=ji(_);let b;e[12]!==v?.prompts?(b=v?.prompts??[],e[12]=v?.prompts,e[13]=b):b=e[13];const y=b,[V,C]=j.useState(null),{credentialId:S,imageModel:w,setImageModel:k,deepResearchModel:T,setDeepResearchModel:M,chatMode:I,setChatMode:E,simpleModeEnabled:N}=$s(),A=I==="plan",[D,L]=j.useState(!1),[R,P]=j.useState(!1),{models:O,isLoading:z}=eh(D||R?S??void 0:void 0);let $,q,F,W,H,U,X,K,G,ie,te,J,ae;if(e[14]!==V||e[15]!==O||e[16]!==I||e[17]!==h||e[18]!==T||e[19]!==s||e[20]!==d||e[21]!==w||e[22]!==D||e[23]!==z||e[24]!==A||e[25]!==i||e[26]!==o||e[27]!==l||e[28]!==R||e[29]!==E||e[30]!==M||e[31]!==k||e[32]!==N){const ee=O.filter(o1),se=O.filter(n1);let Ve;e[46]!==I||e[47]!==A||e[48]!==l||e[49]!==E?(Ve=()=>{l();const _e=A?"default":"plan";re("chat_mode_changed",{from_mode:I,to_mode:_e,source:"tools_popover"}),E(_e),a(!1)},e[46]=I,e[47]=A,e[48]=l,e[49]=E,e[50]=Ve):Ve=e[50];const ze=Ve;let Fe;e[51]!==i?(Fe=()=>{i(),a(!1)},e[51]=i,e[52]=Fe):Fe=e[52],F=Fe;let ft;e[53]!==h||e[54]!==d?(ft=async(_e,Vs)=>{if(!d||!h)return;const Di=Ls(_e._meta),Pi={from:d.state.selection.from,to:d.state.selection.to};try{const wf=await Ea(h,_e.name,Vs);or(d,Pi,{id:_e.name,name:ka(_e.name,Di),metadata:wf.messages,char:"/"})}catch{he.error("Failed to load prompt. Please try again.")}},e[53]=h,e[54]=d,e[55]=ft):ft=e[55];const He=ft;let tt;e[56]!==He?(tt=async _e=>{a(!1);const Vs=!!(_e.arguments&&_e.arguments.length>0);if(re("chat_prompt_inserted",{prompt_name:_e.name,with_arguments:Vs}),Vs){C(_e);return}await He(_e)},e[56]=He,e[57]=tt):tt=e[57],H=tt;let ht;e[58]!==V||e[59]!==He?(ht=async _e=>{V&&(await He(V,_e),C(null))},e[58]=V,e[59]=He,e[60]=ht):ht=e[60],W=ht;let me;e[61]!==l||e[62]!==k?(me=_e=>{l(),re("chat_image_model_selected",{model_id:_e.modelId,model_title:_e.title,provider:_e.providerId??null}),k(_e),a(!1)},e[61]=l,e[62]=k,e[63]=me):me=e[63];const ke=me;let st;e[64]!==l||e[65]!==M?(st=_e=>{l(),re("chat_search_model_selected",{model_id:_e.modelId,model_title:_e.title,provider:_e.providerId??null}),M(_e),a(!1)},e[64]=l,e[65]=M,e[66]=st):st=e[66];const zt=st;let De;e[67]!==I||e[68]!==l||e[69]!==E?(De=()=>{l();const _e=I==="gen-image"?"default":"gen-image";re("chat_mode_changed",{from_mode:I,to_mode:_e,source:"tools_popover"}),E(_e),a(!1)},e[67]=I,e[68]=l,e[69]=E,e[70]=De):De=e[70];const Yt=De;let At;e[71]!==I||e[72]!==l||e[73]!==E?(At=()=>{l();const _e=I==="web-search"?"default":"web-search";re("chat_mode_changed",{from_mode:I,to_mode:_e,source:"tools_popover"}),E(_e),a(!1)},e[71]=I,e[72]=l,e[73]=E,e[74]=At):At=e[74];const Et=At,Ct=I==="gen-image",ws=I==="web-search";q=cs,K=o,e[75]!==I||e[76]!==o?(G=_e=>{_e&&!o&&re("chat_tools_popover_opened",{chat_mode:I}),a(_e)},e[75]=I,e[76]=o,e[77]=G):G=e[77];let Rr,Mr;e[78]===Symbol.for("react.memo_cache_sentinel")?(Rr=r.jsx(zd,{size:14}),Mr=r.jsx("span",{className:"hidden sm:inline",children:"Tools"}),e[78]=Rr,e[79]=Mr):(Rr=e[78],Mr=e[79]),e[80]!==s?(ie=r.jsx(ds,{asChild:!0,children:r.jsxs(oe,{type:"button",variant:"ghost",size:"default",disabled:s,className:"text-muted-foreground hover:text-foreground",children:[Rr,Mr]})}),e[80]=s,e[81]=ie):ie=e[81],$=hs,te="start",J="w-52 p-1.5";const Hn=A&&"text-violet-600 dark:text-violet-400";let li;e[82]!==Hn?(li=Y(Hn),e[82]=Hn,e[83]=li):li=e[83];const Wn=A&&"text-violet-500";let ci;e[84]!==Wn?(ci=Y(Wn),e[84]=Wn,e[85]=ci):ci=e[85];let di;e[86]!==ci?(di=r.jsx(Yd,{size:16,className:ci}),e[86]=ci,e[87]=di):di=e[87];let Dr;e[88]===Symbol.for("react.memo_cache_sentinel")?(Dr=r.jsx("span",{className:"flex-1",children:"Plan mode"}),e[88]=Dr):Dr=e[88];let hi;e[89]!==A?(hi=A&&r.jsx("span",{className:"text-xs text-violet-500 font-medium",children:"On"}),e[89]=A,e[90]=hi):hi=e[90],e[91]!==ze||e[92]!==li||e[93]!==di||e[94]!==hi?(ae=r.jsxs(Qe,{onClick:ze,className:li,children:[di,Dr,hi]}),e[91]=ze,e[92]=li,e[93]=di,e[94]=hi,e[95]=ae):ae=e[95],U=N?r.jsxs(Qe,{onClick:Yt,className:Y(Ct&&"text-pink-600 dark:text-pink-400"),children:[r.jsx(Io,{size:16,className:Y(Ct&&"text-pink-500")}),r.jsx("span",{className:"flex-1",children:"Create image"}),Ct&&r.jsx("span",{className:"text-xs text-pink-500 font-medium",children:"On"})]}):r.jsxs(Qr,{open:D,onOpenChange:L,children:[r.jsxs("div",{className:"flex items-center rounded-lg",children:[r.jsxs(Qe,{onClick:Yt,disabled:!w,className:Y("flex-1 rounded-r-none pr-1",Ct&&"text-pink-600 dark:text-pink-400"),children:[r.jsx(Io,{size:16,className:Y(Ct&&"text-pink-500")}),r.jsx("span",{className:"flex-1",children:"Create image"}),Ct&&r.jsx("span",{className:"text-xs text-pink-500 font-medium",children:"On"})]}),r.jsx(pl,{className:Y("flex items-center justify-center rounded-r-lg rounded-l-none px-1.5 py-1.5 text-muted-foreground outline-hidden select-none","hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground","data-[state=open]:bg-accent data-[state=open]:text-accent-foreground"),children:r.jsx(cr,{size:14})})]}),r.jsx(Zr,{className:"w-80 max-h-72 overflow-y-auto p-1.5",children:z?r.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-sm text-muted-foreground",children:[r.jsx(Ne,{size:14,className:"animate-spin"}),"Loading models…"]}):ee.length===0?r.jsx("div",{className:"px-2 py-3 text-sm text-muted-foreground",children:"No image models available"}):ee.map(_e=>{const Vs=w?.modelId===_e.modelId,Di=Cl(_e),Pi=_e.title.includes(": ")?_e.title.split(": ").slice(1).join(": "):_e.title;return r.jsxs(Qe,{onClick:()=>ke(_e),className:"flex items-center gap-2",children:[r.jsx("img",{src:Di,alt:"",className:"size-4 shrink-0 rounded-sm dark:bg-white dark:p-px"}),r.jsx("span",{className:"flex-1 text-sm truncate",children:Pi}),Vs&&r.jsx(Mt,{size:14,className:"text-pink-500 shrink-0"})]},_e.modelId)})})]}),X=N?r.jsxs(Qe,{onClick:Et,className:Y(ws&&"text-blue-600 dark:text-blue-400"),children:[r.jsx(vi,{size:16,className:Y(ws&&"text-blue-500")}),r.jsx("span",{className:"flex-1",children:"Web search"}),ws&&r.jsx("span",{className:"text-xs text-blue-500 font-medium",children:"On"})]}):T&&r.jsxs(Qr,{open:R,onOpenChange:P,children:[r.jsxs("div",{className:"flex items-center rounded-lg",children:[r.jsxs(Qe,{onClick:Et,className:Y("flex-1 rounded-r-none pr-1",ws&&"text-blue-600 dark:text-blue-400"),children:[r.jsx(vi,{size:16,className:Y(ws&&"text-blue-500")}),r.jsx("span",{className:"flex-1",children:"Web search"}),ws&&r.jsx("span",{className:"text-xs text-blue-500 font-medium",children:"On"})]}),r.jsx(pl,{className:Y("flex items-center justify-center rounded-r-lg rounded-l-none px-1.5 py-1.5 text-muted-foreground outline-hidden select-none","hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground","data-[state=open]:bg-accent data-[state=open]:text-accent-foreground"),children:r.jsx(cr,{size:14})})]}),r.jsx(Zr,{className:"w-80 max-h-72 overflow-y-auto p-1.5",children:z?r.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-sm text-muted-foreground",children:[r.jsx(Ne,{size:14,className:"animate-spin"}),"Loading models…"]}):se.map(_e=>{const Vs=T?.modelId===_e.modelId,Di=Cl(_e),Pi=_e.title.includes(": ")?_e.title.split(": ").slice(1).join(": "):_e.title;return r.jsxs(Qe,{onClick:()=>zt(_e),className:"flex items-center gap-2",children:[r.jsx("img",{src:Di,alt:"",className:"size-4 shrink-0 rounded-sm dark:bg-white dark:p-px"}),r.jsx("span",{className:"flex-1 text-sm truncate",children:Pi}),Vs&&r.jsx(Mt,{size:14,className:"text-blue-500 shrink-0"})]},_e.modelId)})})]}),e[14]=V,e[15]=O,e[16]=I,e[17]=h,e[18]=T,e[19]=s,e[20]=d,e[21]=w,e[22]=D,e[23]=z,e[24]=A,e[25]=i,e[26]=o,e[27]=l,e[28]=R,e[29]=E,e[30]=M,e[31]=k,e[32]=N,e[33]=$,e[34]=q,e[35]=F,e[36]=W,e[37]=H,e[38]=U,e[39]=X,e[40]=K,e[41]=G,e[42]=ie,e[43]=te,e[44]=J,e[45]=ae}else $=e[33],q=e[34],F=e[35],W=e[36],H=e[37],U=e[38],X=e[39],K=e[40],G=e[41],ie=e[42],te=e[43],J=e[44],ae=e[45];let Z;e[96]===Symbol.for("react.memo_cache_sentinel")?(Z=r.jsxs(Pd,{className:"gap-2",children:[r.jsx("span",{className:"flex size-4 items-center justify-center text-base font-medium text-muted-foreground",children:"/"}),r.jsx("span",{className:"flex-1",children:"Prompts"})]}),e[96]=Z):Z=e[96];let de;e[97]!==H||e[98]!==x||e[99]!==y?(de=x?r.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-sm text-muted-foreground",children:[r.jsx(Ne,{size:14,className:"animate-spin"}),"Loading prompts…"]}):y.length===0?r.jsx("div",{className:"px-2 py-3 text-sm text-muted-foreground",children:"No prompts available"}):y.map(ee=>r.jsxs(Qe,{onClick:()=>H(ee),className:"flex flex-col items-start gap-0.5",children:[r.jsx("span",{className:"font-medium text-sm capitalize",children:ee.title||kn(ee.name,Ls(ee._meta))}),ee.description&&r.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:ee.description})]},ee.name)),e[97]=H,e[98]=x,e[99]=y,e[100]=de):de=e[100];let fe;e[101]!==de?(fe=r.jsxs(Qr,{children:[Z,r.jsx(Zr,{className:"w-80 max-h-72 overflow-y-auto p-1.5",children:de})]}),e[101]=de,e[102]=fe):fe=e[102];let ye,ge;e[103]===Symbol.for("react.memo_cache_sentinel")?(ye=r.jsx(_p,{size:16}),ge=r.jsx("span",{className:"flex-1",children:"Connections"}),e[103]=ye,e[104]=ge):(ye=e[103],ge=e[104]);let ce;e[105]===Symbol.for("react.memo_cache_sentinel")?(ce=r.jsx(j.Suspense,{children:r.jsx(s1,{})}),e[105]=ce):ce=e[105];let ue;e[106]!==F?(ue=r.jsxs(Qe,{onClick:F,children:[ye,ge,ce]}),e[106]=F,e[107]=ue):ue=e[107];let be;e[108]!==$||e[109]!==U||e[110]!==X||e[111]!==fe||e[112]!==ue||e[113]!==te||e[114]!==J||e[115]!==ae?(be=r.jsxs($,{align:te,className:J,children:[ae,U,X,fe,ue]}),e[108]=$,e[109]=U,e[110]=X,e[111]=fe,e[112]=ue,e[113]=te,e[114]=J,e[115]=ae,e[116]=be):be=e[116];let pe;e[117]!==q||e[118]!==K||e[119]!==G||e[120]!==ie||e[121]!==be?(pe=r.jsxs(q,{open:K,onOpenChange:G,children:[ie,be]}),e[117]=q,e[118]=K,e[119]=G,e[120]=ie,e[121]=be,e[122]=pe):pe=e[122];let Ce;e[123]!==V||e[124]!==W?(Ce=r.jsx(Ga,{prompt:V,setPrompt:C,onSubmit:W}),e[123]=V,e[124]=W,e[125]=Ce):Ce=e[125];let Ie;return e[126]!==pe||e[127]!==Ce?(Ie=r.jsxs(r.Fragment,{children:[pe,Ce]}),e[126]=pe,e[127]=Ce,e[128]=Ie):Ie=e[128],Ie}function n1(t){const e=t.modelId.toLowerCase().replace(/[^a-z0-9]/g,"");return e.includes("sonar")||e.includes("deepresearch")}function o1(t){return t.capabilities?.includes("image")}function a1({open:t,onOpenChange:e,onCreated:s}){const{org:i}=xe(),{data:n}=dt.useSession(),{stdioEnabled:o}=Of(),a=ms(),l=Mn(),c=ah(),u=lh(c,"").items,h=Ai({resolver:gr(Dp),defaultValues:{title:"",description:null,icon:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),f=h.watch("ui_type"),m=h.watch("connection_url"),p=h.watch("npx_package"),g=Lr({uiType:f,connectionUrl:m??"",npxPackage:p??""})??kl({uiType:f,connectionUrl:m??"",registryItems:u}),_=S=>{const w=S.trim();if(!w)return;const k=!!h.formState.dirtyFields.title,T=!!h.formState.dirtyFields.description,M=!!h.formState.dirtyFields.env_vars,I=N=>{if(N&&(!k&&!h.getValues("title").trim()&&N.title&&h.setValue("title",N.title,{shouldDirty:!1}),!T&&!(h.getValues("description")??"").trim()&&N.description&&h.setValue("description",N.description,{shouldDirty:!1}),!M&&N.envVarKeys?.length)){const A=h.getValues("env_vars")??[],D=new Set(A.map(R=>R.key)),L=N.envVarKeys.filter(R=>!D.has(R));L.length>0&&h.setValue("env_vars",[...A,...L.map(R=>({key:R,value:""}))],{shouldDirty:!0})}},E=Lp(w);if(E&&o){h.setValue("ui_type","NPX",{shouldDirty:!0}),h.setValue("npx_package",E.packageName,{shouldDirty:!0}),h.setValue("connection_url","",{shouldDirty:!0}),h.setValue("connection_token",null,{shouldDirty:!0}),I(Lr({uiType:"NPX",npxPackage:E.packageName}));return}if(w.startsWith("http://")||w.startsWith("https://")){const N=f==="HTTP"||f==="SSE"||f==="Websocket"?f:"HTTP";h.setValue("ui_type",N,{shouldDirty:!0}),h.setValue("connection_url",w,{shouldDirty:!0}),I(Lr({uiType:N,connectionUrl:w})??kl({uiType:N,connectionUrl:w,registryItems:u}));return}f==="NPX"&&I(Lr({uiType:"NPX",npxPackage:w}))},v=S=>{S||h.reset(),e(S)},x=async S=>{let w,k=null,T=null,M=null;S.ui_type==="NPX"?(w="STDIO",k="",M=Op(S.npx_package||"",S.env_vars||[])):S.ui_type==="STDIO"?(w="STDIO",k="",M=Bp(S.stdio_command||"",S.stdio_args||"",S.stdio_cwd,S.env_vars||[])):(w=S.ui_type,k=S.connection_url||"",T=S.connection_token||null);const I=dh("conn");try{await l.create.mutateAsync({id:I,title:S.title,description:S.description||null,connection_type:w,connection_url:k,connection_token:T,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:n?.user?.id||"system",organization_id:i.id,icon:S.icon??null,app_name:null,app_id:null,connection_headers:M,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),h.reset(),e(!1),s?.(I)}catch{he.error("Failed to create connection")}},b="Create Connection",y="Create a custom connection in your organization. Fill in the details below.",V=h.formState.isSubmitting?"Saving...":"Create Connection",C=r.jsxs("div",{className:"grid gap-4",children:[r.jsx(gt,{control:h.control,name:"ui_type",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"Type *"}),r.jsxs(Rs,{value:S.value,onValueChange:S.onChange,children:[r.jsx(xt,{children:r.jsx(Ms,{children:r.jsx(Ds,{})})}),r.jsxs(Ts,{children:[r.jsx(Nt,{value:"HTTP",children:r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(vi,{className:"w-4 h-4"}),"HTTP"]})}),r.jsx(Nt,{value:"SSE",children:r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(vi,{className:"w-4 h-4"}),"SSE"]})}),r.jsx(Nt,{value:"Websocket",children:r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(vi,{className:"w-4 h-4"}),"Websocket"]})}),o&&r.jsxs(r.Fragment,{children:[r.jsx(Nt,{value:"NPX",children:r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(en,{className:"w-4 h-4"}),"NPX Package"]})}),r.jsx(Nt,{value:"STDIO",children:r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(Ia,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),r.jsx(vt,{})]})}),f==="NPX"&&r.jsx(gt,{control:h.control,name:"npx_package",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"NPM Package *"}),r.jsx(xt,{children:r.jsx(at,{placeholder:"@perplexity-ai/mcp-server",...S,value:S.value??"",onPaste:w=>{const k=w.clipboardData.getData("text");k&&(w.preventDefault(),h.setValue("npx_package",k.trim(),{shouldDirty:!0}),_(k))},onBlur:w=>{_(w.target.value),S.onBlur()}})}),r.jsx(vt,{})]})}),f==="STDIO"&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[r.jsx(gt,{control:h.control,name:"stdio_command",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"Command *"}),r.jsx(xt,{children:r.jsx(at,{placeholder:"node, bun, python...",...S,value:S.value??""})}),r.jsx(vt,{})]})}),r.jsx(gt,{control:h.control,name:"stdio_args",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"Arguments"}),r.jsx(xt,{children:r.jsx(at,{placeholder:"arg1 arg2 --flag value",...S,value:S.value??""})}),r.jsx(vt,{})]})})]}),r.jsx(gt,{control:h.control,name:"stdio_cwd",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"Working Directory"}),r.jsx(xt,{children:r.jsx(at,{placeholder:"/path/to/project (optional)",...S,value:S.value??""})}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),r.jsx(vt,{})]})})]}),(f==="NPX"||f==="STDIO")&&r.jsx(gt,{control:h.control,name:"env_vars",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"Environment Variables"}),r.jsx(xt,{children:r.jsx(Pp,{value:S.value??[],onChange:S.onChange})}),r.jsx(vt,{})]})}),f!=="NPX"&&f!=="STDIO"&&r.jsxs(r.Fragment,{children:[r.jsx(gt,{control:h.control,name:"connection_url",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"URL *"}),r.jsx(xt,{children:r.jsx(at,{placeholder:"https://example.com/mcp",...S,value:S.value??"",onPaste:w=>{const k=w.clipboardData.getData("text");k&&(w.preventDefault(),h.setValue("connection_url",k.trim(),{shouldDirty:!0}),_(k))},onBlur:w=>{_(w.target.value),S.onBlur()}})}),r.jsx(vt,{})]})}),r.jsx(gt,{control:h.control,name:"connection_token",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:g?.token?.label??"Token (optional)"}),r.jsx(xt,{children:r.jsx(at,{type:"password",placeholder:g?.token?.placeholder??"Bearer token or API key",className:"ph-no-capture",...S,value:S.value??""})}),g?.token?.helperText&&r.jsxs("p",{className:"text-xs text-muted-foreground",children:[g.token.helperText,g.id==="github"&&r.jsxs(r.Fragment,{children:[" ","·"," ",r.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),r.jsx(vt,{})]})})]}),r.jsx(gt,{control:h.control,name:"title",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"Name *"}),r.jsx(xt,{children:r.jsx(at,{placeholder:"My Connection",...S})}),r.jsx(vt,{})]})}),r.jsx(gt,{control:h.control,name:"description",render:({field:S})=>r.jsxs(_t,{children:[r.jsx(Ht,{children:"Description"}),r.jsx(xt,{children:r.jsx(To,{placeholder:"A brief description of this connection",rows:3,...S,value:S.value??""})}),r.jsx(vt,{})]})})]});return a?r.jsx(ri,{open:t,onOpenChange:v,children:r.jsxs(ii,{className:"max-h-[90vh]",children:[r.jsx(An,{className:"pb-2",children:r.jsxs("div",{className:"flex items-start justify-between gap-4",children:[r.jsxs("div",{className:"flex-1 text-left",children:[r.jsx(si,{children:b}),r.jsx(Fm,{className:"mt-1",children:y})]}),r.jsx(Um,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",className:"shrink-0 -mt-1",children:r.jsx(Os,{size:16})})})]})}),r.jsx(yi,{...h,children:r.jsxs("form",{onSubmit:h.handleSubmit(x),children:[r.jsx("div",{className:"overflow-y-auto px-4 pb-4",children:C}),r.jsx(Hm,{children:r.jsx(oe,{type:"submit",disabled:h.formState.isSubmitting,className:"w-full",children:V})})]})})]})}):r.jsx(Bt,{open:t,onOpenChange:v,children:r.jsxs(Ot,{className:"sm:max-w-[525px]",children:[r.jsxs(Gt,{children:[r.jsx(qt,{children:b}),r.jsx(Nn,{children:y})]}),r.jsx(yi,{...h,children:r.jsxs("form",{onSubmit:h.handleSubmit(x),children:[r.jsx("div",{className:"py-4",children:C}),r.jsxs(Na,{children:[r.jsx(oe,{type:"button",variant:"outline",onClick:()=>v(!1),children:"Cancel"}),r.jsx(oe,{type:"submit",disabled:h.formState.isSubmitting,className:"min-w-40",children:V})]})]})})]})})}function l1(t){const e=B.c(79),{mode:s,agentId:i,addedConnectionIds:n,onAdd:o,onCloneAndAdd:a,onConnectAndAdd:l,connectingItemId:c,search:d,onCreateConnection:u,onBrowseNavigate:h,defaultTab:f}=t,m=s===void 0?"add":s,p=f===void 0?"connected":f,{org:g}=xe(),_=j.useDeferredValue(d),v=d!==_;let x;e[0]!==_?(x=_.toLowerCase(),e[0]=_,e[1]=x):x=e[1];const b=x;let y;e[2]!==p?(y=me=>me??p,e[2]=p,e[3]=y):y=e[3];const[V,C]=Va(Ca.connectionsTab(g.slug)+(p==="all"?":home-modal":":agent-modal"),y);let S;e[4]!==V||e[5]!==C?(S=me=>{me!==V&&re("connections_dialog_tab_changed",{to_tab:me}),C(me)},e[4]=V,e[5]=C,e[6]=S):S=e[6];const w=S;let k;e[7]!==g.id?(k={connectionId:yt,orgId:g.id},e[7]=g.id,e[8]=k):k=e[8];const T=Ae(k);let M,I,E;if(e[9]!==T||e[10]!==_||e[11]!==g.id){E=_?.trim()?{operator:"or",conditions:[{field:["title"],operator:"contains",value:_.trim()},{field:["description"],operator:"contains",value:_.trim()}]}:void 0;const me={...E&&{where:E},orderBy:[{field:["updated_at"],direction:"asc"}],limit:100,offset:0},ke=JSON.stringify(me);I=$p,M=Ze.collectionListInfinite(T,g.id,"","CONNECTIONS",ke),e[9]=T,e[10]=_,e[11]=g.id,e[12]=M,e[13]=I,e[14]=E}else M=e[12],I=e[13],E=e[14];let N;e[15]!==T||e[16]!==E?(N=async me=>{const{pageParam:ke}=me,st=ke===void 0?0:ke;return(await T.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{...E&&{where:E},orderBy:[{field:["updated_at"],direction:"asc"}],limit:100,offset:st}})).structuredContent},e[15]=T,e[16]=E,e[17]=N):N=e[17];let A;e[18]!==M||e[19]!==N?(A={queryKey:M,queryFn:N,initialPageParam:0,getNextPageParam:m1,staleTime:3e4},e[18]=M,e[19]=N,e[20]=A):A=e[20];const{data:D,fetchNextPage:L,hasNextPage:R,isFetchingNextPage:P}=I(A),O=D?.pages.flatMap(f1)??[],z=Mp(O),$=new Set(O.filter(u1).map(h1)),q=ah(),F=lh(q,_),W=jl(F.loadMore,F.hasMore,F.isLoadingMore),H=jl(L,R??!1,P),U=V==="all"||!!b,X=U?F.items.filter(me=>{const ke=zp(me);return!(ke&&$.has(ke))}):[],K=X.filter(d1),G=X.filter(c1);let ie;e[21]!==n?(ie=me=>me.some(ke=>n.has(ke.id)),e[21]=n,e[22]=ie):ie=e[22];const te=ie;let J;e[23]!==n||e[24]!==i||e[25]!==c||e[26]!==te||e[27]!==m||e[28]!==o||e[29]!==h||e[30]!==a?(J=(me,ke,st,zt,De)=>{const Yt=te(De),At=De.find(Ct=>!n.has(Ct.id)),Et=De[0];if(m==="browse"){const Ct=nh(Et);return r.jsx(Xn,{connection:{title:ke,icon:st,description:De.length>1?`${De.length} instances`:zt??void 0},fallbackIcon:r.jsx(en,{}),headerActionsAlwaysVisible:!0,headerActions:r.jsxs(Nl,{variant:"secondary",className:"text-xs gap-1 font-normal",children:[r.jsx(Mt,{size:11})," Connected"]}),onClick:()=>{re("connection_browse_clicked",{app_name:Et.app_name??null,connection_id:Et.id,instances_count:De.length}),h?.(Ct)}},me)}return r.jsx(Xn,{connection:{title:ke,icon:st,description:zt},fallbackIcon:r.jsx(en,{}),headerActionsAlwaysVisible:!0,headerActions:r.jsxs("div",{className:"flex items-center gap-1.5",children:[Yt&&r.jsxs(Nl,{variant:"secondary",className:"text-xs gap-1 font-normal",children:[r.jsx(Mt,{size:11})," Added"]}),r.jsx(oe,{variant:"outline",size:"sm",className:"h-7 px-3 text-xs font-medium",disabled:c!==null,onClick:Ct=>{Ct.stopPropagation(),At?(re("connection_add_clicked",{action:"use_existing",app_name:Et.app_name??null,connection_id:At.id}),i&&re("agent_connection_attached",{agent_id:i,connection_id:At.id,app_name:Et.app_name??null,mode:"existing"}),o(At.id)):(re("connection_add_clicked",{action:"clone",app_name:Et.app_name??null,base_connection_id:Et.id}),a(Et))},children:"Add"})]})},me)},e[23]=n,e[24]=i,e[25]=c,e[26]=te,e[27]=m,e[28]=o,e[29]=h,e[30]=a,e[31]=J):J=e[31];const ae=J;let Z;e[32]!==c||e[33]!==m||e[34]!==l?(Z=me=>{const ke=me._meta?.["mcp.mesh"],st=ke?.friendlyName||ke?.friendly_name||me.server?.title||me.title||me.server?.name||me.name||me.id||"",zt=me.server?.description||me.description||null,De=me.server?.icons?.[0]?.src||Up(me.server?.repository)||null;return r.jsx(Xn,{connection:{title:st,description:zt,icon:De},fallbackIcon:r.jsx(en,{}),headerActionsAlwaysVisible:!0,headerActions:r.jsx(oe,{variant:"outline",size:"sm",className:"h-7 px-3 text-xs font-medium",disabled:c!==null,onClick:Yt=>{Yt.stopPropagation(),re("connection_add_clicked",{action:"connect_new",registry_item_id:me.id,app_name:me._meta?.["mcp.mesh"]?.friendlyName||me.server?.name||me.name||null}),l(me)},children:c===me.id?r.jsx(Ne,{size:14,className:"animate-spin"}):m==="browse"?"Connect":"Add"})},`catalog-${me.id}`)},e[32]=c,e[33]=m,e[34]=l,e[35]=Z):Z=e[35];const de=Z;let fe;e[36]!==V||e[37]!==w||e[38]!==u||e[39]!==b?(fe=!b&&r.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border shrink-0",children:[r.jsx(ch,{tabs:[{id:"all",label:"All"},{id:"connected",label:"Connected"}],activeTab:V,onTabChange:me=>w(me)}),r.jsxs(oe,{variant:"outline",size:"sm",className:"h-7 px-2 text-sm",onClick:()=>{re("connections_dialog_custom_clicked"),u()},children:[r.jsx(Dt,{size:12}),"Custom Connection"]})]}),e[36]=V,e[37]=w,e[38]=u,e[39]=b,e[40]=fe):fe=e[40];const ye=v&&"opacity-50 pointer-events-none";let ge;e[41]!==ye?(ge=Y("flex-1 overflow-auto p-5 transition-opacity duration-150",ye),e[41]=ye,e[42]=ge):ge=e[42];const ce="grid grid-cols-[repeat(auto-fill,minmax(260px,1fr))] gap-4";let ue;e[43]!==ae?(ue=me=>{if(me.type==="group")return ae(me.key,me.title,me.icon,null,me.connections);const ke=me.connection;return ae(ke.id,ke.title,ke.icon,ke.description??null,[ke])},e[43]=ae,e[44]=ue):ue=e[44];const be=z.map(ue);let pe;e[45]!==H?(pe=r.jsx("div",{ref:H,className:"col-span-full h-1"}),e[45]=H,e[46]=pe):pe=e[46];let Ce;e[47]!==P?(Ce=P&&r.jsx("div",{className:"col-span-full flex justify-center py-6",children:r.jsx(Ne,{size:24,className:"animate-spin text-muted-foreground"})}),e[47]=P,e[48]=Ce):Ce=e[48];const Ie=U&&K.length>0&&r.jsxs("div",{className:"col-span-full flex items-center gap-2 mt-2",children:[r.jsx(xp,{size:13,className:"text-muted-foreground shrink-0"}),r.jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:"Verified"}),r.jsx("div",{className:"flex-1 h-px bg-border"})]}),ee=U&&K.map(de),se=U&&G.length>0&&r.jsxs("div",{className:"col-span-full flex items-center gap-2 mt-2",children:[r.jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:"All connections"}),r.jsx("div",{className:"flex-1 h-px bg-border"})]}),Ve=U&&G.map(de);let ze;e[49]!==W||e[50]!==q||e[51]!==U?(ze=U&&q.length>0&&r.jsx("div",{ref:W,className:"col-span-full h-1"}),e[49]=W,e[50]=q,e[51]=U,e[52]=ze):ze=e[52];let Fe;e[53]!==F.isLoadingMore||e[54]!==U?(Fe=U&&F.isLoadingMore&&r.jsx("div",{className:"col-span-full flex justify-center py-6",children:r.jsx(Ne,{size:24,className:"animate-spin text-muted-foreground"})}),e[53]=F.isLoadingMore,e[54]=U,e[55]=Fe):Fe=e[55];let ft;e[56]!==be||e[57]!==pe||e[58]!==Ce||e[59]!==Ie||e[60]!==ee||e[61]!==se||e[62]!==Ve||e[63]!==ze||e[64]!==Fe?(ft=r.jsxs("div",{className:ce,children:[be,pe,Ce,Ie,ee,se,Ve,ze,Fe]}),e[56]=be,e[57]=pe,e[58]=Ce,e[59]=Ie,e[60]=ee,e[61]=se,e[62]=Ve,e[63]=ze,e[64]=Fe,e[65]=ft):ft=e[65];let He;e[66]!==V||e[67]!==z.length||e[68]!==G||e[69]!==d||e[70]!==K?(He=z.length===0&&K.length===0&&G.length===0&&r.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:d?`No connections match "${d}"`:V==="connected"?"No connections yet":"No connections available"}),e[66]=V,e[67]=z.length,e[68]=G,e[69]=d,e[70]=K,e[71]=He):He=e[71];let tt;e[72]!==ge||e[73]!==ft||e[74]!==He?(tt=r.jsxs("div",{className:ge,children:[ft,He]}),e[72]=ge,e[73]=ft,e[74]=He,e[75]=tt):tt=e[75];let ht;return e[76]!==fe||e[77]!==tt?(ht=r.jsxs(r.Fragment,{children:[fe,tt]}),e[76]=fe,e[77]=tt,e[78]=ht):ht=e[78],ht}function c1(t){return!t.verified&&!t._meta?.["mcp.mesh"]?.verified&&!t.meta?.verified}function d1(t){return t.verified||t._meta?.["mcp.mesh"]?.verified||t.meta?.verified}function h1(t){return t.app_name}function u1(t){return t.app_name}function f1(t){return t?.items??[]}function m1(t,e){if(t?.hasMore)return e.reduce(p1,0)}function p1(t,e){return t+(e?.items?.length??0)}function Qa({open:t,onOpenChange:e,defaultTab:s,initialSearch:i="",...n}){const o=n.mode??"add",a="agentId"in n?n.agentId:void 0,l="addedConnectionIds"in n?n.addedConnectionIds??new Set:new Set,c="onAdd"in n&&n.onAdd?n.onAdd:w=>{},d=(w,k,T)=>{a&&re("agent_connection_attached",{agent_id:a,connection_id:w,app_name:k,mode:T})},[u,h]=j.useState(null),[f,m]=j.useState(i),[p,g]=j.useState(!1),{org:_}=xe(),{data:v}=dt.useSession(),x=Mn(),b=bt(),y=Oe(),V=w=>{e(!1),y({to:"/$org/settings/connections/$appSlug",params:{org:_.slug,appSlug:w}})},C=async w=>{h(w.app_name??w.id);try{const T=`${w.title.replace(/\s*\(\d+\)\s*$/,"")} (${Date.now().toString(36).slice(-4)})`,I=(await x.create.mutateAsync({title:T,description:w.description??null,connection_type:w.connection_type,connection_url:w.connection_url??null,connection_token:null,icon:w.icon??null,app_name:w.app_name??null,app_id:w.app_id??null,connection_headers:w.connection_headers??null})).id,E=new URL(`/mcp/${I}`,window.location.origin),N=await Zi({url:E.href,token:null});if(N.supportsOAuth&&!N.isAuthenticated){const{token:A,tokenInfo:D,error:L}=await Yr({connectionId:I,scope:"offline_access"});if(L||!A){re("connection_oauth_failed",{connection_id:I,flow:"clone",error:L??"no_token"}),he.error(`Authentication failed: ${L??"no token received"}`),await x.delete.mutateAsync(I);return}if(re("connection_oauth_succeeded",{connection_id:I,flow:"clone"}),D)try{(await fetch(`/api/connections/${I}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:D.accessToken,refreshToken:D.refreshToken,expiresIn:D.expiresIn,scope:D.scope,clientId:D.clientId,clientSecret:D.clientSecret,tokenEndpoint:D.tokenEndpoint})})).ok?await x.update.mutateAsync({id:I,data:{}}):await x.update.mutateAsync({id:I,data:{connection_token:A}})}catch{await x.update.mutateAsync({id:I,data:{connection_token:A}})}else await x.update.mutateAsync({id:I,data:{connection_token:A}});await b.invalidateQueries({queryKey:Ze.isMCPAuthenticated(E.href,null)})}d(I,w.app_name??null,"clone"),c(I)}catch(k){console.error("Failed to add connection:",k),he.error("Failed to add connection")}finally{h(null)}},S=async w=>{if(!(!_||!v?.user?.id)){h(w.id);try{const k=Fp(w,_.id,v.user.id,{remoteIndex:0}),T=k.connection_type==="STDIO",M=!!k.connection_url,I=T&&k.connection_headers&&typeof k.connection_headers=="object"&&"command"in k.connection_headers;if(!M&&!I){he.error("This MCP Server cannot be connected: no connection method available"),h(null);return}const{id:E}=await x.create.mutateAsync(k),N=new URL(`/mcp/${E}`,window.location.origin),A=await Zi({url:N.href,token:null});if(A.supportsOAuth&&!A.isAuthenticated){const{token:D,tokenInfo:L,error:R}=await Yr({connectionId:E,scope:"offline_access"});if(R||!D){re("connection_oauth_failed",{connection_id:E,flow:"connect_new",error:R??"no_token"}),he.error(`Authentication failed: ${R??"no token received"}`),d(E,k.app_name??null,"new"),c(E);return}if(re("connection_oauth_succeeded",{connection_id:E,flow:"connect_new"}),L)try{(await fetch(`/api/connections/${E}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:L.accessToken,refreshToken:L.refreshToken,expiresIn:L.expiresIn,scope:L.scope,clientId:L.clientId,clientSecret:L.clientSecret,tokenEndpoint:L.tokenEndpoint})})).ok?await x.update.mutateAsync({id:E,data:{}}):await x.update.mutateAsync({id:E,data:{connection_token:D}})}catch{await x.update.mutateAsync({id:E,data:{connection_token:D}})}else await x.update.mutateAsync({id:E,data:{connection_token:D}});await b.invalidateQueries({queryKey:Ze.isMCPAuthenticated(N.href,null)}),he.success("Connected and authenticated")}else he.success("Connected");d(E,k.app_name??null,"new"),c(E)}catch(k){console.error("Failed to connect:",k),he.error("Failed to connect")}finally{h(null)}}};return r.jsxs(Bt,{open:t,onOpenChange:e,children:[r.jsxs(Ot,{className:"sm:max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0 overflow-hidden w-[95vw]",children:[r.jsx(Gt,{className:"px-6 pt-5 pb-0 shrink-0",children:r.jsx(qt,{className:"text-base font-semibold",children:o==="browse"?"Connections":"Add Connection"})}),r.jsx("div",{className:"pt-3 shrink-0",children:r.jsx(Id,{value:f,onChange:m,placeholder:"Search connections..."})}),r.jsx(j.Suspense,{fallback:r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(Ne,{size:24,className:"animate-spin text-muted-foreground"})}),children:r.jsx(l1,{mode:o,agentId:a,addedConnectionIds:l,onAdd:c,onCloneAndAdd:C,onConnectAndAdd:S,connectingItemId:u,search:f,onCreateConnection:()=>g(!0),onBrowseNavigate:V,defaultTab:s})})]}),r.jsx(a1,{open:p,onOpenChange:g,onCreated:async w=>{g(!1);const k=new URL(`/mcp/${w}`,window.location.origin),T=await Zi({url:k.href,token:null});if(T.supportsOAuth&&!T.isAuthenticated){const{token:M,tokenInfo:I,error:E}=await Yr({connectionId:w,scope:"offline_access"});if(E||!M){re("connection_oauth_failed",{connection_id:w,flow:"custom_create",error:E??"no_token"}),he.error(`Authentication failed: ${E??"no token received"}`),await x.delete.mutateAsync(w);return}if(re("connection_oauth_succeeded",{connection_id:w,flow:"custom_create"}),I)try{(await fetch(`/api/connections/${w}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:I.accessToken,refreshToken:I.refreshToken,expiresIn:I.expiresIn,scope:I.scope,clientId:I.clientId,clientSecret:I.clientSecret,tokenEndpoint:I.tokenEndpoint})})).ok?await x.update.mutateAsync({id:w,data:{}}):await x.update.mutateAsync({id:w,data:{connection_token:M}})}catch{await x.update.mutateAsync({id:w,data:{connection_token:M}})}else await x.update.mutateAsync({id:w,data:{connection_token:M}});await b.invalidateQueries({queryKey:Ze.isMCPAuthenticated(k.href,null)})}d(w,null,"custom"),c(w),e(!1)}})]})}const g1=[{src:"/connections/github.png",name:"GitHub"},{src:"/connections/gmail.png",name:"Gmail"},{src:"/connections/linear.png",name:"Linear"},{src:"/connections/shopify.png",name:"Shopify"},{src:"/connections/firecrawl.png",name:"Firecrawl"},{src:"/connections/perplexity.png",name:"Perplexity"}];function _1(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"flex items-center -space-x-1",children:g1.map(x1)}),t[0]=e):e=t[0],e}function x1(t){return r.jsx("img",{src:t.src,alt:t.name,className:"size-5 rounded-sm ring-2 ring-muted object-cover bg-white"},t.name)}function v1(t){const e=B.c(6),{onClick:s}=t;let i,n,o,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=Y("group relative z-10 flex items-center gap-3 w-full px-4 py-3","rounded-b-2xl","cursor-pointer"),n=r.jsx("p",{className:"flex-1 text-xs text-muted-foreground truncate text-left",children:"Connect tools and get more done"}),o=r.jsx(_1,{}),a=r.jsx($a,{size:14,className:"shrink-0 text-muted-foreground/60 group-hover:text-muted-foreground transition-colors"}),e[0]=i,e[1]=n,e[2]=o,e[3]=a):(i=e[0],n=e[1],o=e[2],a=e[3]);let l;return e[4]!==s?(l=r.jsxs("button",{type:"button",onClick:s,className:i,children:[n,o,a]}),e[4]=s,e[5]=l):l=e[5],l}const Ki=48;function b1(){const t=B.c(9),[e,s]=j.useState("idle"),[i,n]=j.useState(""),[o,a]=j.useState(""),[l,c]=j.useState(w1),d=j.useRef(null),u=j.useRef(null),h=j.useRef(null),f=j.useRef(null),m=j.useRef(0),p=j.useRef(!1),g=j.useRef(""),_=j.useRef(""),v=typeof window<"u"&&!!(window.SpeechRecognition||window.webkitSpeechRecognition);let x;t[0]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{m.current&&(cancelAnimationFrame(m.current),m.current=0),u.current?.close().catch(S1),f.current?.getTracks().forEach(y1),h.current=null,u.current=null,f.current=null},t[0]=x):x=t[0];const b=x;let y;if(t[1]===Symbol.for("react.memo_cache_sentinel")){const M=I=>{f.current=I;const E=new AudioContext;u.current=E;const N=E.createMediaStreamSource(I),A=E.createAnalyser();A.fftSize=128,A.smoothingTimeConstant=.8,N.connect(A),h.current=A;const D=new Uint8Array(A.frequencyBinCount),L=()=>{if(!h.current)return;h.current.getByteFrequencyData(D);const R=[];for(let P=0;P<Ki;P++){const O=Math.floor(P/Ki*D.length);R.push(Math.max(.04,(D[O]??0)/255))}c(R),m.current=requestAnimationFrame(L)};L()};y=async()=>{const I=window.SpeechRecognition||window.webkitSpeechRecognition;if(!I){s("unsupported");return}let E;try{E=await navigator.mediaDevices.getUserMedia({audio:!0})}catch{s("permission-denied");return}n(""),a(""),_.current="",g.current="",p.current=!0,s("recording"),M(E);const N=new I;d.current=N,N.interimResults=!0,N.continuous=!0,N.lang=navigator.language||"en-US",N.onresult=A=>{let D="",L="";for(let R=A.resultIndex;R<A.results.length;R++){const P=A.results[R],O=P?.[0]?.transcript??"";P?.isFinal?L=L+O:D=D+O}L&&(g.current=g.current+L,n(g.current)),_.current=D,a(D)},N.onend=()=>{if(p.current)try{N.start()}catch{}};try{N.start()}catch{s("idle")}},t[1]=y}else y=t[1];const V=y;let C;t[2]===Symbol.for("react.memo_cache_sentinel")?(C=()=>{p.current=!1,d.current?.stop(),b(),s("idle"),c(Array(Ki).fill(.05)),a("");const M=(g.current+(_.current?" "+_.current:"")).trim();return n(""),g.current="",_.current="",M},t[2]=C):C=t[2];const S=C;let w;t[3]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{p.current=!1,d.current?.abort(),b(),s("idle"),n(""),a(""),c(Array(Ki).fill(.05)),g.current="",_.current=""},t[3]=w):w=t[3];const k=w;let T;return t[4]!==o||t[5]!==e||t[6]!==i||t[7]!==l?(T={status:e,transcript:i,interimTranscript:o,waveformData:l,isSupported:v,startRecording:V,stopRecording:S,cancelRecording:k},t[4]=o,t[5]=e,t[6]=i,t[7]=l,t[8]=T):T=t[8],T}function y1(t){return t.stop()}function S1(){}function w1(){return Array(Ki).fill(.05)}function V1(t){const e=B.c(4),{data:s}=t;let i;e[0]!==s?(i=s.map(C1),e[0]=s,e[1]=i):i=e[1];let n;return e[2]!==i?(n=r.jsx("div",{className:"flex items-center justify-center gap-[2px] h-10 overflow-hidden","aria-hidden":"true",children:i}),e[2]=i,e[3]=n):n=e[3],n}function C1(t,e){return r.jsx("div",{className:"w-[2px] shrink-0 rounded-full bg-chart-2 transition-[height] duration-75 ease-out",style:{height:`${Math.max(4,Math.round(t*40))}px`}},e)}const to=[{value:"fast",label:"Fast",Icon:Fd,description:"Quicker responses"},{value:"smart",label:"Smart",Icon:Da,description:"Balanced quality"},{value:"thinking",label:"Thinking",Icon:Qm,description:"Deeper reasoning"}];function k1(t){const e=B.c(17),{tier:s,onSelect:i}=t;let n;e[0]!==s?(n=to.find(m=>m.value===s)??to[1],e[0]=s,e[1]=n):n=e[1];const o=n,a=o.Icon;let l;e[2]!==a?(l=r.jsx(a,{size:14}),e[2]=a,e[3]=l):l=e[3];let c;e[4]!==o.label?(c=r.jsx("span",{className:"hidden sm:inline",children:o.label}),e[4]=o.label,e[5]=c):c=e[5];let d;e[6]!==l||e[7]!==c?(d=r.jsx(ds,{asChild:!0,children:r.jsxs(oe,{type:"button",variant:"ghost",size:"default",className:"text-muted-foreground hover:text-foreground",children:[l,c]})}),e[6]=l,e[7]=c,e[8]=d):d=e[8];let u;e[9]!==i||e[10]!==s?(u=to.map(m=>{const{value:p,label:g,Icon:_,description:v}=m;return r.jsxs(Qe,{onSelect:()=>i(p),children:[r.jsx(_,{size:16,className:"text-muted-foreground"}),r.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[r.jsx("span",{children:g}),r.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:v})]}),s===p&&r.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:"On"})]},p)}),e[9]=i,e[10]=s,e[11]=u):u=e[11];let h;e[12]!==u?(h=r.jsx(hs,{align:"end",className:"w-52 p-1.5",children:u}),e[12]=u,e[13]=h):h=e[13];let f;return e[14]!==d||e[15]!==h?(f=r.jsxs(cs,{children:[d,h]}),e[14]=d,e[15]=h,e[16]=f):f=e[16],f}function j1(t,e){const s=B.c(5),{editor:i}=jn(),[n,o]=j.useState(!1),a=j.useRef(0);let l,c;return s[0]!==i||s[1]!==e||s[2]!==t?(l=()=>{const d=m=>{m.dataTransfer?.types.includes("Files")&&(m.preventDefault(),a.current=a.current+1,o(!0))},u=m=>{m.preventDefault(),a.current=Math.max(0,a.current-1),a.current===0&&o(!1)},h=N1,f=m=>{if(m.preventDefault(),a.current=0,o(!1),!i||!t||!Tn(t))return;const p=m.dataTransfer?.files;if(!p||p.length===0)return;const{from:g}=i.state.selection;for(const _ of Array.from(p))Ya(i,t,_,g,e)};return window.addEventListener("dragenter",d),window.addEventListener("dragleave",u),window.addEventListener("dragover",h),window.addEventListener("drop",f),()=>{window.removeEventListener("dragenter",d),window.removeEventListener("dragleave",u),window.removeEventListener("dragover",h),window.removeEventListener("drop",f)}},c=[i,t,e],s[0]=i,s[1]=e,s[2]=t,s[3]=l,s[4]=c):(l=s[3],c=s[4]),j.useEffect(l,c),n}function N1(t){t.dataTransfer?.types.includes("Files")&&t.preventDefault()}function A1(t){const e=B.c(11),{selectedModel:s,onUnsupportedFile:i}=t,n=j1(s,i);let o;e[0]!==s?(o=Tn(s),e[0]=s,e[1]=o):o=e[1];const a=o,l=n?"opacity-100":"opacity-0 pointer-events-none",c=a?"border-primary/40 text-primary/70":"border-destructive/30 text-destructive/70";let d;e[2]!==l||e[3]!==c?(d=Y("absolute inset-0 z-20 rounded-xl flex flex-col items-center justify-center gap-2 bg-muted border-2 border-dashed transition-opacity",l,c),e[2]=l,e[3]=c,e[4]=d):d=e[4];let u;e[5]!==s||e[6]!==a?(u=a?r.jsxs(r.Fragment,{children:[r.jsx(Jd,{size:24}),r.jsxs("span",{className:"text-sm font-medium",children:["Drop ",th(s)," here"]})]}):r.jsxs(r.Fragment,{children:[r.jsx(Xd,{size:24}),r.jsx("span",{className:"text-sm font-medium",children:"This model can't read attachments — switch to one with vision or file support"})]}),e[5]=s,e[6]=a,e[7]=u):u=e[7];let h;return e[8]!==d||e[9]!==u?(h=r.jsx("div",{className:d,children:u}),e[8]=d,e[9]=u,e[10]=h):h=e[10],h}function E1({onOpenContextPanel:t,showConnectionsBanner:e=!1}){const{messages:s,isStreaming:i,isRunInProgress:n,sendMessage:o,stop:a}=Ii(),{taskId:l,tasks:c}=Lt(),{selectedModel:d,selectedVirtualMcp:u,isModelsLoading:h,tiptapDocRef:f,imageModel:m,deepResearchModel:p,chatMode:g,setChatMode:_,simpleModeEnabled:v,simpleModeTier:x,setSimpleModeTier:b}=$s(),{data:y}=dt.useSession(),V=y?.user?.id,{org:C}=xe(),S=En(C.id).id,w=Lo(Vl),[k,T]=j.useState(!1),{unsupportedFile:M,onUnsupportedFile:I,clearUnsupportedFile:E}=O_(),N=b1(),A=j.useRef(void 0),D=async()=>{A.current=O,await N.startRecording();const Z=N.status==="recording"?"started":N.status==="unsupported"?"unsupported":N.status==="permission-denied"?"permission_denied":"unknown";re("chat_voice_started",{thread_id:l,outcome:Z})},L=()=>{re("chat_voice_confirmed",{thread_id:l});const Z=N.stopRecording();H.current?.syncVoiceText(A.current,Z),H.current?.focus()},R=()=>{re("chat_voice_cancelled",{thread_id:l}),N.cancelRecording(),H.current?.restoreContent(A.current)};j.useEffect(()=>{if(N.status!=="recording")return;const Z=(N.transcript+(N.interimTranscript?" "+N.interimTranscript:"")).trim();H.current?.syncVoiceText(A.current,Z)},[N.transcript,N.interimTranscript,N.status]);const P=c.find(Z=>Z.id===l),[O,z]=j.useState(void 0),$=Z=>{z(Z),f.current=Z},q=j.useRef(l);q.current!==l&&(q.current=l,z(void 0),f.current=void 0);const W=[...s].reverse().find(Z=>Z.role==="assistant")?.metadata?.modelLimits?.contextWindow??d?.limits?.contextWindow,H=j.useRef(null),U=g==="plan";j.useEffect(()=>{const Z=de=>{Md(de)&&de.code==="KeyL"&&(de.preventDefault(),de.shiftKey&&_(g==="plan"?"default":"plan"),H.current?.focus())};return document.addEventListener("keydown",Z),()=>document.removeEventListener("keydown",Z)},[g,_]);const X=Nd(s),K=[...s].reverse().find(Z=>Z.role==="assistant"&&Z.metadata?.usage)?.metadata?.usage,G=K?.contextTokens??(K?.totalTokens??0)-(K?.reasoningTokens??0),ie=Lo(Vl),te=!i&&!!d&&!h&&!$g(O),J=i||n,ae=Z=>{Z?.preventDefault(),i?(re("chat_message_stopped",{thread_id:l}),a()):n?(re("chat_message_stopped",{thread_id:l}),a()):te&&O&&(re("chat_message_sent",{thread_id:l,mode:g,model_id:d?.modelId??null,model_provider:d?.providerId??null,virtual_mcp_id:u?.id??null,submission:Z?"button_or_enter":"programmatic"}),ie(),o(O),$(void 0))};return V&&P?.created_by&&P.created_by!==V?r.jsxs("div",{className:"flex w-full items-center gap-2 px-3 py-2.5 rounded-xl border border-border bg-muted/40 text-muted-foreground",children:[r.jsx(Xd,{size:14,className:"shrink-0"}),r.jsx("span",{className:"text-sm",children:"Read only — you're viewing someone else's thread"})]}):r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"flex flex-col w-full justify-end",children:r.jsxs("div",{className:"relative rounded-2xl w-full flex flex-col",children:[e&&r.jsx("div",{className:"absolute inset-0 rounded-2xl pointer-events-none bg-muted/50"}),r.jsx(Ln,{}),r.jsx(Gh,{tiptapDoc:O,setTiptapDoc:$,disabled:i||!d,enterToSubmit:!0,onSubmit:ae,children:r.jsxs("form",{onSubmit:ae,className:Y("w-full relative rounded-2xl min-h-[110px] md:min-h-[130px] flex flex-col bg-background dark:bg-muted card-shadow"),children:[r.jsx(A1,{selectedModel:d,onUnsupportedFile:I}),r.jsx("div",{className:"group/input relative flex flex-col gap-2 flex-1",children:r.jsx(Yh,{ref:H,disabled:i||!d||N.status==="recording",virtualMcpId:u?.id??S,showFileUploader:!0,selectedModel:d,onUnsupportedFile:I})}),r.jsx("div",{className:"flex items-center justify-between p-2.5 gap-1",children:N.status==="recording"?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"flex-1"}),r.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[r.jsx(V1,{data:N.waveformData.slice(0,28)}),r.jsx("button",{type:"button",onClick:R,className:"flex items-center justify-center size-8 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors","aria-label":"Cancel recording",children:r.jsx(Es,{size:16})}),r.jsx("button",{type:"button",onClick:L,className:"flex items-center justify-center size-8 rounded-lg bg-foreground text-background hover:opacity-80 transition-opacity","aria-label":"Use transcription",children:r.jsx(Mt,{size:16})})]})]}):r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 shrink-0",children:[r.jsx(R_,{selectedModel:d,isStreaming:i,icon:r.jsx(Dt,{size:16}),onUnsupportedFile:I}),r.jsx(r1,{disabled:i,onOpenConnections:()=>{re("connections_dialog_opened",{source:"tools_popover",mode:"add"}),T(!0)},virtualMcpId:u?.id??S}),U&&r.jsxs("button",{type:"button",onClick:()=>{w(),re("chat_mode_changed",{from_mode:"plan",to_mode:"default",source:"pill_dismiss"}),_("default")},className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 group whitespace-nowrap animate-in fade-in duration-200",children:[r.jsx(Yd,{size:14,className:"shrink-0"}),"Plan mode",r.jsx(Es,{size:14,className:"shrink-0 hidden group-hover:block"})]}),g==="gen-image"&&m&&r.jsxs("button",{type:"button",onClick:()=>{w(),re("chat_mode_changed",{from_mode:"gen-image",to_mode:"default",source:"pill_dismiss"}),_("default")},className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-pink-600 dark:text-pink-400 hover:bg-pink-500/10 group whitespace-nowrap animate-in fade-in duration-200",children:[r.jsx(Io,{size:14,className:"shrink-0"}),r.jsx("span",{className:"max-w-[120px] truncate",children:v?"Create image":m.title.includes(": ")?m.title.split(": ").slice(1).join(": "):m.title}),r.jsx(Es,{size:14,className:"shrink-0 hidden group-hover:block"})]}),g==="web-search"&&p&&r.jsxs("button",{type:"button",onClick:()=>{w(),re("chat_mode_changed",{from_mode:"web-search",to_mode:"default",source:"pill_dismiss"}),_("default")},className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-500/10 group whitespace-nowrap animate-in fade-in duration-200",children:[r.jsx(vi,{size:14,className:"shrink-0"}),r.jsx("span",{className:"max-w-[120px] truncate",children:v?"Web search":p.title.includes(": ")?p.title.split(": ").slice(1).join(": "):p.title}),r.jsx(Es,{size:14,className:"shrink-0 hidden group-hover:block"})]}),W&&G>0&&r.jsx(Sm,{usage:X,totalTokens:G,contextWindow:W,onOpenContextPanel:t})]}),r.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[v?r.jsx(k1,{tier:x,onSelect:b}):r.jsx(sh,{placeholder:"Model",variant:"borderless",className:"h-8 text-sm py-2 min-w-0"}),N.isSupported&&!i&&!n&&r.jsx(oe,{type:"button",onClick:D,variant:"ghost",size:"icon",className:Y("size-8 rounded-lg transition-colors",N.status==="permission-denied"?"text-destructive hover:text-destructive hover:bg-destructive/10":"text-muted-foreground hover:text-foreground"),title:N.status==="permission-denied"?"Microphone access denied — click to try again":"Voice input",children:r.jsx(Xm,{size:18})}),r.jsx(oe,{type:J?"button":"submit",onClick:Z=>{J&&(Z.preventDefault(),Z.stopPropagation(),a())},variant:te||J?"default":"ghost",size:"icon",disabled:!te&&!J,className:Y("size-8 rounded-lg transition-all",!te&&!J&&"bg-muted text-muted-foreground hover:bg-muted hover:text-muted-foreground cursor-not-allowed"),title:i?"Stop generating":n?"Cancel run":"Send message (Enter)",children:J?r.jsx(Jm,{size:20}):r.jsx(Od,{size:20})})]})]})})]})},l),e&&r.jsx(v1,{onClick:()=>{re("connections_banner_clicked",{source:"home_chat_input"}),re("connections_dialog_opened",{source:"home_banner",mode:"add"}),T(!0)}})]})}),r.jsx(Qa,{mode:"browse",open:k,onOpenChange:T,defaultTab:"all"}),r.jsx(D_,{info:M,onClose:E})]})}const I1={usd:[{dollars:10,label:"Starter"},{dollars:20,label:"Popular"},{dollars:100,label:"Best value"}],brl:[{dollars:50,label:"Starter"},{dollars:100,label:"Popular"},{dollars:500,label:"Best value"}]};function Xh(t){return`deco-credits-empty-dismissed:${t}`}function T1(t){try{return localStorage.getItem(Xh(t))==="1"}catch{return!1}}function R1(){const t=B.c(49),{org:e}=xe(),s=Oe(),{decoKeyId:i}=Pn();let n;t[0]!==e.id?(n={connectionId:yt,orgId:e.id},t[0]=e.id,t[1]=n):n=t[1];const o=Ae(n),[a,l]=j.useState(!0),[c,d]=j.useState(""),[u,h]=j.useState(!1),[f,m]=j.useState("usd"),p=f==="brl"?"R$":"$";let g;t[2]!==e.id?(g=()=>{re("credits_empty_state_dismissed",{organization_id:e.id}),l(!1);try{localStorage.setItem(Xh(e.id),"1")}catch{}},t[2]=e.id,t[3]=g):g=t[3];const _=g;let v,x;t[4]!==a||t[5]!==e.id?(v=()=>{a&&re("credits_empty_state_shown",{organization_id:e.id})},x=[a,e.id],t[4]=a,t[5]=e.id,t[6]=v,t[7]=x):(v=t[6],x=t[7]),j.useEffect(v,x);let b;t[8]!==o||t[9]!==f?(b=async $=>{const q=await o.callTool({name:"AI_PROVIDER_TOPUP_URL",arguments:{providerId:"deco",amountCents:$,currency:f}});if(q?.isError)throw new Error(q.content?.[0]?.text??"Failed to get top-up URL");return q.structuredContent?.url},t[8]=o,t[9]=f,t[10]=b):b=t[10];let y;t[11]!==_?(y=$=>{$&&window.open($,"_blank","noopener,noreferrer"),_()},t[11]=_,t[12]=y):y=t[12];let V;t[13]!==b||t[14]!==y?(V={mutationFn:b,onSuccess:y,onError:D1},t[13]=b,t[14]=y,t[15]=V):V=t[15];const{mutate:C,isPending:S}=Ni(V),w=parseFloat(c),k=!isNaN(w)&&w>=1;if(!a)return null;let T;t[16]!==_?(T=$=>!$&&_(),t[16]=_,t[17]=T):T=t[17];let M;t[18]===Symbol.for("react.memo_cache_sentinel")?(M=r.jsx("div",{className:"absolute inset-x-0 top-0 h-24 bg-gradient-to-b from-amber-500/8 to-transparent pointer-events-none rounded-t-lg"}),t[18]=M):M=t[18];let I;t[19]===Symbol.for("react.memo_cache_sentinel")?(I=r.jsx("div",{className:"flex items-center justify-center size-11 rounded-full bg-amber-100 dark:bg-amber-900/40 border border-amber-200/60 dark:border-amber-800/40 mx-auto",children:r.jsx(Ta,{size:20,className:"text-amber-600 dark:text-amber-400"})}),t[19]=I):I=t[19];let E;t[20]===Symbol.for("react.memo_cache_sentinel")?(E=r.jsxs("div",{className:"relative px-6 pt-7 pb-5",children:[M,r.jsxs(Gt,{className:"relative gap-3",children:[I,r.jsxs("div",{className:"text-center",children:[r.jsx(qt,{className:"text-lg font-semibold",children:"This workspace has no credits"}),r.jsx(Nn,{className:"mt-2 text-[13px] leading-relaxed max-w-[320px] mx-auto",children:"Your free credits were used in another workspace. Add credits to use AI here."})]})]})]}),t[20]=E):E=t[20];let N;t[21]!==f||t[22]!==p||t[23]!==c||t[24]!==w||t[25]!==i||t[26]!==k||t[27]!==S||t[28]!==u||t[29]!==C?(N=i&&r.jsxs("div",{className:"px-6 pb-5",children:[r.jsx("div",{className:"mb-4",children:r.jsxs(Zd,{type:"single",variant:"outline",size:"sm",value:f,onValueChange:$=>{$&&m($)},children:[r.jsx(un,{value:"usd",className:"h-8 px-3 text-xs",children:"USD"}),r.jsx(un,{value:"brl",className:"h-8 px-3 text-xs",children:"BRL"})]})}),r.jsx("div",{className:"grid grid-cols-3 gap-2.5",children:I1[f].map($=>{const{dollars:q,label:F}=$;return r.jsxs("button",{type:"button",disabled:S,onClick:()=>{re("credits_topup_clicked",{amount_cents:q*100,currency:f,tier_label:F,source:"empty_state"}),C(q*100)},className:Y("relative flex flex-col items-center gap-1 py-6 rounded-xl border transition-all duration-150 cursor-pointer","disabled:opacity-50 disabled:cursor-wait","border-border hover:border-foreground/20 hover:bg-muted/30"),children:[r.jsxs("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:[p,q]}),r.jsx("span",{className:"text-xs text-muted-foreground",children:F})]},q)})}),u?r.jsxs("div",{className:"flex gap-2 mt-3",children:[r.jsxs("div",{className:"relative flex-1",children:[r.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:p}),r.jsx(at,{type:"number",min:"1",step:"1",placeholder:"50",value:c,onChange:$=>d($.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),r.jsx(oe,{className:"h-10",disabled:!k||S,onClick:()=>{re("credits_topup_clicked",{amount_cents:Math.round(w*100),currency:f,tier_label:"custom",source:"empty_state"}),C(Math.round(w*100))},children:S?"Opening...":"Add"})]}):r.jsx("button",{type:"button",className:"w-full mt-2.5 text-xs text-muted-foreground hover:text-foreground transition-colors py-1",onClick:()=>h(!0),children:"Enter custom amount"})]}),t[21]=f,t[22]=p,t[23]=c,t[24]=w,t[25]=i,t[26]=k,t[27]=S,t[28]=u,t[29]=C,t[30]=N):N=t[30];let A;t[31]!==_||t[32]!==s||t[33]!==e.slug?(A=()=>{s({to:"/$org/settings/ai-providers",params:{org:e.slug}}),_()},t[31]=_,t[32]=s,t[33]=e.slug,t[34]=A):A=t[34];let D;t[35]===Symbol.for("react.memo_cache_sentinel")?(D=r.jsx(In,{size:12,className:"transition-transform duration-150 group-hover:translate-x-0.5"}),t[35]=D):D=t[35];let L;t[36]!==A?(L=r.jsxs("button",{type:"button",className:"group flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:A,children:["Use your own provider",D]}),t[36]=A,t[37]=L):L=t[37];let R;t[38]!==_?(R=r.jsx(oe,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:_,children:"Skip for now"}),t[38]=_,t[39]=R):R=t[39];let P;t[40]!==L||t[41]!==R?(P=r.jsxs("div",{className:"px-6 py-3.5 border-t border-border bg-muted/30 flex items-center justify-between",children:[L,R]}),t[40]=L,t[41]=R,t[42]=P):P=t[42];let O;t[43]!==N||t[44]!==P?(O=r.jsxs(Ot,{className:"sm:max-w-[500px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:M1,children:[E,N,P]}),t[43]=N,t[44]=P,t[45]=O):O=t[45];let z;return t[46]!==O||t[47]!==T?(z=r.jsx(Bt,{open:!0,onOpenChange:T,children:O}),t[46]=O,t[47]=T,t[48]=z):z=t[48],z}function M1(t){return t.preventDefault()}function D1(t){he.error(`Top-up failed: ${t.message}`)}function P1(t){const e=B.c(6),{balanceDollars:s}=t;let i;e[0]!==s?(i=s.toFixed(2),e[0]=s,e[1]=i):i=e[1];const n=i;let o,a;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=Y("inline-flex items-center gap-1.5 px-3 py-1 rounded-full","bg-emerald-50 dark:bg-emerald-950/30","border border-emerald-200/60 dark:border-emerald-800/40","animate-in fade-in-0 slide-in-from-bottom-2 duration-300"),a=r.jsx(Ta,{size:13,className:"text-emerald-600 dark:text-emerald-400"}),e[2]=o,e[3]=a):(o=e[2],a=e[3]);let l;return e[4]!==n?(l=r.jsxs("div",{className:o,children:[a,r.jsxs("span",{className:"text-xs font-medium text-emerald-700 dark:text-emerald-300 tabular-nums",children:["$",n," in credits to get started"]})]}),e[4]=n,e[5]=l):l=e[5],l}function L1(){const t=B.c(8),{org:e}=xe(),s=Oe();let i;t[0]!==s||t[1]!==e.slug?(i=()=>s({to:"/$org/settings/ai-providers",params:{org:e.slug}}),t[0]=s,t[1]=e.slug,t[2]=i):i=t[2];let n,o,a;t[3]===Symbol.for("react.memo_cache_sentinel")?(n=Y("inline-flex items-center gap-1.5 px-3 py-1 rounded-full cursor-pointer","bg-amber-50 dark:bg-amber-950/30","border border-amber-200/60 dark:border-amber-800/40","hover:bg-amber-100/60 dark:hover:bg-amber-900/30","transition-colors duration-150","animate-in fade-in-0 slide-in-from-bottom-2 duration-300"),o=r.jsx(Bs,{size:13,className:"text-amber-600 dark:text-amber-400"}),a=r.jsx("span",{className:"text-xs font-medium text-amber-700 dark:text-amber-300",children:"No credits remaining · Add more"}),t[3]=n,t[4]=o,t[5]=a):(n=t[3],o=t[4],a=t[5]);let l;return t[6]!==i?(l=r.jsxs("button",{type:"button",onClick:i,className:n,children:[o,a]}),t[6]=i,t[7]=l):l=t[7],l}function O1(t){const e=B.c(11),{className:s}=t;let i;e[0]!==s?(i=Y("flex h-full w-full flex-col bg-background",s),e[0]=s,e[1]=i):i=e[1];let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("div",{className:"size-6 rounded-lg bg-muted animate-pulse"}),e[2]=n):n=e[2];let o;e[3]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsxs("div",{className:"flex items-center gap-3",children:[n,r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsx("div",{className:"h-3.5 w-28 rounded bg-muted animate-pulse"}),r.jsx("div",{className:"h-3 w-40 rounded bg-muted/60 animate-pulse"})]})]}),e[3]=o):o=e[3];let a;e[4]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx("div",{className:"flex items-center h-12 flex-none border-b border-border/80 px-4",children:r.jsxs("div",{className:"flex items-center justify-between gap-3 w-full",children:[o,r.jsxs("div",{className:"flex items-end gap-2",children:[r.jsx("div",{className:"h-6 w-6 rounded-full bg-muted animate-pulse"}),r.jsx("div",{className:"h-6 w-6 rounded-lg bg-muted animate-pulse"})]})]})}),e[4]=a):a=e[4];let l;e[5]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx("div",{className:"flex-1 overflow-hidden px-4 py-4",children:r.jsxs("div",{className:"mx-auto flex w-full max-w-2xl flex-col gap-4",children:[r.jsx(Or,{align:"right",width:"w-3/4"}),r.jsx(Or,{align:"left",width:"w-full",lines:3}),r.jsx(Or,{align:"right",width:"w-2/3"}),r.jsx(Or,{align:"left",width:"w-5/6",lines:2})]})}),e[5]=l):l=e[5];let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx("div",{className:"relative flex flex-1 flex-col gap-2 p-2.5",children:r.jsx("div",{className:"relative flex-1",children:r.jsxs("div",{className:"space-y-2 p-2",children:[r.jsx("div",{className:"h-3 w-full rounded bg-muted/40 animate-pulse"}),r.jsx("div",{className:"h-3 w-4/5 rounded bg-muted/40 animate-pulse"})]})})}),e[6]=c):c=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("div",{className:"flex items-center gap-1",children:r.jsx("div",{className:"size-8 rounded-full bg-muted/60 animate-pulse"})}),e[7]=d):d=e[7];let u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx("div",{className:"px-4 py-4",children:r.jsx("div",{className:"mx-auto w-full max-w-2xl",children:r.jsxs("div",{className:"relative flex min-h-[130px] flex-col rounded-xl bg-background card-shadow",children:[c,r.jsxs("div",{className:"flex items-center justify-between px-2.5 pb-2.5",children:[d,r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("div",{className:"h-8 w-32 rounded-lg bg-muted/60 animate-pulse"}),r.jsx("div",{className:"size-8 rounded-full bg-muted animate-pulse"})]})]})]})})}),e[8]=u):u=e[8];let h;return e[9]!==i?(h=r.jsxs("div",{className:i,children:[a,l,u]}),e[9]=i,e[10]=h):h=e[10],h}function Or(t){const e=B.c(22),{align:s,width:i,lines:n}=t,o=i===void 0?"w-full":i,a=n===void 0?1:n,l=s==="right"?"flex-row-reverse":"flex-row";let c;e[0]!==l?(c=Y("flex w-full gap-4 px-4 py-2",l),e[0]=l,e[1]=c):c=e[1];const d=s==="right"?"ml-auto max-w-3/4 items-end":"w-full items-start";let u;e[2]!==d?(u=Y("flex min-w-0 flex-col gap-2",d),e[2]=d,e[3]=u):u=e[3];let h;e[4]===Symbol.for("react.memo_cache_sentinel")?(h=r.jsx("div",{className:"h-3 w-16 rounded bg-muted/40 animate-pulse"}),e[4]=h):h=e[4];const f=s==="right"?"bg-muted":"bg-transparent border border-border/40";let m;e[5]!==f||e[6]!==o?(m=Y("min-w-0 rounded-2xl p-4",f,o),e[5]=f,e[6]=o,e[7]=m):m=e[7];let p;e[8]!==a?(p=Array.from({length:a}),e[8]=a,e[9]=p):p=e[9];let g;e[10]!==a||e[11]!==p?(g=r.jsx("div",{className:"space-y-2",children:p.map((b,y)=>r.jsx("div",{className:Y("h-3 rounded bg-muted-foreground/20 animate-pulse",y===a-1?"w-3/4":"w-full"),style:{animationDelay:`${y*.1}s`}},y))}),e[10]=a,e[11]=p,e[12]=g):g=e[12];let _;e[13]!==g||e[14]!==m?(_=r.jsx("div",{className:m,children:g}),e[13]=g,e[14]=m,e[15]=_):_=e[15];let v;e[16]!==_||e[17]!==u?(v=r.jsxs("div",{className:u,children:[h,_]}),e[16]=_,e[17]=u,e[18]=v):v=e[18];let x;return e[19]!==v||e[20]!==c?(x=r.jsx("div",{className:c,children:v}),e[19]=v,e[20]=c,e[21]=x):x=e[21],x}function B1(t){const e=B.c(5),{className:s,children:i}=t;let n;e[0]!==s?(n=Y("flex flex-col h-full w-full bg-background transform-[translateZ(0)]",s),e[0]=s,e[1]=n):n=e[1];let o;return e[2]!==i||e[3]!==n?(o=r.jsx("div",{className:n,children:i}),e[2]=i,e[3]=n,e[4]=o):o=e[4],o}function $1(t){const e=B.c(5),{children:s,className:i}=t;let n;e[0]!==i?(n=Y("flex-1 min-h-0 overflow-y-auto isolate",i),e[0]=i,e[1]=n):n=e[1];let o;return e[2]!==s||e[3]!==n?(o=r.jsx("div",{className:n,children:s}),e[2]=s,e[3]=n,e[4]=o):o=e[4],o}function z1(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=r.jsx("div",{className:"h-full w-full flex items-center justify-center max-w-2xl mx-auto",children:s}),e[0]=s,e[1]=i):i=e[1],i}function F1(){const t=B.c(16),{messages:e,status:s}=Ii(),i=wm(e);let n;t[0]!==i?(n=i.at(-1),t[0]=i,t[1]=n):n=t[1];const o=n,a=s==="submitted"||s==="streaming";let l;if(t[2]!==a||t[3]!==o||t[4]!==i||t[5]!==e||t[6]!==s){const c=e.at(-1),d=!a&&c?.role==="assistant"&&c.parts.filter(W1).some(H1),u=!a&&c?.role==="assistant"&&c.parts.some(U1);let h;if(t[8]!==i||t[9]!==s){let m;t[11]!==i.length||t[12]!==s?(m=(p,g)=>r.jsx(_l,{pair:p,isLastPair:!1,status:g===i.length-1?s:void 0},`pair-${p.user.id}`),t[11]=i.length,t[12]=s,t[13]=m):m=t[13],h=i.slice(0,-1).map(m),t[8]=i,t[9]=s,t[10]=h}else h=t[10];let f;t[14]!==h?(f=r.jsx("div",{className:"flex flex-col min-w-0 max-w-2xl mx-auto w-full",children:h}),t[14]=h,t[15]=f):f=t[15],l=r.jsxs("div",{className:"w-full min-w-0 max-w-full overflow-y-auto h-full overflow-x-hidden",children:[f,o&&r.jsx("div",{className:Y("min-h-full min-w-0 max-w-2xl mx-auto w-full",(d||u)&&"pb-60"),children:r.jsx(_l,{pair:o,isLastPair:!0,status:s},`pair-${o?.user.id}`)})]}),t[2]=a,t[3]=o,t[4]=i,t[5]=e,t[6]=s,t[7]=l}else l=t[7];return l}function U1(t){return"state"in t&&t.state==="approval-requested"}function H1(t){return t.state==="input-available"}function W1(t){return t.type==="tool-user_ask"}function K1(t){const e=B.c(5),{children:s,className:i}=t;let n;e[0]!==i?(n=Y("flex-none w-full mx-auto p-2 pt-0","max-w-2xl min-w-0",i),e[0]=i,e[1]=n):n=e[1];let o;return e[2]!==s||e[3]!==n?(o=r.jsx("div",{className:n,children:s}),e[2]=s,e[3]=n,e[4]=o):o=e[4],o}const Ee=Object.assign(B1,{Main:$1,Messages:F1,EmptyState:z1,Footer:K1,Input:E1,Provider:mm,ActiveTaskProvider:fm,Skeleton:O1,IceBreakers:Yg,NoAiProviderEmptyState:wp,CreditsEmptyState:R1,CreditsEyebrow:P1,NoCreditsEyebrow:L1,CreditsExhaustedBanner:Rh}),q1=`You are an image generator agent. Every request of the user is somewhat related to creating, editing or varying an image. You have access to image generation tools
|
|
5
|
-
|
|
6
|
-
These guidelines define how prompts should be structured, specified, and iterated to produce high-quality, controlled image outputs across different use cases.
|
|
7
|
-
|
|
8
|
-
VERY IMPORTANT: The user might not have any image model connected. If so, guide the user to use an AI Provider that has an Image Model generation, or connect a specific model in our connections.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
1. Core Structure
|
|
13
|
-
|
|
14
|
-
Always structure prompts in this order:
|
|
15
|
-
|
|
16
|
-
1. Scene or backdrop
|
|
17
|
-
2. Primary subject
|
|
18
|
-
3. Key visual details
|
|
19
|
-
4. Constraints and invariants
|
|
20
|
-
5. Intended output use or polish level
|
|
21
|
-
|
|
22
|
-
For complex requests, prefer short labeled lines instead of one dense paragraph.
|
|
23
|
-
|
|
24
|
-
Example structure:
|
|
25
|
-
|
|
26
|
-
\`\`\`
|
|
27
|
-
Scene:
|
|
28
|
-
Subject:
|
|
29
|
-
Details:
|
|
30
|
-
Constraints:
|
|
31
|
-
Output intent:
|
|
32
|
-
\`\`\`
|
|
33
|
-
|
|
34
|
-
2. Specificity Policy
|
|
35
|
-
|
|
36
|
-
When the user prompt is already detailed:
|
|
37
|
-
* Normalize it into a clean, well-structured specification.
|
|
38
|
-
* Do not add new creative elements.
|
|
39
|
-
* Do not expand the narrative beyond what is requested.
|
|
40
|
-
|
|
41
|
-
When the user prompt is vague:
|
|
42
|
-
You may add:
|
|
43
|
-
* Composition guidance
|
|
44
|
-
* Lighting clarity
|
|
45
|
-
* Material realism
|
|
46
|
-
* Practical layout support
|
|
47
|
-
* Neutral environmental context
|
|
48
|
-
|
|
49
|
-
Do not add:
|
|
50
|
-
* Extra characters or props
|
|
51
|
-
* Brand identities or slogans
|
|
52
|
-
* Unrequested story elements
|
|
53
|
-
* Arbitrary left/right positioning unless layout requires it
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
3. Composition and Framing
|
|
58
|
-
|
|
59
|
-
Specify composition only when it improves the result.
|
|
60
|
-
|
|
61
|
-
You may define:
|
|
62
|
-
* Camera distance (close-up, medium, wide shot)
|
|
63
|
-
* Perspective (top-down, eye-level, low angle)
|
|
64
|
-
* Framing (centered, rule of thirds)
|
|
65
|
-
* Depth of field
|
|
66
|
-
* Negative space (if needed for UI or text)
|
|
67
|
-
|
|
68
|
-
Avoid unnecessary spatial instructions unless they materially improve clarity.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
4. Visual Fidelity and Style
|
|
73
|
-
|
|
74
|
-
If photorealistic:
|
|
75
|
-
* Use real-world photography language (lens, lighting, texture, shadows)
|
|
76
|
-
* Avoid over-polished or artificial styling unless requested
|
|
77
|
-
|
|
78
|
-
If stylized:
|
|
79
|
-
* Clearly define medium (3D render, oil painting, watercolor, vector, clay)
|
|
80
|
-
* Specify surface finish (matte, glossy, rough, metallic)
|
|
81
|
-
* Define rendering approach (flat, cinematic, painterly)
|
|
82
|
-
|
|
83
|
-
Do not mix realism and stylization unless explicitly requested.
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
5. Constraints and Invariants
|
|
88
|
-
|
|
89
|
-
Explicitly state what must remain unchanged.
|
|
90
|
-
|
|
91
|
-
For edits:
|
|
92
|
-
* "Change only X"
|
|
93
|
-
* "Keep Y unchanged"
|
|
94
|
-
* Repeat critical constraints in every iteration to prevent drift
|
|
95
|
-
|
|
96
|
-
Examples:
|
|
97
|
-
* Keep background unchanged
|
|
98
|
-
* Preserve identity (face, pose, expression)
|
|
99
|
-
* Maintain exact layout and spacing
|
|
100
|
-
* Do not alter proportions
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
6. Text Inside Images
|
|
105
|
-
|
|
106
|
-
When including text in the image:
|
|
107
|
-
|
|
108
|
-
* Put exact text in quotes or ALL CAPS
|
|
109
|
-
* Require verbatim rendering
|
|
110
|
-
* Specify typography (font style, weight, size, color)
|
|
111
|
-
* Define placement
|
|
112
|
-
* State: "No extra characters"
|
|
113
|
-
|
|
114
|
-
If spelling accuracy is critical, clarify it explicitly.
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
7. Working With Reference Images
|
|
119
|
-
|
|
120
|
-
If images are provided:
|
|
121
|
-
|
|
122
|
-
Label each clearly:
|
|
123
|
-
* Image 1: base image (edit target)
|
|
124
|
-
* Image 2: style reference
|
|
125
|
-
* Image 3: composition reference
|
|
126
|
-
|
|
127
|
-
Clarify intent:
|
|
128
|
-
* Generation with reference
|
|
129
|
-
* Direct edit
|
|
130
|
-
* Compositing
|
|
131
|
-
* Style transfer
|
|
132
|
-
|
|
133
|
-
For compositing:
|
|
134
|
-
* Specify what moves where
|
|
135
|
-
* Match lighting, perspective, and scale
|
|
136
|
-
* Preserve original framing unless stated otherwise
|
|
137
|
-
|
|
138
|
-
Never assume a reference image is meant to be modified.
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
8. Iteration Strategy
|
|
143
|
-
|
|
144
|
-
* Start with a clean base prompt.
|
|
145
|
-
* Make small, single-variable adjustments.
|
|
146
|
-
* Re-state key constraints in every revision.
|
|
147
|
-
* Avoid rewriting the entire prompt when refining.
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
9. Use-Case Guidance
|
|
152
|
-
|
|
153
|
-
Photorealistic Image
|
|
154
|
-
* Describe the scene as a real moment
|
|
155
|
-
* Specify natural lighting behavior
|
|
156
|
-
* Emphasize material realism and texture
|
|
157
|
-
|
|
158
|
-
Product Mockup
|
|
159
|
-
* Clear silhouette
|
|
160
|
-
* Accurate materials and surface finish
|
|
161
|
-
* Legible labels
|
|
162
|
-
* Controlled background
|
|
163
|
-
* If text is included: verbatim, no distortion
|
|
164
|
-
|
|
165
|
-
UI Mockup
|
|
166
|
-
* Define fidelity level first (wireframe or production-ready)
|
|
167
|
-
* Focus on layout, hierarchy, spacing
|
|
168
|
-
* Avoid cinematic or fantasy language
|
|
169
|
-
|
|
170
|
-
Infographic or Diagram
|
|
171
|
-
* Define audience
|
|
172
|
-
* Specify layout flow
|
|
173
|
-
* Label sections explicitly
|
|
174
|
-
* Require exact text rendering
|
|
175
|
-
|
|
176
|
-
Logo or Brand Mark
|
|
177
|
-
* Simple and scalable
|
|
178
|
-
* Strong silhouette
|
|
179
|
-
* Balanced negative space
|
|
180
|
-
* No decorative clutter unless requested
|
|
181
|
-
|
|
182
|
-
Illustration or Story Scene
|
|
183
|
-
* Define concrete actions
|
|
184
|
-
* Keep scene readable
|
|
185
|
-
* Avoid unnecessary subplots
|
|
186
|
-
|
|
187
|
-
Historical Scene
|
|
188
|
-
* Specify date and location
|
|
189
|
-
* Constrain clothing, architecture, and props to the correct era
|
|
190
|
-
* Avoid modern artifacts
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
10. Editing Modes
|
|
195
|
-
|
|
196
|
-
Identity Preservation
|
|
197
|
-
* Lock face, body, pose, hair, and expression
|
|
198
|
-
* Change only specified elements
|
|
199
|
-
* Match original lighting and shadows
|
|
200
|
-
|
|
201
|
-
Precise Object Edit
|
|
202
|
-
* Clearly define what is removed or replaced
|
|
203
|
-
* Preserve surrounding texture and lighting
|
|
204
|
-
* Do not alter unrelated elements
|
|
205
|
-
|
|
206
|
-
Lighting or Weather Change
|
|
207
|
-
* Modify only environmental conditions
|
|
208
|
-
* Keep geometry, framing, and identity unchanged
|
|
209
|
-
|
|
210
|
-
Background Extraction
|
|
211
|
-
* Clean cutout
|
|
212
|
-
* Sharp silhouette
|
|
213
|
-
* No halos
|
|
214
|
-
* Preserve original object proportions
|
|
215
|
-
|
|
216
|
-
Style Transfer
|
|
217
|
-
* Specify what stylistic traits must transfer
|
|
218
|
-
* Specify what must remain unchanged
|
|
219
|
-
* Add "no extra elements" to prevent drift
|
|
220
|
-
|
|
221
|
-
Sketch to Render
|
|
222
|
-
* Preserve layout and proportions
|
|
223
|
-
* Enhance materials and lighting
|
|
224
|
-
* Do not add new objects
|
|
225
|
-
|
|
226
|
-
11. Output Intent
|
|
227
|
-
|
|
228
|
-
Include the intended purpose to guide polish level:
|
|
229
|
-
|
|
230
|
-
Examples:
|
|
231
|
-
* Advertising creative
|
|
232
|
-
* Website hero image
|
|
233
|
-
* App store screenshot
|
|
234
|
-
* Social media post
|
|
235
|
-
* Print poster
|
|
236
|
-
* Packaging mockup
|
|
237
|
-
|
|
238
|
-
This helps define finish quality and realism level.
|
|
239
|
-
|
|
240
|
-
## 12. General Quality Rules
|
|
241
|
-
|
|
242
|
-
* Avoid ambiguity.
|
|
243
|
-
* Avoid unnecessary adjectives.
|
|
244
|
-
* Avoid conflicting style instructions.
|
|
245
|
-
* Prefer clarity over poetic language.
|
|
246
|
-
* Keep prompts structured, not verbose.
|
|
247
|
-
* Add detail only when it improves control.
|
|
248
|
-
* Prevent drift by restating critical constraints`,G1=["Turn ideas into detailed, ready-to-use image generation prompts","Offer multiple artistic directions for every concept","Refine prompts iteratively based on your feedback","Advise on style, lighting, composition, and color palette","Support any use case: product shots, illustrations, concept art, and more"];function Jl(t){const e=B.c(7),{onRecruit:s,isRecruiting:i}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("p",{className:"text-sm text-muted-foreground",children:"Add an Image Creator agent that turns your ideas into precise, evocative prompts for any AI image generation tool."}),e[0]=n):n=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("p",{className:"text-sm font-medium text-foreground",children:"Capabilities"}),e[1]=o):o=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsxs("div",{className:"space-y-2",children:[o,r.jsx("ul",{className:"space-y-1.5",children:G1.map(Y1)})]}),e[2]=a):a=e[2];const l=i?"Setting up...":"Add Image Creator";let c;return e[3]!==i||e[4]!==s||e[5]!==l?(c=r.jsxs("div",{className:"flex flex-col gap-6",children:[n,a,r.jsx(oe,{onClick:s,disabled:i,className:"w-full cursor-pointer",children:l})]}),e[3]=i,e[4]=s,e[5]=l,e[6]=c):c=e[6],c}function Y1(t){return r.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[r.jsx("span",{className:"text-rose-500 mt-0.5 shrink-0",children:"+"}),t]},t)}function Jh({open:t,onOpenChange:e,existingAgent:s}){const i=ms(),n=Sr(),o=Oa(),[a,l]=j.useState(!1),c=jt.find(f=>f.id==="ai-image"),d=r.jsx(ps,{icon:c.icon,name:c.title,size:"sm"}),u=async()=>{if(s){e(!1),n(s.id);return}l(!0);try{const f=await o.create.mutateAsync({title:c.title,description:"AI image prompt engineering and visual ideation assistant",icon:c.icon,status:"active",connections:[],metadata:{type:"ai-image",instructions:q1}});re("agent_recruit_confirmed",{template_id:"ai-image",agent_id:f.id}),e(!1),n(f.id)}catch(f){re("agent_recruit_failed",{template_id:"ai-image",error:f instanceof Error?f.message:String(f)}),console.error("Failed to create Image Creator agent:",f)}finally{l(!1)}},h=`Add ${c.title}`;return i?r.jsx(ri,{open:t,onOpenChange:e,children:r.jsxs(ii,{className:"h-[70dvh]",children:[r.jsx(An,{className:"px-4 pt-4 pb-4 shrink-0",children:r.jsxs("div",{className:"flex items-center gap-3",children:[d,r.jsx(si,{className:"text-xl font-semibold",children:h})]})}),r.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 pb-8",children:r.jsx(Jl,{onRecruit:u,isRecruiting:a})})]})}):r.jsx(Bt,{open:t,onOpenChange:e,children:r.jsxs(Ot,{className:"sm:max-w-[500px] p-8",children:[r.jsx(Gt,{className:"mb-4",children:r.jsxs("div",{className:"flex items-center gap-3",children:[d,r.jsx(qt,{className:"text-xl font-semibold",children:h})]})}),r.jsx(Jl,{onRecruit:u,isRecruiting:a})]})})}const X1=`You are a systematic research assistant. You have access to web search tools and user's prompts will have somewhat relation to searching the web. Help users conduct thorough, well-structured research on any topic.
|
|
249
|
-
|
|
250
|
-
VERY IMPORTANT: The user might not have any web research model connected. If so, guide the user to use an AI Provider that has an Web Search generation, or connect a specific model in our connections.
|
|
251
|
-
|
|
252
|
-
When given a research question or topic:
|
|
253
|
-
- Break it down into key sub-questions and define the scope
|
|
254
|
-
- Gather and synthesize information from multiple angles
|
|
255
|
-
- Distinguish clearly between established facts, expert consensus, and contested claims
|
|
256
|
-
- Identify sources, patterns, gaps, and contradictions
|
|
257
|
-
- Deliver findings as clear, structured summaries with actionable insights
|
|
258
|
-
|
|
259
|
-
Approach every request with rigor and intellectual honesty. Always surface what is uncertain or debated, not just what is known.`,J1=["Break any topic into key sub-questions and define scope","Synthesize information from multiple angles and sources","Distinguish facts, expert consensus, and contested claims","Identify gaps, contradictions, and emerging patterns","Deliver structured summaries with actionable insights"];function Ql(t){const e=B.c(7),{onRecruit:s,isRecruiting:i}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("p",{className:"text-sm text-muted-foreground",children:"Add a Web Researcher agent that conducts thorough, rigorous research on any topic and delivers structured, actionable insights."}),e[0]=n):n=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("p",{className:"text-sm font-medium text-foreground",children:"Capabilities"}),e[1]=o):o=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsxs("div",{className:"space-y-2",children:[o,r.jsx("ul",{className:"space-y-1.5",children:J1.map(Q1)})]}),e[2]=a):a=e[2];const l=i?"Setting up...":"Add Web Researcher";let c;return e[3]!==i||e[4]!==s||e[5]!==l?(c=r.jsxs("div",{className:"flex flex-col gap-6",children:[n,a,r.jsx(oe,{onClick:s,disabled:i,className:"w-full cursor-pointer",children:l})]}),e[3]=i,e[4]=s,e[5]=l,e[6]=c):c=e[6],c}function Q1(t){return r.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[r.jsx("span",{className:"text-amber-500 mt-0.5 shrink-0",children:"+"}),t]},t)}function Qh({open:t,onOpenChange:e,existingAgent:s}){const i=ms(),n=Sr(),o=Oa(),[a,l]=j.useState(!1),c=jt.find(f=>f.id==="ai-research"),d=r.jsx(ps,{icon:c.icon,name:c.title,size:"sm"}),u=async()=>{if(s){e(!1),n(s.id);return}l(!0);try{const f=await o.create.mutateAsync({title:c.title,description:"Systematic research and information synthesis assistant",icon:c.icon,status:"active",connections:[],metadata:{type:"ai-research",instructions:X1}});re("agent_recruit_confirmed",{template_id:"ai-research",agent_id:f.id}),e(!1),n(f.id)}catch(f){re("agent_recruit_failed",{template_id:"ai-research",error:f instanceof Error?f.message:String(f)}),console.error("Failed to create Researcher agent:",f)}finally{l(!1)}},h=`Add ${c.title}`;return i?r.jsx(ri,{open:t,onOpenChange:e,children:r.jsxs(ii,{className:"h-[70dvh]",children:[r.jsx(An,{className:"px-4 pt-4 pb-4 shrink-0",children:r.jsxs("div",{className:"flex items-center gap-3",children:[d,r.jsx(si,{className:"text-xl font-semibold",children:h})]})}),r.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 pb-8",children:r.jsx(Ql,{onRecruit:u,isRecruiting:a})})]})}):r.jsx(Bt,{open:t,onOpenChange:e,children:r.jsxs(Ot,{className:"sm:max-w-[500px] p-8",children:[r.jsx(Gt,{className:"mb-4",children:r.jsxs("div",{className:"flex items-center gap-3",children:[d,r.jsx(qt,{className:"text-xl font-semibold",children:h})]})}),r.jsx(Ql,{onRecruit:u,isRecruiting:a})]})})}const Z1='# Broken Link Finder\n\nYou are the **Broken Link Finder**, a specialist agent focused on the health of the site\'s link structure.\n\n## Your mission\n\nDiscover and track broken links and long redirect chains. You are invoked as a sub-task by an orchestrator agent — your job is to detect link health and return a structured findings report. The orchestrator decides what to do with your findings (file issues, dedup, etc.).\n\nYou are **mechanical**: collect → check → classify → emit findings. Leave subjective judgment to other agents.\n\n## Input (expect this in the prompt)\n\nThe orchestrator will pass per-site configuration. Expected fields:\n\n```yaml\nsite_root_url: <https://example.com>\nmax_pages: <optional integer, default 100, max 200>\ncheck_external: <optional bool, default false>\n```\n\nIf required fields are missing (`site_root_url`), return an error summary and stop — do not proceed with defaults or guess.\n\n## Available tools\n\n- **site-diagnostics MCP**:\n - `collect_site_links` — discovers all unique outbound link targets across the site and returns them with source-page attribution. Does NOT check status.\n - `check_urls` — takes a batch of URLs (max 100 per call) and returns their HTTP status, error kind, and redirect chains.\n\n---\n\n## Step 1 — Collect link targets (one call)\n\nCall `collect_site_links` once to get the full deduplicated list of outbound link targets and their source pages:\n\n```\ncollect_site_links({\n url: <site_root_url from input>,\n maxPages: <max_pages from input, default 100>,\n checkExternal: <check_external from input, default false>\n})\n```\n\nThis returns:\n- `links`: array of `{ targetUrl, scope: "internal"|"external", sourcePages, sourcePagesTotal }` — **each target appears exactly once**\n- Metadata: `pagesCrawled`, `pagesFetched`, `linksSkipped`, optional `error`\n\n**If `result.error` is set**, the scan failed at the root (e.g. site unreachable). Return a single finding with `kind: site-unreachable` and the error in `evidence`. Then stop.\n\nKeep the `links` array in memory — you\'ll need it in Step 3 for classification and source attribution.\n\n## Step 2 — Check the targets (batched calls)\n\nExtract `targetUrl` from each entry in `links`. Slice the resulting URL list into **disjoint batches of up to 100 URLs** and call `check_urls` on each batch:\n\n```\ncheck_urls({ urls: batch_of_100_urls })\n```\n\nCollect every batch\'s `results` entries into a single flat array. Order doesn\'t matter — you\'ll join back by `targetUrl`.\n\n**Rules for this step:**\n- Slice deterministically (e.g. consecutive slices of 100) so batches are disjoint. Do not pass the same URL in two batches.\n- Call `check_urls` sequentially or in parallel — your choice. The tool is idempotent.\n- If a single `check_urls` call errors entirely, skip that batch and continue with the others. Note the skipped count in the wrap-up summary.\n\n## Step 3 — Classify each finding\n\nFor every target with a check result, join the `collect_site_links` entry (for `scope`, `sourcePages`, `sourcePagesTotal`) with the `check_urls` entry (for `status`, `errorKind`, `chain`, `hops`).\n\nA finding is emitted for:\n- **Broken**: `status >= 400` OR `status === 0`\n- **Long redirect chain**: `hops > 3` (even if the final status is 2xx)\n\nOther targets (2xx, short-chain redirects) produce no finding.\n\nMap check result → `kind`:\n\n| Check result | `kind` |\n|---|---|\n| `status: 404` | `link-404` |\n| `status: 4xx` (not 404) | `link-4xx-other` |\n| `status: 5xx` | `link-5xx` |\n| `status: 0`, `errorKind: "dns"` | `link-dns-failure` |\n| `status: 0`, `errorKind: "redirect-loop"` | `redirect-loop` |\n| `hops > 3` (success final status) | `redirect-chain-long` |\n| `status: 0`, `errorKind: "timeout"` or `"connection"` | **skip — no finding** |\n\n**Important**: timeouts and connection errors are **not** broken links — they just mean the server didn\'t respond in our time window. Could be a slow server, an overloaded CDN, rate-limiting against our bot, or a transient network blip. Flagging these as broken produces false positives. If a URL is genuinely dead, it\'ll usually surface as `dns`, a 4xx/5xx, or a redirect loop. Skip timeout/connection entries silently.\n\n## Catalog of severity rules\n\n**High severity:**\n- `link-404` when `scope: "internal"`\n- `link-5xx` when `scope: "internal"`\n- `redirect-loop` (either scope)\n\n**Medium severity:**\n- `link-4xx-other` (internal)\n- `redirect-chain-long` (internal)\n- `link-404` (external) when `sourcePagesTotal >= 5`\n\n**Low severity:**\n- `link-404` (external) when `sourcePagesTotal < 5`\n- `link-dns-failure` (external)\n- `redirect-chain-long` (external)\n- `link-4xx-other` on external scope\n\n## Step 4 — Return a structured findings report\n\nReturn a single response with this shape (YAML preferred):\n\n```yaml\nspecialist: links\nsummary:\n pages_crawled: <pagesCrawled>\n pages_fetched: <pagesFetched>\n unique_link_targets: <links.length>\n targets_dropped_by_collect_cap: <linksSkipped>\n batches_checked: <n>\n batches_skipped_due_to_errors: <n>\n broken_links: <n> # internal + external\n long_redirect_chains: <n>\nfindings:\n - kind: <kind slug>\n severity: <low|medium|high>\n target:\n url: <full broken URL>\n route: <path if internal; otherwise the external host>\n scope: <internal | external>\n evidence: |\n - Status code / error: <e.g. `404 Not Found`, `DNS failure`, `redirect-loop`>\n - Redirect chain (if applicable): A → B → C → D → E\n - Found on pages (at time of detection):\n - /page-1\n - /page-2\n - (... up to 20 from `sourcePages`)\n - Total pages linking to this target: <sourcePagesTotal>\n impact: <1 sentence tailored to scope + kind>\n suggested_fix: |\n <actionable:>\n - If internal 404: update link to correct destination OR create 301 redirect\n - If internal 5xx: investigate server-side handler for the route (may be app bug)\n - If redirect chain: shorten to single-hop direct redirect in routing config\n - If external: update link to equivalent resource OR remove the mention\n - List likely files/components if you can infer (e.g. "appears on many pages — likely in a shared component like `app/components/Nav.tsx` or menu config")\n - ...\n```\n\nIf `collect_site_links` returned `error`, return a single `kind: site-unreachable` finding with the error in `evidence`.\n\nIf there are zero findings, return `findings: []` — that is the correct output for a healthy link graph.\n\n---\n\n## General rules\n\n- **Trust the scanner.** If `check_urls` reports a URL as broken or long-chain, emit a finding. Do not re-verify with other tools.\n- **Accept some flakiness.** A transient network blip may cause a false positive once. Downstream dedup across runs resolves it.\n- **Group by destination, not by origin.** One broken URL = one finding, even if linked on 50 pages. `collect_site_links` already returns it grouped this way.\n- **Prioritize internals.** Broken external links are the other site\'s responsibility; report but with lower severity.\n- **Never invent status codes.** Report what the scanner returned.\n',ev='# SEO Auditor\n\nYou are the **SEO Auditor**, a specialist agent focused on technical SEO hygiene.\n\n## Your mission\n\nAudit the on-page SEO health of target URLs and return a structured findings report. You focus on **technical SEO** (meta tags, structured data, canonicals, sitemap/robots, heading structure, indexability) — not editorial content or keyword strategy (those are the scope of other agents).\n\nYou are invoked as a sub-task by an orchestrator agent. Your job is to analyze and report. The orchestrator decides what to do with your findings (file issues, dedup against history, etc.).\n\n## Input (expect this in the prompt)\n\nThe orchestrator will pass per-site configuration. Expected fields:\n\n```yaml\nurls:\n - <url to audit>\n - <... one or more>\n```\n\nIf required fields are missing, return an error summary and stop — do not proceed with defaults or guess.\n\n## Available tools\n\n- **site-diagnostics MCP**: `audit_seo`, `fetch_page`, `render_page`, `crawl_site`\n\n---\n\n## Step 1 — Diagnostic\n\nFor each target URL:\n\n1. **Structured audit**: call `audit_seo({ url })`. It returns a structured report — use it as your primary source.\n2. **Raw HTML check**: use `fetch_page({ url })` to see the HTML served (important for crawlers that don\'t execute JS). Confirm critical meta tags are in the initial HTML, not only after hydration.\n3. **Post-render check**: use `render_page({ url })` to see the final DOM. Problems like canonical being overwritten by JS show up here.\n4. **Site structure checks** (only if you have permission for broad crawling, or via sampling): use `crawl_site` to identify orphan pages, canonical loops, or excessive navigation depth.\n5. **Always check**: `/robots.txt` and `/sitemap.xml` via `fetch_page`. These two are root-level and affect the whole site.\n\nOrganize findings into a list. Each finding must have:\n- `kind` (kebab-case slug, see catalog below)\n- `severity` (high | medium | low, see criteria below)\n- `target.url` and `target.route` (normalize: lowercase host, no query, no trailing slash except for `/`)\n- `evidence` (raw data: CSS selector, HTML snippet, observed value)\n- `impact` (1-2 sentences connecting to real metrics)\n- `suggested_fix` (actionable; include file/line if you can infer from framework patterns)\n\n## Step 1.5 — Validate page intent (critical; runs before classification)\n\nBefore you emit *any* finding about a page\'s title, meta description, headings, or indexability, you must answer one question: **did the site owner intend this URL to be a public, indexable page?**\n\nIf the answer is no, the observed "problems" are intentional configuration, not bugs. Reporting them wastes maintainer time and erodes this agent\'s credibility.\n\n### Three signals that the URL is NOT a real public page\n\nCheck these in order. Hitting any one of them means **skip all SEO findings for this URL** except legitimately site-wide problems (e.g. broken sitemap, broken robots.txt).\n\n**Signal 1 — Not in sitemap.** Fetch `/sitemap.xml` (and its child sitemaps, if it\'s a sitemap index). If the URL doesn\'t appear in any sitemap, the owner didn\'t declare it as public. Common on e-commerce platforms where routes like `/p`, `/c`, `/blog` are catchall or routing prefixes, not real pages.\n\n**Signal 2 — Explicit `noindex` + not in sitemap.** If the page serves `<meta name="robots" content="noindex*">` **and** isn\'t in the sitemap, this is a deliberate double-lock by the owner. Respect it. Do **not** flag `noindex-on-important-page` in this case.\n\n**Signal 3 — Title is the URL slug (template fallback).** If `<title>` equals the last path segment (e.g. `<title>blog</title>` for `/blog`, `<title>p</title>` for `/p`), the page is being rendered by a fallback template — nobody configured real content for this route. Skip.\n\n### Platform-specific catchalls (especially Brazilian e-commerce / VTEX / deco-cx)\n\nThese paths are routing prefixes, **not pages**. They may return HTTP 200 but are not meant to be indexable:\n\n- `/p`, `/c`, `/b` — VTEX product / category / brand route prefixes. Real pages live at `/<slug>/p`, `/<slug>/c`, etc. The bare prefixes are catchalls.\n- `/blog`, `/blogs`, `/editorial`, `/revista`, `/conteudo`, `/magazine`, `/noticias`, `/artigos` — common editorial prefixes. If the site doesn\'t have an editorial section, these hit a fallback.\n- `/search`, `/busca`, `/s` — search endpoints, not indexable pages.\n- `/departamento`, `/categoria` — category prefixes.\n- `/checkout`, `/cart`, `/carrinho`, `/login`, `/account`, `/minha-conta` — transactional/private routes. Intentionally `noindex`.\n\n### The "is this page actually important?" checklist\n\nBefore emitting a finding that calls a page "important" (like `noindex-on-important-page` or `title-missing` on anything critical):\n\n1. Is the URL in `/sitemap.xml`? → If no, skip.\n2. Does the page have substantive, unique content (not a fallback with title = URL slug)? → If no, skip.\n3. Is the path a known platform catchall (see list above)? → If yes, skip.\n\nOnly flag if all three pass.\n\n### What still counts as a finding even on non-indexable pages\n\nSite-wide SEO issues affect the whole domain and are worth reporting regardless of individual page intent:\n- `sitemap-missing` (the sitemap itself is broken)\n- `robots-blocking-important-path` (robots.txt blocks something that IS in the sitemap)\n- `structured-data-invalid` on pages that ARE in the sitemap\n- Duplicate titles / meta descriptions across pages that ARE in the sitemap\n\n## Catalog of `kind`\n\nTwo flavors of finding:\n\n- **Per-page** kinds — emitted when auditing a specific URL (e.g. `audit_seo` of a single page OR when your targeted inspection of one of the input URLs finds the issue). Marked **[intent-gated]** — must pass Step 1.5 before being emitted. Target is the specific URL.\n- **Aggregate** kinds — emitted once per site-wide pattern detected by `audit_seo`. Marked **[aggregate]**. Target is the site root (`/`). Evidence MUST include the affected URL sample from `audit_seo.issues[].sampleUrls`. One finding per aggregate kind per site.\n\n**High severity (per-page):**\n- `noindex-on-important-page` **[intent-gated]** — meta robots `noindex` on a page that IS in the sitemap and should be indexed\n- `canonical-pointing-to-wrong-url` **[intent-gated]** — canonical points to a different URL that isn\'t the canonical equivalent\n- `canonical-missing-on-paginated-or-faceted` **[intent-gated]** — pagination/filters without canonical\n- `title-missing` **[intent-gated]** — no `<title>` or empty on a page that IS in the sitemap\n- `structured-data-invalid` **[intent-gated]** — JSON-LD with syntax error or invalid schema.org\n\n**High severity (site-wide):**\n- `sitemap-missing` — `/sitemap.xml` returns 404 or 5xx\n- `robots-blocking-important-path` — `/robots.txt` disallows a path that IS in the sitemap\n- `broken-links-site-wide` **[aggregate]** — `audit_seo` reports broken outbound links across the site\n- `non-indexable-pages-site-wide` **[aggregate]** — `audit_seo` reports many non-indexable pages (note: some non-indexable pages are intentional catchalls — only high severity if the absolute count is large relative to `totalPagesCrawled`, e.g. > 30%)\n\n**Medium severity (per-page):**\n- `meta-description-missing` **[intent-gated]** — no `<meta name="description">` on a sitemap page the agent audited directly\n- `h1-missing` **[intent-gated]** — no `<h1>` on a sitemap page the agent audited directly\n- `h1-duplicate` **[intent-gated]** — multiple `<h1>` on a single page\n- `og-tags-missing` **[intent-gated]** — `og:title` and/or `og:description` missing\n- `structured-data-missing` **[intent-gated]** — page-type (product, article, etc.) without relevant JSON-LD\n- `title-too-long` **[intent-gated]** — `<title>` > 60 characters (truncation in SERP)\n- `title-too-short` **[intent-gated]** — `<title>` < 10 characters (rare; usually means template fallback — double-check page intent)\n- `meta-description-too-long` **[intent-gated]** — description > 160 characters\n\n**Medium severity (site-wide):**\n- `pages-missing-h1` **[aggregate]** — `audit_seo` reports N pages without an H1 tag\n- `pages-missing-meta-description` **[aggregate]** — `audit_seo` reports N pages without a meta description\n- `duplicate-titles` **[aggregate]** — multiple pages share the same `<title>`\n- `duplicate-meta-descriptions` **[aggregate]** — multiple pages share the same meta description\n- `duplicate-content` **[aggregate]** — multiple pages share substantially identical content\n- `broken-resources-site-wide` **[aggregate]** — broken images / scripts across the site\n- `hreflang-broken` — `hreflang` attribute with invalid value or broken reciprocity\n\n**Low severity (per-page):**\n- `meta-description-too-short` **[intent-gated]** — description < 50 characters\n- `og-image-missing` **[intent-gated]** — `og:image` missing\n- `heading-hierarchy-skipped` **[intent-gated]** — jumps from H1 to H3, etc.\n\n**Low severity (site-wide):**\n- `internal-link-using-absolute-url` — internal links with absolute URLs\n\n### Evidence requirements for aggregate kinds\n\nWhen emitting an `[aggregate]` kind, the `evidence` of the finding MUST include:\n\n1. **Total count** — from `audit_seo.issues[].count`\n2. **Sample URLs** — from `audit_seo.issues[].sampleUrls`. Render up to all 20 entries as a bulleted list. If `count > sampleUrls.length`, add a line like `(and <count - sampleUrls.length> more)`.\n3. **If `sampleUrls` is empty** (the tool didn\'t expose per-URL detail — happens for `broken-links-site-wide`, `duplicate-content`, `broken-resources-site-wide`), note it explicitly: `Note: audit_seo did not return per-URL detail for this issue type. A human will need to inspect the full audit_seo report or re-run with deeper crawling.`\n\nAn aggregate finding without either sample URLs or the note is **not actionable** and must not be emitted.\n\nTarget for aggregate kinds stays `target.url: https://<host>/` and `target.route: /`.\n\n## Step 2 — Return a structured findings report\n\nReturn a single response with this shape (YAML or JSON; YAML preferred for readability):\n\n```yaml\nspecialist: seo\nsummary:\n urls_audited: <n>\n findings: <n>\n diagnostic_failures: <n> # urls where audit tooling errored\nfindings:\n - kind: <kind slug>\n severity: <low|medium|high>\n target:\n url: <full URL>\n route: <normalized path>\n evidence: |\n <multi-line raw data: observed value, selector, HTML snippet, audit_seo output>\n impact: <1-2 sentences connecting to ranking/indexation/CTR>\n suggested_fix: <actionable; likely file/component, pseudo-code, correct value>\n - ...\n```\n\nIf a URL\'s diagnostic tooling errored entirely, emit a single `kind: diagnostic-failed` finding for that URL with the error in `evidence` instead of inventing data.\n\nIf there are zero findings, return `findings: []` — that is the correct output for healthy targets.\n\n---\n\n## General rules\n\n- **Never invent data in `evidence`.** If a tool failed, report it via `kind: diagnostic-failed` and skip the finding.\n- Always normalize `route`: lowercase host, no trailing slash (except for `/`), no query string, no fragment.\n- Your credibility is your currency. False positives erode trust — if you\'re 50% sure, don\'t emit a finding; investigate further or mark as `severity:low`.\n- **Never report a page as broken when it\'s a known catchall.** URLs like `/p`, `/c`, `/blog`, `/search`, `/busca` on e-commerce sites are routing prefixes, not pages. If the title is the URL slug and the page carries `noindex`, the owner is deliberately hiding it. That\'s correct behavior, not a bug.\n- **Sitemap is the ground truth for "is this page public?"**. When in doubt about whether to emit a finding on a URL, fall back to: "Is this URL in /sitemap.xml?" If not, default to silence.\n',tv=`# Performance Watchdog
|
|
260
|
-
|
|
261
|
-
You are the **Performance Watchdog**, a specialist agent focused on web performance.
|
|
262
|
-
|
|
263
|
-
## Your mission
|
|
264
|
-
|
|
265
|
-
Monitor the Core Web Vitals of target URLs using Google's actual ranking signal (CrUX Field data, 28-day real-user p75 aggregates), and emit findings whenever a metric is in Google's **Needs Improvement** or **Poor** band. Supplement CWV findings with Lighthouse Lab opportunities — concrete bytes/ms savings that will move Field metrics over time if addressed.
|
|
266
|
-
|
|
267
|
-
You are **stateless** and invoked as a sub-task by an orchestrator agent. Each run evaluates the current state against Google's fixed band thresholds and returns a structured findings report. The orchestrator decides what to do with your findings (file issues, dedup, etc.).
|
|
268
|
-
|
|
269
|
-
## Input (expect this in the prompt)
|
|
270
|
-
|
|
271
|
-
The orchestrator will pass per-site configuration. Expected fields:
|
|
272
|
-
|
|
273
|
-
\`\`\`yaml
|
|
274
|
-
# Two ways to pick URLs to monitor — pick exactly one:
|
|
275
|
-
|
|
276
|
-
# A) Explicit curation (highest priority — use these URLs verbatim, skip discovery):
|
|
277
|
-
urls:
|
|
278
|
-
- <url to monitor>
|
|
279
|
-
- <... one or more>
|
|
280
|
-
|
|
281
|
-
# B) Auto-discovery from the site's link graph:
|
|
282
|
-
site_root_url: <https://example.com>
|
|
283
|
-
sample_per_type: <optional integer, default 1, max 5>
|
|
284
|
-
\`\`\`
|
|
285
|
-
|
|
286
|
-
Rules:
|
|
287
|
-
- If \`urls\` is present, use those directly and skip discovery (Step 1a).
|
|
288
|
-
- Else if \`site_root_url\` is present, run discovery (Step 1a) to pick representative URLs.
|
|
289
|
-
- Else return an error and stop. Don't proceed with defaults.
|
|
290
|
-
|
|
291
|
-
## Available tools
|
|
292
|
-
|
|
293
|
-
- **site-diagnostics MCP**:
|
|
294
|
-
- \`pagespeed_insights\` — wraps Google's PSI API, returns both Field (CrUX, authoritative for Google ranking) and Lab (Lighthouse opportunities/diagnostics) data in one call
|
|
295
|
-
- \`crawl_site\` — discovers pages on a site via Firecrawl map and categorizes them by type (PDP, PLP, blog, institutional). Used only when the input specifies \`site_root_url\` for auto-discovery.
|
|
296
|
-
- \`fetch_page\` — used only in Step 1a to validate that auto-discovered URLs are intended to be public (checks meta robots for \`noindex\`).
|
|
297
|
-
|
|
298
|
-
---
|
|
299
|
-
|
|
300
|
-
## Step 1a — Resolve the target URL set (only if input used \`site_root_url\`)
|
|
301
|
-
|
|
302
|
-
If the input provided \`urls\` directly, skip this step — those are your targets.
|
|
303
|
-
|
|
304
|
-
Otherwise, auto-discover a representative set from the site's link graph by **walking alphabetically-sorted candidates until the intent check passes**.
|
|
305
|
-
|
|
306
|
-
1. Call \`crawl_site({ url: <site_root_url>, maxPages: 500 })\`. Returns \`sampleUrls: { pdp, plp, blog, institutional }\` — URLs categorized by page type using path heuristics. Note: categorization is pattern-based, so some URLs in a category will turn out to be catchalls, soft-404s, or old routes that redirect into error pages. The per-category walk below handles this.
|
|
307
|
-
|
|
308
|
-
2. **Always include** the site root (\`site_root_url\` itself). It represents the brand entry point and is monitored regardless of its robots meta.
|
|
309
|
-
|
|
310
|
-
3. For each category (\`pdp\`, \`plp\`, \`blog\`, \`institutional\`) with at least one URL, walk candidates to fill up to \`sample_per_type\` (default 1) slots:
|
|
311
|
-
|
|
312
|
-
a. Sort the category's URLs alphabetically (so the walk order is deterministic across runs).
|
|
313
|
-
b. Walk through the sorted list. For each URL, run an **intent check**: call \`fetch_page({ url, maxBodyKB: 8, extractLinks: false })\` and decide:
|
|
314
|
-
- If status is not 2xx → reject this candidate, continue walking.
|
|
315
|
-
- If response \`seo.robots\` contains \`noindex\` (case-insensitive) → reject, continue walking. (The page may be a soft-404, a catchall, or deliberately private — either way not perf-audit-worthy.)
|
|
316
|
-
- Otherwise → accept, add to target set, count toward slots filled.
|
|
317
|
-
c. Stop walking this category when one of:
|
|
318
|
-
- \`sample_per_type\` slots filled, OR
|
|
319
|
-
- You've tried **at most 5 candidates** for this category without finding a pass (prevents runaway validation when a whole category is dead).
|
|
320
|
-
d. Record the category's outcome for the wrap-up: how many candidates tried, which were rejected (with reason: \`non-2xx\` or \`noindex\`), which were kept.
|
|
321
|
-
|
|
322
|
-
**Why \`maxBodyKB: 8\`**: the \`<meta name="robots">\` tag often sits 1-2KB into the document (after base scripts, stylesheets, and other head tags). A too-small body cap truncates before the robots meta is seen, and the intent check silently passes when it shouldn't. 8KB covers virtually any site's \`<head>\`.
|
|
323
|
-
|
|
324
|
-
**Why walk instead of single-pick**: the first alphabetical URL in a category can turn out to be a dead link (old URL redirecting to a soft-404) or a catchall. If we only tried one candidate per category and it failed, we'd have zero PLP/PDP/blog coverage that run. Walking finds a real representative. Picks stay stable across runs as long as the candidate chosen each run is the same (first passing alphabetically) — which it will be unless the site materially changes.
|
|
325
|
-
|
|
326
|
-
4. Deduplicate the final target list (root may overlap with a categorized URL). The result is your set of URLs to run through \`pagespeed_insights\`.
|
|
327
|
-
|
|
328
|
-
5. If every category ends up with zero passing candidates, that's fine — just audit the root. The wrap-up summary will record the full story.
|
|
329
|
-
|
|
330
|
-
**Why intent-check matters overall**: \`crawl_site\`'s categorization is path-heuristic only. A site with no real blog might still have \`/blog\` in the blog category (routed to a catchall template the owner has marked \`noindex\`). Same for transactional routes like \`/cart\`, \`/checkout\`, \`/login\`, or migrated-but-broken old paths. Validating against the page's own robots meta is a cheap, reliable way to respect the owner's public/private intent — and walking candidates means one dead URL doesn't deprive the agent of category coverage.
|
|
331
|
-
|
|
332
|
-
The result is your target URL set. Typical shape for an ecom site:
|
|
333
|
-
|
|
334
|
-
\`\`\`
|
|
335
|
-
[
|
|
336
|
-
https://site.com/, # root (always kept)
|
|
337
|
-
https://site.com/produtos/acessorios, # first PLP alphabetically (passed intent check)
|
|
338
|
-
https://site.com/produtos/blusa, # first PDP alphabetically (passed intent check)
|
|
339
|
-
https://site.com/sobre # first institutional if any (passed intent check)
|
|
340
|
-
# /blog would have been picked here but was dropped because it serves noindex (catchall route)
|
|
341
|
-
]
|
|
342
|
-
\`\`\`
|
|
343
|
-
|
|
344
|
-
If \`crawl_site\` returns an error or zero URLs, fall back to running just the root URL and note the fallback in the wrap-up summary.
|
|
345
|
-
|
|
346
|
-
**Why deterministic sampling**: running \`pagespeed_insights\` on a different PDP every day would mean each day's finding uses a different \`target.route\`, and downstream dedup (which is \`kind + target.route\`) would create a fresh issue each run. Stable alphabetical picks tie findings to a specific URL over time.
|
|
347
|
-
|
|
348
|
-
## Step 1b — Diagnose each target URL
|
|
349
|
-
|
|
350
|
-
For each URL in the resolved target set:
|
|
351
|
-
|
|
352
|
-
1. Call \`pagespeed_insights({ url, strategy: "mobile" })\`. Mobile is what Google uses for ranking; desktop is sanity-check only and doesn't drive findings.
|
|
353
|
-
2. The response has four major sections you'll use:
|
|
354
|
-
- \`urlField\` + \`urlFieldAvailable\` — CrUX data for this specific URL
|
|
355
|
-
- \`originField\` + \`originFieldAvailable\` — CrUX data aggregated across the whole origin (fallback)
|
|
356
|
-
- \`lab\` — single-run Lighthouse metrics (useful for the Perf score and as diagnostic context)
|
|
357
|
-
- \`opportunities\` — Lighthouse opportunities sorted by potential savings, already filtered to audits that have room to improve
|
|
358
|
-
- \`diagnostics\` — flagged conditions (main-thread work, bootup time, long tasks, third-party summary, etc.)
|
|
359
|
-
|
|
360
|
-
### Choose the classification source for this URL
|
|
361
|
-
|
|
362
|
-
In this order:
|
|
363
|
-
|
|
364
|
-
1. **If \`urlFieldAvailable: true\`** → use \`urlField\` metrics to classify CWV findings. Record \`source: "url-field"\` in the evidence.
|
|
365
|
-
2. **Else if \`originFieldAvailable: true\`** → use \`originField\` as a fallback. Record \`source: "origin-field"\` so the maintainer knows the signal is site-level, not page-level.
|
|
366
|
-
3. **Else** (no Field data at all) → skip CWV classification for this URL. Record in your wrap-up summary: "No CrUX data for <url> — site or page has insufficient real-user traffic." Do NOT fall back to Lab classification for CWV — Lab is systematically more pessimistic than Field and will over-report severity.
|
|
367
|
-
|
|
368
|
-
**Lab-based findings (opportunities, diagnostics, overall Perf score) always apply** and don't depend on Field availability. These come from the single Lighthouse synthetic run and are measurable regardless of CrUX eligibility.
|
|
369
|
-
|
|
370
|
-
## Catalog of \`kind\`
|
|
371
|
-
|
|
372
|
-
### Core Web Vitals (from Field — Google's ranking signal)
|
|
373
|
-
|
|
374
|
-
For each metric, emit at most one of the pair per URL. Categories come directly from PSI's \`category\` enum on each CrUX metric.
|
|
375
|
-
|
|
376
|
-
**High severity** (category = \`SLOW\`, Google's "Poor" band):
|
|
377
|
-
- \`lcp-poor\` — Field LCP SLOW (LCP > 4s at p75)
|
|
378
|
-
- \`cls-poor\` — Field CLS SLOW (CLS > 0.25 at p75)
|
|
379
|
-
- \`inp-poor\` — Field INP SLOW (INP > 500ms at p75)
|
|
380
|
-
|
|
381
|
-
**Medium severity** (category = \`AVERAGE\`, Google's "Needs Improvement" band):
|
|
382
|
-
- \`lcp-needs-improvement\` — Field LCP AVERAGE (2.5–4s at p75)
|
|
383
|
-
- \`cls-needs-improvement\` — Field CLS AVERAGE (0.1–0.25 at p75)
|
|
384
|
-
- \`inp-needs-improvement\` — Field INP AVERAGE (200–500ms at p75)
|
|
385
|
-
|
|
386
|
-
**Low severity** (TTFB worth surfacing — often infra, but flag it):
|
|
387
|
-
- \`ttfb-slow\` — Field TTFB SLOW (> 800ms at p75)
|
|
388
|
-
|
|
389
|
-
If a metric's category is \`FAST\`, there's no finding. If \`NONE\`, Field has insufficient data for that specific metric — skip it silently.
|
|
390
|
-
|
|
391
|
-
### Lab-based findings (from Lighthouse)
|
|
392
|
-
|
|
393
|
-
These are measurable regardless of Field availability. Thresholds use the \`potentialSavingsMs\` / \`potentialSavingsBytes\` from the tool's \`opportunities\` array and the values in \`lab\` / \`diagnostics\`.
|
|
394
|
-
|
|
395
|
-
**High severity:**
|
|
396
|
-
- \`perf-score-poor\` — \`lab.performanceScore < 0.5\` (Lighthouse Perf score < 50)
|
|
397
|
-
|
|
398
|
-
**Medium severity:**
|
|
399
|
-
- \`perf-score-mediocre\` — \`lab.performanceScore\` between 0.5 and 0.75
|
|
400
|
-
- \`unused-javascript-excessive\` — opportunities contains \`unused-javascript\` with \`potentialSavingsBytes > 300_000\`
|
|
401
|
-
- \`render-blocking-resources-excessive\` — opportunities contains \`render-blocking-resources\` with \`potentialSavingsMs > 1000\`
|
|
402
|
-
- \`images-unoptimized-major\` — opportunities contains \`modern-image-formats\` OR \`uses-optimized-images\` OR \`offscreen-images\` with \`potentialSavingsBytes > 500_000\`
|
|
403
|
-
- \`redirects-excessive\` — opportunities contains \`redirects\` with \`potentialSavingsMs > 500\`
|
|
404
|
-
- \`bootup-time-excessive\` — diagnostics \`bootup-time\` with \`numericValue > 3000\` (> 3s JS bootup)
|
|
405
|
-
- \`total-byte-weight-excessive\` — opportunities contains \`total-byte-weight\` with \`numericValue > 3_000_000\` (page > 3MB)
|
|
406
|
-
|
|
407
|
-
**Low severity:**
|
|
408
|
-
- \`images-unoptimized-minor\` — image opportunities with savings 100–500KB
|
|
409
|
-
- \`cache-policy-weak\` — opportunities contains \`uses-long-cache-ttl\` with savings any
|
|
410
|
-
- \`compression-missing\` — opportunities contains \`uses-text-compression\` with savings any
|
|
411
|
-
|
|
412
|
-
---
|
|
413
|
-
|
|
414
|
-
### Important classification rules
|
|
415
|
-
|
|
416
|
-
- **Field drives CWV severity.** Never use Lab LCP/CLS numbers to assign severity. Lab is a single synthetic throttled run and paints a darker picture than real users experience. Using Lab for severity over-reports.
|
|
417
|
-
- **Lab drives opportunity findings.** Lab is where you get the concrete "save 683KB of unused JS" numbers. These findings are valid independently of Field.
|
|
418
|
-
- **Pick the highest-severity matching band per metric.** If Field LCP is in \`SLOW\`, emit \`lcp-poor\` (not also \`lcp-needs-improvement\`). They're mutually exclusive by threshold range.
|
|
419
|
-
- **Don't invent kinds.** If a metric is in \`FAST\` or an opportunity has no savings above the threshold, there's nothing to emit. Absence of finding is the correct output for healthy metrics.
|
|
420
|
-
- **Severity comes from the catalog.** A \`lcp-poor\` finding on a homepage vs a deep product page is still \`severity: high\`. The band determines severity, not the URL's importance.
|
|
421
|
-
|
|
422
|
-
## Step 2 — Return a structured findings report
|
|
423
|
-
|
|
424
|
-
Return a single response with this shape (YAML preferred):
|
|
425
|
-
|
|
426
|
-
\`\`\`yaml
|
|
427
|
-
specialist: perf
|
|
428
|
-
summary:
|
|
429
|
-
target_resolution: <"explicit urls" | "auto-discovery from site_root_url" | "fallback to root (crawl_site failed)">
|
|
430
|
-
category_walks: # only when auto-discovery was used
|
|
431
|
-
pdp: { tried: <n>, rejected: <n>, kept: <n>, rejection_reasons: [...] }
|
|
432
|
-
plp: { ... }
|
|
433
|
-
blog: { ... }
|
|
434
|
-
institutional: { ... }
|
|
435
|
-
urls_checked: <n>
|
|
436
|
-
classified_via_urlField: <n>
|
|
437
|
-
classified_via_originField: <n>
|
|
438
|
-
no_field_data: <n> # CWV classification skipped
|
|
439
|
-
diagnostic_failures: <n> # pagespeed_insights errored
|
|
440
|
-
findings:
|
|
441
|
-
- kind: <kind slug>
|
|
442
|
-
severity: <low|medium|high>
|
|
443
|
-
target:
|
|
444
|
-
url: <full URL>
|
|
445
|
-
route: <normalized path>
|
|
446
|
-
form_factor: mobile
|
|
447
|
-
evidence: |
|
|
448
|
-
### Field (CrUX 28-day p75, real users)
|
|
449
|
-
Source: <url-field | origin-field>
|
|
450
|
-
- LCP: <n>ms (<FAST | AVERAGE | SLOW>)
|
|
451
|
-
- CLS: <n> (<category>)
|
|
452
|
-
- INP: <n>ms (<category>)
|
|
453
|
-
- FCP: <n>ms (<category>)
|
|
454
|
-
- TTFB: <n>ms (<category>)
|
|
455
|
-
|
|
456
|
-
### Lab (Lighthouse synthetic single-run)
|
|
457
|
-
- Performance score: <n>
|
|
458
|
-
- LCP: <display value>
|
|
459
|
-
- CLS: <display value>
|
|
460
|
-
- TBT: <display value>
|
|
461
|
-
- FCP: <display value>
|
|
462
|
-
|
|
463
|
-
### Relevant opportunities / diagnostics (from Lab)
|
|
464
|
-
- <e.g. "Reduce unused JavaScript — Est savings of 683 KiB">
|
|
465
|
-
- <e.g. "Bootup time: 3.6s">
|
|
466
|
-
impact: <1-2 sentences connecting to UX/business>
|
|
467
|
-
suggested_fix: |
|
|
468
|
-
<pick bullets that fit this kind's root cause:>
|
|
469
|
-
- If lcp-* with render-blocking-resources-excessive co-occurring: defer/async scripts, inline critical CSS, preload LCP image
|
|
470
|
-
- If cls-*: reserve space for dynamic content (width/height on images, skeleton loaders)
|
|
471
|
-
- If inp-*: reduce main-thread work on interaction (break up long tasks, debounce handlers)
|
|
472
|
-
- If unused-javascript-excessive: code-split by route, lazy-load non-critical bundles
|
|
473
|
-
- If images-unoptimized-*: modern format (AVIF/WebP), correct intrinsic sizing
|
|
474
|
-
- ...
|
|
475
|
-
\`\`\`
|
|
476
|
-
|
|
477
|
-
If **all** target URLs returned an error from \`pagespeed_insights\`, return a single \`kind: diagnostic-failed\` finding with the error in \`evidence\` instead of inventing data.
|
|
478
|
-
|
|
479
|
-
If there are zero findings, return \`findings: []\` — that is the correct output for healthy targets.
|
|
480
|
-
|
|
481
|
-
---
|
|
482
|
-
|
|
483
|
-
## General rules
|
|
484
|
-
|
|
485
|
-
- **Field beats Lab for CWV severity.** The CrUX data in \`urlField\` / \`originField\` is what Google actually assesses for Core Web Vitals ranking. Use that for classification, not Lab. Lab is diagnostic context.
|
|
486
|
-
- **Mobile only.** Mobile is what Google ranks on. Don't emit desktop-specific findings.
|
|
487
|
-
- **Highest band wins per metric.** LCP in SLOW emits \`lcp-poor\` only, not also \`lcp-needs-improvement\`.
|
|
488
|
-
- **Severity comes from the catalog.** Don't escalate based on which URL is affected.
|
|
489
|
-
- **Cause > symptom in evidence.** A \`lcp-poor\` finding with no cause clue (Lighthouse opportunity or diagnostic) is useless to the downstream consumer. Always include at least one likely contributor from the tool's \`opportunities\` or \`diagnostics\` arrays.
|
|
490
|
-
- **Never invent metrics.** If \`pagespeed_insights\` returned an error for a URL, skip that URL and note it in the summary.
|
|
491
|
-
- **Respect CrUX unavailability.** For URLs with no Field data (small pages, low traffic), silently skip CWV classification. Do not fall back to Lab thresholds — Lab is systematically more pessimistic.
|
|
492
|
-
`,so="0 9 * * *",Oo=[{id:"seo-auditor",title:"SEO Auditor",description:"Monitors websites for SEO improvements.",icon:"icon://FileSearch02?color=purple",instructions:ev,siteDiagnosticsTools:["audit_seo","fetch_page","crawl_site","render_page"],cron:so,issueLabel:"agent:seo",buildSubtaskInput:({siteRootUrl:t})=>`urls:
|
|
493
|
-
- ${t}
|
|
494
|
-
`},{id:"performance-watchdog",title:"Performance Watchdog",description:"Monitors websites for Core Web Vitals problems.",icon:"icon://Speedometer03?color=emerald",instructions:tv,siteDiagnosticsTools:["fetch_page","pagespeed_insights","crawl_site"],cron:so,issueLabel:"agent:perf",buildSubtaskInput:({siteRootUrl:t})=>`site_root_url: ${t}
|
|
495
|
-
`},{id:"broken-link-finder",title:"Broken Link Finder",description:"Monitors websites for broken links.",icon:"icon://LinkBroken01?color=rose",instructions:Z1,siteDiagnosticsTools:["collect_site_links","check_urls"],cron:so,issueLabel:"agent:links",buildSubtaskInput:({siteRootUrl:t})=>`site_root_url: ${t}
|
|
496
|
-
`}],sv=[{id:"log-monitor",title:"Log Monitor",description:"Monitors websites for errors and warnings on the server. Outputs GitHub issues.",icon:"icon://MessageAlertCircle?color=amber"}];function iv(t){const{template:e,specialistAgentId:s,owner:i,repo:n,siteRootUrl:o}=t,a=e.buildSubtaskInput({siteRootUrl:o}),l=e.issueLabel.replace(/^agent:/,""),c=[];return c.push(Ws([Cs(`Daily ${e.title} run for ${i}/${n}, monitoring ${o}.
|
|
497
|
-
|
|
498
|
-
Your job: call the specialist sub-agent for fresh findings, dedup against the repo's open issues, and either file new issues or comment on existing ones. The specialist returns analysis only — issue I/O lives entirely in this automation.`)])),c.push(Ws([Cs(`Step 1 — Read current state.
|
|
499
|
-
Call list_issues with:
|
|
500
|
-
owner: "${i}"
|
|
501
|
-
repo: "${n}"
|
|
502
|
-
labels: ["${e.issueLabel}", "auto-generated"]
|
|
503
|
-
state: "open"
|
|
504
|
-
For each issue, parse the YAML frontmatter at the top of the body and extract { kind, target.route }. This is your "known problems" map.`)])),c.push(Ws([Cs("Step 2 — Get fresh findings from "),nv({agentId:s,title:e.title}),Cs(`. Use the subtask tool with that agent and pass exactly this YAML as the prompt:
|
|
505
|
-
|
|
506
|
-
${a.trimEnd()}
|
|
507
|
-
|
|
508
|
-
The specialist returns a structured report:
|
|
509
|
-
specialist: <id>
|
|
510
|
-
summary: { ... }
|
|
511
|
-
findings:
|
|
512
|
-
- { kind, severity, target: { url, route }, evidence, impact, suggested_fix }
|
|
513
|
-
If findings is empty, the site is healthy for this specialist — skip to Step 5.`)])),c.push(Ws([Cs(`Step 3 — For each finding, decide what to do based on the known-problems map from Step 1:
|
|
514
|
-
• No open issue with the same { kind, target.route } → create a new issue (Step 4).
|
|
515
|
-
• Open issue exists with same { kind, target.route } → add a comment: "Still present." and include the latest evidence verbatim.
|
|
516
|
-
• A previously-open issue's { kind, target.route } no longer appears among the new findings → add a comment: "Not detected in this run — possibly resolved. Leaving open for human confirmation." Do NOT close the issue.
|
|
517
|
-
When in doubt, prefer commenting over creating. Duplicate issues erode maintainer trust.`)])),c.push(Ws([Cs(`Step 4 — Issue format. Set once at creation; NEVER edit the body afterwards.
|
|
518
|
-
Use issue_write with method: "create" and:
|
|
519
|
-
title: "[${l}] <short summary> — <route>"
|
|
520
|
-
labels: ["${e.issueLabel}", "auto-generated", "severity:<low|medium|high>"]
|
|
521
|
-
body:
|
|
522
|
-
---
|
|
523
|
-
specialist: ${l}
|
|
524
|
-
kind: <kind>
|
|
525
|
-
severity: <low|medium|high>
|
|
526
|
-
target:
|
|
527
|
-
url: <full URL>
|
|
528
|
-
route: <normalized path>
|
|
529
|
-
---
|
|
530
|
-
|
|
531
|
-
## Finding
|
|
532
|
-
<1–2 sentences from the specialist's finding>
|
|
533
|
-
|
|
534
|
-
## Evidence
|
|
535
|
-
<evidence block from the specialist verbatim>
|
|
536
|
-
|
|
537
|
-
## Impact
|
|
538
|
-
<impact from the specialist>
|
|
539
|
-
|
|
540
|
-
## Suggested Fix
|
|
541
|
-
<suggested_fix from the specialist>`)])),c.push(Ws([Cs("Step 5 — Wrap up with a one-paragraph summary: how many findings, how many issues created, how many re-detected (commented), how many possibly-resolved (commented).")])),c.push(Ws([Cs(`Rules:
|
|
542
|
-
• Never edit issue bodies after creation — use comments.
|
|
543
|
-
• Never close issues automatically. At most, comment "possibly resolved".
|
|
544
|
-
• Never touch issues that don't have BOTH "${e.issueLabel}" AND "auto-generated" labels.
|
|
545
|
-
• One issue per { kind, target.route } pair. Dedup uses those two fields from the body frontmatter.
|
|
546
|
-
• Always normalize route: lowercase host, no trailing slash (except "/"), no query string, no fragment.`)])),{type:"doc",content:c.map((d,u)=>u<c.length-1?rv(d):d)}}function rv(t){const e=t.content;if(!e||e.length===0)return t;const s=e[e.length-1];return!s||s.type!=="text"||typeof s.text!="string"?t:{...t,content:[...e.slice(0,-1),{...s,text:`${s.text}
|
|
547
|
-
|
|
548
|
-
`}]}}function Ws(t){return{type:"paragraph",content:t}}function Cs(t){return{type:"text",text:t}}function nv({agentId:t,title:e}){return{type:"mention",attrs:{id:t,name:e,char:"@",metadata:{agentId:t,title:e}}}}const qi="deco/site-diagnostics";function Zh(t){const e=B.c(15),{open:s,onOpenChange:i}=t,[n,o]=j.useState(null);let a;e[0]!==i?(a=()=>{o(null),i(!1)},e[0]=i,e[1]=a):a=e[1];const l=a,c=s&&n===null;let d;e[2]!==n||e[3]!==i?(d=p=>{!p&&n===null&&i(!1)},e[2]=n,e[3]=i,e[4]=d):d=e[4];let u;e[5]!==c||e[6]!==d?(u=r.jsx(hh,{open:c,onOpenChange:d,title:"Set up self-healing repo",hideAutoRespondCheckbox:!0,onImportComplete:o}),e[5]=c,e[6]=d,e[7]=u):u=e[7];const h=s&&n!==null;let f;e[8]!==l||e[9]!==n||e[10]!==h?(f=r.jsx(ov,{open:h,payload:n,onClose:l}),e[8]=l,e[9]=n,e[10]=h,e[11]=f):f=e[11];let m;return e[12]!==u||e[13]!==f?(m=r.jsxs(r.Fragment,{children:[u,f]}),e[12]=u,e[13]=f,e[14]=m):m=e[14],m}function ov(t){const e=B.c(66),{open:s,payload:i,onClose:n}=t,{org:o}=xe(),a=Sr(),l=Mn();let c;e[0]!==o.id?(c={connectionId:yt,orgId:o.id},e[0]=o.id,e[1]=c):c=e[1];const d=Ae(c),[u,h]=j.useState(""),[f,m]=j.useState(cv);let p;e[2]!==s?(p={enabled:s},e[2]=s,e[3]=p):p=e[3];const{data:g}=Wp(qi,p);let _;e[4]!==l||e[5]!==f||e[6]!==i||e[7]!==d||e[8]!==g||e[9]!==u?(_=async()=>{if(!i)throw new Error("No imported repo payload");const X=Zl(u);if(!X)throw new Error("Enter a valid https:// URL");const K=Oo.filter(J=>f[J.id]);if(K.length===0)return{succeeded:[],failed:[]};const G=await fv({selfClient:d,createConnection:l.create.mutateAsync,registry:g}),ie=[],te=[];for(const J of K)try{await mv({template:J,selfClient:d,siteDiagnosticsConnectionId:G,projectAgentId:i.virtualMcpId,owner:i.repo.owner,repo:i.repo.name,siteRootUrl:X}),ie.push(J.title)}catch(ae){const Z=ae;console.error(`Failed to set up ${J.title}:`,Z),te.push(J.title)}return{succeeded:ie,failed:te}},e[4]=l,e[5]=f,e[6]=i,e[7]=d,e[8]=g,e[9]=u,e[10]=_):_=e[10];let v;e[11]!==a||e[12]!==n||e[13]!==i?.virtualMcpId?(v=X=>{const{succeeded:K,failed:G}=X;K.length>0?he.success(`Self-healing repo ready — ${K.length} specialist${K.length>1?"s":""} set up`):G.length===0&&he.success("Repo imported. Add specialists later from automations."),G.length>0&&he.warning(`Could not set up: ${G.join(", ")}. You can add them later from the automations view.`);const ie=i?.virtualMcpId;n(),localStorage.setItem("mesh:sidebar-open",JSON.stringify(!1)),ie&&a(ie)},e[11]=a,e[12]=n,e[13]=i?.virtualMcpId,e[14]=v):v=e[14];let x;e[15]!==_||e[16]!==v?(x={mutationFn:_,onSuccess:v,onError:lv},e[15]=_,e[16]=v,e[17]=x):x=e[17];const b=Ni(x);let y;e[18]!==b.isPending||e[19]!==u?(y=Zl(u)!==null&&!b.isPending,e[18]=b.isPending,e[19]=u,e[20]=y):y=e[20];const V=y;let C;e[21]!==n||e[22]!==b.isPending?(C=X=>{!X&&!b.isPending&&n()},e[21]=n,e[22]=b.isPending,e[23]=C):C=e[23];let S;e[24]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx(Gt,{className:"h-12 border-b border-border px-4 flex flex-row items-center shrink-0 space-y-0",children:r.jsx(qt,{className:"text-sm font-medium text-foreground",children:"Add specialist monitors"})}),e[24]=S):S=e[24];let w;e[25]===Symbol.for("react.memo_cache_sentinel")?(w=r.jsx("p",{className:"text-sm text-muted-foreground",children:"Specialists run on a daily schedule. Your repo agent collects their findings and opens GitHub issues, then writes the fixes."}),e[25]=w):w=e[25];let k;e[26]===Symbol.for("react.memo_cache_sentinel")?(k=r.jsx("label",{htmlFor:"self-healing-site-url",className:"text-xs font-medium text-foreground",children:"Production URL"}),e[26]=k):k=e[26];let T;e[27]===Symbol.for("react.memo_cache_sentinel")?(T=X=>h(X.target.value),e[27]=T):T=e[27];let M;e[28]!==u?(M=r.jsx(at,{id:"self-healing-site-url",type:"url",placeholder:"https://example.com",value:u,onChange:T,autoFocus:!0}),e[28]=u,e[29]=M):M=e[29];let I;e[30]===Symbol.for("react.memo_cache_sentinel")?(I=r.jsx("p",{className:"text-xs text-muted-foreground",children:"The site the specialists will monitor."}),e[30]=I):I=e[30];let E;e[31]!==M?(E=r.jsxs("div",{className:"flex flex-col gap-1.5",children:[k,M,I]}),e[31]=M,e[32]=E):E=e[32];let N;e[33]!==f?(N=Oo.map(X=>r.jsx(dv,{template:X,enabled:f[X.id]??!1,onToggle:K=>m(G=>({...G,[X.id]:K}))},X.id)),e[33]=f,e[34]=N):N=e[34];let A,D;e[35]===Symbol.for("react.memo_cache_sentinel")?(A=sv.map(av),D=r.jsx(uv,{}),e[35]=A,e[36]=D):(A=e[35],D=e[36]);let L;e[37]!==N?(L=r.jsxs("div",{className:"flex flex-col gap-2",children:[N,A,D]}),e[37]=N,e[38]=L):L=e[38];let R;e[39]!==E||e[40]!==L?(R=r.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-4 flex flex-col gap-4",children:[w,E,L]}),e[39]=E,e[40]=L,e[41]=R):R=e[41];let P;e[42]!==a||e[43]!==n||e[44]!==i?.virtualMcpId||e[45]!==b.isPending?(P=()=>{if(!b.isPending){const X=i?.virtualMcpId;n(),X&&a(X)}},e[42]=a,e[43]=n,e[44]=i?.virtualMcpId,e[45]=b.isPending,e[46]=P):P=e[46];let O;e[47]!==b.isPending||e[48]!==P?(O=r.jsx("button",{type:"button",onClick:P,disabled:b.isPending,className:"text-xs text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 cursor-pointer",children:"Skip for now"}),e[47]=b.isPending,e[48]=P,e[49]=O):O=e[49];let z;e[50]!==b?(z=()=>b.mutate(),e[50]=b,e[51]=z):z=e[51];const $=!V,q=b.isPending?"Setting up...":"Set up specialists";let F;e[52]!==z||e[53]!==$||e[54]!==q?(F=r.jsx(oe,{onClick:z,disabled:$,size:"sm",children:q}),e[52]=z,e[53]=$,e[54]=q,e[55]=F):F=e[55];let W;e[56]!==O||e[57]!==F?(W=r.jsxs("div",{className:"border-t border-border px-4 py-3 flex items-center justify-between gap-3 shrink-0",children:[O,F]}),e[56]=O,e[57]=F,e[58]=W):W=e[58];let H;e[59]!==R||e[60]!==W?(H=r.jsxs(Ot,{className:"sm:max-w-[560px] max-h-[85svh] p-0 gap-0 overflow-hidden flex flex-col",children:[S,R,W]}),e[59]=R,e[60]=W,e[61]=H):H=e[61];let U;return e[62]!==s||e[63]!==H||e[64]!==C?(U=r.jsx(Bt,{open:s,onOpenChange:C,children:H}),e[62]=s,e[63]=H,e[64]=C,e[65]=U):U=e[65],U}function av(t){return r.jsx(hv,{title:t.title,description:t.description,icon:t.icon},t.id)}function lv(t){he.error("Failed to set up specialists: "+(t instanceof Error?t.message:"Unknown error"))}function cv(){const t={};for(const e of Oo)t[e.id]=!0;return t}function dv(t){const e=B.c(20),{template:s,enabled:i,onToggle:n}=t,o=i?"bg-accent/30":"hover:bg-accent/30";let a;e[0]!==o?(a=Y("flex items-center gap-3 rounded-lg border border-border px-3 py-3 cursor-pointer transition-colors",o),e[0]=o,e[1]=a):a=e[1];let l;e[2]!==s.icon||e[3]!==s.title?(l=r.jsx(Qt,{icon:s.icon,name:s.title,size:"sm",className:"shrink-0"}),e[2]=s.icon,e[3]=s.title,e[4]=l):l=e[4];let c;e[5]!==s.title?(c=r.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:s.title}),e[5]=s.title,e[6]=c):c=e[6];let d;e[7]!==s.description?(d=r.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:s.description}),e[7]=s.description,e[8]=d):d=e[8];let u;e[9]!==c||e[10]!==d?(u=r.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c,d]}),e[9]=c,e[10]=d,e[11]=u):u=e[11];let h;e[12]!==i||e[13]!==n?(h=r.jsx(mn,{checked:i,onCheckedChange:n,className:"shrink-0"}),e[12]=i,e[13]=n,e[14]=h):h=e[14];let f;return e[15]!==a||e[16]!==l||e[17]!==u||e[18]!==h?(f=r.jsxs("label",{className:a,children:[l,u,h]}),e[15]=a,e[16]=l,e[17]=u,e[18]=h,e[19]=f):f=e[19],f}function hv(t){const e=B.c(14),{title:s,description:i,icon:n}=t;let o;e[0]!==n||e[1]!==s?(o=r.jsx(Qt,{icon:n,name:s,size:"sm",className:"shrink-0"}),e[0]=n,e[1]=s,e[2]=o):o=e[2];let a;e[3]!==s?(a=r.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:s}),e[3]=s,e[4]=a):a=e[4];let l;e[5]!==i?(l=r.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:i}),e[5]=i,e[6]=l):l=e[6];let c;e[7]!==a||e[8]!==l?(c=r.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[a,l]}),e[7]=a,e[8]=l,e[9]=c):c=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wide text-muted-foreground shrink-0",children:"Coming soon"}),e[10]=d):d=e[10];let u;return e[11]!==o||e[12]!==c?(u=r.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-dashed border-border px-3 py-3 opacity-60",children:[o,c,d]}),e[11]=o,e[12]=c,e[13]=u):u=e[13],u}function uv(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"flex items-center justify-center rounded-lg border border-dashed border-border px-3 py-3 text-xs text-muted-foreground",children:"More specialists coming soon"}),t[0]=e):e=t[0],e}function Zl(t){const e=t.trim();if(!e)return null;try{const s=new URL(e);return s.protocol!=="https:"&&s.protocol!=="http:"?null:s.origin+(s.pathname==="/"?"":s.pathname)}catch{return null}}async function fv({selfClient:t,createConnection:e,registry:s}){const n=(await t.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{where:{field:["app_id"],operator:"eq",value:qi},limit:1,offset:0}})).structuredContent?.items?.find(u=>u.app_id===qi);if(n)return n.id;const o=s?.server?.remotes?.[0]?.url;if(!o)throw new Error("Site Diagnostics MCP is not available in the registry right now.");const a=s?.title??s?.server?.title??s?.server?.name??"Site Diagnostics",l=s?.server?.icons?.[0]?.src??null,c=s?.server?.description??null;return(await e({title:a,description:c,icon:l,connection_type:"HTTP",connection_url:o,app_name:s?.server?.name??"site-diagnostics",app_id:qi,metadata:{type:"site-diagnostics",source:"store",registry_item_id:qi,verified:!0}})).id}async function mv({template:t,selfClient:e,siteDiagnosticsConnectionId:s,projectAgentId:i,owner:n,repo:o,siteRootUrl:a}){const l=`${o}: ${t.title}`,d=(await e.callTool({name:"AUTOMATION_LIST",arguments:{virtual_mcp_id:i}})).structuredContent?.automations?.find(h=>h.name===l);let u;if(!(d&&d.trigger_count>0)){if(d)u=d.id;else{const h=await pv({template:t,selfClient:e,siteDiagnosticsConnectionId:s}),f=iv({template:t,specialistAgentId:h,owner:n,repo:o,siteRootUrl:a}),m=jd(f),p=await e.callTool({name:"AUTOMATION_CREATE",arguments:{name:l,virtual_mcp_id:i,agent:{id:i},messages:m,active:!0}});u=(p.structuredContent??p).id}await e.callTool({name:"AUTOMATION_TRIGGER_ADD",arguments:{automation_id:u,type:"cron",cron_expression:t.cron}})}}async function pv({template:t,selfClient:e,siteDiagnosticsConnectionId:s}){const n=(await e.callTool({name:"COLLECTION_VIRTUAL_MCP_LIST",arguments:{where:{field:["metadata","specialistId"],operator:"eq",value:t.id},limit:1,offset:0}})).structuredContent?.items?.find(l=>l.metadata?.specialistId===t.id);if(n)return n.id;const o=await e.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:t.title,description:t.description,icon:t.icon,pinned:!1,metadata:{specialistId:t.id,instructions:t.instructions},connections:[{connection_id:s,selected_tools:t.siteDiagnosticsTools,selected_resources:null,selected_prompts:null}]}}});return(o.structuredContent??o).item.id}function gv(t){try{const e=localStorage.getItem(`mesh:chat:recent-agents:${t}`);return e?JSON.parse(e):[]}catch{return[]}}const _v=8;function ec(t){const e=B.c(21),{agent:s,onSpecialClick:i,tracking:n}=t,{org:o}=xe(),a=Oe();let l;e[0]!==s.id||e[1]!==s.title||e[2]!==a||e[3]!==i||e[4]!==o||e[5]!==n.action||e[6]!==n.template_id||e[7]!==n.tile_kind?(l=()=>{if(re("home_agent_tile_clicked",{template_id:n.template_id,agent_id:s.id,agent_title:s.title,tile_kind:n.tile_kind,action:n.action}),i)i();else{const g=crypto.randomUUID();a({to:"/$org/$taskId",params:{org:o.slug,taskId:g},search:{virtualmcpid:s.id}})}},e[0]=s.id,e[1]=s.title,e[2]=a,e[3]=i,e[4]=o,e[5]=n.action,e[6]=n.template_id,e[7]=n.tile_kind,e[8]=l):l=e[8];const c=l;let d;e[9]===Symbol.for("react.memo_cache_sentinel")?(d=Y("flex flex-col items-center gap-3 p-2 rounded-lg","transition-colors","cursor-pointer","w-[100px] shrink-0","group"),e[9]=d):d=e[9];const u=`Select agent ${s.title}`;let h;e[10]===Symbol.for("react.memo_cache_sentinel")?(h=r.jsx(Dn,{size:24}),e[10]=h):h=e[10];let f;e[11]!==s.icon||e[12]!==s.title?(f=r.jsx(ps,{icon:s.icon,name:s.title,size:"md",fallbackIcon:h,className:"transition-transform group-hover:scale-110"}),e[11]=s.icon,e[12]=s.title,e[13]=f):f=e[13];let m;e[14]!==s.title?(m=r.jsx("p",{className:"text-xs sm:text-sm text-foreground text-center leading-tight line-clamp-2 break-words w-full",children:s.title}),e[14]=s.title,e[15]=m):m=e[15];let p;return e[16]!==c||e[17]!==u||e[18]!==f||e[19]!==m?(p=r.jsxs("button",{type:"button",onClick:c,className:d,"aria-label":u,children:[f,m]}),e[16]=c,e[17]=u,e[18]=f,e[19]=m,e[20]=p):p=e[20],p}function xv(){const t=B.c(8),e=Oe(),{org:s}=xe();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=Y("flex flex-col items-center gap-3 p-2 rounded-lg","transition-colors","cursor-pointer","w-[100px] shrink-0","group"),t[0]=i):i=t[0];let n;t[1]!==e||t[2]!==s.slug?(n=()=>{re("home_see_all_agents_clicked"),e({to:"/$org/settings/agents",params:{org:s.slug}})},t[1]=e,t[2]=s.slug,t[3]=n):n=t[3];let o,a;t[4]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("div",{className:"size-12 rounded-xl bg-accent flex items-center justify-center shrink-0 transition-transform group-hover:scale-110",children:r.jsx($a,{size:20,className:"text-foreground"})}),a=r.jsx("p",{className:"text-xs sm:text-sm text-foreground text-center leading-tight",children:"See all"}),t[4]=o,t[5]=a):(o=t[4],a=t[5]);let l;return t[6]!==n?(l=r.jsxs("button",{type:"button",className:i,"aria-label":"See all agents",onClick:n,children:[o,a]}),t[6]=n,t[7]=l):l=t[7],l}function vv(){const t=B.c(9);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={navigateOnCreate:!0},t[0]=e):e=t[0];const{createVirtualMCP:s,isCreating:i}=_h(e);let n;t[1]!==s?(n=()=>{re("home_create_agent_clicked"),s()},t[1]=s,t[2]=n):n=t[2];let o;t[3]===Symbol.for("react.memo_cache_sentinel")?(o=Y("flex flex-col items-center gap-3 p-2 rounded-lg","transition-colors","cursor-pointer","w-[100px] shrink-0","group","disabled:opacity-50 disabled:cursor-not-allowed"),t[3]=o):o=t[3];let a,l;t[4]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx("div",{className:"size-12 rounded-xl bg-background border-2 border-dashed border-border flex items-center justify-center shrink-0 transition-transform group-hover:scale-110",children:r.jsx(Dt,{size:20,className:"text-muted-foreground"})}),l=r.jsx("p",{className:"text-xs sm:text-sm text-foreground text-center leading-tight",children:"Create agent"}),t[4]=a,t[5]=l):(a=t[4],l=t[5]);let c;return t[6]!==i||t[7]!==n?(c=r.jsxs("button",{type:"button",onClick:n,disabled:i,className:o,"aria-label":"Create agent",children:[a,l]}),t[6]=i,t[7]=n,t[8]=c):c=t[8],c}function Br(t,e,s){return t.find(i=>i.id!==null&&(i.metadata?.type===e||i.title===s))}function bv(){const t=B.c(52),e=Rn(),{locator:s}=xe(),i=Hp(),[n,o]=j.useState(!1),[a,l]=j.useState(!1),[c,d]=j.useState(!1),[u,h]=j.useState(!1),[f,m]=j.useState(!1),[p,g]=j.useState(!1),[_,v]=j.useState(!1),[x]=ei(),b=Sr();let y,V,C,S,w,k,T,M;if(t[0]!==s||t[1]!==b||t[2]!==i||t[3]!==x||t[4]!==e){const F=jt.find(Tv),W=jt.find(Iv),H=jt.find(Ev),U=jt.find(Av),X=jt.find(Nv),K=jt.find(jv),G=jt.find(kv);C=Br(e,W.id,W.title),y=Br(e,H.id,H.title),V=Br(e,U.id,U.title),S=Br(e,X.id,X.title);const ie=Z=>{if(Z===F.id)return{key:Z,kind:"template-recruit",templateId:"site-editor",agent:F,onClick:"import-deco"};if(Z===W.id)return C?{key:C.id,kind:"existing",templateId:"site-diagnostics",agent:C}:{key:Z,kind:"template-recruit",templateId:"site-diagnostics",agent:W,onClick:"diagnostics"};if(Z===H.id)return y?{key:y.id,kind:"existing",templateId:"ai-image",agent:y}:{key:Z,kind:"template-recruit",templateId:"ai-image",agent:H,onClick:"ai-image"};if(Z===X.id)return S?{key:S.id,kind:"existing",templateId:"lean-canvas",agent:S}:{key:Z,kind:"template-recruit",templateId:"lean-canvas",agent:X,onClick:"lean-canvas"};if(Z===K.id)return{key:Z,kind:"template-recruit",templateId:"studio-pack",agent:K,onClick:"studio-pack"};if(Z===G.id)return x.experimental_vibecode?{key:Z,kind:"template-recruit",templateId:"self-healing-storefront",agent:G,onClick:"self-healing"}:null;if(Z===U.id)return V?{key:V.id,kind:"existing",templateId:"ai-research",agent:V}:{key:Z,kind:"template-recruit",templateId:"ai-research",agent:U,onClick:"ai-research"};const de=e.find(fe=>fe.id!==null&&fe.id===Z&&!lr(fe.id));return de?{key:de.id,kind:"existing",templateId:null,agent:de}:null};let te;if(i?.ids)te=i.ids.map(ie).filter(Cv).slice(0,_v);else{const de=[F.id,G.id,W.id,H.id,U.id].map(ie).filter(Vv),fe=gv(s),ye=e.filter(wv).filter(ge=>ge.id!==C?.id&&ge.id!==y?.id&&ge.id!==V?.id).sort((ge,ce)=>{const ue=fe.indexOf(ge.id),be=fe.indexOf(ce.id);return ue!==-1&&be!==-1?ue-be:ue!==-1?-1:be!==-1?1:new Date(ce.updated_at).getTime()-new Date(ge.updated_at).getTime()}).slice(0,4).map(Sv);te=[...de,...ye]}w=te.some(yv);let J;t[13]!==b?(J=Z=>{if(Z.kind==="template-recruit"){const de={"import-deco":()=>o(!0),diagnostics:()=>l(!0),"ai-image":()=>d(!0),"ai-research":()=>h(!0),"lean-canvas":()=>m(!0),"studio-pack":()=>g(!0),"self-healing":()=>v(!0)}[Z.onClick];return r.jsx(ec,{agent:Z.agent,onSpecialClick:de,tracking:{template_id:Z.templateId,tile_kind:"template",action:"open_modal"}},Z.key)}return r.jsx(ec,{agent:Z.agent,onSpecialClick:()=>b(Z.agent.id),tracking:{template_id:Z.templateId,tile_kind:Z.templateId?"existing":"recent",action:"navigate"}},Z.key)},t[13]=b,t[14]=J):J=t[14];const ae=J;M="w-full max-md:overflow-x-auto max-md:[scrollbar-width:none] max-md:[&::-webkit-scrollbar]:hidden",k="flex flex-wrap justify-center gap-1.5 max-md:flex-nowrap max-md:justify-start md:max-h-52 md:overflow-hidden",T=te.map(ae),t[0]=s,t[1]=b,t[2]=i,t[3]=x,t[4]=e,t[5]=y,t[6]=V,t[7]=C,t[8]=S,t[9]=w,t[10]=k,t[11]=T,t[12]=M}else y=t[5],V=t[6],C=t[7],S=t[8],w=t[9],k=t[10],T=t[11],M=t[12];let I;t[15]===Symbol.for("react.memo_cache_sentinel")?(I=r.jsx(vv,{}),t[15]=I):I=t[15];let E;t[16]!==w?(E=w&&r.jsx(xv,{}),t[16]=w,t[17]=E):E=t[17];let N;t[18]!==k||t[19]!==T||t[20]!==E?(N=r.jsxs("div",{className:k,children:[T,I,E]}),t[18]=k,t[19]=T,t[20]=E,t[21]=N):N=t[21];let A;t[22]!==M||t[23]!==N?(A=r.jsx("div",{className:M,children:N}),t[22]=M,t[23]=N,t[24]=A):A=t[24];let D;t[25]!==n?(D=r.jsx(fn,{open:n,onOpenChange:o}),t[25]=n,t[26]=D):D=t[26];let L;t[27]!==a||t[28]!==C?(L=r.jsx(uh,{open:a,onOpenChange:l,existingAgent:C}),t[27]=a,t[28]=C,t[29]=L):L=t[29];let R;t[30]!==c||t[31]!==y?(R=r.jsx(Jh,{open:c,onOpenChange:d,existingAgent:y}),t[30]=c,t[31]=y,t[32]=R):R=t[32];let P;t[33]!==u||t[34]!==V?(P=r.jsx(Qh,{open:u,onOpenChange:h,existingAgent:V}),t[33]=u,t[34]=V,t[35]=P):P=t[35];let O;t[36]!==S||t[37]!==f?(O=r.jsx(fh,{open:f,onOpenChange:m,existingAgent:S}),t[36]=S,t[37]=f,t[38]=O):O=t[38];let z;t[39]!==p?(z=r.jsx(mh,{open:p,onOpenChange:g}),t[39]=p,t[40]=z):z=t[40];let $;t[41]!==_?($=r.jsx(Zh,{open:_,onOpenChange:v}),t[41]=_,t[42]=$):$=t[42];let q;return t[43]!==P||t[44]!==O||t[45]!==z||t[46]!==$||t[47]!==A||t[48]!==D||t[49]!==L||t[50]!==R?(q=r.jsxs(r.Fragment,{children:[A,D,L,R,P,O,z,$]}),t[43]=P,t[44]=O,t[45]=z,t[46]=$,t[47]=A,t[48]=D,t[49]=L,t[50]=R,t[51]=q):q=t[51],q}function yv(t){return t.kind==="existing"&&t.templateId===null}function Sv(t){return{key:t.id,kind:"existing",templateId:null,agent:t}}function wv(t){return t.id!==null&&!lr(t.id)}function Vv(t){return t!==null}function Cv(t){return t!==null}function kv(t){return t.id==="self-healing-storefront"}function jv(t){return t.id==="studio-pack"}function Nv(t){return t.id==="lean-canvas"}function Av(t){return t.id==="ai-research"}function Ev(t){return t.id==="ai-image"}function Iv(t){return t.id==="site-diagnostics"}function Tv(t){return t.id==="site-editor"}function Rv(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"w-full max-md:overflow-x-auto max-md:[scrollbar-width:none] max-md:[&::-webkit-scrollbar]:hidden",children:r.jsx("div",{className:"flex flex-wrap justify-center gap-1.5 max-md:flex-nowrap max-md:justify-start md:max-h-52 md:overflow-hidden",children:Array.from({length:7}).map(Mv)})}),t[0]=e):e=t[0],e}function Mv(t,e){return r.jsxs("div",{className:"flex flex-col items-center gap-3 p-2 w-[100px] shrink-0",children:[r.jsx(wi,{className:"size-12 rounded-xl shrink-0"}),r.jsx(wi,{className:"h-3 sm:h-4 w-full"})]},e)}function tc(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(j.Suspense,{fallback:r.jsx(Rv,{}),children:r.jsx(bv,{})}),t[0]=e):e=t[0],e}function Bi(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}k`:String(t)}function sc(t){if(!t)return"—";const e=typeof t=="string"?new Date(t):t;return isNaN(e.getTime())?"—":e.toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"})}function Dv(t){return t?t.replace(/-\d{8}(?:-[a-z0-9]+)*$/i,"").replace(/-/g," "):"—"}function Pv(t){const e=B.c(4),{items:s}=t;let i;e[0]!==s?(i=s.map(Lv),e[0]=s,e[1]=i):i=e[1];let n;return e[2]!==i?(n=r.jsx("div",{className:"grid grid-cols-2 gap-x-8 gap-y-6",children:i}),e[2]=i,e[3]=n):n=e[3],n}function Lv(t){return r.jsxs("div",{className:"flex flex-col gap-1 min-w-0",children:[r.jsx("span",{className:"text-xs text-muted-foreground truncate",children:t.label}),r.jsx("span",{className:"text-sm text-foreground tabular-nums truncate",children:t.value})]},t.label)}function Ov(t){const e=B.c(30),{userTokens:s,assistantTokens:i,otherTokens:n}=t,o=s+i+n,a=o>0?s/o*100:0,l=o>0?i/o*100:0,c=o>0?n/o*100:0;let d;e[0]!==a?(d=a>0&&r.jsx("div",{className:"h-full bg-chart-1",style:{width:`${a}%`}}),e[0]=a,e[1]=d):d=e[1];let u;e[2]!==l?(u=l>0&&r.jsx("div",{className:"h-full bg-chart-2",style:{width:`${l}%`}}),e[2]=l,e[3]=u):u=e[3];let h;e[4]!==c?(h=c>0&&r.jsx("div",{className:"h-full bg-muted-foreground/30",style:{width:`${c}%`}}),e[4]=c,e[5]=h):h=e[5];let f;e[6]!==d||e[7]!==u||e[8]!==h?(f=r.jsxs("div",{className:"flex h-2 w-full overflow-hidden rounded-full bg-muted",children:[d,u,h]}),e[6]=d,e[7]=u,e[8]=h,e[9]=f):f=e[9];let m;e[10]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-chart-1 shrink-0"}),e[10]=m):m=e[10];let p;e[11]!==a?(p=a.toFixed(1),e[11]=a,e[12]=p):p=e[12];let g;e[13]!==p?(g=r.jsxs("div",{className:"flex items-center gap-1.5",children:[m,r.jsxs("span",{className:"text-xs text-muted-foreground",children:["User ",p,"%"]})]}),e[13]=p,e[14]=g):g=e[14];let _;e[15]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-chart-2 shrink-0"}),e[15]=_):_=e[15];let v;e[16]!==l?(v=l.toFixed(1),e[16]=l,e[17]=v):v=e[17];let x;e[18]!==v?(x=r.jsxs("div",{className:"flex items-center gap-1.5",children:[_,r.jsxs("span",{className:"text-xs text-muted-foreground",children:["Assistant ",v,"%"]})]}),e[18]=v,e[19]=x):x=e[19];let b;e[20]!==c||e[21]!==n?(b=n>0&&r.jsxs("div",{className:"flex items-center gap-1.5",children:[r.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-muted-foreground/30 shrink-0"}),r.jsxs("span",{className:"text-xs text-muted-foreground",children:["Other ",c.toFixed(1),"%"]})]}),e[20]=c,e[21]=n,e[22]=b):b=e[22];let y;e[23]!==x||e[24]!==b||e[25]!==g?(y=r.jsxs("div",{className:"flex flex-wrap gap-x-3 gap-y-1",children:[g,x,b]}),e[23]=x,e[24]=b,e[25]=g,e[26]=y):y=e[26];let V;return e[27]!==y||e[28]!==f?(V=r.jsxs("div",{className:"flex flex-col gap-2",children:[f,y]}),e[27]=y,e[28]=f,e[29]=V):V=e[29],V}function Bv(t){const e=B.c(19),{part:s}=t,i=s.input?.agent_id,n=$t(i),o=n?.title??"Subtask",a=n?.icon??null,l=s.state==="input-streaming"||s.state==="input-available"||s.state==="output-available"&&s.preliminary===!0,c=s.state==="output-error",d=s.state==="approval-requested";let u;e[0]!==a||e[1]!==o?(u=r.jsx(ps,{icon:a,name:o,size:"xs",className:"size-6 rounded-md shrink-0"}),e[0]=a,e[1]=o,e[2]=u):u=e[2];const h=c?"text-destructive":"text-foreground";let f;e[3]!==h?(f=Y("shrink-0 font-medium",h),e[3]=h,e[4]=f):f=e[4];let m;e[5]!==o||e[6]!==f?(m=r.jsx("span",{className:f,children:o}),e[5]=o,e[6]=f,e[7]=m):m=e[7];let p;e[8]!==s.input?(p=s.input?.prompt&&r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"text-muted-foreground/50",children:"·"}),r.jsx("span",{className:"truncate text-muted-foreground",children:s.input.prompt})]}),e[8]=s.input,e[9]=p):p=e[9];let g;e[10]!==d||e[11]!==c||e[12]!==l?(g=r.jsx("span",{className:"ml-auto shrink-0",children:l?r.jsx(Ne,{size:12,className:"animate-spin text-muted-foreground"}):c?r.jsx(vp,{size:12,className:"text-destructive"}):d?r.jsx(Bs,{size:12,className:"text-warning"}):r.jsx(Kp,{size:12,className:"text-emerald-500"})}),e[10]=d,e[11]=c,e[12]=l,e[13]=g):g=e[13];let _;return e[14]!==u||e[15]!==m||e[16]!==p||e[17]!==g?(_=r.jsxs("div",{className:"flex items-center gap-2 text-xs min-w-0",children:[u,m,p,g]}),e[14]=u,e[15]=m,e[16]=p,e[17]=g,e[18]=_):_=e[18],_}function $v(t){const e=B.c(58),{onClose:s,back:i,className:n}=t,[o,a]=j.useState(null),{messages:l}=Ii(),{tasks:c,taskId:d}=Lt(),{selectedModel:u,selectedVirtualMcp:h}=$s();let f,m,p,g,_,v,x,b;if(e[0]!==i||e[1]!==n||e[2]!==l||e[3]!==s||e[4]!==o?.id||e[5]!==u||e[6]!==h?.title||e[7]!==d||e[8]!==c){b=Symbol.for("react.early_return_sentinel");e:{let C;e[17]!==d?(C=J=>J.id===d,e[17]=d,e[18]=C):C=e[18];const S=c.find(C),w=Nd(l),k=[...l].reverse().find(Yv),T=k?.metadata?.usage,M=k?.metadata?.modelLimits?.contextWindow??u?.limits?.contextWindow??null,I=T?.contextTokens??T?.totalTokens??0,E=M&&M>0?(I/M*100).toFixed(1):null,N=l;let A;e[19]!==N?(A=N.filter(Gv).reduce(qv,0),e[19]=N,e[20]=A):A=e[20];const D=A,L=l;let R;e[21]!==L?(R=L.filter(Kv).reduce(Wv,0),e[21]=L,e[22]=R):R=e[22];const P=R,O=Math.max(0,w.totalTokens-D-P),z=l[0],$=l.at(-1),q=z?.metadata?.created_at??S?.created_at,F=$?.metadata?.created_at??S?.updated_at,W=l.filter(Hv),H=l.flatMap(Fv),U=u?.modelId?Dv(u.modelId):"—",X=h?.title??"Decopilot",K=[{label:"Session",value:S?.title??"New chat"},{label:"Messages",value:W.length},{label:"Agent",value:X},{label:"Model",value:U},{label:"Context Limit",value:M?Bi(M):"—"},{label:"Session Tokens (billed)",value:w.totalTokens>0?Bi(w.totalTokens):"0"},{label:"Usage",value:E!==null?`${E}%`:"—"},{label:"Input Tokens",value:w.inputTokens>0?Bi(w.inputTokens):"0"},{label:"Output Tokens",value:w.outputTokens>0?Bi(w.outputTokens):"0"},{label:"Reasoning Tokens",value:w.reasoningTokens>0?Bi(w.reasoningTokens):"0"},{label:"Cost",value:w.cost>0?`$${w.cost<.001?w.cost.toFixed(6):w.cost.toFixed(4)}`:"$0.00"},{label:"Session Created",value:sc(q)},{label:"Last Activity",value:sc(F)}];if(!S&&W.length===0){let J;e[23]!==n?(J=Y("flex flex-col h-full w-full border-l border-border bg-background",n),e[23]=n,e[24]=J):J=e[24];let ae;e[25]===Symbol.for("react.memo_cache_sentinel")?(ae=r.jsx("span",{className:"text-sm font-medium text-foreground",children:"Context"}),e[25]=ae):ae=e[25];let Z;e[26]!==i?(Z=i?r.jsx(Eo,{size:14,className:"text-muted-foreground"}):r.jsx(Os,{size:14,className:"text-muted-foreground"}),e[26]=i,e[27]=Z):Z=e[27];let de;e[28]!==s||e[29]!==Z?(de=r.jsxs("div",{className:"h-11 px-4 flex items-center justify-between shrink-0 border-b border-border/50",children:[ae,r.jsx("button",{type:"button",onClick:s,className:"flex size-6 items-center justify-center rounded hover:bg-accent transition-colors",children:Z})]}),e[28]=s,e[29]=Z,e[30]=de):de=e[30];let fe;e[31]===Symbol.for("react.memo_cache_sentinel")?(fe=r.jsx("div",{className:"flex-1 flex items-center justify-center px-4 text-center",children:r.jsx("p",{className:"text-xs text-muted-foreground",children:"Start a conversation to see context"})}),e[31]=fe):fe=e[31];let ye;e[32]!==J||e[33]!==de?(ye=r.jsxs("div",{className:J,children:[de,fe]}),e[32]=J,e[33]=de,e[34]=ye):ye=e[34],b=ye;break e}e[35]!==n?(v=Y("flex flex-col h-full w-full border-l border-border bg-background overflow-y-auto",n),e[35]=n,e[36]=v):v=e[36];let G;e[37]===Symbol.for("react.memo_cache_sentinel")?(G=r.jsx("span",{className:"text-sm font-medium text-foreground",children:"Context"}),e[37]=G):G=e[37];let ie;e[38]!==i?(ie=i?r.jsx(Eo,{size:14}):r.jsx(Os,{size:14}),e[38]=i,e[39]=ie):ie=e[39],e[40]!==s||e[41]!==ie?(x=r.jsxs("div",{className:"flex h-11 shrink-0 items-center justify-between border-b border-border/50 px-4",children:[G,r.jsx("button",{type:"button",onClick:s,className:"flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:ie})]}),e[40]=s,e[41]=ie,e[42]=x):x=e[42],f="flex flex-col gap-8 p-6",m=H.length>0&&r.jsxs("div",{className:"flex flex-col gap-3",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:"Subtasks"}),r.jsx("div",{className:"flex flex-col gap-1",children:H.map(zv)})]}),p=r.jsx(Pv,{items:K});let te;e[43]===Symbol.for("react.memo_cache_sentinel")?(te=r.jsx("span",{className:"text-xs text-muted-foreground",children:"Context Breakdown"}),e[43]=te):te=e[43],e[44]!==P||e[45]!==O||e[46]!==D?(g=r.jsxs("div",{className:"flex flex-col gap-3",children:[te,r.jsx(Ov,{userTokens:D,assistantTokens:P,otherTokens:O})]}),e[44]=P,e[45]=O,e[46]=D,e[47]=g):g=e[47],_=W.length>0&&r.jsxs("div",{className:"flex flex-col gap-3",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:"Raw messages"}),r.jsx("div",{className:"flex flex-col gap-1",children:W.map(J=>{const ae=J.metadata?.created_at,Z=o?.id===J.id;return r.jsxs("div",{className:"rounded-md border border-border/50 overflow-hidden",children:[r.jsxs("button",{type:"button",onClick:()=>a(Z?null:J),className:"flex items-center justify-between gap-2 px-3 py-2 text-xs hover:bg-accent/50 w-full text-left cursor-pointer",children:[r.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[r.jsx("span",{className:Y("shrink-0 font-medium",J.role==="user"?"text-chart-1":"text-chart-2"),children:J.role}),r.jsx("span",{className:"text-muted-foreground",children:"•"}),r.jsx("span",{className:"truncate text-muted-foreground font-mono",children:J.id})]}),ae&&r.jsx("span",{className:"shrink-0 text-muted-foreground tabular-nums",children:new Date(ae).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"})})]}),Z&&r.jsx("pre",{className:"text-xs font-mono bg-muted px-3 py-2 overflow-auto whitespace-pre-wrap break-all border-t border-border/50 max-h-64",children:JSON.stringify(J,null,2)})]},J.id)})})]})}e[0]=i,e[1]=n,e[2]=l,e[3]=s,e[4]=o?.id,e[5]=u,e[6]=h?.title,e[7]=d,e[8]=c,e[9]=f,e[10]=m,e[11]=p,e[12]=g,e[13]=_,e[14]=v,e[15]=x,e[16]=b}else f=e[9],m=e[10],p=e[11],g=e[12],_=e[13],v=e[14],x=e[15],b=e[16];if(b!==Symbol.for("react.early_return_sentinel"))return b;let y;e[48]!==f||e[49]!==m||e[50]!==p||e[51]!==g||e[52]!==_?(y=r.jsxs("div",{className:f,children:[m,p,g,_]}),e[48]=f,e[49]=m,e[50]=p,e[51]=g,e[52]=_,e[53]=y):y=e[53];let V;return e[54]!==v||e[55]!==x||e[56]!==y?(V=r.jsxs("div",{className:v,children:[x,y]}),e[54]=v,e[55]=x,e[56]=y,e[57]=V):V=e[57],V}function zv(t,e){return r.jsx(Bv,{part:t},e)}function Fv(t){return(t.parts??[]).filter(Uv)}function Uv(t){return t.type==="tool-subtask"}function Hv(t){return t.role!=="system"}function Wv(t,e){const s=e.metadata?.usage;return t+(s?.outputTokens??0)}function Kv(t){return t.role==="assistant"}function qv(t,e){const s=e.metadata?.usage;return t+(s?.inputTokens??0)}function Gv(t){return t.role==="user"}function Yv(t){return t.role==="assistant"&&t.metadata?.usage}const ic=["amber","bold","bright","calm","crimson","coral","daring","deep","dusty","eager","faint","fierce","frozen","gentle","golden","grand","green","hollow","iron","ivory","keen","lasting","lunar","mellow","misty","noble","olive","pale","prime","quiet","rapid","rustic","serene","sharp","silver","sleek","solar","stark","still","swift","tawny","tender","thin","true","vast","velvet","warm","wild","young","zen"],rc=["anchor","birch","brook","cedar","cliff","cove","crane","dune","echo","ember","falcon","fern","flint","forge","frost","glade","grove","harbor","hawk","iris","jade","lark","maple","marsh","mesa","opal","orbit","peak","pine","plume","quartz","rapids","reef","ridge","river","sage","shore","slate","spruce","stone","summit","thorn","tide","trail","vale","wren","aspen","delta","crest","spark"];function Xv(){const t=ic[Math.floor(Math.random()*ic.length)],e=rc[Math.floor(Math.random()*rc.length)];return`deco/${t}-${e}`}function Jv(t){const e=t;if(e.structuredContent)return e.structuredContent;const s=e.content?.find(i=>i.type==="text")?.text;if(s)try{return JSON.parse(s)}catch{return[]}return[]}function Qv(t){const e=B.c(25),{orgId:s,userId:i,connectionId:n,vmMap:o,owner:a,repo:l,enabled:c}=t,d=c===void 0?!0:c,u=n??null;let h;e[0]!==s||e[1]!==u?(h={connectionId:u,orgId:s},e[0]=s,e[1]=u,e[2]=h):h=e[2];const f=Ae(h);let m;e[3]!==a||e[4]!==l?(m={owner:a,repo:l},e[3]=a,e[4]=l,e[5]=m):m=e[5];const p=d&&!!n&&!!a&&!!l;let g;e[6]!==f||e[7]!==m||e[8]!==p?(g={client:f,toolName:"list_branches",toolArguments:m,enabled:p,staleTime:3e4,select:sb},e[6]=f,e[7]=m,e[8]=p,e[9]=g):g=e[9];const{data:_,isLoading:v,isError:x}=ni(g);let b,y;e[10]!==i||e[11]!==o?(y=new Set(Object.keys(o?.[i]??{})),b=[...y].sort().map(tb),e[10]=i,e[11]=o,e[12]=b,e[13]=y):(b=e[12],y=e[13]);const V=b;let C;if(e[14]!==_||e[15]!==y){const T=Array.isArray(_)?_:_?.branches??[];let M;e[17]!==y?(M=I=>!y.has(I.name),e[17]=y,e[18]=M):M=e[18],C=T.filter(eb).filter(M).map(Zv),e[14]=_,e[15]=y,e[16]=C}else C=e[16];const S=C,w=Array.isArray(_)?null:_?.default_branch??null;let k;return e[19]!==w||e[20]!==x||e[21]!==v||e[22]!==S||e[23]!==V?(k={yours:V,others:S,defaultBase:w,isLoading:v,isError:x},e[19]=w,e[20]=x,e[21]=v,e[22]=S,e[23]=V,e[24]=k):k=e[24],k}function Zv(t){return{name:t.name,source:"other",author:typeof t.commit?.author=="string"?t.commit.author:t.commit?.author?.login??null}}function eb(t){return typeof t.name=="string"}function tb(t){return{name:t,source:"yours"}}function sb(t){return Jv(t)}function ib(t){const e=B.c(41),{orgId:s,userId:i,connectionId:n,owner:o,repo:a,vmMap:l,value:c,onChange:d}=t,[u,h]=j.useState(!1);let f;e[0]!==n||e[1]!==u||e[2]!==s||e[3]!==o||e[4]!==a||e[5]!==i||e[6]!==l?(f={orgId:s,userId:i,connectionId:n,vmMap:l,owner:o,repo:a,enabled:u},e[0]=n,e[1]=u,e[2]=s,e[3]=o,e[4]=a,e[5]=i,e[6]=l,e[7]=f):f=e[7];const{yours:m,others:p,isLoading:g,isError:_}=Qv(f);let v;e[8]!==d?(v=A=>{d(A),h(!1)},e[8]=d,e[9]=v):v=e[9];const x=v,b=c??"Select branch…";let y;e[10]===Symbol.for("react.memo_cache_sentinel")?(y=r.jsx(er,{className:"h-3.5 w-3.5"}),e[10]=y):y=e[10];let V;e[11]!==b?(V=r.jsx(zs,{asChild:!0,children:r.jsxs(oe,{variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 font-mono text-xs",children:[y,r.jsx("span",{className:"max-w-[200px] truncate",children:b})]})}),e[11]=b,e[12]=V):V=e[12];let C;e[13]===Symbol.for("react.memo_cache_sentinel")?(C=r.jsx(Yp,{placeholder:"Search branches…"}),e[13]=C):C=e[13];let S;e[14]!==x?(S=r.jsxs("div",{className:"flex items-center border-b pr-2 [&>[data-slot=command-input-wrapper]]:flex-1 [&>[data-slot=command-input-wrapper]]:border-b-0",children:[C,r.jsx(oe,{variant:"outline",size:"sm",className:"h-7 shrink-0",onClick:()=>x(Xv()),children:"New"})]}),e[14]=x,e[15]=S):S=e[15];let w;e[16]!==_?(w=_&&r.jsx("div",{className:"p-3 text-xs text-muted-foreground",children:"Couldn't load branches from GitHub. You can still pick from your branches."}),e[16]=_,e[17]=w):w=e[17];let k;e[18]!==_||e[19]!==g||e[20]!==p.length||e[21]!==m.length?(k=!_&&!g&&m.length===0&&p.length===0&&r.jsx(qp,{children:"No branches found."}),e[18]=_,e[19]=g,e[20]=p.length,e[21]=m.length,e[22]=k):k=e[22];let T;e[23]!==x||e[24]!==m?(T=m.length>0&&r.jsx(Al,{heading:"Your branches",children:m.map(A=>r.jsxs(El,{value:A.name,onSelect:()=>x(A.name),children:[r.jsx(er,{className:"mr-2 h-4 w-4"}),r.jsx("span",{className:"flex-1 truncate",children:A.name})]},A.name))}),e[23]=x,e[24]=m,e[25]=T):T=e[25];let M;e[26]!==p||e[27]!==x?(M=p.length>0&&r.jsxs(r.Fragment,{children:[r.jsx(Gp,{}),r.jsx(Al,{heading:"Other branches in repo",children:p.map(A=>r.jsxs(El,{value:A.name,onSelect:()=>x(A.name),children:[r.jsx(er,{className:"mr-2 h-4 w-4"}),r.jsx("span",{className:"flex-1 truncate",children:A.name}),A.author&&r.jsxs("span",{className:"text-xs text-muted-foreground",children:["@",A.author]})]},A.name))})]}),e[26]=p,e[27]=x,e[28]=M):M=e[28];let I;e[29]!==M||e[30]!==w||e[31]!==k||e[32]!==T?(I=r.jsxs(Xp,{children:[w,k,T,M]}),e[29]=M,e[30]=w,e[31]=k,e[32]=T,e[33]=I):I=e[33];let E;e[34]!==I||e[35]!==S?(E=r.jsx(Fs,{className:"w-[min(420px,calc(100vw-2rem))] p-0",align:"start",children:r.jsxs(Jp,{children:[S,I]})}),e[34]=I,e[35]=S,e[36]=E):E=e[36];let N;return e[37]!==u||e[38]!==E||e[39]!==V?(N=r.jsxs(Us,{open:u,onOpenChange:h,children:[V,E]}),e[37]=u,e[38]=E,e[39]=V,e[40]=N):N=e[40],N}const rb=["radial-gradient(ellipse 25% 220% at -5% 120%, rgba(165,149,255,0.35) 0%, transparent 100%)","radial-gradient(ellipse 25% 220% at 105% -20%, rgba(208,236,26,0.32) 0%, transparent 100%)"].join(", "),nb="/decotexture.svg";function nc(t){const e=B.c(7),{onClick:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={backgroundImage:rb},e[0]=i):i=e[0];let n,o;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("div",{className:"relative shrink-0 p-1.5 bg-[var(--brand-green-light)] rounded-lg border border-border",children:r.jsx(ps,{icon:"/logos/deco%20logo.svg",name:"deco.cx",size:"xs",className:"border-0 rounded-none bg-transparent"})}),o=r.jsx("p",{className:"flex-1 relative text-sm font-medium text-foreground leading-none whitespace-nowrap",children:"Import your deco.cx site"}),e[1]=n,e[2]=o):(n=e[1],o=e[2]);let a;e[3]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx("img",{src:nb,alt:"","aria-hidden":!0,className:"absolute pointer-events-none",style:{width:"274.5px",height:"272.25px",left:"calc(50% + 145.5px)",top:"calc(50% + 40px)",transform:"translate(-50%, -50%)"}}),e[3]=a):a=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx("div",{className:"relative bg-background flex items-center justify-center size-8 rounded-md shrink-0",children:r.jsx(In,{size:16,className:"text-foreground transition-transform group-hover:translate-x-0.5"})}),e[4]=l):l=e[4];let c;return e[5]!==s?(c=r.jsxs("button",{type:"button",onClick:s,className:"w-full relative flex items-center gap-4 px-4 py-4 rounded-lg border border-border bg-background overflow-hidden transition-colors text-left cursor-pointer group",style:i,children:[n,o,a,l]}),e[5]=s,e[6]=c):c=e[6],c}function ob(){const t=B.c(5),{data:e}=dt.useSession();let s;t[0]!==e?.user?.email?(s=Ze.decoProfile(e?.user?.email),t[0]=e?.user?.email,t[1]=s):s=t[1];const i=!!e?.user?.email;let n;t[2]!==s||t[3]!==i?(n={queryKey:s,queryFn:ab,enabled:i,staleTime:3e5},t[2]=s,t[3]=i,t[4]=n):n=t[4];const{data:o}=ji(n);return o?.isDecoUser??!1}async function ab(){const t=await fetch("/api/deco-sites/profile");return t.ok?t.json():{isDecoUser:!1}}function lb(t){const e=B.c(56),{onOpenContextPanel:s}=t,{data:i}=dt.useSession(),[n,o]=j.useState(!1),a=ob(),l=ms(),{hasDecoKey:c,isZeroBalance:d,isInitialFreeCredit:u,balanceDollars:h,hasOnlyDecoProvider:f}=Pn();let m;e[0]!==i?.user?.name?(m=i?.user?.name?.split(" ")[0]||"there",e[0]=i?.user?.name,e[1]=m):m=e[1];const p=m,g=c&&u&&h!=null,_=c&&d&&f;if(l){let E;e[2]!==h||e[3]!==g?(E=g&&r.jsx("div",{className:"mb-4",children:r.jsx(Ee.CreditsEyebrow,{balanceDollars:h})}),e[2]=h,e[3]=g,e[4]=E):E=e[4];let N;e[5]!==_?(N=_&&r.jsx("div",{className:"mb-4",children:r.jsx(Ee.NoCreditsEyebrow,{})}),e[5]=_,e[6]=N):N=e[6];let A;e[7]!==p?(A=r.jsxs("p",{className:"text-3xl font-medium text-foreground text-center max-w-[280px]",children:["What's on your mind, ",p,"?"]}),e[7]=p,e[8]=A):A=e[8];let D;e[9]!==E||e[10]!==N||e[11]!==A?(D=r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center w-full",children:[E,N,A]}),e[9]=E,e[10]=N,e[11]=A,e[12]=D):D=e[12];let L;e[13]===Symbol.for("react.memo_cache_sentinel")?(L=r.jsx(tc,{}),e[13]=L):L=e[13];let R;e[14]!==s?(R=r.jsxs("div",{className:"w-full flex flex-col gap-4 pb-4",children:[L,r.jsx(Ee.Input,{onOpenContextPanel:s,showConnectionsBanner:!0})]}),e[14]=s,e[15]=R):R=e[15];let P;e[16]!==a?(P=a&&r.jsx("div",{className:"w-full",children:r.jsx(nc,{onClick:()=>o(!0)})}),e[16]=a,e[17]=P):P=e[17];let O;e[18]!==D||e[19]!==R||e[20]!==P?(O=r.jsxs("div",{className:"flex-1 relative flex flex-col items-center px-4",children:[D,R,P]}),e[18]=D,e[19]=R,e[20]=P,e[21]=O):O=e[21];let z;e[22]!==n?(z=r.jsx(fn,{open:n,onOpenChange:o}),e[22]=n,e[23]=z):z=e[23];let $;return e[24]!==z||e[25]!==O?($=r.jsxs(r.Fragment,{children:[O,z]}),e[24]=z,e[25]=O,e[26]=$):$=e[26],$}let v;e[27]!==h||e[28]!==g?(v=g&&r.jsx("div",{className:"mb-4",children:r.jsx(Ee.CreditsEyebrow,{balanceDollars:h})}),e[27]=h,e[28]=g,e[29]=v):v=e[29];let x;e[30]!==_?(x=_&&r.jsx("div",{className:"mb-4",children:r.jsx(Ee.NoCreditsEyebrow,{})}),e[30]=_,e[31]=x):x=e[31];let b;e[32]!==p?(b=r.jsxs("p",{className:"text-3xl font-medium text-foreground",children:["What's on your mind, ",p,"?"]}),e[32]=p,e[33]=b):b=e[33];let y;e[34]!==v||e[35]!==x||e[36]!==b?(y=r.jsxs("div",{className:"text-center mb-10",children:[v,x,b]}),e[34]=v,e[35]=x,e[36]=b,e[37]=y):y=e[37];let V;e[38]!==s?(V=r.jsx("div",{className:"w-full",children:r.jsx(Ee.Input,{onOpenContextPanel:s,showConnectionsBanner:!0})}),e[38]=s,e[39]=V):V=e[39];let C;e[40]!==y||e[41]!==V?(C=r.jsxs("div",{className:"flex flex-col items-center w-full max-w-[672px]",children:[y,V]}),e[40]=y,e[41]=V,e[42]=C):C=e[42];let S;e[43]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx("div",{className:"w-full mt-10 mx-auto",children:r.jsx(tc,{})}),e[43]=S):S=e[43];let w;e[44]!==C?(w=r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center w-full",children:[C,S]}),e[44]=C,e[45]=w):w=e[45];let k;e[46]!==a?(k=a&&r.jsx("div",{className:"absolute bottom-6 left-0 right-0 px-10",children:r.jsx("div",{className:"w-full max-w-[500px] mx-auto",children:r.jsx(nc,{onClick:()=>o(!0)})})}),e[46]=a,e[47]=k):k=e[47];let T;e[48]!==k||e[49]!==w?(T=r.jsxs("div",{className:"flex-1 relative flex flex-col items-center px-10",children:[w,k]}),e[48]=k,e[49]=w,e[50]=T):T=e[50];let M;e[51]!==n?(M=r.jsx(fn,{open:n,onOpenChange:o}),e[51]=n,e[52]=M):M=e[52];let I;return e[53]!==T||e[54]!==M?(I=r.jsxs(r.Fragment,{children:[T,M]}),e[53]=T,e[54]=M,e[55]=I):I=e[55],I}function cb(){const t=B.c(26),{org:e}=xe(),{selectedVirtualMcp:s}=$s(),{data:i}=dt.useSession(),{currentBranch:n,setCurrentTaskBranch:o}=Lt();let a;t[0]!==e.id?(a=En(e.id),t[0]=e.id,t[1]=a):a=t[1];const c=s??a,d=$t(c.id),u=i?.user?.id??"",h=d?.metadata?.githubRepo??null,f=!!h?.connectionId&&!!u;let m;t[2]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx(Dn,{size:32}),t[2]=m):m=t[2];let p;t[3]!==c.icon||t[4]!==c.title?(p=r.jsx(ps,{icon:c.icon,name:c.title,size:"lg",fallbackIcon:m,className:"size-10 min-w-10 md:size-[60px]! md:min-w-[60px] rounded-xl md:rounded-[18px]!"}),t[3]=c.icon,t[4]=c.title,t[5]=p):p=t[5];let g;t[6]!==c.title?(g=r.jsx("h3",{className:"text-base md:text-xl font-medium text-foreground",children:c.title}),t[6]=c.title,t[7]=g):g=t[7];const _=c.description??"Ask anything about configuring model providers or using MCP Mesh.";let v;t[8]!==_?(v=r.jsx("div",{className:"text-muted-foreground text-center text-base max-w-md line-clamp-2",children:_}),t[8]=_,t[9]=v):v=t[9];let x;t[10]!==n||t[11]!==d?.metadata?.vmMap||t[12]!==h||t[13]!==e.id||t[14]!==o||t[15]!==f||t[16]!==u?(x=f&&r.jsx("div",{className:"mt-2",children:r.jsx(ib,{orgId:e.id,userId:u,connectionId:h.connectionId,owner:h.owner,repo:h.name,vmMap:d?.metadata?.vmMap,value:n??void 0,onChange:o})}),t[10]=n,t[11]=d?.metadata?.vmMap,t[12]=h,t[13]=e.id,t[14]=o,t[15]=f,t[16]=u,t[17]=x):x=t[17];let b;t[18]!==p||t[19]!==g||t[20]!==v||t[21]!==x?(b=r.jsxs("div",{className:"flex flex-col items-center justify-center gap-2 md:gap-4 text-center",children:[p,g,v,x]}),t[18]=p,t[19]=g,t[20]=v,t[21]=x,t[22]=b):b=t[22];let y;t[23]===Symbol.for("react.memo_cache_sentinel")?(y=r.jsx("div",{className:"w-full max-w-3xl mx-auto",children:r.jsx(Ee.IceBreakers,{})}),t[23]=y):y=t[23];let V;return t[24]!==b?(V=r.jsxs("div",{className:"h-full w-full flex flex-col items-center justify-center gap-6 px-4",children:[b,y]}),t[24]=b,t[25]=V):V=t[25],V}function db(t){const e=B.c(27),{variant:s}=t,{org:i}=xe(),n=La(),{isChatEmpty:o}=Ii(),[a,l]=j.useState("chat"),c=Pn();if(n.length===0){let V;return e[0]===Symbol.for("react.memo_cache_sentinel")?(V=r.jsx(Ee,{className:"animate-in fade-in-0 duration-200",children:r.jsx(Ee.Main,{className:"flex flex-col items-center",children:r.jsx(Ee.EmptyState,{children:r.jsx(Ee.NoAiProviderEmptyState,{})})})}),e[0]=V):V=e[0],V}let d;e[1]!==c.hasDecoKey||e[2]!==c.hasOnlyDecoProvider||e[3]!==c.isLoading||e[4]!==c.isZeroBalance||e[5]!==o||e[6]!==i?(d=c.hasDecoKey&&c.isZeroBalance&&c.hasOnlyDecoProvider&&!c.isLoading&&o&&!T1(i.id),e[1]=c.hasDecoKey,e[2]=c.hasOnlyDecoProvider,e[3]=c.isLoading,e[4]=c.isZeroBalance,e[5]=o,e[6]=i,e[7]=d):d=e[7];const u=d;let h;e[8]!==u?(h=u&&r.jsx(Ee.CreditsEmptyState,{}),e[8]=u,e[9]=h):h=e[9];const f=a!=="chat"?"opacity-0 pointer-events-none":"opacity-100";let m;e[10]!==f?(m=Y("absolute inset-0 flex flex-col transition-opacity duration-100 ease-out",f),e[10]=f,e[11]=m):m=e[11];let p;e[12]!==o||e[13]!==s?(p=o?s==="home"?r.jsx(lb,{onOpenContextPanel:()=>l("context")}):r.jsxs(r.Fragment,{children:[r.jsx(Ee.Main,{children:r.jsx(cb,{})}),r.jsx(Ee.Footer,{children:r.jsx(Ee.Input,{onOpenContextPanel:()=>l("context")})})]}):r.jsxs(r.Fragment,{children:[r.jsx(Ee.Main,{children:r.jsx(Ee.Messages,{})}),r.jsx(Ee.Footer,{children:r.jsx(Ee.Input,{onOpenContextPanel:()=>l("context")})})]}),e[12]=o,e[13]=s,e[14]=p):p=e[14];let g;e[15]!==m||e[16]!==p?(g=r.jsx("div",{className:m,children:p}),e[15]=m,e[16]=p,e[17]=g):g=e[17];const _=a==="context"?"opacity-100":"opacity-0 pointer-events-none";let v;e[18]!==_?(v=Y("absolute inset-0 flex flex-col transition-opacity duration-100 ease-out",_),e[18]=_,e[19]=v):v=e[19];let x;e[20]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsx($v,{back:!0,onClose:()=>l("chat")}),e[20]=x):x=e[20];let b;e[21]!==v?(b=r.jsx("div",{className:v,children:x}),e[21]=v,e[22]=b):b=e[22];let y;return e[23]!==b||e[24]!==h||e[25]!==g?(y=r.jsxs(Ee,{className:"relative overflow-hidden animate-in fade-in-0 duration-200",children:[h,g,b]}),e[23]=b,e[24]=h,e[25]=g,e[26]=y):y=e[26],y}function eu(t){const e=B.c(4),{variant:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(Ee.Skeleton,{}),e[0]=i):i=e[0];let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx(Ee.Skeleton,{}),e[1]=n):n=e[1];let o;return e[2]!==s?(o=r.jsx(ls,{fallback:i,children:r.jsx(j.Suspense,{fallback:n,children:r.jsx(db,{variant:s})})}),e[2]=s,e[3]=o):o=e[3],o}function hb(){const t=B.c(6),{org:e,locator:s}=xe(),i=bt();let n;t[0]!==s||t[1]!==i?(n=()=>{i.invalidateQueries({queryKey:Ze.tasksPrefix(s)})},t[0]=s,t[1]=i,t[2]=n):n=t[2];let o;t[3]!==e.id||t[4]!==n?(o={orgId:e.id,onTaskStatus:n},t[3]=e.id,t[4]=n,t[5]=o):o=t[5],Zp(o)}function ub(t){const e=B.c(8),{virtualMcpId:s,size:i,showAutomationBadge:n}=t,o=i===void 0?"sm":i;let a;e[0]!==o||e[1]!==s?(a=s?r.jsx(fb,{virtualMcpId:s,size:o}):r.jsx(Qt,{icon:null,name:"?",size:o}),e[0]=o,e[1]=s,e[2]=a):a=e[2];let l;e[3]!==n?(l=n&&r.jsx("span",{"aria-label":"Automation-triggered",className:"absolute -bottom-0.5 -right-0.5 flex size-4 items-center justify-center rounded-full bg-blue-500 border border-blue-600 text-white",children:r.jsx(Ci,{size:10,className:"text-white"})}),e[3]=n,e[4]=l):l=e[4];let c;return e[5]!==a||e[6]!==l?(c=r.jsxs("div",{className:"relative shrink-0",children:[a,l]}),e[5]=a,e[6]=l,e[7]=c):c=e[7],c}function fb(t){const e=B.c(6),{virtualMcpId:s,size:i}=t,n=$t(s);if(!n){let l;return e[0]!==i?(l=r.jsx(Qt,{icon:null,name:"?",size:i}),e[0]=i,e[1]=l):l=e[1],l}const o=n.icon??null;let a;return e[2]!==n.title||e[3]!==i||e[4]!==o?(a=r.jsx(Qt,{icon:o,name:n.title,size:i}),e[2]=n.title,e[3]=i,e[4]=o,e[5]=a):a=e[5],a}function bs(t){const e=t?.metadata?.githubRepo;return e?.connectionId&&t?.connections?.some(i=>i.connection_id===e.connectionId)?e:null}function mb(t){const e=B.c(42),{task:s,isActive:i,onClick:n,onArchive:o,showAutomationBadge:a}=t,l=Vm(s.status),c=l.icon,d=$t(s.virtual_mcp_id);let u;e[0]!==d?(u=bs(d),e[0]=d,e[1]=u):u=e[1];const h=u,f="button",m=0;let p;e[2]!==n?(p=O=>{O.target===O.currentTarget&&(O.key==="Enter"||O.key===" ")&&(O.preventDefault(),n())},e[2]=n,e[3]=p):p=e[3];const g=i?"bg-accent":"hover:bg-accent/60";let _;e[4]!==g?(_=Y("group/row flex items-center gap-3 px-2 py-1.5 rounded-md cursor-pointer transition-colors",g),e[4]=g,e[5]=_):_=e[5];let v;e[6]!==a||e[7]!==s.virtual_mcp_id?(v=r.jsx(ub,{virtualMcpId:s.virtual_mcp_id,size:"xs",showAutomationBadge:a}),e[6]=a,e[7]=s.virtual_mcp_id,e[8]=v):v=e[8];const x=s.title||"Untitled task";let b;e[9]!==x?(b=r.jsx("div",{className:"text-sm text-foreground truncate",children:x}),e[9]=x,e[10]=b):b=e[10];let y;e[11]!==h||e[12]!==s.branch||e[13]!==s.updated_at?(y=s.updated_at&&r.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground min-w-0",children:[s.branch?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"truncate font-mono",children:s.branch}),r.jsx("span",{className:"shrink-0",children:"·"})]}):h?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"truncate",children:[h.owner,"/",h.name]}),r.jsx("span",{className:"shrink-0",children:"·"})]}):null,r.jsx("span",{className:"shrink-0",children:Cm(new Date(s.updated_at))})]}),e[11]=h,e[12]=s.branch,e[13]=s.updated_at,e[14]=y):y=e[14];let V;e[15]!==y||e[16]!==b?(V=r.jsxs("div",{className:"flex-1 min-w-0",children:[b,y]}),e[15]=y,e[16]=b,e[17]=V):V=e[17];const C="shrink-0 grid [grid-template-areas:'slot'] items-center justify-items-center",S="[grid-area:slot] flex size-7 items-center justify-center group-hover/row:invisible",w=l.label,k=14,T=Y(l.iconClassName,s.status==="in_progress"&&"animate-spin");let M;e[18]!==c||e[19]!==T?(M=r.jsx(c,{size:k,className:T}),e[18]=c,e[19]=T,e[20]=M):M=e[20];let I;e[21]!==l||e[22]!==M?(I=r.jsx("span",{className:S,"aria-label":w,children:M}),e[21]=l,e[22]=M,e[23]=I):I=e[23];let E;e[24]!==o?(E=O=>{O.stopPropagation(),o()},e[24]=o,e[25]=E):E=e[25];let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=r.jsx(Zm,{size:14}),e[26]=N):N=e[26];let A;e[27]!==E?(A=r.jsx(qe,{asChild:!0,children:r.jsx("button",{type:"button","aria-label":"Archive task",onClick:E,className:"[grid-area:slot] invisible group-hover/row:visible flex size-7 items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-muted",children:N})}),e[27]=E,e[28]=A):A=e[28];let D;e[29]===Symbol.for("react.memo_cache_sentinel")?(D=r.jsx(Ge,{side:"right",children:"Archive"}),e[29]=D):D=e[29];let L;e[30]!==A?(L=r.jsxs(Ye,{children:[A,D]}),e[30]=A,e[31]=L):L=e[31];let R;e[32]!==I||e[33]!==L?(R=r.jsxs("div",{className:C,children:[I,L]}),e[32]=I,e[33]=L,e[34]=R):R=e[34];let P;return e[35]!==n||e[36]!==V||e[37]!==R||e[38]!==p||e[39]!==_||e[40]!==v?(P=r.jsxs("div",{role:f,tabIndex:m,onClick:n,onKeyDown:p,className:_,children:[v,V,R]}),e[35]=n,e[36]=V,e[37]=R,e[38]=p,e[39]=_,e[40]=v,e[41]=P):P=e[41],P}const tu={all:"All tasks",manual:"Chats",automation:"Automation"},su={all:"All members",mine:"Mine only"};function pb(t){const e=B.c(57),{title:s,tasks:i,activeTaskId:n,onSelect:o,onArchive:a,onNew:l,showNewButton:c,showAutomationBadge:d,emptyLabel:u,currentUserId:h}=t,[f,m]=j.useState("all"),[p,g]=j.useState("mine");let _;e[0]!==h||e[1]!==p||e[2]!==i?(_=p==="mine"&&h?i.filter(W=>W.created_by===h):i,e[0]=h,e[1]=p,e[2]=i,e[3]=_):_=e[3];const v=_;let x;e[4]!==f||e[5]!==v?(x=f==="automation"?v.filter(vb):f==="manual"?v.filter(xb):v,e[4]=f,e[5]=v,e[6]=x):x=e[6];const b=x;let y;e[7]!==s?(y=r.jsx("span",{children:s}),e[7]=s,e[8]=y):y=e[8];let V;e[9]!==p?(V=r.jsx(ds,{asChild:!0,children:r.jsx("button",{type:"button","aria-label":"Filter by member",className:"flex size-8 items-center justify-center rounded-md hover:bg-muted hover:text-foreground",children:p==="mine"?r.jsx(ep,{size:16}):r.jsx(Dn,{size:16})})}),e[9]=p,e[10]=V):V=e[10];let C;e[11]!==p?(C=W=>{const H=W;H!==p&&re("tasks_panel_member_filter_changed",{to_value:H}),g(H)},e[11]=p,e[12]=C):C=e[12];let S;e[13]===Symbol.for("react.memo_cache_sentinel")?(S=Object.keys(su),e[13]=S):S=e[13];let w;e[14]===Symbol.for("react.memo_cache_sentinel")?(w=S.map(_b),e[14]=w):w=e[14];let k;e[15]!==p||e[16]!==C?(k=r.jsx(hs,{align:"end",children:r.jsx(xl,{value:p,onValueChange:C,children:w})}),e[15]=p,e[16]=C,e[17]=k):k=e[17];let T;e[18]!==V||e[19]!==k?(T=r.jsxs(cs,{children:[V,k]}),e[18]=V,e[19]=k,e[20]=T):T=e[20];const M=f!=="all"&&"text-purple-500";let I;e[21]!==M?(I=Y("flex size-8 items-center justify-center rounded-md hover:bg-muted hover:text-foreground",M),e[21]=M,e[22]=I):I=e[22];let E;e[23]===Symbol.for("react.memo_cache_sentinel")?(E=r.jsx(bp,{size:16}),e[23]=E):E=e[23];let N;e[24]!==I?(N=r.jsx(ds,{asChild:!0,children:r.jsx("button",{type:"button","aria-label":"Filter tasks",className:I,children:E})}),e[24]=I,e[25]=N):N=e[25];let A;e[26]!==f?(A=W=>{const H=W;H!==f&&re("tasks_panel_filter_changed",{to_value:H}),m(H)},e[26]=f,e[27]=A):A=e[27];let D;e[28]===Symbol.for("react.memo_cache_sentinel")?(D=Object.keys(tu),e[28]=D):D=e[28];let L;e[29]===Symbol.for("react.memo_cache_sentinel")?(L=D.map(gb),e[29]=L):L=e[29];let R;e[30]!==f||e[31]!==A?(R=r.jsx(hs,{align:"end",children:r.jsx(xl,{value:f,onValueChange:A,children:L})}),e[30]=f,e[31]=A,e[32]=R):R=e[32];let P;e[33]!==N||e[34]!==R?(P=r.jsxs(cs,{children:[N,R]}),e[33]=N,e[34]=R,e[35]=P):P=e[35];let O;e[36]!==l||e[37]!==c||e[38]!==s?(O=c&&l&&r.jsx("button",{type:"button",onClick:()=>{re("tasks_panel_new_clicked"),l()},"aria-label":`New ${s.toLowerCase()}`,className:"flex size-8 items-center justify-center rounded-md hover:bg-muted hover:text-foreground",children:r.jsx(Ra,{size:16})}),e[36]=l,e[37]=c,e[38]=s,e[39]=O):O=e[39];let z;e[40]!==P||e[41]!==O||e[42]!==T?(z=r.jsxs("div",{className:"flex items-center gap-0.5",children:[T,P,O]}),e[40]=P,e[41]=O,e[42]=T,e[43]=z):z=e[43];let $;e[44]!==z||e[45]!==y?($=r.jsxs("div",{className:"pl-2 pr-1.5 h-7 flex items-center justify-between text-xs font-medium text-muted-foreground mb-1",children:[y,z]}),e[44]=z,e[45]=y,e[46]=$):$=e[46];let q;e[47]!==n||e[48]!==u||e[49]!==a||e[50]!==o||e[51]!==d||e[52]!==b?(q=b.length===0&&u?r.jsx("div",{className:"px-2 py-1.5 text-xs text-muted-foreground/70",children:u}):b.map(W=>r.jsx(mb,{task:W,isActive:n===W.id,onClick:()=>{n!==W.id&&re("tasks_panel_task_clicked",{thread_id:W.id,virtual_mcp_id:W.virtual_mcp_id??null,from_automation:!!W.fromAutomation}),o(W)},onArchive:()=>{re("tasks_panel_task_archived",{thread_id:W.id,virtual_mcp_id:W.virtual_mcp_id??null}),a(W)},showAutomationBadge:d||W.fromAutomation},W.id)),e[47]=n,e[48]=u,e[49]=a,e[50]=o,e[51]=d,e[52]=b,e[53]=q):q=e[53];let F;return e[54]!==$||e[55]!==q?(F=r.jsxs("div",{className:"flex flex-col gap-0.5 mt-1",children:[$,q]}),e[54]=$,e[55]=q,e[56]=F):F=e[56],F}function gb(t){return r.jsx(Ld,{value:t,children:tu[t]},t)}function _b(t){return r.jsx(Ld,{value:t,children:su[t]},t)}function xb(t){return!t.fromAutomation}function vb(t){return t.fromAutomation}function bb(){const t=B.c(22);hb();const{data:e}=dt.useSession(),s=e?.user?.id;let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i={owner:"me",status:"open",hasTrigger:!1},t[0]=i):i=t[0];const{tasks:n}=Co(i);let o;t[1]===Symbol.for("react.memo_cache_sentinel")?(o={owner:"all",status:"open",hasTrigger:!0},t[1]=o):o=t[1];const{tasks:a}=Co(o),{setTaskId:l,createNewTask:c}=xr();let d;t[2]===Symbol.for("react.memo_cache_sentinel")?(d={strict:!1},t[2]=d):d=t[2];const u=_r(d),{locator:h,org:f}=xe(),m=bt();let p;t[3]!==f.id?(p={connectionId:yt,orgId:f.id},t[3]=f.id,t[4]=p):p=t[4];const g=Ae(p),_=u.taskId??null;let v;t[5]!==a||t[6]!==n?(v=[...n,...a.map(Sb)].sort(yb),t[5]=a,t[6]=n,t[7]=v):v=t[7];const x=v;let b;t[8]!==g||t[9]!==h||t[10]!==m?(b=async S=>{try{await pm(g,S.id,{hidden:!0}),m.invalidateQueries({queryKey:Ze.tasksPrefix(h)})}catch(w){const T=w;he.error(`Failed to archive task: ${T.message}`)}},t[8]=g,t[9]=h,t[10]=m,t[11]=b):b=t[11];const y=b;if(x.length===0){let S;return t[12]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx("div",{className:"h-full flex items-center justify-center p-4",children:r.jsx(Vi,{image:r.jsx(tp,{size:48,className:"text-muted-foreground"}),title:"No tasks yet",description:"Start a conversation to create your first task."})}),t[12]=S):S=t[12],S}let V;t[13]!==l?(V=S=>l(S.id,S.virtual_mcp_id),t[13]=l,t[14]=V):V=t[14];let C;return t[15]!==_||t[16]!==x||t[17]!==c||t[18]!==s||t[19]!==y||t[20]!==V?(C=r.jsx("div",{className:"flex flex-col h-full min-h-0 overflow-y-auto p-2 gap-3",children:r.jsx(pb,{title:"Tasks",tasks:x,activeTaskId:_,onSelect:V,onArchive:y,onNew:c,showNewButton:!0,currentUserId:s})}),t[15]=_,t[16]=x,t[17]=c,t[18]=s,t[19]=y,t[20]=V,t[21]=C):C=t[21],C}function yb(t,e){return(e.updated_at??"").localeCompare(t.updated_at??"")}function Sb(t){return{...t,fromAutomation:!0}}function wb(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"flex flex-col h-full p-2 gap-1.5",children:Array.from({length:6}).map(Vb)}),t[0]=e):e=t[0],e}function Vb(t,e){return r.jsx("div",{className:"h-10 rounded-md bg-muted/60 animate-pulse"},e)}function iu(){const t=B.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(Ee.Skeleton,{}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx(ls,{fallback:e,children:r.jsx(j.Suspense,{fallback:r.jsx(wb,{}),children:r.jsx(bb,{})})}),t[1]=s):s=t[1],s}function ru(){const t=B.c(77),{org:e}=xe(),s=Oe(),i=yd(),{setTasksOpen:n,openTab:o}=xr(),a=e.slug,l=xe().project;let c;t[0]===Symbol.for("react.memo_cache_sentinel")?(c={strict:!1},t[0]=c):c=t[0];const d=_r(c);let u;t[1]===Symbol.for("react.memo_cache_sentinel")?(u={strict:!1},t[1]=u):u=t[1];const h=ti(u),f=i.location.pathname;let m;t[2]!==l.enabledPlugins?(m=l.enabledPlugins??[],t[2]=l.enabledPlugins,t[3]=m):m=t[3];const p=m;let g;t[4]!==l.ui?(g=l.ui?.pinnedViews??[],t[4]=l.ui,t[5]=g):g=t[5];const _=g;let v,x,b,y;if(t[6]!==l.id||t[7]!==p||t[8]!==s||t[9]!==a||t[10]!==d.pluginId||t[11]!==d.taskId||t[12]!==h.virtualmcpid){let H;t[17]!==p?(H=ae=>p.includes(ae.pluginId),t[17]=p,t[18]=H):H=t[18];const U=Bf.filter(H),X=h.virtualmcpid??l.id;x=!!h.virtualmcpid;const K=d.taskId??"",G=d.pluginId;let ie;t[19]!==G?(ie=ae=>G===ae,t[19]=G,t[20]=ie):ie=t[20],v=ie;let te;t[21]!==K||t[22]!==s||t[23]!==a||t[24]!==X?(te=ae=>{const Z=K||crypto.randomUUID();s({to:"/$org/$taskId/$pluginId",params:{org:a,taskId:Z,pluginId:ae},search:de=>({...de,virtualmcpid:X})})},t[21]=K,t[22]=s,t[23]=a,t[24]=X,t[25]=te):te=t[25],b=te;let J;t[26]!==v||t[27]!==b?(J=ae=>({key:ae.pluginId,label:ae.label,icon:ae.icon,isActive:v(ae.pluginId),onClick:()=>b(ae.pluginId)}),t[26]=v,t[27]=b,t[28]=J):J=t[28],y=U.map(J),t[6]=l.id,t[7]=p,t[8]=s,t[9]=a,t[10]=d.pluginId,t[11]=d.taskId,t[12]=h.virtualmcpid,t[13]=v,t[14]=x,t[15]=b,t[16]=y}else v=t[13],x=t[14],b=t[15],y=t[16];const V=y;let C;if(t[29]!==p||t[30]!==v||t[31]!==b){let H;t[33]!==p?(H=K=>p.includes(K.pluginId),t[33]=p,t[34]=H):H=t[34];const U=$f.filter(H);let X;t[35]!==v||t[36]!==b?(X=K=>({type:"group",group:{id:`${K.pluginId}-${K.id}`,label:K.label,items:K.items.map((G,ie)=>({key:`${K.pluginId}-${K.id}-${ie}`,label:G.label,icon:G.icon,isActive:v(K.pluginId),onClick:()=>b(K.pluginId)})),defaultExpanded:K.defaultExpanded??!0}}),t[35]=v,t[36]=b,t[37]=X):X=t[37],C=U.map(X),t[29]=p,t[30]=v,t[31]=b,t[32]=C}else C=t[32];const S=C;let w;if(t[38]!==o||t[39]!==_){let H;t[41]!==o?(H=U=>{const X=vr(U.icon),K=X.type==="icon"?br(X.name):null;return{key:`app-${U.connectionId}-${U.toolName}`,label:U.label||U.toolName,icon:K?r.jsx(K,{size:16,className:"text-muted-foreground"}):X.type==="url"?r.jsx("img",{src:X.url,alt:"",className:"size-4 rounded"}):r.jsx(xh,{size:16,className:"text-muted-foreground"}),isActive:!1,onClick:()=>o(jo(U.connectionId,U.toolName))}},t[41]=o,t[42]=H):H=t[42],w=_.map(H),t[38]=o,t[39]=_,t[40]=w}else w=t[40];const k=w;let T;t[43]!==k?(T=k.length>0?{type:"group",group:{id:"apps",label:"Apps",items:k,defaultExpanded:!0}}:null,t[43]=k,t[44]=T):T=t[44];const M=T;let I;t[45]===Symbol.for("react.memo_cache_sentinel")?(I=r.jsx(sp,{className:"size-4!"}),t[45]=I):I=t[45];const E=f===`/${a}`||f===`/${a}/`;let N;t[46]!==s||t[47]!==a||t[48]!==n?(N=()=>{n(!1),s({to:"/$org",params:{org:a}})},t[46]=s,t[47]=a,t[48]=n,t[49]=N):N=t[49];let A;t[50]!==N||t[51]!==E?(A={key:"home",label:"Home",icon:I,isActive:E,onClick:N},t[50]=N,t[51]=E,t[52]=A):A=t[52];const D=A;let L;t[53]!==p?(L=p.includes(zf),t[53]=p,t[54]=L):L=t[54];const R=L;let P;t[55]===Symbol.for("react.memo_cache_sentinel")?(P=r.jsx(Ff,{className:"size-4!"}),t[55]=P):P=t[55];let O;t[56]!==a||t[57]!==f?(O=f.startsWith(`/${a}/settings/workflows`),t[56]=a,t[57]=f,t[58]=O):O=t[58];let z;t[59]!==s||t[60]!==a?(z=()=>s({to:"/$org/settings/workflows",params:{org:a}}),t[59]=s,t[60]=a,t[61]=z):z=t[61];let $;t[62]!==O||t[63]!==z?($={key:"workflows",label:"Workflows",icon:P,isActive:O,onClick:z},t[62]=O,t[63]=z,t[64]=$):$=t[64];const q=$;let F;if(t[65]!==D||t[66]!==x||t[67]!==R||t[68]!==q){const H=[D];x&&R&&H.push(q),F={type:"items",items:H},t[65]=D,t[66]=x,t[67]=R,t[68]=q,t[69]=F}else F=t[69];let W;if(t[70]!==M||t[71]!==S||t[72]!==V||t[73]!==F){if(W=[F],V.length>0){let H;t[75]!==V?(H={type:"items",items:V},t[75]=V,t[76]=H):H=t[76],W.push(H)}S.length>0&&W.push(...S),M&&W.push(M),t[70]=M,t[71]=S,t[72]=V,t[73]=F,t[74]=W}else W=t[74];return W}function nu(t){const e=B.c(3),{children:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("div",{className:"flex h-6 items-center",children:r.jsx("div",{className:"h-0.5 w-16 rounded-full bg-sidebar-foreground/15"})}),e[0]=i):i=e[0];let n;return e[1]!==s?(n=r.jsxs(wr,{className:"pt-0 pr-0 pb-2 pl-0 mt-2",children:[i,r.jsx(Vr,{children:r.jsx(es,{className:"gap-0.5",children:s})})]}),e[1]=s,e[2]=n):n=e[2],n}function Cb(){const t=B.c(7),s=Sd().logo??wd,i=typeof s=="string"?s:s.light,n=typeof s=="string"?s:s.dark;let o;t[0]!==i?(o=r.jsx("img",{src:i,alt:"Logo",className:"size-6 object-contain dark:hidden"}),t[0]=i,t[1]=o):o=t[1];let a;t[2]!==n?(a=r.jsx("img",{src:n,alt:"Logo",className:"size-6 object-contain hidden dark:block"}),t[2]=n,t[3]=a):a=t[3];let l;return t[4]!==o||t[5]!==a?(l=r.jsx(yh,{className:"flex items-center justify-center shrink-0 px-2 pb-0",children:r.jsxs("div",{className:"flex w-full aspect-square items-center justify-center",children:[o,a]})}),t[4]=o,t[5]=a,t[6]=l):l=t[6],l}function ou(t){const e=B.c(15),{item:s}=t,{isMobile:i,setOpenMobile:n}=Cr();let o;e[0]!==i||e[1]!==s||e[2]!==n?(o=()=>{re("nav_item_clicked",{nav_key:s.key,nav_label:s.label,is_active:!!s.isActive,is_mobile:i}),s.onClick?.(),i&&n(!1)},e[0]=i,e[1]=s,e[2]=n,e[3]=o):o=e[3];const a=o,l=s.key,c=s.isActive&&"z-10";let d;e[4]!==c?(d=Y(c),e[4]=c,e[5]=d):d=e[5];let u;e[6]!==a||e[7]!==s.icon||e[8]!==s.isActive||e[9]!==s.label?(u=r.jsx(Zt,{onClick:a,isActive:s.isActive,tooltip:s.label,className:"bg-muted/75",children:s.icon}),e[6]=a,e[7]=s.icon,e[8]=s.isActive,e[9]=s.label,e[10]=u):u=e[10];let h;return e[11]!==s.key||e[12]!==d||e[13]!==u?(h=r.jsx(Pt,{className:d,children:u},l),e[11]=s.key,e[12]=d,e[13]=u,e[14]=h):h=e[14],h}function kb(t){const e=B.c(12),{section:s}=t;switch(s.type){case"divider":{let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(vh,{className:"my-2"}),e[0]=i):i=e[0],i}case"spacer":{let i;return e[1]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("div",{className:"flex-1"}),e[1]=i):i=e[1],i}case"group":{const i=s.group.label,n=s.group.defaultExpanded;let o;e[2]!==s.group.items?(o=s.group.items.map(Nb),e[2]=s.group.items,e[3]=o):o=e[3];let a;return e[4]!==s.group.defaultExpanded||e[5]!==s.group.label||e[6]!==o?(a=r.jsx(nu,{label:i,defaultExpanded:n,children:o}),e[4]=s.group.defaultExpanded,e[5]=s.group.label,e[6]=o,e[7]=a):a=e[7],a}case"items":{let i;e[8]!==s.items?(i=s.items.map(jb),e[8]=s.items,e[9]=i):i=e[9];let n;return e[10]!==i?(n=r.jsx(wr,{className:"pt-0 pr-0 pb-0 pl-0",children:r.jsx(Vr,{children:r.jsx(es,{className:"gap-1.5",children:i})})}),e[10]=i,e[11]=n):n=e[11],n}}}function jb(t){return r.jsx(ou,{item:t},t.key)}function Nb(t){return r.jsx(ou,{item:t},t.key)}function Ab(t){const e=B.c(14),{sections:s,header:i,footer:n,additionalContent:o,variant:a,contentClassName:l}=t,c=a===void 0?"sidebar":a;let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx(j.Suspense,{fallback:r.jsx("div",{className:"h-10 shrink-0"}),children:r.jsx(Cb,{})}),e[0]=d):d=e[0];let u;e[1]!==l?(u=Y("flex flex-col flex-1 px-2 py-2 gap-0",l),e[1]=l,e[2]=u):u=e[2];let h;e[3]!==s?(h=s.map(Eb),e[3]=s,e[4]=h):h=e[4];let f;e[5]!==o||e[6]!==u||e[7]!==h?(f=r.jsxs(bh,{className:u,children:[h,o]}),e[5]=o,e[6]=u,e[7]=h,e[8]=f):f=e[8];let m;return e[9]!==n||e[10]!==i||e[11]!==f||e[12]!==c?(m=r.jsxs(eg,{variant:c,children:[d,i,f,n]}),e[9]=n,e[10]=i,e[11]=f,e[12]=c,e[13]=m):m=e[13],m}function Eb(t,e){return r.jsx(kb,{section:t},e)}function au(t){const e=B.c(2);let s;return e[0]!==t?(s=r.jsx(Ab,{...t}),e[0]=t,e[1]=s):s=e[1],s}au.Skeleton=function(){return r.jsx("div",{className:"flex flex-col gap-0.5",children:Array.from({length:8}).map((e,s)=>r.jsx("div",{className:"w-full h-8",children:r.jsx(wi,{className:"h-full bg-sidebar-accent rounded-md"})},s))})};function Ib(){const t=B.c(7),s=Sd().logo??wd,i=typeof s=="string"?s:s.light,n=typeof s=="string"?s:s.dark;let o;t[0]!==i?(o=r.jsx("img",{src:i,alt:"Logo",className:"size-6 object-contain dark:hidden"}),t[0]=i,t[1]=o):o=t[1];let a;t[2]!==n?(a=r.jsx("img",{src:n,alt:"Logo",className:"size-6 object-contain hidden dark:block"}),t[2]=n,t[3]=a):a=t[3];let l;return t[4]!==o||t[5]!==a?(l=r.jsx(yh,{className:"flex items-center justify-center shrink-0 px-2 pb-0",children:r.jsxs("div",{className:"flex w-full aspect-square items-center justify-center",children:[o,a]})}),t[4]=o,t[5]=a,t[6]=l):l=t[6],l}function oc(t){const e=B.c(15),{item:s,onClose:i}=t,n=s.isActive&&"z-10";let o;e[0]!==n?(o=Y(n),e[0]=n,e[1]=o):o=e[1];let a;e[2]!==s||e[3]!==i?(a=()=>{s.onClick?.(),i()},e[2]=s,e[3]=i,e[4]=a):a=e[4];let l;e[5]!==s.icon?(l=r.jsx("span",{className:"[&>svg]:size-8",children:s.icon}),e[5]=s.icon,e[6]=l):l=e[6];let c;e[7]!==s.isActive||e[8]!==s.label||e[9]!==a||e[10]!==l?(c=r.jsx(Zt,{onClick:a,isActive:s.isActive,tooltip:s.label,className:"bg-muted/75",children:l}),e[7]=s.isActive,e[8]=s.label,e[9]=a,e[10]=l,e[11]=c):c=e[11];let d;return e[12]!==o||e[13]!==c?(d=r.jsx(Pt,{className:o,children:c}),e[12]=o,e[13]=c,e[14]=d):d=e[14],d}function Tb(t){const e=B.c(18),{section:s,onClose:i}=t;switch(s.type){case"divider":{let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx(vh,{className:"my-2"}),e[0]=n):n=e[0],n}case"spacer":{let n;return e[1]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("div",{className:"flex-1"}),e[1]=n):n=e[1],n}case"group":{const n=s.group.label,o=s.group.defaultExpanded;let a;if(e[2]!==i||e[3]!==s.group.items){let c;e[5]!==i?(c=d=>r.jsx(oc,{item:d,onClose:i},d.key),e[5]=i,e[6]=c):c=e[6],a=s.group.items.map(c),e[2]=i,e[3]=s.group.items,e[4]=a}else a=e[4];let l;return e[7]!==s.group.defaultExpanded||e[8]!==s.group.label||e[9]!==a?(l=r.jsx(nu,{label:n,defaultExpanded:o,children:a}),e[7]=s.group.defaultExpanded,e[8]=s.group.label,e[9]=a,e[10]=l):l=e[10],l}case"items":{let n;if(e[11]!==i||e[12]!==s.items){let a;e[14]!==i?(a=l=>r.jsx(oc,{item:l,onClose:i},l.key),e[14]=i,e[15]=a):a=e[15],n=s.items.map(a),e[11]=i,e[12]=s.items,e[13]=n}else n=e[13];let o;return e[16]!==n?(o=r.jsx(wr,{className:"pt-0 pr-0 pb-0 pl-0",children:r.jsx(Vr,{children:r.jsx(es,{className:"gap-1.5",children:n})})}),e[16]=n,e[17]=o):o=e[17],o}}}function Rb(t){const e=B.c(12),{sections:s,onClose:i,footer:n,additionalContent:o}=t;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx(j.Suspense,{fallback:r.jsx("div",{className:"h-10 shrink-0"}),children:r.jsx(Ib,{})}),e[0]=a):a=e[0];let l;if(e[1]!==i||e[2]!==s){let u;e[4]!==i?(u=(h,f)=>r.jsx(Tb,{section:h,onClose:i},f),e[4]=i,e[5]=u):u=e[5],l=s.map(u),e[1]=i,e[2]=s,e[3]=l}else l=e[3];let c;e[6]!==o||e[7]!==l?(c=r.jsxs(bh,{className:"flex flex-col flex-1 px-2 py-2 gap-0",children:[l,o]}),e[6]=o,e[7]=l,e[8]=c):c=e[8];let d;return e[9]!==n||e[10]!==c?(d=r.jsxs("div",{className:"bg-sidebar flex h-full w-full flex-col","data-sidebar":"sidebar",children:[a,c,n]}),e[9]=n,e[10]=c,e[11]=d):d=e[11],d}function lu(t){return t.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Mb=as({name:pt().min(2,"Organization name is required")});function Db(t){const e=B.c(41),{open:s,onOpenChange:i}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={resolver:gr(Mb),defaultValues:{name:""}},e[0]=n):n=e[0];const o=Ai(n);let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={mutationFn:Lb,onSuccess:Pb},e[1]=a):a=e[1];const l=Ni(a),c=l.error instanceof Error?l.error.message:l.error?"Failed to create organization.":null;let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsxs(Ua,{children:[r.jsx(Ha,{children:"Create a new organization"}),r.jsx(Wa,{children:"Set up a new organization to collaborate with others."})]}),e[2]=d):d=e[2];let u;if(e[3]!==l||e[4]!==o){let S;e[6]!==l?(S=w=>l.mutateAsync(w),e[6]=l,e[7]=S):S=e[7],u=o.handleSubmit(S),e[3]=l,e[4]=o,e[5]=u}else u=e[5];let h;e[8]!==o.formState.isSubmitting?(h=S=>{const{field:w}=S;return r.jsxs(_t,{children:[r.jsx(Ht,{children:"Organization Name"}),r.jsx(xt,{children:r.jsx(at,{...w,placeholder:"Acme Inc.",disabled:o.formState.isSubmitting})}),r.jsx(Gm,{children:"The name of your company or organization"}),w.value&&r.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Organization URL:"," ",r.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",lu(w.value)]})]}),r.jsx(vt,{})]})},e[8]=o.formState.isSubmitting,e[9]=h):h=e[9];let f;e[10]!==o.control||e[11]!==h?(f=r.jsx(gt,{control:o.control,name:"name",render:h}),e[10]=o.control,e[11]=h,e[12]=f):f=e[12];let m;e[13]!==c?(m=c&&r.jsx("div",{className:"text-destructive text-sm mt-2",children:c}),e[13]=c,e[14]=m):m=e[14];let p;e[15]!==l||e[16]!==o?(p=()=>{l.reset(),o.reset()},e[15]=l,e[16]=o,e[17]=p):p=e[17];let g;e[18]!==o.formState.isSubmitting||e[19]!==p?(g=r.jsx(za,{disabled:o.formState.isSubmitting,onClick:p,children:"Cancel"}),e[18]=o.formState.isSubmitting,e[19]=p,e[20]=g):g=e[20];const _=!o.formState.isValid||o.formState.isSubmitting;let v;e[21]!==o.formState.isSubmitting?(v=o.formState.isSubmitting?r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(ar,{size:"xs"})," Creating..."]}):"Create Organization",e[21]=o.formState.isSubmitting,e[22]=v):v=e[22];let x;e[23]!==_||e[24]!==v?(x=r.jsx(oe,{type:"submit",variant:"default",disabled:_,children:v}),e[23]=_,e[24]=v,e[25]=x):x=e[25];let b;e[26]!==x||e[27]!==g?(b=r.jsxs(Ka,{children:[g,x]}),e[26]=x,e[27]=g,e[28]=b):b=e[28];let y;e[29]!==b||e[30]!==u||e[31]!==f||e[32]!==m?(y=r.jsxs("form",{className:"space-y-6",onSubmit:u,autoComplete:"off",children:[f,m,b]}),e[29]=b,e[30]=u,e[31]=f,e[32]=m,e[33]=y):y=e[33];let V;e[34]!==o||e[35]!==y?(V=r.jsxs(Fa,{children:[d,r.jsx(yi,{...o,children:y})]}),e[34]=o,e[35]=y,e[36]=V):V=e[36];let C;return e[37]!==i||e[38]!==s||e[39]!==V?(C=r.jsx(qa,{open:s,onOpenChange:i,children:V}),e[37]=i,e[38]=s,e[39]=V,e[40]=C):C=e[40],C}function Pb(t){const{orgSlug:e}=t;window.location.href=`/${e}`}async function Lb(t){const e=lu(t.name);if(!e)throw new Error("Organization slug is invalid");const s=await dt.organization.create({name:t.name,slug:e});if(s?.error)throw new Error(s.error.message||"Failed to create organization");const i=s?.data?.slug??e;if(!i)throw new Error("Failed to create organization");return{orgSlug:i}}function Bo(t){let e=0;for(let i=0;i<t.length;i++)e=t.charCodeAt(i)+((e<<5)-e);const s=Math.abs(e)%360;return{backgroundColor:`hsl(${s} 55% 70%)`,color:`hsl(${s} 55% 20%)`}}function Ob(t){const e=B.c(13),{org:s,size:i}=t,n=i===void 0?"sm":i,o=n==="xs"?"size-5":"size-6",a=n==="xs"?"text-[9px]":"text-xs";let l;e[0]!==o?(l=Y(o,"shrink-0 rounded-md flex items-center justify-center border border-border/50 overflow-hidden"),e[0]=o,e[1]=l):l=e[1];let c;e[2]!==s.logo||e[3]!==s.name?(c=s.logo?void 0:Bo(s.name),e[2]=s.logo,e[3]=s.name,e[4]=c):c=e[4];let d;e[5]!==s.logo||e[6]!==s.name||e[7]!==a?(d=s.logo?r.jsx("img",{src:s.logo,alt:"",className:"size-full object-cover"}):r.jsx("span",{className:Y("font-semibold leading-none",a),children:s.name.slice(0,2).toUpperCase()}),e[5]=s.logo,e[6]=s.name,e[7]=a,e[8]=d):d=e[8];let u;return e[9]!==l||e[10]!==c||e[11]!==d?(u=r.jsx("div",{className:l,style:c,children:d}),e[9]=l,e[10]=c,e[11]=d,e[12]=u):u=e[12],u}function $r(t){const e=B.c(22),{item:s,onClose:i}=t;if(s.href){const c=s.external?"_blank":void 0,d=s.external?"noopener noreferrer":void 0;let u;e[0]!==s.icon?(u=r.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.icon}),e[0]=s.icon,e[1]=u):u=e[1];let h;e[2]!==s.label?(h=r.jsx("span",{className:"flex-1",children:s.label}),e[2]=s.label,e[3]=h):h=e[3];let f;return e[4]!==s.href||e[5]!==i||e[6]!==c||e[7]!==d||e[8]!==u||e[9]!==h?(f=r.jsxs("a",{href:s.href,target:c,rel:d,className:"flex items-center gap-2.5 px-3 py-2 rounded-md text-sm text-left w-full transition-colors text-foreground/80 hover:bg-sidebar-accent hover:text-foreground",onClick:i,children:[u,h]}),e[4]=s.href,e[5]=i,e[6]=c,e[7]=d,e[8]=u,e[9]=h,e[10]=f):f=e[10],f}let n;e[11]!==s||e[12]!==i?(n=()=>{s.onClick?.(),i()},e[11]=s,e[12]=i,e[13]=n):n=e[13];let o;e[14]!==s.icon?(o=r.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.icon}),e[14]=s.icon,e[15]=o):o=e[15];let a;e[16]!==s.label?(a=r.jsx("span",{className:"flex-1",children:s.label}),e[16]=s.label,e[17]=a):a=e[17];let l;return e[18]!==n||e[19]!==o||e[20]!==a?(l=r.jsxs("button",{type:"button",onClick:n,className:"flex items-center gap-2.5 px-3 py-2 rounded-md text-sm text-left w-full transition-colors text-foreground/80 hover:bg-sidebar-accent hover:text-foreground",children:[o,a]}),e[18]=n,e[19]=o,e[20]=a,e[21]=l):l=e[21],l}function ac(t){const e=B.c(16),{sortedOrgs:s,orgParam:i,onSelectOrg:n,onCreateOrg:o}=t;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx("span",{className:"text-sm font-medium text-muted-foreground/60",children:"Your Organizations"}),e[0]=a):a=e[0];let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx(Dt,{size:16}),e[1]=l):l=e[1];let c;e[2]!==o?(c=r.jsxs("div",{className:"flex items-center justify-between px-4 py-3",children:[a,r.jsx("button",{type:"button",onClick:o,className:"flex items-center justify-center size-7 rounded-md text-muted-foreground hover:bg-accent/50 hover:text-foreground transition-colors",children:l})]}),e[2]=o,e[3]=c):c=e[3];let d;if(e[4]!==n||e[5]!==i||e[6]!==s){let f;e[8]!==n||e[9]!==i?(f=m=>r.jsxs("button",{type:"button",onClick:()=>n(m.slug),className:Y("flex items-center gap-3 px-3 py-2.5 rounded-md text-sm text-left w-full transition-colors",m.slug===i?"bg-accent text-accent-foreground":"text-foreground hover:bg-accent/50"),children:[r.jsx(Ob,{org:m,size:"sm"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("p",{className:"text-sm font-medium truncate",children:m.name}),r.jsx("p",{className:"text-xs text-muted-foreground truncate",children:m.slug})]}),m.slug===i&&r.jsx(Mt,{size:14,className:"ml-auto text-muted-foreground shrink-0"})]},m.id),e[8]=n,e[9]=i,e[10]=f):f=e[10],d=s.map(f),e[4]=n,e[5]=i,e[6]=s,e[7]=d}else d=e[7];let u;e[11]!==d?(u=r.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-1.5 flex flex-col gap-1",children:d}),e[11]=d,e[12]=u):u=e[12];let h;return e[13]!==c||e[14]!==u?(h=r.jsxs(r.Fragment,{children:[c,u]}),e[13]=c,e[14]=u,e[15]=h):h=e[15],h}function lc(t){const e=B.c(142),{user:s,userImage:i,menuItems:n,signOutItem:o,themeOptions:a,preferences:l,setPreferences:c,sortedOrgs:d,orgParam:u,onSelectOrg:h,onCreateOrg:f,close:m,isMobile:p}=t;if(p){const K=s?.name??"U";let G;e[0]!==K||e[1]!==i?(G=r.jsx(Il,{url:i,fallback:K,shape:"circle",size:"sm",className:"shrink-0"}),e[0]=K,e[1]=i,e[2]=G):G=e[2];const ie=s?.name??"User";let te;e[3]!==ie?(te=r.jsx("p",{className:"text-sm font-medium truncate",children:ie}),e[3]=ie,e[4]=te):te=e[4];const J=s?.email;let ae;e[5]!==J?(ae=r.jsx("p",{className:"text-xs text-muted-foreground truncate",children:J}),e[5]=J,e[6]=ae):ae=e[6];let Z;e[7]!==te||e[8]!==ae?(Z=r.jsxs("div",{className:"flex-1 min-w-0",children:[te,ae]}),e[7]=te,e[8]=ae,e[9]=Z):Z=e[9];let de;e[10]!==s?(de=()=>{s?.id&&navigator.clipboard.writeText(s.id).then(Fb)},e[10]=s,e[11]=de):de=e[11];let fe;e[12]===Symbol.for("react.memo_cache_sentinel")?(fe=r.jsx(Si,{size:14}),e[12]=fe):fe=e[12];let ye;e[13]!==de?(ye=r.jsx(qe,{asChild:!0,children:r.jsx("button",{type:"button",tabIndex:-1,onClick:de,className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors",children:fe})}),e[13]=de,e[14]=ye):ye=e[14];let ge;e[15]===Symbol.for("react.memo_cache_sentinel")?(ge=r.jsx(Ge,{side:"right",children:r.jsx("p",{className:"text-xs",children:"Copy user ID"})}),e[15]=ge):ge=e[15];let ce;e[16]!==ye?(ce=r.jsx(bi,{delayDuration:300,children:r.jsxs(Ye,{children:[ye,ge]})}),e[16]=ye,e[17]=ce):ce=e[17];let ue;e[18]!==ce||e[19]!==G||e[20]!==Z?(ue=r.jsxs("div",{className:"flex items-center gap-3 px-4 py-4 border-b border-border",children:[G,Z,ce]}),e[18]=ce,e[19]=G,e[20]=Z,e[21]=ue):ue=e[21];let be;e[22]!==f||e[23]!==h||e[24]!==u||e[25]!==d?(be=r.jsx("div",{className:"border-b border-border pb-2",children:r.jsx(ac,{sortedOrgs:d,orgParam:u,onSelectOrg:h,onCreateOrg:f})}),e[22]=f,e[23]=h,e[24]=u,e[25]=d,e[26]=be):be=e[26];let pe;if(e[27]!==m||e[28]!==n){let De;e[30]!==m?(De=Yt=>r.jsx($r,{item:Yt,onClose:m},Yt.key),e[30]=m,e[31]=De):De=e[31],pe=n.map(De),e[27]=m,e[28]=n,e[29]=pe}else pe=e[29];let Ce;e[32]!==m||e[33]!==o?(Ce=r.jsx($r,{item:o,onClose:m}),e[32]=m,e[33]=o,e[34]=Ce):Ce=e[34];let Ie;e[35]!==pe||e[36]!==Ce?(Ie=r.jsxs("nav",{className:"flex flex-col px-2 pt-2 pb-2 gap-0.5",children:[pe,Ce]}),e[35]=pe,e[36]=Ce,e[37]=Ie):Ie=e[37];let ee;e[38]!==be||e[39]!==Ie?(ee=r.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto",children:[be,Ie]}),e[38]=be,e[39]=Ie,e[40]=ee):ee=e[40];let se;if(e[41]!==l.theme||e[42]!==c||e[43]!==a){let De;e[45]!==l.theme||e[46]!==c?(De=Yt=>{const{value:At,icon:Et,label:Ct}=Yt;return r.jsx("button",{type:"button","aria-label":Ct,onClick:()=>c(ws=>({...ws,theme:At})),className:Y("size-8 rounded-md flex items-center justify-center transition-colors",l.theme===At?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground"),children:Et},At)},e[45]=l.theme,e[46]=c,e[47]=De):De=e[47],se=a.map(De),e[41]=l.theme,e[42]=c,e[43]=a,e[44]=se}else se=e[44];let Ve;e[48]!==se?(Ve=r.jsx("div",{className:"flex items-center gap-0.5",children:se}),e[48]=se,e[49]=Ve):Ve=e[49];const ze=l.enableSounds?"Disable sounds":"Enable sounds";let Fe;e[50]!==c?(Fe=()=>c(zb),e[50]=c,e[51]=Fe):Fe=e[51];const ft=l.enableSounds?"text-foreground hover:bg-sidebar-accent/50":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground";let He;e[52]!==ft?(He=Y("size-8 rounded-md flex items-center justify-center transition-colors",ft),e[52]=ft,e[53]=He):He=e[53];let tt;e[54]!==l.enableSounds?(tt=l.enableSounds?r.jsx(vl,{size:14}):r.jsx(bl,{size:14}),e[54]=l.enableSounds,e[55]=tt):tt=e[55];let ht;e[56]!==ze||e[57]!==Fe||e[58]!==He||e[59]!==tt?(ht=r.jsx("button",{type:"button","aria-label":ze,onClick:Fe,className:He,children:tt}),e[56]=ze,e[57]=Fe,e[58]=He,e[59]=tt,e[60]=ht):ht=e[60];let me;e[61]===Symbol.for("react.memo_cache_sentinel")?(me=r.jsxs("span",{className:"text-xs text-muted-foreground/60",children:["v","2.292.1"]}),e[61]=me):me=e[61];let ke;e[62]!==ht?(ke=r.jsxs("div",{className:"flex items-center gap-2",children:[ht,me]}),e[62]=ht,e[63]=ke):ke=e[63];let st;e[64]!==Ve||e[65]!==ke?(st=r.jsxs("div",{className:"flex items-center justify-between px-3 py-3 border-t border-border/50",children:[Ve,ke]}),e[64]=Ve,e[65]=ke,e[66]=st):st=e[66];let zt;return e[67]!==ue||e[68]!==ee||e[69]!==st?(zt=r.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[ue,ee,st]}),e[67]=ue,e[68]=ee,e[69]=st,e[70]=zt):zt=e[70],zt}const g=s?.name??"U";let _;e[71]!==g||e[72]!==i?(_=r.jsx(Il,{url:i,fallback:g,shape:"circle",size:"sm",className:"shrink-0"}),e[71]=g,e[72]=i,e[73]=_):_=e[73];const v=s?.name??"User";let x;e[74]!==v?(x=r.jsx("p",{className:"text-sm font-medium truncate",children:v}),e[74]=v,e[75]=x):x=e[75];const b=s?.email;let y;e[76]!==b?(y=r.jsx("p",{className:"text-xs text-muted-foreground truncate",children:b}),e[76]=b,e[77]=y):y=e[77];let V;e[78]!==x||e[79]!==y?(V=r.jsxs("div",{className:"flex-1 min-w-0",children:[x,y]}),e[78]=x,e[79]=y,e[80]=V):V=e[80];let C;e[81]!==s?(C=()=>{s?.id&&navigator.clipboard.writeText(s.id).then($b)},e[81]=s,e[82]=C):C=e[82];let S;e[83]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx(Si,{size:14}),e[83]=S):S=e[83];let w;e[84]!==C?(w=r.jsx(qe,{asChild:!0,children:r.jsx("button",{type:"button",tabIndex:-1,onClick:C,className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors",children:S})}),e[84]=C,e[85]=w):w=e[85];let k;e[86]===Symbol.for("react.memo_cache_sentinel")?(k=r.jsx(Ge,{side:"right",children:r.jsx("p",{className:"text-xs",children:"Copy user ID"})}),e[86]=k):k=e[86];let T;e[87]!==w?(T=r.jsx(bi,{delayDuration:300,children:r.jsxs(Ye,{children:[w,k]})}),e[87]=w,e[88]=T):T=e[88];let M;e[89]!==T||e[90]!==_||e[91]!==V?(M=r.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 mx-1 mt-1",children:[_,V,T]}),e[89]=T,e[90]=_,e[91]=V,e[92]=M):M=e[92];let I;if(e[93]!==m||e[94]!==n){let K;e[96]!==m?(K=G=>r.jsx($r,{item:G,onClose:m},G.key),e[96]=m,e[97]=K):K=e[97],I=n.map(K),e[93]=m,e[94]=n,e[95]=I}else I=e[95];let E;e[98]!==m||e[99]!==o?(E=r.jsx($r,{item:o,onClose:m}),e[98]=m,e[99]=o,e[100]=E):E=e[100];let N;e[101]!==I||e[102]!==E?(N=r.jsxs("nav",{className:"flex-1 flex flex-col px-2 pt-1 overflow-y-auto",children:[I,E]}),e[101]=I,e[102]=E,e[103]=N):N=e[103];let A;if(e[104]!==l.theme||e[105]!==c||e[106]!==a){let K;e[108]!==l.theme||e[109]!==c?(K=G=>{const{value:ie,icon:te,label:J}=G;return r.jsx("button",{type:"button","aria-label":J,onClick:()=>c(ae=>({...ae,theme:ie})),className:Y("size-7 rounded-md flex items-center justify-center transition-colors",l.theme===ie?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground"),children:te},ie)},e[108]=l.theme,e[109]=c,e[110]=K):K=e[110],A=a.map(K),e[104]=l.theme,e[105]=c,e[106]=a,e[107]=A}else A=e[107];let D;e[111]!==A?(D=r.jsx("div",{className:"flex items-center gap-0.5",children:A}),e[111]=A,e[112]=D):D=e[112];const L=l.enableSounds?"Disable sounds":"Enable sounds";let R;e[113]!==c?(R=()=>c(Bb),e[113]=c,e[114]=R):R=e[114];const P=l.enableSounds?"text-foreground hover:bg-sidebar-accent/50":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground";let O;e[115]!==P?(O=Y("size-7 rounded-md flex items-center justify-center transition-colors",P),e[115]=P,e[116]=O):O=e[116];let z;e[117]!==l.enableSounds?(z=l.enableSounds?r.jsx(vl,{size:14}):r.jsx(bl,{size:14}),e[117]=l.enableSounds,e[118]=z):z=e[118];let $;e[119]!==L||e[120]!==R||e[121]!==O||e[122]!==z?($=r.jsx("button",{type:"button","aria-label":L,onClick:R,className:O,children:z}),e[119]=L,e[120]=R,e[121]=O,e[122]=z,e[123]=$):$=e[123];let q;e[124]===Symbol.for("react.memo_cache_sentinel")?(q=r.jsxs("span",{className:"text-xs text-muted-foreground/60",children:["v","2.292.1"]}),e[124]=q):q=e[124];let F;e[125]!==$?(F=r.jsxs("div",{className:"flex items-center gap-2",children:[$,q]}),e[125]=$,e[126]=F):F=e[126];let W;e[127]!==D||e[128]!==F?(W=r.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5 border-t border-border/50",children:[D,F]}),e[127]=D,e[128]=F,e[129]=W):W=e[129];let H;e[130]!==M||e[131]!==N||e[132]!==W?(H=r.jsxs("div",{className:"w-60 shrink-0 flex flex-col border-r border-border bg-sidebar/75",children:[M,N,W]}),e[130]=M,e[131]=N,e[132]=W,e[133]=H):H=e[133];let U;e[134]!==f||e[135]!==h||e[136]!==u||e[137]!==d?(U=r.jsx("div",{className:"flex-1 flex flex-col min-w-0 min-h-0 overflow-hidden",children:r.jsx(ac,{sortedOrgs:d,orgParam:u,onSelectOrg:h,onCreateOrg:f})}),e[134]=f,e[135]=h,e[136]=u,e[137]=d,e[138]=U):U=e[138];let X;return e[139]!==H||e[140]!==U?(X=r.jsxs("div",{className:"flex min-h-[380px] w-full overflow-hidden",children:[H,U]}),e[139]=H,e[140]=U,e[141]=X):X=e[141],X}function Bb(t){return{...t,enableSounds:!t.enableSounds}}function $b(){he.success("User ID copied")}function zb(t){return{...t,enableSounds:!t.enableSounds}}function Fb(){he.success("User ID copied")}function cu(){const t=B.c(50),{data:e}=dt.useSession(),{data:s}=dt.useListOrganizations(),i=Oe();let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/shell/$org",shouldThrow:!1},t[0]=n):n=t[0];const a=Uf(n)?.params.org,[l,c]=ei(),d=ms(),[u,h]=j.useState(!1),[f,m]=j.useState(!1),p=e?.user,g=p?.image;let _;if(t[1]!==d||t[2]!==i||t[3]!==u||t[4]!==a||t[5]!==s||t[6]!==l||t[7]!==c||t[8]!==p||t[9]!==g){const b=s?.find(X=>X.slug===a);let y;if(t[11]!==a||t[12]!==s){let X;t[14]!==a?(X=(K,G)=>K.slug===a?-1:G.slug===a?1:K.name.localeCompare(G.name),t[14]=a,t[15]=X):X=t[15],y=[...s??[]].sort(X),t[11]=a,t[12]=s,t[13]=y}else y=t[13];const V=y;let C;t[16]!==i?(C=X=>{h(!1),i({to:"/$org",params:{org:X}})},t[16]=i,t[17]=C):C=t[17];const S=C;let w;t[18]===Symbol.for("react.memo_cache_sentinel")?(w=()=>h(!1),t[18]=w):w=t[18];const k=w;let T;t[19]===Symbol.for("react.memo_cache_sentinel")?(T=r.jsx(kr,{size:16}),t[19]=T):T=t[19];let M;t[20]!==i||t[21]!==a?(M={key:"preferences",label:"Preferences",icon:T,onClick:()=>{i({to:"/$org/settings/profile",params:{org:a??""}})}},t[20]=i,t[21]=a,t[22]=M):M=t[22];let I;t[23]===Symbol.for("react.memo_cache_sentinel")?(I={key:"terms",label:"Terms of Use",icon:r.jsx(ip,{size:16}),href:"https://www.decocms.com/terms-of-use",external:!0},t[23]=I):I=t[23];let E;t[24]===Symbol.for("react.memo_cache_sentinel")?(E={key:"privacy",label:"Privacy Policy",icon:r.jsx(dg,{size:16}),href:"https://www.decocms.com/privacy-policy",external:!0},t[24]=E):E=t[24];let N;t[25]===Symbol.for("react.memo_cache_sentinel")?(N={key:"github",label:"decocms/studio",icon:r.jsx(Hf,{className:"w-4 h-4"}),href:"https://github.com/decocms/studio",external:!0},t[25]=N):N=t[25];let A;t[26]===Symbol.for("react.memo_cache_sentinel")?(A={key:"community",label:"Community",icon:r.jsx(Dn,{size:16}),href:"https://decocms.com/discord",external:!0},t[26]=A):A=t[26];let D;t[27]===Symbol.for("react.memo_cache_sentinel")?(D={key:"homepage",label:"Homepage",icon:r.jsx(Qd,{size:16}),href:"https://decocms.com",external:!0},t[27]=D):D=t[27];let L;t[28]!==M?(L=[M,I,E,N,A,D],t[28]=M,t[29]=L):L=t[29];const R=L;let P;t[30]===Symbol.for("react.memo_cache_sentinel")?(P={key:"logout",label:"Sign out",icon:r.jsx(fp,{size:16}),onClick:Hb},t[30]=P):P=t[30];const O=P;let z;t[31]===Symbol.for("react.memo_cache_sentinel")?(z={value:"light",icon:r.jsx(ag,{size:14}),label:"Light theme"},t[31]=z):z=t[31];let $;t[32]===Symbol.for("react.memo_cache_sentinel")?($={value:"dark",icon:r.jsx(lg,{size:14}),label:"Dark theme"},t[32]=$):$=t[32];let q;t[33]===Symbol.for("react.memo_cache_sentinel")?(q=[z,$,{value:"system",icon:r.jsx(cg,{size:14}),label:"System theme"}],t[33]=q):q=t[33];const F=q;let W;t[34]===Symbol.for("react.memo_cache_sentinel")?(W=()=>{h(!1),m(!0)},t[34]=W):W=t[34];let H;t[35]!==S||t[36]!==d||t[37]!==R||t[38]!==a||t[39]!==l||t[40]!==c||t[41]!==V||t[42]!==p||t[43]!==g?(H={user:p,userImage:g,menuItems:R,signOutItem:O,themeOptions:F,preferences:l,setPreferences:c,sortedOrgs:V,orgParam:a,onSelectOrg:S,onCreateOrg:W,close:k,isMobile:d},t[35]=S,t[36]=d,t[37]=R,t[38]=a,t[39]=l,t[40]=c,t[41]=V,t[42]=p,t[43]=g,t[44]=H):H=t[44];const U=H;_=d?r.jsxs(ri,{open:u,onOpenChange:h,direction:"bottom",children:[r.jsxs("button",{type:"button",onClick:()=>h(!0),className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-lg transition-colors text-sm text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground",children:[r.jsx("div",{className:"shrink-0 size-5 rounded-md flex items-center justify-center border border-border/50 overflow-hidden",style:b?.logo?void 0:Bo(b?.name??""),children:b?.logo?r.jsx("img",{src:b.logo,alt:"",className:"size-full object-cover"}):r.jsx("span",{className:"font-semibold leading-none text-[8px]",children:(b?.name??"?").slice(0,2).toUpperCase()})}),r.jsx("span",{className:"truncate",children:b?.name??"Account"})]}),r.jsxs(ii,{className:"h-[80dvh] p-0",children:[r.jsx(si,{className:"sr-only",children:"Account"}),r.jsx(lc,{...U})]})]}):r.jsxs(Us,{open:u,onOpenChange:h,children:[r.jsx(zs,{asChild:!0,children:r.jsx(Zt,{tooltip:b?.name??"Account",className:"rounded-md",children:r.jsx("div",{className:"shrink-0 size-6 rounded-md flex items-center justify-center border border-border/50 overflow-hidden",style:b?.logo?void 0:Bo(b?.name??""),children:b?.logo?r.jsx("img",{src:b.logo,alt:"",className:"size-full object-cover"}):r.jsx("span",{className:"font-semibold leading-none text-[9px]",children:(b?.name??"?").slice(0,2).toUpperCase()})})})}),r.jsx(Fs,{side:"right",align:"end",sideOffset:18,collisionPadding:16,className:"w-[520px] p-0 flex max-h-[520px]",onCloseAutoFocus:Ub,children:r.jsx(lc,{...U})})]}),t[1]=d,t[2]=i,t[3]=u,t[4]=a,t[5]=s,t[6]=l,t[7]=c,t[8]=p,t[9]=g,t[10]=_}else _=t[10];let v;t[45]!==f?(v=r.jsx(Db,{open:f,onOpenChange:m}),t[45]=f,t[46]=v):v=t[46];let x;return t[47]!==_||t[48]!==v?(x=r.jsxs(r.Fragment,{children:[_,v]}),t[47]=_,t[48]=v,t[49]=x):x=t[49],x}function Ub(t){return t.preventDefault()}function Hb(){re("signed_out",{source:"account_popover"}),dt.signOut()}function Wb({invitation:t}){const[e,s]=j.useState(!1),[i,n]=j.useState(!1),o=bt(),a=async()=>{s(!0);try{const c=await dt.organization.acceptInvitation({invitationId:t.id});if(c.error)he.error(c.error.message),s(!1);else{const d=await dt.organization.setActive({organizationId:t.organizationId});he.success("Invitation accepted!");const u=d?.data?.slug;window.location.href=u?`/${u}`:"/"}}catch{he.error("Failed to accept invitation"),s(!1)}},l=async()=>{n(!0);try{const c=await dt.organization.rejectInvitation({invitationId:t.id});c.error?(he.error(c.error.message),n(!1)):(he.success("Invitation declined"),o.invalidateQueries())}catch{he.error("Failed to decline invitation"),n(!1)}};return r.jsxs("div",{className:"flex items-center gap-3 px-5 py-4 border-b border-border last:border-0 hover:bg-muted/25 transition-colors",children:[r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("p",{className:"text-xs text-muted-foreground",children:"You've been invited to join"}),r.jsx("p",{className:"text-sm font-medium truncate",children:t.organizationName??"Unknown organization"})]}),r.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[r.jsx(oe,{size:"icon",variant:"ghost",className:"size-7 text-green-600 hover:text-green-700 hover:bg-green-50 dark:hover:bg-green-950",onClick:a,disabled:e||i,"aria-label":"Accept invitation",children:r.jsx(Mt,{size:14})}),r.jsx(oe,{size:"icon",variant:"ghost",className:"size-7 text-muted-foreground hover:text-destructive hover:bg-destructive/10",onClick:l,disabled:e||i,"aria-label":"Decline invitation",children:r.jsx(Os,{size:14})})]})]})}function Kb(){const t=j.useContext(Wf),{data:e}=t.hooks.useListUserInvitations();return(e??[]).filter(i=>i.status==="pending"&&new Date(i.expiresAt)>new Date)}class qb extends j.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,s){}render(){return this.state.hasError?null:this.props.children}}function Gb(t){return t<=1?"text-destructive":t<=5?"text-amber-500 dark:text-amber-400":"text-foreground/70"}function Yb(){const t=B.c(19),e=Oe(),{org:s}=xe();let i;t[0]!==s.id?(i={connectionId:yt,orgId:s.id},t[0]=s.id,t[1]=i):i=t[1];const n=Ae(i);let o;t[2]===Symbol.for("react.memo_cache_sentinel")?(o={providerId:"deco"},t[2]=o):o=t[2];let a;t[3]!==n?(a={client:n,toolName:"AI_PROVIDER_CREDITS",toolArguments:o,staleTime:6e4,select:Xb},t[3]=n,t[4]=a):a=t[4];const{data:l,isPending:c,isError:d}=ni(a),u=l?.balanceCents!=null?l.balanceCents/100:null;let h;t[5]!==u||t[6]!==d||t[7]!==c?(h=c||d||u==null?"Credits":`Credits: $${u.toFixed(2)}`,t[5]=u,t[6]=d,t[7]=c,t[8]=h):h=t[8];const f=h;let m;t[9]!==u?(m=Y(u!=null&&Gb(u)),t[9]=u,t[10]=m):m=t[10];let p;t[11]!==e||t[12]!==s.slug?(p=()=>e({to:"/$org/settings/ai-providers",params:{org:s.slug}}),t[11]=e,t[12]=s.slug,t[13]=p):p=t[13];let g;t[14]===Symbol.for("react.memo_cache_sentinel")?(g=r.jsx(Ta,{size:24}),t[14]=g):g=t[14];let _;return t[15]!==m||t[16]!==p||t[17]!==f?(_=r.jsx(es,{children:r.jsx(Pt,{children:r.jsx(Zt,{tooltip:f,className:m,onClick:p,children:g})})}),t[15]=m,t[16]=p,t[17]=f,t[18]=_):_=t[18],_}function Xb(t){return t.structuredContent}function Jb(){const t=B.c(1);if(!La().some(Qb))return null;let i;return t[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(Yb,{}),t[0]=i):i=t[0],i}function Qb(t){return t.providerId==="deco"}function Zb(){const t=B.c(3),[e,s]=j.useState(!1);let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(es,{children:r.jsx(Pt,{children:r.jsx(Zt,{tooltip:"Connections",onClick:()=>{re("connections_dialog_opened",{source:"sidebar_footer",mode:"browse"}),s(!0)},children:r.jsx(mp,{size:24})})})}),t[0]=i):i=t[0];let n;return t[1]!==e?(n=r.jsxs(r.Fragment,{children:[i,r.jsx(Qa,{mode:"browse",open:e,onOpenChange:s,defaultTab:"all"})]}),t[1]=e,t[2]=n):n=t[2],n}function e0(){const t=B.c(11),e=Kb();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx(yl,{size:24}),t[0]=s):s=t[0];let i;t[1]!==e.length?(i=e.length>0&&r.jsx("span",{className:"absolute top-1 right-1 size-2 rounded-full bg-red-500 pointer-events-none"}),t[1]=e.length,t[2]=i):i=t[2];let n;t[3]!==i?(n=r.jsx(es,{children:r.jsx(Pt,{children:r.jsx(zs,{asChild:!0,children:r.jsxs(Zt,{tooltip:"Inbox",className:"relative",children:[s,i]})})})}),t[3]=i,t[4]=n):n=t[4];let o;t[5]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("div",{className:"px-4 py-3 border-b border-border shrink-0",children:r.jsx("h3",{className:"text-sm font-medium",children:"Inbox"})}),t[5]=o):o=t[5];let a;t[6]!==e?(a=r.jsxs(Fs,{side:"right",align:"start",sideOffset:16,collisionPadding:16,className:"w-[min(400px,calc(100vw-2rem))] p-0 h-[min(650px,calc(100dvh-4rem))] flex flex-col",children:[o,e.length===0?r.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 px-6 text-center",children:[r.jsx(yl,{size:24,className:"text-muted-foreground/50"}),r.jsx("p",{className:"text-sm font-medium text-foreground",children:"No invites pending"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Organization invitations will appear here"})]}):r.jsx("div",{className:"overflow-y-auto flex-1",children:e.map(t0)})]}),t[6]=e,t[7]=a):a=t[7];let l;return t[8]!==n||t[9]!==a?(l=r.jsxs(Us,{children:[n,a]}),t[8]=n,t[9]=a,t[10]=l):l=t[10],l}function t0(t){return r.jsx(Wb,{invitation:t},t.id)}function s0(){const t=B.c(6),e=Oe(),{org:s}=xe();let i;t[0]!==e||t[1]!==s.slug?(i=()=>e({to:"/$org/settings",params:{org:s.slug}}),t[0]=e,t[1]=s.slug,t[2]=i):i=t[2];let n;t[3]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx(kr,{size:24}),t[3]=n):n=t[3];let o;return t[4]!==i?(o=r.jsx(es,{children:r.jsx(Pt,{children:r.jsx(Zt,{tooltip:"Settings",onClick:i,children:n})})}),t[4]=i,t[5]=o):o=t[5],o}function i0(){const t=B.c(5);let e,s,i,n;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(qb,{children:r.jsx(j.Suspense,{fallback:null,children:r.jsx(Jb,{})})}),s=r.jsx(Zb,{}),i=r.jsx(e0,{}),n=r.jsx(s0,{}),t[0]=e,t[1]=s,t[2]=i,t[3]=n):(e=t[0],s=t[1],i=t[2],n=t[3]);let o;return t[4]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsxs(Sh,{className:"px-2 pb-3 gap-1",children:[e,s,i,n,r.jsx(es,{children:r.jsx(Pt,{children:r.jsx(cu,{})})})]}),t[4]=o):o=t[4],o}function r0(){const t=B.c(10),e=Oe(),{org:s}=xe(),{setOpenMobile:i}=Cr();let n;t[0]!==e||t[1]!==s.slug||t[2]!==i?(n=()=>{e({to:"/$org/settings",params:{org:s.slug}}),i(!1)},t[0]=e,t[1]=s.slug,t[2]=i,t[3]=n):n=t[3];let o;t[4]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx(kr,{}),t[4]=o):o=t[4];let a;t[5]!==n?(a=r.jsx(Pt,{children:r.jsx(Zt,{tooltip:"Settings",onClick:n,children:o})}),t[5]=n,t[6]=a):a=t[6];let l;t[7]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx(Pt,{children:r.jsx(cu,{})}),t[7]=l):l=t[7];let c;return t[8]!==a?(c=r.jsx(Sh,{children:r.jsxs(es,{children:[a,l]})}),t[8]=a,t[9]=c):c=t[9],c}var Za="ContextMenu",[n0]=em(Za,[Vd]),St=Vd(),[o0,du]=n0(Za),hu=t=>{const{__scopeContextMenu:e,children:s,onOpenChange:i,dir:n,modal:o=!0}=t,[a,l]=j.useState(!1),c=St(e),d=Kf(i),u=j.useCallback(h=>{l(h),d(h)},[d]);return r.jsx(o0,{scope:e,open:a,onOpenChange:u,modal:o,children:r.jsx(qf,{...c,dir:n,open:a,onOpenChange:u,modal:o,children:s})})};hu.displayName=Za;var uu="ContextMenuTrigger",fu=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,disabled:i=!1,...n}=t,o=du(uu,s),a=St(s),l=j.useRef({x:0,y:0}),c=j.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...l.current})}),d=j.useRef(0),u=j.useCallback(()=>window.clearTimeout(d.current),[]),h=f=>{l.current={x:f.clientX,y:f.clientY},o.onOpenChange(!0)};return j.useEffect(()=>u,[u]),j.useEffect(()=>{i&&u()},[i,u]),r.jsxs(r.Fragment,{children:[r.jsx(Gf,{...a,virtualRef:c}),r.jsx(Yf.span,{"data-state":o.open?"open":"closed","data-disabled":i?"":void 0,...n,ref:e,style:{WebkitTouchCallout:"none",...t.style},onContextMenu:i?t.onContextMenu:Li(t.onContextMenu,f=>{u(),h(f),f.preventDefault()}),onPointerDown:i?t.onPointerDown:Li(t.onPointerDown,zr(f=>{u(),d.current=window.setTimeout(()=>h(f),700)})),onPointerMove:i?t.onPointerMove:Li(t.onPointerMove,zr(u)),onPointerCancel:i?t.onPointerCancel:Li(t.onPointerCancel,zr(u)),onPointerUp:i?t.onPointerUp:Li(t.onPointerUp,zr(u))})]})});fu.displayName=uu;var a0="ContextMenuPortal",mu=t=>{const{__scopeContextMenu:e,...s}=t,i=St(e);return r.jsx(Xf,{...i,...s})};mu.displayName=a0;var pu="ContextMenuContent",gu=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=du(pu,s),o=St(s),a=j.useRef(!1);return r.jsx(Jf,{...o,...i,ref:e,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:l=>{t.onCloseAutoFocus?.(l),!l.defaultPrevented&&a.current&&l.preventDefault(),a.current=!1},onInteractOutside:l=>{t.onInteractOutside?.(l),!l.defaultPrevented&&!n.modal&&(a.current=!0)},style:{...t.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});gu.displayName=pu;var l0="ContextMenuGroup",c0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(tm,{...n,...i,ref:e})});c0.displayName=l0;var d0="ContextMenuLabel",h0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(sm,{...n,...i,ref:e})});h0.displayName=d0;var u0="ContextMenuItem",_u=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(Qf,{...n,...i,ref:e})});_u.displayName=u0;var f0="ContextMenuCheckboxItem",m0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(im,{...n,...i,ref:e})});m0.displayName=f0;var p0="ContextMenuRadioGroup",g0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(rm,{...n,...i,ref:e})});g0.displayName=p0;var _0="ContextMenuRadioItem",x0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(nm,{...n,...i,ref:e})});x0.displayName=_0;var v0="ContextMenuItemIndicator",b0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(om,{...n,...i,ref:e})});b0.displayName=v0;var y0="ContextMenuSeparator",xu=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(Zf,{...n,...i,ref:e})});xu.displayName=y0;var S0="ContextMenuArrow",w0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(am,{...n,...i,ref:e})});w0.displayName=S0;var V0="ContextMenuSubTrigger",C0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(lm,{...n,...i,ref:e})});C0.displayName=V0;var k0="ContextMenuSubContent",j0=j.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,n=St(s);return r.jsx(cm,{...n,...i,ref:e,style:{...t.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});j0.displayName=k0;function zr(t){return e=>e.pointerType!=="mouse"?t(e):void 0}var N0=hu,A0=fu,E0=mu,I0=gu,T0=_u,R0=xu;function M0(t){const e=B.c(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let i;return e[2]!==s?(i=r.jsx(N0,{"data-slot":"context-menu",...s}),e[2]=s,e[3]=i):i=e[3],i}function D0(t){const e=B.c(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let i;return e[2]!==s?(i=r.jsx(A0,{"data-slot":"context-menu-trigger",...s}),e[2]=s,e[3]=i):i=e[3],i}function P0(t){const e=B.c(8);let s,i;e[0]!==t?({className:s,...i}=t,e[0]=t,e[1]=s,e[2]=i):(s=e[1],i=e[2]);let n;e[3]!==s?(n=Y("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",s),e[3]=s,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o=r.jsx(E0,{children:r.jsx(I0,{"data-slot":"context-menu-content",className:n,...i})}),e[5]=i,e[6]=n,e[7]=o):o=e[7],o}function cc(t){const e=B.c(12);let s,i,n,o;e[0]!==t?({className:s,inset:i,variant:o,...n}=t,e[0]=t,e[1]=s,e[2]=i,e[3]=n,e[4]=o):(s=e[1],i=e[2],n=e[3],o=e[4]);const a=o===void 0?"default":o;let l;e[5]!==s?(l=Y("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",s),e[5]=s,e[6]=l):l=e[6];let c;return e[7]!==i||e[8]!==n||e[9]!==l||e[10]!==a?(c=r.jsx(T0,{"data-slot":"context-menu-item","data-inset":i,"data-variant":a,className:l,...n}),e[7]=i,e[8]=n,e[9]=l,e[10]=a,e[11]=c):c=e[11],c}function L0(t){const e=B.c(8);let s,i;e[0]!==t?({className:s,...i}=t,e[0]=t,e[1]=s,e[2]=i):(s=e[1],i=e[2]);let n;e[3]!==s?(n=Y("bg-border -mx-1 my-1 h-px",s),e[3]=s,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o=r.jsx(R0,{"data-slot":"context-menu-separator",className:n,...i}),e[5]=i,e[6]=n,e[7]=o):o=e[7],o}function vu(t){const e=Oe(),s=bt(),i=Vh(),{locator:n}=xe(),o=_r({strict:!1}),a=ti({strict:!1});return async l=>{const c=crypto.randomUUID(),d=l===a.virtualmcpid?Dd(s,n,o.taskId??""):null;try{await i.create.mutateAsync({id:c,virtual_mcp_id:l,...d?{branch:d}:{}})}catch{}e({to:"/$org/$taskId",params:{org:t,taskId:c},search:{virtualmcpid:l}})}}function O0({agent:t,org:e,onUnpin:s,isDragging:i}){const n=Oe(),{isMobile:o,setOpenMobile:a}=Cr(),l=vu(e),d=yd({select:b=>b.location.pathname}).startsWith(`/${e}/${t.id}`),[u,h]=j.useState(null),f=j.useRef(null),m=j.useRef(null),p=j.useRef(!1);p.current=!!i,i&&(u||m.current)&&(m.current&&(clearTimeout(m.current),m.current=null),u&&h(null));const g=b=>{if(p.current)return;const y=b.currentTarget.getBoundingClientRect();m.current=setTimeout(()=>{p.current||h(y)},550)},_=b=>{m.current&&(clearTimeout(m.current),m.current=null),!(f.current&&b.relatedTarget instanceof Node&&f.current.contains(b.relatedTarget))&&h(null)},v=u?Math.round(u.height*.9):0,x=u?u.width+v:0;return r.jsx(M0,{children:r.jsxs(Pt,{className:Y(u&&"z-[55]"),children:[r.jsx(D0,{asChild:!0,children:r.jsx(Zt,{tooltip:u?void 0:t.title,isActive:d,onClick:()=>{re("sidebar_agent_pin_clicked",{agent_id:t.id,agent_title:t.title}),l(t.id),o&&a(!1)},onMouseEnter:g,onMouseLeave:_,children:r.jsx(Qt,{icon:t.icon,name:t.title,size:"xs",className:"w-full h-full [&_svg]:w-1/2 [&_svg]:h-1/2"})})}),r.jsxs(P0,{children:[r.jsxs(cc,{onClick:()=>{const b=crypto.randomUUID();n({to:"/$org/$taskId",params:{org:e,taskId:b},search:{virtualmcpid:t.id}})},children:[r.jsx(kr,{size:14}),"Settings"]}),r.jsx(L0,{}),r.jsxs(cc,{onClick:()=>{s(),d&&n({to:"/$org",params:{org:e}})},className:"",children:[r.jsx(Es,{size:14}),"Unpin"]})]}),u&&Ei.createPortal(r.jsx("button",{ref:f,type:"button",onMouseLeave:()=>h(null),onClick:b=>{b.stopPropagation(),h(null),s(),n({to:"/$org",params:{org:e}})},className:Y("flex items-center justify-center","bg-sidebar-accent text-muted-foreground","rounded-xl cursor-pointer","animate-in fade-in-0 slide-in-from-right-2","duration-150 [animation-timing-function:cubic-bezier(0.165,0.84,0.44,1)]","hover:text-foreground transition-colors"),style:{position:"fixed",top:u.top,left:u.left,height:u.height,width:x,paddingLeft:u.width,zIndex:50,boxShadow:"inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.075), 0 0 0 0.5px hsla(0, 0%, 0%, 0.12)"},children:r.jsx(Es,{size:14})}),document.body)]})})}function B0(t){const e=B.c(18);let s;e[0]!==t.agent.id?(s={id:t.agent.id},e[0]=t.agent.id,e[1]=s):s=e[1];const{attributes:i,listeners:n,setNodeRef:o,transform:a,transition:l,isDragging:c}=bg(s);let d;e[2]!==a?(d=yg.Transform.toString(a?{...a,x:0}:null),e[2]=a,e[3]=d):d=e[3];const u=c?.5:void 0,h=c?100:void 0;let f;e[4]!==d||e[5]!==u||e[6]!==h||e[7]!==l?(f={transform:d,transition:l,opacity:u,zIndex:h},e[4]=d,e[5]=u,e[6]=h,e[7]=l,e[8]=f):f=e[8];const m=f;let p;e[9]!==c||e[10]!==t?(p=r.jsx(O0,{...t,isDragging:c}),e[9]=c,e[10]=t,e[11]=p):p=e[11];let g;return e[12]!==i||e[13]!==n||e[14]!==o||e[15]!==m||e[16]!==p?(g=r.jsx("div",{ref:o,style:m,...i,...n,tabIndex:-1,className:"w-full",children:p}),e[12]=i,e[13]=n,e[14]=o,e[15]=m,e[16]=p,e[17]=g):g=e[17],g}function $0(t){const e=B.c(9),{agent:s,onClick:i}=t;let n;e[0]!==s.icon||e[1]!==s.title?(n=r.jsx(Qt,{icon:s.icon,name:s.title,size:"md",className:"transition-transform group-hover:scale-105"}),e[0]=s.icon,e[1]=s.title,e[2]=n):n=e[2];let o;e[3]!==s.title?(o=r.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground line-clamp-2 w-full",children:s.title}),e[3]=s.title,e[4]=o):o=e[4];let a;return e[5]!==i||e[6]!==n||e[7]!==o?(a=r.jsxs("button",{type:"button",onClick:i,className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group",children:[n,o]}),e[5]=i,e[6]=n,e[7]=o,e[8]=a):a=e[8],a}function z0(t){const e=B.c(80),{onClose:s,onOpenImportDeco:i,onOpenGithubImport:n,onOpenSelfHealing:o,onOpenDiagnosticsModal:a,onOpenLeanCanvasModal:l,onOpenStudioPackModal:c,onOpenAiImageModal:d,onOpenAiResearchModal:u}=t,[h,f]=j.useState(""),m=Rn(),{org:p}=xe();let g;e[0]!==m?(g=m.filter(Y0).map(G0),e[0]=m,e[1]=g):g=e[1];const _=g,{pin:v,isPinned:x}=gh(p.id,_);let b;e[2]===Symbol.for("react.memo_cache_sentinel")?(b={navigateOnCreate:!0},e[2]=b):b=e[2];const{createVirtualMCP:y,isCreating:V}=_h(b),[C]=ei(),S=vu(p.slug),w=Sr();let k,T,M,I,E,N,A,D;if(e[3]!==m||e[4]!==y||e[5]!==V||e[6]!==x||e[7]!==w||e[8]!==S||e[9]!==s||e[10]!==d||e[11]!==u||e[12]!==a||e[13]!==n||e[14]!==i||e[15]!==l||e[16]!==o||e[17]!==c||e[18]!==v||e[19]!==C.experimental_vibecode||e[20]!==h){const q=h.toLowerCase();D=m.filter(q0).filter(se=>!h||se.title.toLowerCase().includes(q));let F;e[29]!==m?(F=m.some(K0),e[29]=m,e[30]=F):F=e[30];const W=F;k=jt.filter(se=>(!h||se.title.toLowerCase().includes(q))&&!(se.id==="studio-pack"&&W)&&!(se.id==="self-healing-storefront"&&!C.experimental_vibecode));let H;e[31]===Symbol.for("react.memo_cache_sentinel")?(H=jt.find(W0),e[31]=H):H=e[31];const U=H,X=U?m.find(se=>se.metadata?.type===U.id):void 0;let K;e[32]===Symbol.for("react.memo_cache_sentinel")?(K=jt.find(H0),e[32]=K):K=e[32];const G=K,ie=G?m.find(se=>se.metadata?.type===G.id):void 0;let te;e[33]===Symbol.for("react.memo_cache_sentinel")?(te=jt.find(U0),e[33]=te):te=e[33];const J=te,ae=J?m.find(se=>se.metadata?.type===J.id):void 0;let Z;e[34]===Symbol.for("react.memo_cache_sentinel")?(Z=jt.find(F0),e[34]=Z):Z=e[34];const de=Z,fe=de?m.find(se=>se.metadata?.type===de.id):void 0;let ye;e[35]!==x||e[36]!==S||e[37]!==s||e[38]!==v?(ye=se=>{x(se.id)||v(se.id),s(),f(""),S(se.id)},e[35]=x,e[36]=S,e[37]=s,e[38]=v,e[39]=ye):ye=e[39];const ge=ye,ce=se=>{s(),f(""),se==="self-healing-storefront"?o():se==="site-editor"?i():se==="site-diagnostics"?X?w(X.id):a():se==="lean-canvas"?ie?w(ie.id):l():se==="ai-image"?ae?w(ae.id):d():se==="ai-research"?fe?w(fe.id):u():se==="studio-pack"?c():S(se)};N="flex flex-col max-h-[min(640px,80dvh)]",e[40]!==h?(A=r.jsx(Sg,{value:h,onChange:f,placeholder:"Search agents..."}),e[40]=h,e[41]=A):A=e[41],T="overflow-y-auto flex-1 min-h-0 px-3 pb-3",e[42]===Symbol.for("react.memo_cache_sentinel")?(M=r.jsx("div",{className:"px-1 pt-3 pb-2",children:r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Agents"})}),e[42]=M):M=e[42];let ue;e[43]!==y||e[44]!==s?(ue=async()=>{re("agent_create_new_clicked",{source:"browse_popover"}),await y(),s()},e[43]=y,e[44]=s,e[45]=ue):ue=e[45];let be,pe;e[46]===Symbol.for("react.memo_cache_sentinel")?(be=r.jsx("div",{className:"w-12 h-12 rounded-xl border-2 border-dashed border-border flex items-center justify-center shrink-0 transition-transform group-hover:scale-105",children:r.jsx(Dt,{size:16,className:"text-muted-foreground"})}),pe=r.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground",children:"Create new"}),e[46]=be,e[47]=pe):(be=e[46],pe=e[47]);let Ce;e[48]!==V||e[49]!==ue?(Ce=r.jsxs("button",{type:"button",disabled:V,onClick:ue,className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group disabled:opacity-50 disabled:cursor-not-allowed",children:[be,pe]}),e[48]=V,e[49]=ue,e[50]=Ce):Ce=e[50];let Ie;e[51]!==s||e[52]!==n||e[53]!==C.experimental_vibecode?(Ie=C.experimental_vibecode&&r.jsxs("button",{type:"button",onClick:()=>{re("agent_import_clicked",{source:"github"}),n(),s()},className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group",children:[r.jsx("div",{className:"w-12 h-12 rounded-xl border-2 border-border flex items-center justify-center shrink-0 transition-transform group-hover:scale-105",children:r.jsx(ph,{className:"size-5 text-muted-foreground"})}),r.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground",children:"Import GitHub"})]}),e[51]=s,e[52]=n,e[53]=C.experimental_vibecode,e[54]=Ie):Ie=e[54];let ee;e[55]!==ge?(ee=se=>r.jsx($0,{agent:se,onClick:()=>ge(se)},se.id),e[55]=ge,e[56]=ee):ee=e[56],I=r.jsxs("div",{className:"grid grid-cols-3 gap-1",children:[Ce,Ie,D.map(ee)]}),E=k.length>0&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"px-1 pt-4 pb-2",children:r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Agent templates"})}),r.jsx("div",{className:"grid grid-cols-3 gap-1",children:k.map(se=>r.jsxs("button",{type:"button",onClick:()=>{re("agent_template_clicked",{template_id:se.id,template_title:se.title}),ce(se.id)},className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group disabled:opacity-50 disabled:cursor-not-allowed",children:[r.jsx(Qt,{icon:se.icon,name:se.title,size:"md",className:"transition-transform group-hover:scale-105"}),r.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground line-clamp-2 w-full",children:se.title})]},se.id))})]}),e[3]=m,e[4]=y,e[5]=V,e[6]=x,e[7]=w,e[8]=S,e[9]=s,e[10]=d,e[11]=u,e[12]=a,e[13]=n,e[14]=i,e[15]=l,e[16]=o,e[17]=c,e[18]=v,e[19]=C.experimental_vibecode,e[20]=h,e[21]=k,e[22]=T,e[23]=M,e[24]=I,e[25]=E,e[26]=N,e[27]=A,e[28]=D}else k=e[21],T=e[22],M=e[23],I=e[24],E=e[25],N=e[26],A=e[27],D=e[28];let L;e[57]!==k||e[58]!==V||e[59]!==h||e[60]!==D.length?(L=D.length===0&&k.length===0&&!V&&r.jsx("div",{className:"flex items-center justify-center py-6 text-xs text-muted-foreground",children:h?"No agents found":"No agents yet"}),e[57]=k,e[58]=V,e[59]=h,e[60]=D.length,e[61]=L):L=e[61];let R;e[62]!==T||e[63]!==M||e[64]!==I||e[65]!==E||e[66]!==L?(R=r.jsxs("div",{className:T,children:[M,I,E,L]}),e[62]=T,e[63]=M,e[64]=I,e[65]=E,e[66]=L,e[67]=R):R=e[67];let P;e[68]!==p.slug?(P={org:p.slug},e[68]=p.slug,e[69]=P):P=e[69];let O;e[70]!==s?(O=()=>s(),e[70]=s,e[71]=O):O=e[71];let z;e[72]!==P||e[73]!==O?(z=r.jsx("div",{className:"border-t border-border px-3 py-2.5",children:r.jsx(Cd,{to:"/$org/settings/agents",params:P,onClick:O,className:"text-xs text-muted-foreground hover:text-foreground transition-colors flex items-center justify-center",children:"See all agents"})}),e[72]=P,e[73]=O,e[74]=z):z=e[74];let $;return e[75]!==R||e[76]!==z||e[77]!==N||e[78]!==A?($=r.jsxs("div",{className:N,children:[A,R,z]}),e[75]=R,e[76]=z,e[77]=N,e[78]=A,e[79]=$):$=e[79],$}function F0(t){return t.id==="ai-research"}function U0(t){return t.id==="ai-image"}function H0(t){return t.id==="lean-canvas"}function W0(t){return t.id==="site-diagnostics"}function K0(t){return Km(t.id)}function q0(t){return!lr(t.id)}function G0(t){return t.id}function Y0(t){return t.pinned}function X0(){const t=B.c(36),[e,s]=j.useState(!1),[i,n]=j.useState(!1),[o,a]=j.useState(!1),[l,c]=j.useState(!1),[d,u]=j.useState(!1),[h,f]=j.useState(!1),[m,p]=j.useState(!1),[g,_]=j.useState(!1),[v,x]=j.useState(!1),b=ms(),{setOpenMobile:y}=Cr();let V;t[0]!==b||t[1]!==y?(V=()=>{s(!1),b&&y(!1)},t[0]=b,t[1]=y,t[2]=V):V=t[2];const C=V;let S;t[3]!==C||t[4]!==e?(S=e&&r.jsx(j.Suspense,{fallback:r.jsx("div",{className:"flex items-center justify-center py-8",children:r.jsx(wi,{className:"h-4 w-24"})}),children:r.jsx(z0,{onClose:C,onOpenImportDeco:()=>n(!0),onOpenGithubImport:()=>{a(!0),C()},onOpenSelfHealing:()=>{c(!0),C()},onOpenDiagnosticsModal:()=>u(!0),onOpenLeanCanvasModal:()=>f(!0),onOpenStudioPackModal:()=>p(!0),onOpenAiImageModal:()=>_(!0),onOpenAiResearchModal:()=>x(!0)})}),t[3]=C,t[4]=e,t[5]=S):S=t[5];const w=S;let k;t[6]!==b||t[7]!==e||t[8]!==w?(k=b?r.jsxs(r.Fragment,{children:[r.jsx(Pt,{children:r.jsx(Zt,{tooltip:"Browse agents",className:"bg-muted/75 hover:bg-sidebar-accent",onClick:()=>{re("agent_browser_opened",{surface:"mobile_drawer"}),s(!0)},children:r.jsx(Dt,{className:"!opacity-100"})})}),r.jsx(ri,{open:e,onOpenChange:s,direction:"bottom",children:r.jsxs(ii,{className:"max-h-[85dvh] p-0",children:[r.jsx(si,{className:"sr-only",children:"Browse agents"}),w]})})]}):r.jsxs(Us,{open:e,onOpenChange:P=>{P&&!e&&re("agent_browser_opened",{surface:"desktop_popover"}),s(P)},children:[r.jsx(Pt,{children:r.jsx(zs,{asChild:!0,children:r.jsx(Zt,{tooltip:"Browse agents",className:"bg-muted/75 hover:bg-sidebar-accent",children:r.jsx(Dt,{className:"!opacity-100"})})})}),r.jsx(Fs,{className:"w-[380px] p-0 overflow-hidden",side:"right",align:"start",children:w})]}),t[6]=b,t[7]=e,t[8]=w,t[9]=k):k=t[9];let T;t[10]!==i?(T=r.jsx(fn,{open:i,onOpenChange:n}),t[10]=i,t[11]=T):T=t[11];let M;t[12]!==o?(M=r.jsx(hh,{open:o,onOpenChange:a}),t[12]=o,t[13]=M):M=t[13];let I;t[14]!==l?(I=r.jsx(Zh,{open:l,onOpenChange:c}),t[14]=l,t[15]=I):I=t[15];let E;t[16]!==d?(E=r.jsx(uh,{open:d,onOpenChange:u}),t[16]=d,t[17]=E):E=t[17];let N;t[18]!==h?(N=r.jsx(fh,{open:h,onOpenChange:f}),t[18]=h,t[19]=N):N=t[19];let A;t[20]!==m?(A=r.jsx(mh,{open:m,onOpenChange:p}),t[20]=m,t[21]=A):A=t[21];let D;t[22]!==g?(D=r.jsx(Jh,{open:g,onOpenChange:_}),t[22]=g,t[23]=D):D=t[23];let L;t[24]!==v?(L=r.jsx(Qh,{open:v,onOpenChange:x}),t[24]=v,t[25]=L):L=t[25];let R;return t[26]!==L||t[27]!==k||t[28]!==T||t[29]!==M||t[30]!==I||t[31]!==E||t[32]!==N||t[33]!==A||t[34]!==D?(R=r.jsxs(r.Fragment,{children:[k,T,M,I,E,N,A,D,L]}),t[26]=L,t[27]=k,t[28]=T,t[29]=M,t[30]=I,t[31]=E,t[32]=N,t[33]=A,t[34]=D,t[35]=R):R=t[35],R}function J0(){const t=B.c(34),e=Rn(),{org:s}=xe();let i;t[0]!==e?(i=e.filter(ty).map(ey),t[0]=e,t[1]=i):i=t[1];const n=i,{pinnedIds:o,unpin:a,reorder:l}=gh(s.id,n),c=new Map(e.map(Z0)),d=o.map(R=>c.get(R)).filter(Q0);let u;t[2]===Symbol.for("react.memo_cache_sentinel")?(u={activationConstraint:{distance:5}},t[2]=u):u=t[2];let h;t[3]===Symbol.for("react.memo_cache_sentinel")?(h={coordinateGetter:xg},t[3]=h):h=t[3];const f=hg(Tl(fg,u),Tl(ug,h));let m;t[4]!==o||t[5]!==l?(m=R=>{const{active:P,over:O}=R;if(!O||P.id===O.id)return;const z=o.indexOf(P.id),$=o.indexOf(O.id);z===-1||$===-1||l(vg([...o],z,$))},t[4]=o,t[5]=l,t[6]=m):m=t[6];const p=m,g=wr,_="py-0 px-0 mt-2 flex-1 min-h-0";let v;t[7]===Symbol.for("react.memo_cache_sentinel")?(v=r.jsx("div",{className:"h-px bg-border mx-2 mb-2"}),t[7]=v):v=t[7];const x=Vr,b="flex flex-1 min-h-0 flex-col overflow-y-auto [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",y=es,V="gap-2";let C;t[8]===Symbol.for("react.memo_cache_sentinel")?(C=r.jsx(X0,{}),t[8]=C):C=t[8];const S=gg,w=_g,k=mg,T=pg;let M;t[9]!==s.slug||t[10]!==a?(M=R=>r.jsx(B0,{agent:R,org:s.slug,onUnpin:()=>a(R.id)},R.id),t[9]=s.slug,t[10]=a,t[11]=M):M=t[11];const I=d.map(M);let E;t[12]!==k||t[13]!==o||t[14]!==T||t[15]!==I?(E=r.jsx(k,{items:o,strategy:T,children:I}),t[12]=k,t[13]=o,t[14]=T,t[15]=I,t[16]=E):E=t[16];let N;t[17]!==S||t[18]!==p||t[19]!==f||t[20]!==E||t[21]!==w?(N=r.jsx(S,{sensors:f,collisionDetection:w,onDragEnd:p,children:E}),t[17]=S,t[18]=p,t[19]=f,t[20]=E,t[21]=w,t[22]=N):N=t[22];let A;t[23]!==y||t[24]!==N||t[25]!==C?(A=r.jsxs(y,{className:V,children:[C,N]}),t[23]=y,t[24]=N,t[25]=C,t[26]=A):A=t[26];let D;t[27]!==x||t[28]!==A?(D=r.jsx(x,{className:b,children:A}),t[27]=x,t[28]=A,t[29]=D):D=t[29];let L;return t[30]!==g||t[31]!==D||t[32]!==v?(L=r.jsxs(g,{className:_,children:[v,D]}),t[30]=g,t[31]=D,t[32]=v,t[33]=L):L=t[33],L}function Q0(t){return!!t}function Z0(t){return[t.id,t]}function ey(t){return t.id}function ty(t){return t.pinned}function bu(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(j.Suspense,{fallback:r.jsx(wr,{className:"py-0 px-0",children:r.jsx(Vr,{children:r.jsx(es,{className:"gap-2",children:r.jsx(Pt,{children:r.jsxs("div",{className:"flex items-center gap-2 px-2 py-2",children:[r.jsx(wi,{className:"h-4 w-4 rounded"}),r.jsx(wi,{className:"h-4 flex-1"})]})})})})}),children:r.jsx(J0,{})}),t[0]=e):e=t[0],e}function sy(){const t=B.c(4),e=ru();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx(i0,{}),t[0]=s):s=t[0];let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(ls,{children:r.jsx(j.Suspense,{fallback:null,children:r.jsx(bu,{})})}),t[1]=i):i=t[1];let n;return t[2]!==e?(n=r.jsx(au,{sections:e,footer:s,additionalContent:i}),t[2]=e,t[3]=n):n=t[3],n}function iy(t){const e=B.c(5),{onClose:s}=t,i=ru();let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx(r0,{}),e[0]=n):n=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx(ls,{children:r.jsx(j.Suspense,{fallback:null,children:r.jsx(bu,{})})}),e[1]=o):o=e[1];let a;return e[2]!==s||e[3]!==i?(a=r.jsx(Rb,{sections:i,onClose:s,footer:n,additionalContent:o}),e[2]=s,e[3]=i,e[4]=a):a=e[4],a}async function ry(t,e,s){const i=await t.callTool({name:e,arguments:s});if(i.isError){const n=i.content?.[0]?.text??`Tool ${e} failed without a message`;throw new Error(n)}return i}const yu=["VM_START"],Fr=new Map,ny=t=>`${t.virtualMcpId}::${t.branch??""}`;function el(t){const e=bt();return Ni({mutationKey:yu,mutationFn:async s=>{const i=ny(s),n=Fr.get(i);if(n)return n;const o=(async()=>(await ry(t,"VM_START",s)).structuredContent)();Fr.set(i,o);try{return await o}finally{Fr.get(i)===o&&Fr.delete(i)}},onSuccess:()=>{Xr(e)}})}function oy(t,e){const s=B.c(3);let i;return s[0]!==e||s[1]!==t?(i={mutationKey:yu,predicate:o=>{if(!t)return!1;const a=o.state.variables;return!a||a.virtualMcpId!==t?!1:(a.branch??"")===(e??"")}},s[0]=e,s[1]=t,s[2]=i):i=s[2],Dg(i)>0}function ay(t,e){return t===1?!0:t===0?!1:e}function ly(t){const e=t.entityMetadata?.defaultMainView??null,s=e==null||e.type==="chat",i=t.mainParamPresent?t.mainParamValue!=="0":!s,n=s?!0:t.entityMetadata?.chatDefaultOpen??!1;return{mainOpen:i,chatOpen:n}}function dc(t,e){return t&&e?{chat:45,main:55}:t&&!e?{chat:100,main:0}:!t&&e?{chat:0,main:100}:{chat:0,main:0}}function cy(t,e){return t===1?!0:t===0?!1:e}function dy(t,e){const s=Oe(),i=ti({strict:!1}),n=_r({strict:!1}),o=bt(),a=Vh(),{locator:l}=xe(),{virtualMcpId:c,orgSlug:d,isAgentRoute:u}=e,h=ly({entityMetadata:t,mainParamPresent:i.main!==void 0,mainParamValue:i.main}),f=cy(i.chat,h.chatOpen),m=h.mainOpen,p=j.useRef(crypto.randomUUID()),g=n.taskId??p.current,_="/$org/$taskId",v=T=>({org:d,taskId:T}),x=u?{virtualmcpid:c}:{},b=(T,M)=>{s({to:_,params:v(g),search:I=>({...I,...T}),replace:M?.replace??!1})},y=(T,M)=>{s({to:_,params:v(T),search:I=>{const E={};return M?E.virtualmcpid=M:u&&(E.virtualmcpid=c),I.tasks&&(E.tasks=I.tasks),E}})},V=()=>{m?b({main:"0"},{replace:!0}):b({main:km(t)},{replace:!0})},C=()=>{b({chat:f?0:1},{replace:!0})},S=()=>{f||b({chat:1},{replace:!0})},w=async()=>{const T=crypto.randomUUID(),M=Dd(o,l,g);try{await a.create.mutateAsync({id:T,virtual_mcp_id:c,...M?{branch:M}:{}})}catch{}s({to:_,params:v(T),search:I=>{const E={...x,chat:1};return I.tasks&&(E.tasks=I.tasks),E}})},k=T=>{b({main:T},{replace:!0})};return{taskId:g,mainOpen:m,chatOpen:f,mainParam:i.main,setTaskId:y,toggleMain:V,toggleChat:C,openChat:S,createNewTask:w,openTab:k}}const tl=j.createContext(null);function hy(t){const e=B.c(15),{children:s}=t,i=Oe();let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={strict:!1},e[0]=n):n=e[0];const o=ti(n);let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={owner:"all",status:"open"},e[1]=a):a=e[1];const{tasks:l}=Co(a);let c;e[2]!==o.tasks||e[3]!==l.length?(c=()=>ay(o.tasks,l.length>0),e[2]=o.tasks,e[3]=l.length,e[4]=c):c=e[4];const[d,u]=j.useState(c);let h,f;e[5]!==i||e[6]!==d?(h=()=>{i({search:(v=>({...v,tasks:d?1:0})),replace:!0})},f=[d,i],e[5]=i,e[6]=d,e[7]=h,e[8]=f):(h=e[7],f=e[8]),j.useEffect(h,f);let m;e[9]===Symbol.for("react.memo_cache_sentinel")?(m=()=>u(uy),e[9]=m):m=e[9];const p=m;let g;e[10]!==d?(g={tasksOpen:d,toggleTasks:p},e[10]=d,e[11]=g):g=e[11];let _;return e[12]!==s||e[13]!==g?(_=r.jsx(tl.Provider,{value:g,children:s}),e[12]=s,e[13]=g,e[14]=_):_=e[14],_}function uy(t){return!t}function Su(){const t=j.useContext(tl);if(!t)throw new Error("useTasksPanelState must be used inside <TasksPanelStateProvider>");return t}function fy(){return j.useContext(tl)}const wu=j.createContext(null);function Hs(){const t=j.use(wu);if(!t)throw new Error("Toolbar.* must be used inside <Toolbar>");return t}function Re(t){const e=B.c(10),{children:s}=t,[i,n]=j.useState(null),[o,a]=j.useState(null),[l,c]=j.useState(null),[d,u]=j.useState(null);let h;e[0]!==l||e[1]!==d||e[2]!==o||e[3]!==i?(h={togglesEl:i,setTogglesEl:n,tabsEl:o,setTabsEl:a,centerEl:l,setCenterEl:c,rightEl:d,setRightEl:u},e[0]=l,e[1]=d,e[2]=o,e[3]=i,e[4]=h):h=e[4];let f;e[5]!==s?(f=r.jsx("div",{className:"flex flex-col h-full min-h-0",children:s}),e[5]=s,e[6]=f):f=e[6];let m;return e[7]!==h||e[8]!==f?(m=r.jsx(wu,{value:h,children:f}),e[7]=h,e[8]=f,e[9]=m):m=e[9],m}function my(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=r.jsx("div",{className:"shrink-0 grid grid-cols-3 items-center pl-1 pr-2 pt-0.25 h-12",children:s}),e[0]=s,e[1]=i):i=e[1],i}function py(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=r.jsx("div",{className:"flex items-center gap-0.5 min-w-0 justify-self-start",children:s}),e[0]=s,e[1]=i):i=e[1],i}function gy(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=r.jsx("div",{className:"flex items-center justify-end gap-0.5 min-w-0 justify-self-end",children:s}),e[0]=s,e[1]=i):i=e[1],i}function _y(){const t=B.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("button",{type:"button",onClick:vy,className:"flex size-7 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Go back",children:r.jsx(Eo,{size:16})}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsxs(r.Fragment,{children:[e,r.jsx("button",{type:"button",onClick:xy,className:"flex size-7 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Go forward",children:r.jsx($a,{size:16})})]}),t[1]=s):s=t[1],s}function xy(){return window.history.forward()}function vy(){return window.history.back()}function by(){const t=B.c(2),{setCenterEl:e}=Hs();let s;return t[0]!==e?(s=r.jsx("div",{ref:e,className:"min-w-0 flex items-center justify-center gap-2"}),t[0]=e,t[1]=s):s=t[1],s}function yy(t){const e=B.c(3),{children:s}=t,{centerEl:i}=Hs();if(!i)return null;let n;return e[0]!==i||e[1]!==s?(n=Ei.createPortal(s,i),e[0]=i,e[1]=s,e[2]=n):n=e[2],n}function Sy(){const t=B.c(2),{setTabsEl:e}=Hs();let s;return t[0]!==e?(s=r.jsx("div",{ref:e,className:"shrink-0 flex items-center overflow-x-auto"}),t[0]=e,t[1]=s):s=t[1],s}function wy(t){const e=B.c(3),{children:s}=t,{tabsEl:i}=Hs();if(!i)return null;let n;return e[0]!==s||e[1]!==i?(n=Ei.createPortal(s,i),e[0]=s,e[1]=i,e[2]=n):n=e[2],n}function Vy(){const t=B.c(2),{setTogglesEl:e}=Hs();let s;return t[0]!==e?(s=r.jsx("div",{ref:e,className:"flex items-center gap-0.5 shrink-0 ml-0.5"}),t[0]=e,t[1]=s):s=t[1],s}function Cy(t){const e=B.c(3),{children:s}=t,{togglesEl:i}=Hs();if(!i)return null;let n;return e[0]!==s||e[1]!==i?(n=Ei.createPortal(s,i),e[0]=s,e[1]=i,e[2]=n):n=e[2],n}function ky(){const t=B.c(2),{setRightEl:e}=Hs();let s;return t[0]!==e?(s=r.jsx("div",{ref:e,className:"flex items-center justify-end gap-0.5 shrink-0"}),t[0]=e,t[1]=s):s=t[1],s}function jy(t){const e=B.c(3),{children:s}=t,{rightEl:i}=Hs();if(!i)return null;let n;return e[0]!==s||e[1]!==i?(n=Ei.createPortal(s,i),e[0]=s,e[1]=i,e[2]=n):n=e[2],n}Re.Header=my;Re.LeftColumn=py;Re.RightColumn=gy;Re.Nav=_y;Re.CenterSlot=by;Re.Center=yy;Re.TabsSlot=Sy;Re.Tabs=wy;Re.TogglesSlot=Vy;Re.Toggles=Cy;Re.RightSlot=ky;Re.Right=jy;const Ny=280;function Ay(){const t=B.c(2),{tasksOpen:e}=Su();if(!e)return null;let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={width:`${Ny}px`},t[0]=s):s=t[0];let i;return t[1]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("aside",{className:"shrink-0 h-full bg-sidebar pb-1",style:s,children:r.jsx("div",{className:"h-full p-0.5 pt-0.25",children:r.jsx("div",{className:"h-full bg-background rounded-[0.75rem] overflow-hidden card-shadow",children:r.jsx(iu,{})})})}),t[1]=i):i=t[1],i}function Ey(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(j.Suspense,{fallback:null,children:r.jsx(Ay,{})}),t[0]=e):e=t[0],e}const Iy={settings:rp,automations:Fd,env:Ia,preview:Qd,git:er};function hc(t){const e=vr(t);if(e.type==="icon"){const s=br(e.name);return s?{kind:"component",Component:s}:null}return e.type==="url"?{kind:"url",src:e.url}:null}function io(t){if(t.kind==="system")return{kind:"component",Component:Iy[t.tabId]};const e=hc(t.iconUrl);if(e)return e;if(!t.appId)return{kind:"fallback"};const s=t.connections.find(n=>n.id===t.appId);if(!s)return{kind:"fallback"};const i=hc(s.icon);return i||{kind:"fallback"}}function Ty(t){const{org:e}=xe(),s=Ae({connectionId:yt,orgId:e.id}),{data:i}=bd({queryKey:Ze.threadMetadata(t),queryFn:async()=>{if(!s||!t)return null;try{const n=await s.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:t}});return(n.structuredContent??n).item?.metadata??null}catch{return null}},staleTime:3e4});return i}function Vu(t){const e=B.c(8),s=Oe();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={strict:!1},e[0]=i):i=e[0];const n=ti(i),o=$t(t.virtualMcpId),a=Ty(t.taskId),{currentBranch:l}=Lt(),c=o?.metadata?.ui??null,d=c?.layout??null,u=d?.tabs??[],h=c?.pinnedViews??[],f=a?.expanded_tools??[],m=!!(o&&bs(o));let p;e[1]===Symbol.for("react.memo_cache_sentinel")?(p={includeVirtual:!0},e[1]=p):p=e[1];const g=yr(p),{activeTab:_,mainOpen:v}=jm({mainParam:n.main,metadata:d?{defaultMainView:d.defaultMainView??null,tabs:u.map(Ry)}:null}),x=Ad(_),b=[];m&&(b.push({id:"preview",title:"Preview"}),b.push({id:"env",title:"Terminal"}),b.push({id:"git",title:l??"git"})),b.push({id:"settings",title:"Settings"}),b.push({id:"automations",title:"Automations"});const y=new Map;for(const k of f){const T=jo(k.appId,k.toolName);y.set(T,{id:T,title:k.toolName,appId:k.appId,iconKey:k.toolName})}for(const k of h){const T=jo(k.connectionId,k.toolName);y.set(T,{id:T,title:k.label||k.toolName,appId:k.connectionId,iconKey:k.toolName,iconUrl:k.icon??null})}let V;e[2]!==g?(V=k=>({id:k.id,title:k.title,kind:"agent",icon:io({tabId:k.id,kind:"agent",appId:k.view.appId,connections:g})}),e[2]=g,e[3]=V):V=e[3];const C=[...u.map(V),...Array.from(y.values()).map(k=>({id:k.id,title:k.title,kind:"expanded",icon:io({tabId:k.iconKey,kind:"expanded",appId:k.appId,iconUrl:k.iconUrl,connections:g})})),...b.map(k=>({id:k.id,title:k.title,kind:"system",icon:io({tabId:k.id,kind:"system",connections:g})}))];let S;return e[4]!==_||e[5]!==v||e[6]!==s?(S=k=>{const T=Nm({clickedId:k,activeTab:_,mainOpen:v});s({to:".",search:M=>({...M,main:T}),replace:!0})},e[4]=_,e[5]=v,e[6]=s,e[7]=S):S=e[7],{activeTab:_,mainOpen:v,setActiveTab:S,systemTabs:b,layoutTabs:u,expandedTools:f,automationTabParsed:x,tabs:C}}function Ry(t){return{id:t.id}}function My(t){const e=B.c(84),{value:s,onChange:i,onColorChange:n,name:o,size:a,className:l,avatarClassName:c,showHoverOverlay:d,disabled:u}=t,h=a===void 0?"lg":a,f=d===void 0?!0:d,m=u===void 0?!1:u,[p,g]=j.useState(!1),[_,v]=j.useState("icons"),[x,b]=j.useState(""),[y,V]=j.useState("blue");let C;e[0]!==s?(C=vr(s),e[0]=s,e[1]=C):C=e[1];const S=C,w=S.type==="icon"||S.type==="url"&&S.color?S.color:y;let k;e[2]!==i||e[3]!==w?(k=pe=>{i(Yn(pe,w))},e[2]=i,e[3]=w,e[4]=k):k=e[4];const T=k;let M;e[5]!==i||e[6]!==n||e[7]!==S.name||e[8]!==S.type||e[9]!==S.url?(M=pe=>{V(pe),n?.(pe),S.type==="icon"?i(Yn(S.name,pe)):S.type==="url"&&i(Sl(S.url,pe))},e[5]=i,e[6]=n,e[7]=S.name,e[8]=S.type,e[9]=S.url,e[10]=M):M=e[10];const I=M;let E;e[11]!==i||e[12]!==w?(E=pe=>{i(Sl(pe,w)),g(!1)},e[11]=i,e[12]=w,e[13]=E):E=e[13];const N=E;let A;e[14]!==i||e[15]!==w?(A=()=>{const pe=Ma(),Ce=pe[Math.floor(Math.random()*pe.length)];i(Yn(Ce,w))},e[14]=i,e[15]=w,e[16]=A):A=e[16];const D=A;let L,R,P,O,z,$,q,F;if(e[17]!==l||e[18]!==m||e[19]!==p||e[20]!==h){const pe={xs:"rounded-md",sm:"rounded-lg","sm+":"rounded-xl",md:"rounded-xl",lg:"rounded-2xl",xl:"rounded-2xl"};R=Us,$=m?!1:p,q=g,L=zs,z=!0,F="button",P=m,O=Y("relative group overflow-hidden",m?"cursor-default opacity-50":"cursor-pointer",pe[h],l),e[17]=l,e[18]=m,e[19]=p,e[20]=h,e[21]=L,e[22]=R,e[23]=P,e[24]=O,e[25]=z,e[26]=$,e[27]=q,e[28]=F}else L=e[21],R=e[22],P=e[23],O=e[24],z=e[25],$=e[26],q=e[27],F=e[28];let W;e[29]!==c||e[30]!==o||e[31]!==h||e[32]!==s?(W=r.jsx(Qt,{icon:s,name:o,size:h,className:c}),e[29]=c,e[30]=o,e[31]=h,e[32]=s,e[33]=W):W=e[33];let H;e[34]!==m||e[35]!==f?(H=f&&!m&&r.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity",children:r.jsx(Ra,{size:16,className:"text-white"})}),e[34]=m,e[35]=f,e[36]=H):H=e[36];let U;e[37]!==P||e[38]!==O||e[39]!==W||e[40]!==H||e[41]!==F?(U=r.jsxs("button",{type:F,disabled:P,className:O,children:[W,H]}),e[37]=P,e[38]=O,e[39]=W,e[40]=H,e[41]=F,e[42]=U):U=e[42];let X;e[43]!==L||e[44]!==z||e[45]!==U?(X=r.jsx(L,{asChild:z,children:U}),e[43]=L,e[44]=z,e[45]=U,e[46]=X):X=e[46];let K;e[47]!==o||e[48]!==s?(K=r.jsx("div",{className:"flex items-center justify-center py-4",children:r.jsx(Qt,{icon:s,name:o,size:"xl"})}),e[47]=o,e[48]=s,e[49]=K):K=e[49];let G;e[50]===Symbol.for("react.memo_cache_sentinel")?(G=()=>v("icons"),e[50]=G):G=e[50];const ie=_==="icons"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground";let te;e[51]!==ie?(te=Y("px-3 py-2 text-sm font-medium border-b-2 -mb-px transition-colors",ie),e[51]=ie,e[52]=te):te=e[52];let J;e[53]!==te?(J=r.jsx("button",{type:"button",onClick:G,className:te,children:"Icons"}),e[53]=te,e[54]=J):J=e[54];let ae;e[55]===Symbol.for("react.memo_cache_sentinel")?(ae=()=>v("upload"),e[55]=ae):ae=e[55];const Z=_==="upload"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground";let de;e[56]!==Z?(de=Y("px-3 py-2 text-sm font-medium border-b-2 -mb-px transition-colors",Z),e[56]=Z,e[57]=de):de=e[57];let fe;e[58]!==de?(fe=r.jsx("button",{type:"button",onClick:ae,className:de,children:"Upload"}),e[58]=de,e[59]=fe):fe=e[59];let ye;e[60]===Symbol.for("react.memo_cache_sentinel")?(ye=r.jsx("div",{className:"flex-1"}),e[60]=ye):ye=e[60];let ge;e[61]!==J||e[62]!==fe?(ge=r.jsxs("div",{className:"flex items-center border-b border-border px-3",children:[J,fe,ye]}),e[61]=J,e[62]=fe,e[63]=ge):ge=e[63];let ce;e[64]!==I||e[65]!==D||e[66]!==T||e[67]!==N||e[68]!==S.name||e[69]!==S.type||e[70]!==x||e[71]!==w||e[72]!==_?(ce=_==="icons"?r.jsx(Oy,{search:x,onSearchChange:b,selectedColor:w,onColorChange:I,onSelectIcon:T,onRandom:D,currentIconName:S.type==="icon"?S.name:null}):r.jsx(By,{onUpload:N}),e[64]=I,e[65]=D,e[66]=T,e[67]=N,e[68]=S.name,e[69]=S.type,e[70]=x,e[71]=w,e[72]=_,e[73]=ce):ce=e[73];let ue;e[74]!==K||e[75]!==ge||e[76]!==ce?(ue=r.jsx(Fs,{align:"start",className:"w-80 p-0",onOpenAutoFocus:Dy,children:r.jsxs("div",{className:"flex flex-col",children:[K,ge,ce]})}),e[74]=K,e[75]=ge,e[76]=ce,e[77]=ue):ue=e[77];let be;return e[78]!==R||e[79]!==$||e[80]!==q||e[81]!==X||e[82]!==ue?(be=r.jsxs(R,{open:$,onOpenChange:q,children:[X,ue]}),e[78]=R,e[79]=$,e[80]=q,e[81]=X,e[82]=ue,e[83]=be):be=e[83],be}function Dy(t){return t.preventDefault()}function Py(t){const e=B.c(27),{selectedColor:s,onColorChange:i}=t,[n,o]=j.useState(!1);let a,l,c,d,u,h,f;if(e[0]!==n||e[1]!==s){const x=Ud(s);l=Us,h=n,f=o,a=zs,u=!0,c="button",d=Y("h-6 w-6 rounded-full shrink-0 ring-2 ring-offset-2 ring-offset-background transition-all cursor-pointer hover:scale-110",x.dot,"ring-foreground/20"),e[0]=n,e[1]=s,e[2]=a,e[3]=l,e[4]=c,e[5]=d,e[6]=u,e[7]=h,e[8]=f}else a=e[2],l=e[3],c=e[4],d=e[5],u=e[6],h=e[7],f=e[8];let m;e[9]!==c||e[10]!==d?(m=r.jsx("button",{type:c,className:d,title:"Change color"}),e[9]=c,e[10]=d,e[11]=m):m=e[11];let p;e[12]!==a||e[13]!==u||e[14]!==m?(p=r.jsx(a,{asChild:u,children:m}),e[12]=a,e[13]=u,e[14]=m,e[15]=p):p=e[15];let g;e[16]!==i||e[17]!==s?(g=op.map(x=>r.jsx("button",{type:"button",onClick:()=>{i(x.name),o(!1)},className:Y("h-5 w-5 rounded-full transition-all shrink-0 cursor-pointer",x.dot,s===x.name?"ring-2 ring-offset-1 ring-offset-background ring-foreground/30 scale-110":"hover:scale-110"),title:x.name},x.name)),e[16]=i,e[17]=s,e[18]=g):g=e[18];let _;e[19]!==g?(_=r.jsx(Fs,{align:"start",side:"right",sideOffset:8,className:"w-auto p-2",onOpenAutoFocus:Ly,children:r.jsx("div",{className:"grid grid-cols-4 gap-1",children:g})}),e[19]=g,e[20]=_):_=e[20];let v;return e[21]!==l||e[22]!==h||e[23]!==f||e[24]!==p||e[25]!==_?(v=r.jsxs(l,{open:h,onOpenChange:f,children:[p,_]}),e[21]=l,e[22]=h,e[23]=f,e[24]=p,e[25]=_,e[26]=v):v=e[26],v}function Ly(t){return t.preventDefault()}function Oy(t){const e=B.c(44),{search:s,onSearchChange:i,selectedColor:n,onColorChange:o,onSelectIcon:a,onRandom:l,currentIconName:c}=t;let d,u,h,f,m,p,g;if(e[0]!==c||e[1]!==o||e[2]!==l||e[3]!==i||e[4]!==a||e[5]!==s||e[6]!==n){const y=Ma(),V=Ud(n);u=s.trim()?y.filter(I=>{const E=Ao(I),N=s.toLowerCase();return E.includes(N)||I.toLowerCase().includes(N)}):y,p="flex flex-col";let C;e[14]===Symbol.for("react.memo_cache_sentinel")?(C=r.jsx(jh,{size:14,className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"}),e[14]=C):C=e[14];let S;e[15]!==i?(S=I=>i(I.target.value),e[15]=i,e[16]=S):S=e[16];let w;e[17]!==s||e[18]!==S?(w=r.jsxs("div",{className:"relative flex-1",children:[C,r.jsx(at,{value:s,onChange:S,placeholder:"Filter...",className:"h-8 text-xs pl-7"})]}),e[17]=s,e[18]=S,e[19]=w):w=e[19];let k;e[20]===Symbol.for("react.memo_cache_sentinel")?(k=r.jsx(np,{size:14,className:"text-muted-foreground"}),e[20]=k):k=e[20];let T;e[21]!==l?(T=r.jsx("button",{type:"button",onClick:l,className:"h-8 w-8 flex items-center justify-center rounded-md border border-border hover:bg-accent transition-colors shrink-0",title:"Random icon",children:k}),e[21]=l,e[22]=T):T=e[22];let M;e[23]!==o||e[24]!==n?(M=r.jsx(Py,{selectedColor:n,onColorChange:o}),e[23]=o,e[24]=n,e[25]=M):M=e[25],e[26]!==T||e[27]!==M||e[28]!==w?(g=r.jsxs("div",{className:"flex items-center gap-2 px-3 py-2",children:[w,T,M]}),e[26]=T,e[27]=M,e[28]=w,e[29]=g):g=e[29],d=Ed,m="h-56",h="grid grid-cols-9 gap-0.5 px-2 pb-2",f=u.map(I=>{const E=br(I);return E?r.jsx("button",{type:"button",onClick:()=>a(I),className:Y("h-8 w-8 flex items-center justify-center rounded-md transition-colors cursor-pointer",c===I?Y(V.bg,V.text):Y(V.text,"hover:bg-accent")),title:I,children:r.jsx(E,{size:18})},I):null}),e[0]=c,e[1]=o,e[2]=l,e[3]=i,e[4]=a,e[5]=s,e[6]=n,e[7]=d,e[8]=u,e[9]=h,e[10]=f,e[11]=m,e[12]=p,e[13]=g}else d=e[7],u=e[8],h=e[9],f=e[10],m=e[11],p=e[12],g=e[13];let _;e[30]!==h||e[31]!==f?(_=r.jsx("div",{className:h,children:f}),e[30]=h,e[31]=f,e[32]=_):_=e[32];let v;e[33]!==u.length?(v=u.length===0&&r.jsx("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"No icons found"}),e[33]=u.length,e[34]=v):v=e[34];let x;e[35]!==d||e[36]!==m||e[37]!==_||e[38]!==v?(x=r.jsxs(d,{className:m,children:[_,v]}),e[35]=d,e[36]=m,e[37]=_,e[38]=v,e[39]=x):x=e[39];let b;return e[40]!==p||e[41]!==g||e[42]!==x?(b=r.jsxs("div",{className:p,children:[g,x]}),e[40]=p,e[41]=g,e[42]=x,e[43]=b):b=e[43],b}function By(t){const e=B.c(27),{onUpload:s}=t,i=j.useRef(null);let n;e[0]!==s?(n=C=>{const S=C.target.files?.[0];if(!S)return;if(S.size>2097152){he.error("Image must be smaller than 2MB"),C.target.value="";return}const w=new FileReader;w.onerror=()=>{he.error("Failed to read image file"),i.current&&(i.current.value="")},w.onloadend=()=>{w.readyState===FileReader.DONE&&w.result&&s(w.result),i.current&&(i.current.value="")},w.readAsDataURL(S)},e[0]=s,e[1]=n):n=e[1];const o=n,[a,l]=j.useState("");let c;e[2]!==s||e[3]!==a?(c=()=>{const C=a.trim();C&&(s(C),l(""))},e[2]=s,e[3]=a,e[4]=c):c=e[4];const d=c;let u;e[5]!==o?(u=r.jsx("input",{type:"file",ref:i,className:"hidden",accept:"image/*",onChange:o}),e[5]=o,e[6]=u):u=e[6];let h;e[7]===Symbol.for("react.memo_cache_sentinel")?(h=()=>i.current?.click(),e[7]=h):h=e[7];let f;e[8]===Symbol.for("react.memo_cache_sentinel")?(f=r.jsxs("button",{type:"button",onClick:h,className:"h-24 rounded-lg border-2 border-dashed border-border hover:border-foreground/50 hover:bg-accent/50 transition-colors flex flex-col items-center justify-center gap-2 text-muted-foreground hover:text-foreground",children:[r.jsx(Jd,{size:20}),r.jsx("span",{className:"text-xs",children:"Click to upload an image (max 2MB)"})]}),e[8]=f):f=e[8];let m;e[9]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:"or"}),r.jsx("div",{className:"flex-1 h-px bg-border"})]}),e[9]=m):m=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=C=>l(C.target.value),e[10]=p):p=e[10];let g;e[11]!==d?(g=C=>{C.key==="Enter"&&(C.preventDefault(),d())},e[11]=d,e[12]=g):g=e[12];let _;e[13]!==a||e[14]!==g?(_=r.jsx(at,{value:a,onChange:p,placeholder:"Paste image URL...",className:"h-8 text-xs flex-1",onKeyDown:g}),e[13]=a,e[14]=g,e[15]=_):_=e[15];let v;e[16]!==a?(v=a.trim(),e[16]=a,e[17]=v):v=e[17];const x=!v;let b;e[18]!==d||e[19]!==x?(b=r.jsx(oe,{variant:"outline",size:"sm",className:"h-8 px-3 text-xs shrink-0",onClick:d,disabled:x,children:"Apply"}),e[18]=d,e[19]=x,e[20]=b):b=e[20];let y;e[21]!==b||e[22]!==_?(y=r.jsxs("div",{className:"flex items-center gap-1.5",children:[_,b]}),e[21]=b,e[22]=_,e[23]=y):y=e[23];let V;return e[24]!==y||e[25]!==u?(V=r.jsxs("div",{className:"flex flex-col gap-3 p-4",children:[u,f,m,y]}),e[24]=y,e[25]=u,e[26]=V):V=e[26],V}function $y(t){const e=B.c(5),{value:s}=t;let i;if(e[0]!==s){i=Symbol.for("react.early_return_sentinel");e:{const o=vr(s);if(o.type==="icon"){const a=br(o.name);if(a){let l;e[2]!==a?(l=r.jsx(a,{size:16,className:"text-muted-foreground"}),e[2]=a,e[3]=l):l=e[3],i=l;break e}}}e[0]=s,e[1]=i}else i=e[1];if(i!==Symbol.for("react.early_return_sentinel"))return i;let n;return e[4]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx(xh,{size:16,className:"text-muted-foreground"}),e[4]=n):n=e[4],n}function zy(t){const e=B.c(66),{value:s,onChange:i,className:n,disabled:o}=t,[a,l]=j.useState(!1),[c,d]=j.useState("");let u;e[0]!==s?(u=vr(s),e[0]=s,e[1]=u):u=e[1];const h=u,f=h.type==="icon"?h.name:null;let m,p,g,_,v,x,b,y,V,C,S,w,k,T,M;if(e[2]!==n||e[3]!==f||e[4]!==o||e[5]!==i||e[6]!==a||e[7]!==c||e[8]!==s){const R=Ma();_=c.trim()?R.filter(W=>{const H=c.toLowerCase();return Ao(W).includes(H)||W.toLowerCase().includes(H)}):R,g=Us,v=o?!1:a,x=l;const P=o?"cursor-default opacity-50":"cursor-pointer hover:bg-accent";let O;e[24]!==n||e[25]!==P?(O=Y("size-7 shrink-0 rounded-md transition-colors flex items-center justify-center",P,n),e[24]=n,e[25]=P,e[26]=O):O=e[26];let z;e[27]!==s?(z=r.jsx($y,{value:s}),e[27]=s,e[28]=z):z=e[28],e[29]!==o||e[30]!==O||e[31]!==z?(b=r.jsx(zs,{asChild:!0,children:r.jsx("button",{type:"button",disabled:o,className:O,children:z})}),e[29]=o,e[30]=O,e[31]=z,e[32]=b):b=e[32],p=Fs,k="start",T="w-64 p-0",M=Fy,S="flex flex-col";let $;e[33]===Symbol.for("react.memo_cache_sentinel")?($=r.jsx(jh,{size:14,className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"}),e[33]=$):$=e[33];let q;e[34]===Symbol.for("react.memo_cache_sentinel")?(q=W=>d(W.target.value),e[34]=q):q=e[34],e[35]!==c?(w=r.jsx("div",{className:"px-2 py-2",children:r.jsxs("div",{className:"relative",children:[$,r.jsx(at,{value:c,onChange:q,placeholder:"Filter...",className:"h-7 text-xs pl-7"})]})}),e[35]=c,e[36]=w):w=e[36],m=Ed,C="h-48",y="grid grid-cols-8 gap-0.5 px-2 pb-2";let F;e[37]!==f||e[38]!==i?(F=W=>{const H=br(W);return H?r.jsx("button",{type:"button",onClick:()=>{i(`icon://${W}`),l(!1)},className:Y("h-7 w-7 flex items-center justify-center rounded-md transition-colors cursor-pointer",f===W?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent hover:text-foreground"),title:Ao(W),children:r.jsx(H,{size:16})},W):null},e[37]=f,e[38]=i,e[39]=F):F=e[39],V=_.map(F),e[2]=n,e[3]=f,e[4]=o,e[5]=i,e[6]=a,e[7]=c,e[8]=s,e[9]=m,e[10]=p,e[11]=g,e[12]=_,e[13]=v,e[14]=x,e[15]=b,e[16]=y,e[17]=V,e[18]=C,e[19]=S,e[20]=w,e[21]=k,e[22]=T,e[23]=M}else m=e[9],p=e[10],g=e[11],_=e[12],v=e[13],x=e[14],b=e[15],y=e[16],V=e[17],C=e[18],S=e[19],w=e[20],k=e[21],T=e[22],M=e[23];let I;e[40]!==y||e[41]!==V?(I=r.jsx("div",{className:y,children:V}),e[40]=y,e[41]=V,e[42]=I):I=e[42];let E;e[43]!==_.length?(E=_.length===0&&r.jsx("div",{className:"flex items-center justify-center py-6 text-xs text-muted-foreground",children:"No icons found"}),e[43]=_.length,e[44]=E):E=e[44];let N;e[45]!==m||e[46]!==I||e[47]!==E||e[48]!==C?(N=r.jsxs(m,{className:C,children:[I,E]}),e[45]=m,e[46]=I,e[47]=E,e[48]=C,e[49]=N):N=e[49];let A;e[50]!==N||e[51]!==S||e[52]!==w?(A=r.jsxs("div",{className:S,children:[w,N]}),e[50]=N,e[51]=S,e[52]=w,e[53]=A):A=e[53];let D;e[54]!==p||e[55]!==A||e[56]!==k||e[57]!==T||e[58]!==M?(D=r.jsx(p,{align:k,className:T,onOpenAutoFocus:M,children:A}),e[54]=p,e[55]=A,e[56]=k,e[57]=T,e[58]=M,e[59]=D):D=e[59];let L;return e[60]!==g||e[61]!==v||e[62]!==x||e[63]!==b||e[64]!==D?(L=r.jsxs(g,{open:v,onOpenChange:x,children:[b,D]}),e[60]=g,e[61]=v,e[62]=x,e[63]=b,e[64]=D,e[65]=L):L=e[65],L}function Fy(t){return t.preventDefault()}function rn(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"flex items-center justify-center h-32",children:r.jsx(Ne,{className:"animate-spin text-muted-foreground",size:24})}),t[0]=e):e=t[0],e}function ro(t){return({error:e})=>e?.message?.includes("Method not found")||e?.code===-32601?r.jsx("div",{className:"flex-1 overflow-auto px-4 py-3 space-y-1",children:r.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:t})}):r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center h-full p-6 text-center space-y-4",children:[r.jsx("div",{className:"bg-destructive/10 p-3 rounded-full",children:r.jsx(wa,{className:"h-6 w-6 text-destructive"})}),r.jsxs("div",{className:"space-y-2",children:[r.jsx("h3",{className:"text-lg font-medium",children:"Something went wrong"}),r.jsx("p",{className:"text-sm text-muted-foreground max-w-xs mx-auto",children:e?.message?e.message.length>200?`${e.message.slice(0,200)}...`:e.message:"An unexpected error occurred"})]})]})}function Uy(t){const e=B.c(23),{item:s,isSelected:i,onToggle:n,disabled:o}=t,a=o?"cursor-not-allowed opacity-50":"cursor-pointer",l=i?"bg-accent/25":"hover:bg-muted/50";let c;e[0]!==a||e[1]!==l?(c=Y("flex items-start gap-3 p-4 rounded-lg transition-colors",a,l),e[0]=a,e[1]=l,e[2]=c):c=e[2];let d;e[3]!==s.name?(d=r.jsx("p",{className:"text-sm font-medium leading-none truncate",children:s.name}),e[3]=s.name,e[4]=d):d=e[4];let u;e[5]!==s.tags?(u=s.tags&&r.jsx("span",{className:"shrink-0",children:s.tags}),e[5]=s.tags,e[6]=u):u=e[6];let h;e[7]!==d||e[8]!==u?(h=r.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[d,u]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]!==s.description?(f=s.description&&r.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:s.description}),e[10]=s.description,e[11]=f):f=e[11];let m;e[12]!==h||e[13]!==f?(m=r.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[h,f]}),e[12]=h,e[13]=f,e[14]=m):m=e[14];let p;e[15]!==o||e[16]!==i||e[17]!==n?(p=r.jsx(jg,{checked:i,onCheckedChange:n,disabled:o,className:"mt-0.5"}),e[15]=o,e[16]=i,e[17]=n,e[18]=p):p=e[18];let g;return e[19]!==c||e[20]!==m||e[21]!==p?(g=r.jsxs("label",{className:c,children:[m,p]}),e[19]=c,e[20]=m,e[21]=p,e[22]=g):g=e[22],g}function sl(t){const e=B.c(13),{items:s,selections:i,onToggle:n,emptyMessage:o,disabled:a}=t;let l,c,d;if(e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==n||e[4]!==i){d=Symbol.for("react.early_return_sentinel");e:{const h=s.map(Hy);if(s.length===0){let f;e[8]!==o?(f=r.jsx("div",{className:"flex-1 overflow-auto px-4 py-3 space-y-1",children:r.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:o})}),e[8]=o,e[9]=f):f=e[9],d=f;break e}l="flex-1 overflow-auto px-4 py-3 space-y-1",c=s.map(f=>r.jsx(Uy,{item:f,isSelected:i===null||i?.includes(f.id),onToggle:()=>n(f.id,h),disabled:a},f.id))}e[0]=a,e[1]=o,e[2]=s,e[3]=n,e[4]=i,e[5]=l,e[6]=c,e[7]=d}else l=e[5],c=e[6],d=e[7];if(d!==Symbol.for("react.early_return_sentinel"))return d;let u;return e[10]!==l||e[11]!==c?(u=r.jsx("div",{className:l,children:c}),e[10]=l,e[11]=c,e[12]=u):u=e[12],u}function Hy(t){return t.id}function Wy(t){const e=B.c(12),{connectionId:s,selections:i,onToggle:n,disabled:o}=t,{org:a}=xe();let l;e[0]!==s||e[1]!==a.id?(l={connectionId:s,orgId:a.id},e[0]=s,e[1]=a.id,e[2]=l):l=e[2];const c=Ae(l);let d;e[3]!==c?(d={client:c},e[3]=c,e[4]=d):d=e[4];const{data:u}=Qp(d);let h;e[5]!==u.tools?(h=u.tools.map(Ky),e[5]=u.tools,e[6]=h):h=e[6];const f=h;let m;return e[7]!==o||e[8]!==f||e[9]!==n||e[10]!==i?(m=r.jsx(sl,{items:f,selections:i,onToggle:n,emptyMessage:"No tools available",disabled:o}),e[7]=o,e[8]=f,e[9]=n,e[10]=i,e[11]=m):m=e[11],m}function Ky(t){return{id:t.name,name:t.name,description:t.description,tags:r.jsx(Vg,{annotations:t.annotations,_meta:t._meta})}}function qy(t){const e=B.c(12),{connectionId:s,selections:i,onToggle:n,disabled:o}=t,{org:a}=xe();let l;e[0]!==s||e[1]!==a.id?(l={connectionId:s,orgId:a.id},e[0]=s,e[1]=a.id,e[2]=l):l=e[2];const c=Ae(l);let d;e[3]!==c?(d={client:c},e[3]=c,e[4]=d):d=e[4];const{data:u}=Ip(d);let h;e[5]!==u.resources?(h=u.resources.map(Gy),e[5]=u.resources,e[6]=h):h=e[6];const f=h;let m;return e[7]!==o||e[8]!==f||e[9]!==n||e[10]!==i?(m=r.jsx(sl,{items:f,selections:i,onToggle:n,emptyMessage:"No resources available",disabled:o}),e[7]=o,e[8]=f,e[9]=n,e[10]=i,e[11]=m):m=e[11],m}function Gy(t){return{id:t.name||t.uri,name:t.name||t.uri,description:t.description}}function Yy(t){const e=B.c(12),{connectionId:s,selections:i,onToggle:n,disabled:o}=t,{org:a}=xe();let l;e[0]!==s||e[1]!==a.id?(l={connectionId:s,orgId:a.id},e[0]=s,e[1]=a.id,e[2]=l):l=e[2];const c=Ae(l);let d;e[3]!==c?(d={client:c},e[3]=c,e[4]=d):d=e[4];const{data:u}=Td(d);let h;e[5]!==u.prompts?(h=u.prompts.map(Xy),e[5]=u.prompts,e[6]=h):h=e[6];const f=h;let m;return e[7]!==o||e[8]!==f||e[9]!==n||e[10]!==i?(m=r.jsx(sl,{items:f,selections:i,onToggle:n,emptyMessage:"No prompts available",disabled:o}),e[7]=o,e[8]=f,e[9]=n,e[10]=i,e[11]=m):m=e[11],m}function Xy(t){return{id:t.name,name:t.name,description:t.description}}function Jy(t){const e=B.c(54),{currentConnection:s,activeTab:i,selectedId:n,formData:o,toggleTool:a,toggleResource:l,togglePrompt:c,toggleAllTools:d,toggleAllResources:u,toggleAllPrompts:h,onTabChange:f}=t,m=o[n],p=i==="tools"?m?.tools===null:i==="resources"?m?.resources===null:m?.prompts===null;let g;e[0]!==i||e[1]!==n||e[2]!==h||e[3]!==u||e[4]!==d?(g=()=>{i==="tools"?d(n):i==="resources"?u(n):h(n)},e[0]=i,e[1]=n,e[2]=h,e[3]=u,e[4]=d,e[5]=g):g=e[5];const _=g;let v;e[6]!==s.icon||e[7]!==s.title?(v=r.jsx(ps,{icon:s.icon,name:s.title,size:"sm",className:"shrink-0"}),e[6]=s.icon,e[7]=s.title,e[8]=v):v=e[8];let x;e[9]!==s.title?(x=r.jsx("h2",{className:"text-base font-semibold truncate",children:s.title}),e[9]=s.title,e[10]=x):x=e[10];let b;e[11]!==s.description?(b=s.description&&r.jsx("p",{className:"text-xs text-muted-foreground truncate",children:s.description}),e[11]=s.description,e[12]=b):b=e[12];let y;e[13]!==x||e[14]!==b?(y=r.jsxs("div",{className:"flex-1 min-w-0",children:[x,b]}),e[13]=x,e[14]=b,e[15]=y):y=e[15];let V;e[16]!==v||e[17]!==y?(V=r.jsx("div",{className:"px-6 pt-5 pb-4 shrink-0",children:r.jsxs("div",{className:"flex items-center gap-3",children:[v,y]})}),e[16]=v,e[17]=y,e[18]=V):V=e[18];let C;e[19]===Symbol.for("react.memo_cache_sentinel")?(C=[{id:"tools",label:"Tools"},{id:"resources",label:"Resources"},{id:"prompts",label:"Prompts"}],e[19]=C):C=e[19];let S;e[20]!==f?(S=L=>f(L),e[20]=f,e[21]=S):S=e[21];let w;e[22]!==i||e[23]!==S?(w=r.jsx(ch,{tabs:C,activeTab:i,onTabChange:S}),e[22]=i,e[23]=S,e[24]=w):w=e[24];const k=p?"Deselect all":"Select all";let T;e[25]!==_||e[26]!==k?(T=r.jsx("button",{type:"button",onClick:_,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:k}),e[25]=_,e[26]=k,e[27]=T):T=e[27];let M;e[28]!==T||e[29]!==w?(M=r.jsxs("div",{className:"flex items-center justify-between px-6 py-3 border-t border-border shrink-0",children:[w,T]}),e[28]=T,e[29]=w,e[30]=M):M=e[30];let I;e[31]!==i||e[32]!==o||e[33]!==n||e[34]!==a?(I=i==="tools"&&r.jsx(ls,{fallback:ro("Tools not supported by this server"),children:r.jsx(j.Suspense,{fallback:r.jsx(rn,{}),children:r.jsx(Wy,{connectionId:n,selections:o[n]?o[n].tools:[],onToggle:(L,R)=>a(n,L,R)})})}),e[31]=i,e[32]=o,e[33]=n,e[34]=a,e[35]=I):I=e[35];let E;e[36]!==i||e[37]!==o||e[38]!==n||e[39]!==l?(E=i==="resources"&&r.jsx(ls,{fallback:ro("Resources not supported by this server"),children:r.jsx(j.Suspense,{fallback:r.jsx(rn,{}),children:r.jsx(qy,{connectionId:n,selections:o[n]?o[n].resources:[],onToggle:(L,R)=>l(n,L,R)})})}),e[36]=i,e[37]=o,e[38]=n,e[39]=l,e[40]=E):E=e[40];let N;e[41]!==i||e[42]!==o||e[43]!==n||e[44]!==c?(N=i==="prompts"&&r.jsx(ls,{fallback:ro("Prompts not supported by this server"),children:r.jsx(j.Suspense,{fallback:r.jsx(rn,{}),children:r.jsx(Yy,{connectionId:n,selections:o[n]?o[n].prompts:[],onToggle:(L,R)=>c(n,L,R)})})}),e[41]=i,e[42]=o,e[43]=n,e[44]=c,e[45]=N):N=e[45];let A;e[46]!==I||e[47]!==E||e[48]!==N?(A=r.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[I,E,N]}),e[46]=I,e[47]=E,e[48]=N,e[49]=A):A=e[49];let D;return e[50]!==M||e[51]!==A||e[52]!==V?(D=r.jsxs(r.Fragment,{children:[V,M,A]}),e[50]=M,e[51]=A,e[52]=V,e[53]=D):D=e[53],D}function Qy(t){const e=B.c(11),{connectionId:s,onAuthenticate:i,children:n}=t;let o;e[0]!==s?(o={connectionId:s},e[0]=s,e[1]=o):o=e[1];const a=kh(o);if(a.supportsOAuth&&!a.isAuthenticated){let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("div",{className:"flex items-center justify-center size-12 rounded-full bg-muted",children:r.jsx(ap,{size:22,className:"text-muted-foreground"})}),e[2]=d):d=e[2];let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-sm font-medium",children:"Authorization required"}),r.jsx("p",{className:"text-xs text-muted-foreground max-w-xs",children:"This connection needs to be authorized before you can configure its tools and resources."})]}),e[3]=u):u=e[3];let h;e[4]!==s||e[5]!==i?(h=i&&r.jsx(oe,{variant:"outline",size:"sm",onClick:()=>i(s),children:"Authorize"}),e[4]=s,e[5]=i,e[6]=h):h=e[6];let f;return e[7]!==h?(f=r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-8 text-center",children:[d,u,h]}),e[7]=h,e[8]=f):f=e[8],f}let c;return e[9]!==n?(c=r.jsx(r.Fragment,{children:n}),e[9]=n,e[10]=c):c=e[10],c}function Zy(t){const e={};for(const s of t)e[s.connection_id]={tools:s.selected_tools,resources:s.selected_resources??null,prompts:s.selected_prompts??null};return e}function uc(t){return Object.entries(t).map(([e,s])=>({connection_id:e,selected_tools:s.tools,selected_resources:s.resources,selected_prompts:s.prompts}))}function e2(t,e){return e.type==="SET_ACTIVE_TAB"?{...t,activeTab:e.payload}:t}function t2(t){const e=B.c(49),{open:s,onOpenChange:i,selectedId:n,form:o,connections:a,onAuthenticate:l}=t;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={activeTab:"tools"},e[0]=c):c=e[0];const[d,u]=j.useReducer(e2,c),h=Ba(n??"");let f;e[1]!==a?(f=a??[],e[1]=a,e[2]=f):f=e[2];let m;e[3]!==f?(m=Zy(f),e[3]=f,e[4]=m):m=e[4];const p=m;let g;e[5]!==o||e[6]!==p?(g=($,q,F,W)=>{const H=p[$]?.[q];let U;H===null?U=W.filter(K=>K!==F):H?.includes(F)?U=H.filter(K=>K!==F):(U=[...H??[],F],U.length===W.length&&(U=null));const X={...p};X[$]?X[$]={...X[$]}:X[$]={tools:null,resources:null,prompts:null},X[$][q]=U,o.setValue("connections",uc(X),{shouldDirty:!0,shouldTouch:!0})},e[5]=o,e[6]=p,e[7]=g):g=e[7];const _=g;let v;e[8]!==o||e[9]!==p?(v=($,q)=>{const W=p[$]?.[q]===null?[]:null,H={...p};H[$]?H[$]={...H[$]}:H[$]={tools:null,resources:null,prompts:null},H[$][q]=W,o.setValue("connections",uc(H),{shouldDirty:!0,shouldTouch:!0})},e[8]=o,e[9]=p,e[10]=v):v=e[10];const x=v;let b;e[11]!==_?(b=($,q,F)=>_($,"tools",q,F),e[11]=_,e[12]=b):b=e[12];const y=b;let V;e[13]!==_?(V=($,q,F)=>_($,"resources",q,F),e[13]=_,e[14]=V):V=e[14];const C=V;let S;e[15]!==_?(S=($,q,F)=>_($,"prompts",q,F),e[15]=_,e[16]=S):S=e[16];const w=S;let k;e[17]!==x?(k=$=>x($,"tools"),e[17]=x,e[18]=k):k=e[18];const T=k;let M;e[19]!==x?(M=$=>x($,"resources"),e[19]=x,e[20]=M):M=e[20];const I=M;let E;e[21]!==x?(E=$=>x($,"prompts"),e[21]=x,e[22]=E):E=e[22];const N=E;if(!n||!h)return null;let A;e[23]===Symbol.for("react.memo_cache_sentinel")?(A=r.jsx(rn,{}),e[23]=A):A=e[23];let D;e[24]===Symbol.for("react.memo_cache_sentinel")?(D=$=>u({type:"SET_ACTIVE_TAB",payload:$}),e[24]=D):D=e[24];let L;e[25]!==h||e[26]!==d.activeTab||e[27]!==p||e[28]!==n||e[29]!==N||e[30]!==I||e[31]!==T||e[32]!==w||e[33]!==C||e[34]!==y?(L=r.jsx(Jy,{currentConnection:h,activeTab:d.activeTab,selectedId:n,formData:p,toggleTool:y,toggleResource:C,togglePrompt:w,toggleAllTools:T,toggleAllResources:I,toggleAllPrompts:N,onTabChange:D},n),e[25]=h,e[26]=d.activeTab,e[27]=p,e[28]=n,e[29]=N,e[30]=I,e[31]=T,e[32]=w,e[33]=C,e[34]=y,e[35]=L):L=e[35];let R;e[36]!==l||e[37]!==n||e[38]!==L?(R=r.jsx(j.Suspense,{fallback:A,children:r.jsx(Qy,{connectionId:n,onAuthenticate:l,children:L})}),e[36]=l,e[37]=n,e[38]=L,e[39]=R):R=e[39];let P;e[40]!==i?(P=r.jsx(Na,{className:"px-6 py-4 border-t border-border shrink-0",children:r.jsx(oe,{variant:"outline",onClick:()=>i(!1),children:"Done"})}),e[40]=i,e[41]=P):P=e[41];let O;e[42]!==R||e[43]!==P?(O=r.jsxs(Ot,{className:"sm:max-w-2xl h-[75vh] max-h-[75vh] flex flex-col p-0 gap-0 overflow-hidden w-[95vw]",children:[R,P]}),e[42]=R,e[43]=P,e[44]=O):O=e[44];let z;return e[45]!==i||e[46]!==s||e[47]!==O?(z=r.jsx(Bt,{open:s,onOpenChange:i,children:O}),e[45]=i,e[46]=s,e[47]=O,e[48]=z):z=e[48],z}const no={tools:null,resources:null,prompts:null},s2=dm.pick({status:!0,title:!0,description:!0,icon:!0,metadata:!0,connections:!0});function i2(t){const s=new TextEncoder().encode(t),i=Array.from(s,n=>String.fromCharCode(n)).join("");return btoa(i)}function r2(t){const e=B.c(11),{url:s,agentId:i}=t,[n,o]=j.useState(!1);let a;e[0]!==i||e[1]!==s?(a=async()=>{re("agent_connect_action",{agent_id:i,action:"copy_url"}),await navigator.clipboard.writeText(s),o(!0),he.success("Agent URL copied to clipboard"),setTimeout(()=>o(!1),2e3)},e[0]=i,e[1]=s,e[2]=a):a=e[2];const l=a;let c;e[3]!==n?(c=n?r.jsx(Mt,{size:20,className:"text-green-600"}):r.jsx(Si,{size:20}),e[3]=n,e[4]=c):c=e[4];const d=n?"Copied!":"Copy URL";let u;e[5]!==d?(u=r.jsx("span",{className:"text-xs font-medium",children:d}),e[5]=d,e[6]=u):u=e[6];let h;return e[7]!==l||e[8]!==c||e[9]!==u?(h=r.jsxs(oe,{type:"button",variant:"outline",onClick:l,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[c,u]}),e[7]=l,e[8]=c,e[9]=u,e[10]=h):h=e[10],h}function n2(t){const e=B.c(8),{url:s,serverName:i,agentId:n}=t;let o;e[0]!==n||e[1]!==i||e[2]!==s?(o=()=>{re("agent_connect_action",{agent_id:n,action:"install_cursor"});const u=oh(i),f=i2(JSON.stringify({type:"http",url:s,headers:{"x-mesh-client":"Cursor"}},null,2)),m=`cursor://anysphere.cursor-deeplink/mcp/install?name=${encodeURIComponent(u)}&config=${encodeURIComponent(f)}`;window.open(m,"_blank"),he.success("Opening Cursor...")},e[0]=n,e[1]=i,e[2]=s,e[3]=o):o=e[3];const a=o;let l,c;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx("img",{src:"/logos/cursor.svg",alt:"Cursor",className:"h-5 w-5",style:{filter:"brightness(0) saturate(100%) invert(11%) sepia(8%) saturate(785%) hue-rotate(1deg) brightness(95%) contrast(89%)"}}),c=r.jsx("span",{className:"text-xs font-medium",children:"Install on Cursor"}),e[4]=l,e[5]=c):(l=e[4],c=e[5]);let d;return e[6]!==a?(d=r.jsxs(oe,{type:"button",variant:"outline",onClick:a,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[l,c]}),e[6]=a,e[7]=d):d=e[7],d}function o2(t){const e=B.c(12),{url:s,serverName:i,agentId:n}=t,[o,a]=j.useState(!1);let l;e[0]!==n||e[1]!==i||e[2]!==s?(l=async()=>{re("agent_connect_action",{agent_id:n,action:"install_claude_code"});const m=oh(i),g=JSON.stringify({type:"http",url:s,headers:{"x-mesh-client":"Claude Code"}},null,2),_=`claude mcp add-json "${m}" '${g.replace(/'/g,"'\\''")}' --scope user`;await navigator.clipboard.writeText(_),a(!0),he.success("Claude Code command copied to clipboard"),setTimeout(()=>a(!1),2e3)},e[0]=n,e[1]=i,e[2]=s,e[3]=l):l=e[3];const c=l;let d;e[4]!==o?(d=o?r.jsx(Mt,{size:20,className:"text-green-600"}):r.jsx("img",{src:"/logos/Claude Code.svg",alt:"Claude Code",className:"h-5 w-5",style:{filter:"brightness(0) saturate(100%) invert(55%) sepia(31%) saturate(1264%) hue-rotate(331deg) brightness(92%) contrast(86%)"}}),e[4]=o,e[5]=d):d=e[5];const u=o?"Copied!":"Install on Claude Code";let h;e[6]!==u?(h=r.jsx("span",{className:"text-xs font-medium",children:u}),e[6]=u,e[7]=h):h=e[7];let f;return e[8]!==c||e[9]!==d||e[10]!==h?(f=r.jsxs(oe,{type:"button",variant:"outline",onClick:c,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[d,h]}),e[8]=c,e[9]=d,e[10]=h,e[11]=f):f=e[11],f}function a2({virtualMcp:t}){const{org:e}=xe(),s=Ae({connectionId:yt,orgId:e.id}),[i,n]=j.useState(null),[o,a]=j.useState(!1),[l,c]=j.useState(!1),d=t.id,u=t.title||`agent-${d.slice(0,8)}`,h=i?`bunx @decocms/typegen@latest --mcp ${d} --key ${i} --output client.ts`:`bunx @decocms/typegen@latest --mcp ${d} --key <api-key> --output client.ts`,f=async()=>{a(!0);try{const g=(await s.callTool({name:"API_KEY_CREATE",arguments:{name:`typegen-${u}`,permissions:{[d]:["*"]}}})).structuredContent?.key;if(!g)throw new Error("No key in response");n(g),re("agent_typegen_key_generated",{agent_id:d})}catch{re("agent_typegen_key_failed",{agent_id:d}),he.error("Failed to generate API key")}finally{a(!1)}},m=async()=>{re("agent_connect_action",{agent_id:d,action:"typegen_copy_command",has_api_key:!!i}),await navigator.clipboard.writeText(h),c(!0),he.success("Command copied to clipboard"),setTimeout(()=>c(!1),2e3)};return r.jsxs("div",{className:"flex min-w-0 flex-col gap-3",children:[r.jsxs("div",{className:"flex items-start justify-between gap-3",children:[r.jsxs("div",{className:"flex flex-col gap-0.5",children:[r.jsx("h4",{className:"text-sm font-medium text-foreground",children:"Generate typed client"}),r.jsxs("p",{className:"text-xs text-muted-foreground",children:["Introspects this agent and writes a typed"," ",r.jsx("code",{className:"font-mono",children:"client.ts"})," you can import directly."]})]}),!i&&r.jsxs(oe,{type:"button",variant:"outline",size:"sm",className:"shrink-0 gap-1.5",onClick:f,disabled:o,children:[o?r.jsx(Ne,{size:14,className:"animate-spin"}):r.jsx(kg,{size:14}),r.jsx("span",{children:o?"Generating…":"Generate API key"})]})]}),i&&r.jsx("p",{className:"rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-700",children:"Store this key securely — it won't be shown again."}),r.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Generate client"}),r.jsx("div",{className:"rounded-md border border-input bg-muted/50 px-3 py-2.5",children:r.jsxs("div",{className:"flex items-start gap-2",children:[r.jsx("code",{className:"min-w-0 flex-1 break-all font-mono text-xs text-muted-foreground",children:h}),r.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:m,children:l?r.jsx(Mt,{size:12,className:"text-green-600"}):r.jsx(Si,{size:12})})]})}),r.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Runtime variables"}),r.jsx(l2,{apiKey:i,agentId:d})]})}function l2(t){const e=B.c(21),{apiKey:s,agentId:i}=t,[n,o]=j.useState(!1),a=window.location.origin,l=s?`MESH_API_KEY=${s}`:"MESH_API_KEY=<api-key>",c=`MESH_BASE_URL=${a}`,d=`${l}
|
|
549
|
-
${c}`;let u;e[0]!==i||e[1]!==s||e[2]!==d?(u=async()=>{re("agent_connect_action",{agent_id:i,action:"typegen_copy_env",has_api_key:!!s}),await navigator.clipboard.writeText(d),o(!0),setTimeout(()=>o(!1),2e3)},e[0]=i,e[1]=s,e[2]=d,e[3]=u):u=e[3];const h=u,f=!s;let m;e[4]!==f?(m=Y({"opacity-50":f}),e[4]=f,e[5]=m):m=e[5];let p;e[6]!==l||e[7]!==m?(p=r.jsx("span",{className:m,children:l}),e[6]=l,e[7]=m,e[8]=p):p=e[8];let g,_;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=r.jsx("br",{}),_=r.jsx("span",{children:c}),e[9]=g,e[10]=_):(g=e[9],_=e[10]);let v;e[11]!==p?(v=r.jsxs("code",{className:"min-w-0 flex-1 font-mono text-xs text-muted-foreground",children:[p,g,_]}),e[11]=p,e[12]=v):v=e[12];let x;e[13]!==n?(x=n?r.jsx(Mt,{size:12,className:"text-green-600"}):r.jsx(Si,{size:12}),e[13]=n,e[14]=x):x=e[14];let b;e[15]!==h||e[16]!==x?(b=r.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:h,children:x}),e[15]=h,e[16]=x,e[17]=b):b=e[17];let y;return e[18]!==v||e[19]!==b?(y=r.jsx("div",{className:"rounded-md border border-input bg-muted/50 px-3 py-2.5",children:r.jsxs("div",{className:"flex items-start gap-2",children:[v,b]})}),e[18]=v,e[19]=b,e[20]=y):y=e[20],y}function c2(t){const e=B.c(3),{virtualMcp:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("div",{className:"h-20 animate-pulse rounded-md bg-muted"}),e[0]=i):i=e[0];let n;return e[1]!==s?(n=r.jsx(j.Suspense,{fallback:i,children:r.jsx(a2,{virtualMcp:s})}),e[1]=s,e[2]=n):n=e[2],n}function d2(t){const e=B.c(37),{open:s,onOpenChange:i,virtualMcp:n}=t,o=`/mcp/virtual-mcp/${n.id}`;let a;e[0]!==o?(a=new URL(o,window.location.origin),e[0]=o,e[1]=a):a=e[1];const l=a;let c;e[2]!==n.id||e[3]!==n.title?(c=n.title||`agent-${n.id?.slice(0,8)??"default"}`,e[2]=n.id,e[3]=n.title,e[4]=c):c=e[4];const d=c,u=ms();let h;e[5]!==n.id||e[6]!==l.href?(h=r.jsx(r2,{url:l.href,agentId:n.id}),e[5]=n.id,e[6]=l.href,e[7]=h):h=e[7];let f,m;e[8]!==d||e[9]!==n.id||e[10]!==l.href?(f=r.jsx(n2,{url:l.href,serverName:d,agentId:n.id}),m=r.jsx(o2,{url:l.href,serverName:d,agentId:n.id}),e[8]=d,e[9]=n.id,e[10]=l.href,e[11]=f,e[12]=m):(f=e[11],m=e[12]);let p;e[13]!==h||e[14]!==f||e[15]!==m?(p=r.jsx("div",{className:"flex flex-col gap-3 pt-2",children:r.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[h,f,m]})}),e[13]=h,e[14]=f,e[15]=m,e[16]=p):p=e[16];let g;e[17]===Symbol.for("react.memo_cache_sentinel")?(g=r.jsx("div",{className:"border-t border-border"}),e[17]=g):g=e[17];let _;e[18]!==n?(_=r.jsx(c2,{virtualMcp:n}),e[18]=n,e[19]=_):_=e[19];let v;e[20]!==p||e[21]!==_?(v=r.jsxs("div",{className:"flex flex-col gap-6",children:[p,g,_]}),e[20]=p,e[21]=_,e[22]=v):v=e[22];const x=v;if(u){let C;e[23]===Symbol.for("react.memo_cache_sentinel")?(C=r.jsx(si,{className:"mt-4 mb-4 text-base font-semibold",children:"Connect"}),e[23]=C):C=e[23];let S;e[24]!==x?(S=r.jsx(ii,{children:r.jsxs("div",{className:"flex-1 overflow-y-auto px-4 pb-6 [touch-action:pan-y]",children:[C,x]})}),e[24]=x,e[25]=S):S=e[25];let w;return e[26]!==i||e[27]!==s||e[28]!==S?(w=r.jsx(ri,{open:s,onOpenChange:i,children:S}),e[26]=i,e[27]=s,e[28]=S,e[29]=w):w=e[29],w}let b;e[30]===Symbol.for("react.memo_cache_sentinel")?(b=r.jsx(Gt,{children:r.jsx(qt,{children:"Connect"})}),e[30]=b):b=e[30];let y;e[31]!==x?(y=r.jsxs(Ot,{className:"max-h-[80vh] overflow-y-auto sm:max-w-2xl",children:[b,x]}),e[31]=x,e[32]=y):y=e[32];let V;return e[33]!==i||e[34]!==s||e[35]!==y?(V=r.jsx(Bt,{open:s,onOpenChange:i,children:y}),e[33]=i,e[34]=s,e[35]=y,e[36]=V):V=e[36],V}function h2(t,e){switch(e.type){case"SET_SHARE_DIALOG_OPEN":return{...t,shareDialogOpen:e.payload};case"SET_ADD_DIALOG_OPEN":return{...t,addDialogOpen:e.payload};case"OPEN_SETTINGS":return{...t,settingsDialogOpen:!0,settingsConnectionId:e.payload};case"CLOSE_SETTINGS":return{...t,settingsDialogOpen:!1,settingsConnectionId:null};default:return t}}function u2(t){const e=B.c(22),{connection_id:s,usedConnectionIds:i,onOpenSettings:n,onRemove:o,onAuthenticate:a,onSwitchInstance:l,onNewInstance:c}=t,d=Ba(s),{org:u}=xe();if(!d)return null;let h;e[0]!==d?(h=nh(d),e[0]=d,e[1]=h):h=e[1];const f=h;let m;e[2]!==s?(m=r.jsx(g2,{connection_id:s}),e[2]=s,e[3]=m):m=e[3];let p;e[4]!==d.app_name||e[5]!==d.connection_type||e[6]!==d.description||e[7]!==d.icon||e[8]!==d.title||e[9]!==s||e[10]!==a||e[11]!==c||e[12]!==n||e[13]!==o||e[14]!==l||e[15]!==u.slug||e[16]!==f||e[17]!==i?(p=r.jsx(p2,{connection_id:s,connectionTitle:d.title,connectionDescription:d.description,connectionIcon:d.icon,connectionType:d.connection_type,slug:f,orgSlug:u.slug,appName:d.app_name,usedConnectionIds:i,onOpenSettings:n,onRemove:o,onAuthenticate:a,onSwitchInstance:l,onNewInstance:c}),e[4]=d.app_name,e[5]=d.connection_type,e[6]=d.description,e[7]=d.icon,e[8]=d.title,e[9]=s,e[10]=a,e[11]=c,e[12]=n,e[13]=o,e[14]=l,e[15]=u.slug,e[16]=f,e[17]=i,e[18]=p):p=e[18];let g;return e[19]!==m||e[20]!==p?(g=r.jsx(j.Suspense,{fallback:m,children:p}),e[19]=m,e[20]=p,e[21]=g):g=e[21],g}const fc="__new_instance__";async function f2(t,e){const s=t?.idToken??null;if(s){const n=mc(s);if(n)return n}const i=t?.userinfoEndpoint??null;if(i)try{const n=await fetch(i,{headers:{Authorization:`Bearer ${e}`}});if(n.ok){const o=await n.json(),a=typeof o.email=="string"?o.email:typeof o.upn=="string"?o.upn:typeof o.preferred_username=="string"?o.preferred_username:null;if(a)return a}}catch{}return mc(e)}function mc(t){try{const e=t.split(".");if(e.length===3&&e[1]){const s=JSON.parse(atob(e[1].replace(/-/g,"+").replace(/_/g,"/")));if(typeof s.email=="string")return s.email;if(typeof s.upn=="string")return s.upn;if(typeof s.preferred_username=="string")return s.preferred_username}}catch{}return null}function m2(t){const e=B.c(23),{appName:s,connectionId:i,usedConnectionIds:n,onSwitchInstance:o,onNewInstance:a}=t;let l;e[0]!==s?(l={filters:[{column:"app_name",value:s}]},e[0]=s,e[1]=l):l=e[1];const c=yr(l);if(c.length<=1)return null;let d;e[2]!==i||e[3]!==a||e[4]!==o?(d=g=>{g===fc?a?.():o(i,g)},e[2]=i,e[3]=a,e[4]=o,e[5]=d):d=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(Ms,{size:"sm",className:"w-auto text-xs gap-1 px-2 shadow-none",children:r.jsx(Ds,{})}),e[6]=u):u=e[6];let h;if(e[7]!==i||e[8]!==c||e[9]!==n){let g;e[11]!==i||e[12]!==n?(g=_=>r.jsx(Nt,{value:_.id,className:"text-xs",disabled:_.id!==i&&n.has(_.id),children:_.title},_.id),e[11]=i,e[12]=n,e[13]=g):g=e[13],h=c.map(g),e[7]=i,e[8]=c,e[9]=n,e[10]=h}else h=e[10];let f;e[14]!==a?(f=a&&r.jsx(Nt,{value:fc,className:"text-xs text-muted-foreground",children:"+ New instance"}),e[14]=a,e[15]=f):f=e[15];let m;e[16]!==h||e[17]!==f?(m=r.jsxs(Ts,{children:[h,f]}),e[16]=h,e[17]=f,e[18]=m):m=e[18];let p;return e[19]!==i||e[20]!==d||e[21]!==m?(p=r.jsxs(Rs,{value:i,onValueChange:d,children:[u,m]}),e[19]=i,e[20]=d,e[21]=m,e[22]=p):p=e[22],p}function p2(t){const e=B.c(55),{connection_id:s,connectionTitle:i,connectionDescription:n,connectionIcon:o,connectionType:a,slug:l,orgSlug:c,appName:d,usedConnectionIds:u,onOpenSettings:h,onRemove:f,onAuthenticate:m,onSwitchInstance:p,onNewInstance:g}=t;let _;e[0]!==s?(_={connectionId:s},e[0]=s,e[1]=_):_=e[1];const v=kh(_),b=!(a==="VIRTUAL")&&v.supportsOAuth&&!v.isAuthenticated,y=b?"border-destructive/50 bg-destructive/5":"border-border";let V;e[2]!==y?(V=Y("rounded-xl border overflow-hidden transition-colors",y),e[2]=y,e[3]=V):V=e[3];let C;e[4]!==c||e[5]!==l?(C={org:c,appSlug:l},e[4]=c,e[5]=l,e[6]=C):C=e[6];let S;e[7]!==o||e[8]!==i?(S=r.jsx(ps,{icon:o,name:i,size:"sm",className:"shrink-0"}),e[7]=o,e[8]=i,e[9]=S):S=e[9];let w;e[10]!==i?(w=r.jsx("p",{className:"text-sm font-medium truncate",children:i}),e[10]=i,e[11]=w):w=e[11];let k;e[12]!==n||e[13]!==b?(k=b?r.jsx("span",{className:"text-xs text-destructive font-medium",children:"Needs authorization"}):n&&r.jsx("p",{className:"text-xs text-muted-foreground truncate",children:n}),e[12]=n,e[13]=b,e[14]=k):k=e[14];let T;e[15]!==w||e[16]!==k?(T=r.jsxs("div",{className:"flex-1 min-w-0",children:[w,k]}),e[15]=w,e[16]=k,e[17]=T):T=e[17];let M;e[18]!==s||e[19]!==b||e[20]!==m?(M=b?r.jsx(oe,{variant:"outline",size:"sm",className:"h-7 text-xs shrink-0",onClick:W=>{W.preventDefault(),W.stopPropagation(),m(s)},children:"Authorize"}):r.jsxs(Ye,{delayDuration:0,children:[r.jsx(qe,{asChild:!0,children:r.jsx("span",{className:"inline-flex items-center justify-center rounded-md h-7 w-7 hover:bg-accent text-muted-foreground shrink-0 transition-colors",children:r.jsx(kr,{size:16})})}),r.jsx(Ge,{side:"bottom",children:"Connection settings"})]}),e[18]=s,e[19]=b,e[20]=m,e[21]=M):M=e[21];let I;e[22]!==C||e[23]!==S||e[24]!==T||e[25]!==M?(I=r.jsxs(Cd,{to:"/$org/settings/connections/$appSlug",params:C,className:"flex items-center gap-3 px-4 py-3 cursor-pointer hover:bg-muted/50 transition-colors",children:[S,T,M]}),e[22]=C,e[23]=S,e[24]=T,e[25]=M,e[26]=I):I=e[26];let E;e[27]!==d||e[28]!==s||e[29]!==g||e[30]!==p||e[31]!==u?(E=d&&r.jsx(m2,{appName:d,connectionId:s,usedConnectionIds:u,onSwitchInstance:p,onNewInstance:g}),e[27]=d,e[28]=s,e[29]=g,e[30]=p,e[31]=u,e[32]=E):E=e[32];let N;e[33]===Symbol.for("react.memo_cache_sentinel")?(N=r.jsx(zd,{size:13}),e[33]=N):N=e[33];let A;e[34]!==h?(A=r.jsx(qe,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:h,"aria-label":"Configure resources",children:N})}),e[34]=h,e[35]=A):A=e[35];let D;e[36]===Symbol.for("react.memo_cache_sentinel")?(D=r.jsx(Ge,{side:"bottom",children:"Configure resources"}),e[36]=D):D=e[36];let L;e[37]!==A?(L=r.jsxs(Ye,{delayDuration:0,children:[A,D]}),e[37]=A,e[38]=L):L=e[38];let R;e[39]===Symbol.for("react.memo_cache_sentinel")?(R=r.jsx(Os,{size:13}),e[39]=R):R=e[39];let P;e[40]!==f?(P=r.jsx(qe,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-destructive",onClick:f,"aria-label":"Remove connection",children:R})}),e[40]=f,e[41]=P):P=e[41];let O;e[42]===Symbol.for("react.memo_cache_sentinel")?(O=r.jsx(Ge,{side:"bottom",children:"Remove"}),e[42]=O):O=e[42];let z;e[43]!==P?(z=r.jsxs(Ye,{delayDuration:0,children:[P,O]}),e[43]=P,e[44]=z):z=e[44];let $;e[45]!==L||e[46]!==z?($=r.jsxs("div",{className:"flex items-center gap-0.5 ml-auto",children:[L,z]}),e[45]=L,e[46]=z,e[47]=$):$=e[47];let q;e[48]!==E||e[49]!==$?(q=r.jsxs("div",{className:"flex items-center gap-3 px-4 py-2 border-t border-border bg-muted/25",children:[E,$]}),e[48]=E,e[49]=$,e[50]=q):q=e[50];let F;return e[51]!==I||e[52]!==q||e[53]!==V?(F=r.jsxs("div",{className:V,children:[I,q]}),e[51]=I,e[52]=q,e[53]=V,e[54]=F):F=e[54],F}function g2(t){const e=B.c(17),{connection_id:s}=t,i=Ba(s);if(!i){let h;return e[0]===Symbol.for("react.memo_cache_sentinel")?(h=r.jsx(Cu,{}),e[0]=h):h=e[0],h}let n;e[1]!==i.icon||e[2]!==i.title?(n=r.jsx(ps,{icon:i.icon,name:i.title,size:"sm",className:"shrink-0"}),e[1]=i.icon,e[2]=i.title,e[3]=n):n=e[3];let o;e[4]!==i.title?(o=r.jsx("p",{className:"text-sm font-medium truncate",children:i.title}),e[4]=i.title,e[5]=o):o=e[5];let a;e[6]!==i.description?(a=i.description&&r.jsx("p",{className:"text-xs text-muted-foreground truncate",children:i.description}),e[6]=i.description,e[7]=a):a=e[7];let l;e[8]!==o||e[9]!==a?(l=r.jsxs("div",{className:"flex-1 min-w-0",children:[o,a]}),e[8]=o,e[9]=a,e[10]=l):l=e[10];let c;e[11]!==n||e[12]!==l?(c=r.jsxs("div",{className:"flex items-center gap-3 px-4 py-3",children:[n,l]}),e[11]=n,e[12]=l,e[13]=c):c=e[13];let d;e[14]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("div",{className:"flex items-center px-4 py-2 border-t border-border bg-muted/25",children:r.jsx("div",{className:"h-5 w-20 rounded bg-muted animate-pulse"})}),e[14]=d):d=e[14];let u;return e[15]!==c?(u=r.jsxs("div",{className:"rounded-xl border border-border overflow-hidden",children:[c,d]}),e[15]=c,e[16]=u):u=e[16],u}function Cu(){const t=B.c(3);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"size-8 rounded-md bg-muted animate-pulse shrink-0"}),t[0]=e):e=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsxs("div",{className:"flex items-center gap-3 px-4 py-3",children:[e,r.jsxs("div",{className:"flex-1 space-y-1.5",children:[r.jsx("div",{className:"h-4 w-32 rounded bg-muted animate-pulse"}),r.jsx("div",{className:"h-3 w-48 rounded bg-muted animate-pulse"})]})]}),t[1]=s):s=t[1];let i;return t[2]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsxs("div",{className:"rounded-xl border border-border overflow-hidden",children:[s,r.jsx("div",{className:"flex items-center px-4 py-2 border-t border-border bg-muted/25",children:r.jsx("div",{className:"h-5 w-20 rounded bg-muted animate-pulse"})})]}),t[2]=i):i=t[2],i}function _2({virtualMcpId:t}){const{org:e}=xe(),s=Ae({connectionId:yt,orgId:e.id}),i=bt(),n=$t(t),o=(n?.connections??[]).map(P=>P.connection_id).sort(),{data:a}=ji({queryKey:Ze.projectConnectionDetails(t,o),enabled:o.length>0,queryFn:async()=>await Promise.all(o.map(async O=>{try{const z=await s.callTool({name:"COLLECTION_CONNECTIONS_GET",arguments:{id:O}}),{item:$}=Jn(z),q=($?.tools??[]).filter(F=>!!Tp(F._meta)).map(F=>({name:F.name,description:F.description}));return{fetchOk:!0,id:O,title:$?.title??O,icon:$?.icon??null,uiTools:q}}catch{return{fetchOk:!1,id:O,title:O,icon:null,uiTools:[]}}}))}),l=(a??[]).filter(P=>P.uiTools.length>0),c=new Set(Am),d=n?.metadata?.ui,u=d?.pinnedViews??[],h=d?.layout?.defaultMainView??null,f=d?.layout?.chatDefaultOpen??!1,m=!h||h.type==="chat"?"chat":h.type==="instructions"||h.type==="connections"||h.type==="layout"?"settings":c.has(h.type)?h.type:`${h.type}:${h.id??""}:${h.toolName??""}`,[p,g]=j.useState(u),[_,v]=j.useState(m),[x,b]=j.useState(f),[y,V]=j.useState(!1),C=P=>{const[O,z,$]=P.split(":");return O?O==="chat"?{type:O}:c.has(O)?{type:O}:O==="ext-apps"&&z?{type:"ext-apps",id:z,toolName:$||void 0}:null:null},S=j.useRef(!1);if(a&&a.length>0&&!S.current){S.current=!0;const P=new Set((a??[]).filter($=>$.fetchOk).map($=>$.id)),O=new Set(l.flatMap($=>$.uiTools.map(q=>`${$.id}:${q.name}`))),z=u.filter($=>!P.has($.connectionId)||O.has(`${$.connectionId}:${$.toolName}`));if(z.length!==u.length){g(z);let $=_;h?.type==="ext-apps"&&!z.some(q=>q.connectionId===h.id&&q.toolName===h.toolName)&&($="chat",v($)),s.callTool({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",arguments:{virtualMcpId:t,pinnedViews:z,layout:{defaultMainView:C($),chatDefaultOpen:x}}}).then(q=>{Jn(q),i.invalidateQueries({predicate:F=>Array.isArray(F.queryKey)&&F.queryKey.includes("collection")&&F.queryKey.includes("VIRTUAL_MCP")})}).catch(()=>{g(u),v(m)})}}const w=(P,O,z)=>{V(!0),(async()=>{try{const q=await s.callTool({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",arguments:{virtualMcpId:t,pinnedViews:P,layout:{defaultMainView:C(O),chatDefaultOpen:z??x}}});Jn(q),i.invalidateQueries({predicate:F=>Array.isArray(F.queryKey)&&F.queryKey.includes("collection")&&F.queryKey.includes("VIRTUAL_MCP")}),he.success("Layout updated")}catch(q){he.error("Failed to update layout: "+(q instanceof Error?q.message:"Unknown error"))}finally{V(!1)}})()},k=(P,O)=>{const z=p.some(F=>F.connectionId===P&&F.toolName===O);let $,q=_;if(z){$=p.filter(W=>!(W.connectionId===P&&W.toolName===O));const F=`ext-apps:${P}:${O}`;_===F&&(q="chat",v(q))}else $=[...p,{connectionId:P,toolName:O,label:ko(O),icon:null}];g($),w($,q)},T=(P,O,z)=>{g($=>$.map(q=>q.connectionId===P&&q.toolName===O?{...q,label:z}:q))},M=()=>{w(p,_)},I=(P,O,z)=>{g(q=>q.map(F=>F.connectionId===P&&F.toolName===O?{...F,icon:z}:F));const $=p.map(q=>q.connectionId===P&&q.toolName===O?{...q,icon:z}:q);w($,_)},E=P=>{v(P),w(p,P)},N=o.length===0,A=a&&l.length===0,D=!!bs(n),L=[{value:"chat",label:"Chat"},{value:"settings",label:"Settings"},{value:"automations",label:"Automations"}];D&&(L.push({value:"env",label:"Terminal"}),L.push({value:"preview",label:"Preview"}));for(const P of p)L.push({value:`ext-apps:${P.connectionId}:${P.toolName}`,label:P.label||P.toolName});const R=l.length>0||N||A;return r.jsxs("div",{className:"flex flex-col gap-3",children:[r.jsx("div",{className:"flex items-center justify-between gap-3",children:r.jsx("h2",{className:"text-sm font-medium text-foreground",children:"Layout"})}),r.jsxs(Cg,{className:"p-6 gap-5",children:[r.jsxs(Rl,{className:"p-0 space-y-5",children:[r.jsxs("div",{className:"flex items-center justify-between gap-4",children:[r.jsxs("div",{className:"space-y-0.5 min-w-0",children:[r.jsx(ir,{className:"font-normal text-foreground",children:"Main view"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"What users see when they first open this agent."})]}),r.jsxs(Rs,{value:_,onValueChange:E,children:[r.jsx(Ms,{className:"w-44 h-8 text-sm capitalize shrink-0",children:r.jsx(Ds,{})}),r.jsx(Ts,{children:L.map(P=>r.jsx(Nt,{value:P.value,className:"capitalize",children:P.label},P.value))})]})]}),r.jsxs("div",{className:"flex items-center justify-between gap-4",children:[r.jsxs("div",{className:"space-y-0.5 min-w-0",children:[r.jsx(ir,{className:"font-normal text-foreground",children:"Show chat"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Display the chat panel alongside the main view."})]}),r.jsxs(Ye,{delayDuration:0,children:[r.jsx(qe,{asChild:!0,children:r.jsx("span",{className:"shrink-0",children:r.jsx(mn,{checked:_==="chat"?!0:x,disabled:_==="chat"||y,onCheckedChange:P=>{b(P),w(p,_,P)}})})}),_==="chat"&&r.jsx(Ge,{side:"top",children:"Chat is always shown when it is the default view"})]})]})]}),R&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"border-t border-border -mx-6"}),r.jsxs(Rl,{className:"p-0 space-y-3",children:[r.jsx("div",{className:"flex items-center justify-between gap-4",children:r.jsxs("div",{className:"space-y-0.5 min-w-0",children:[r.jsx(ir,{className:"font-normal text-foreground",children:"Pinned views"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Surface interactive tools as top-level tabs in the agent."})]})}),N&&r.jsx("p",{className:"text-xs text-muted-foreground",children:"Add a connection above to configure pinned views."}),A&&!N&&r.jsx("p",{className:"text-xs text-muted-foreground",children:"None of the connected servers expose interactive tools."}),l.length>0&&r.jsx("div",{className:"space-y-4 pt-1",children:l.map((P,O)=>r.jsxs("div",{children:[O>0&&r.jsx("div",{className:"border-t border-border -mx-6 mb-4"}),r.jsxs("div",{className:"flex items-center gap-2 mb-2.5",children:[r.jsx(ps,{icon:P.icon,name:P.title,size:"xs",className:"shrink-0"}),r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:P.title})]}),r.jsx("div",{className:"space-y-1.5",children:P.uiTools.map(z=>{const $=p.some(F=>F.connectionId===P.id&&F.toolName===z.name),q=p.find(F=>F.connectionId===P.id&&F.toolName===z.name);return r.jsxs("div",{className:Y("flex items-center justify-between gap-3 px-3 py-2 rounded-lg border transition-colors",$?"bg-accent/40 border-border":"bg-transparent border-border"),children:[r.jsxs("div",{className:"min-w-0 flex-1 flex items-center gap-2",children:[r.jsx(zy,{value:q?.icon??null,onChange:F=>I(P.id,z.name,F),disabled:!$||y}),r.jsx(at,{value:$&&q?q.label:ko(z.name),onChange:F=>T(P.id,z.name,F.target.value),onBlur:M,className:"h-7 text-sm w-40",disabled:!$||y,readOnly:!$})]}),r.jsx(mn,{checked:$,onCheckedChange:()=>k(P.id,z.name),disabled:y})]},z.name)})})]},P.id))})]})]})]})]})}function x2({virtualMcp:t,hideOwnTitle:e}){const{org:s}=xe(),i=Oa(),n=Mn(),o=bt(),a=Ae({connectionId:yt,orgId:s.id}),l=Ai({resolver:gr(s2),defaultValues:t}),c=l.watch("connections"),d=!!bs(t),[u,h]=j.useReducer(h2,{shareDialogOpen:!1,addDialogOpen:!1,settingsDialogOpen:!1,settingsConnectionId:null}),[f,m]=j.useState(!1),{createTaskWithMessage:p}=Lt(),{setChatMode:g}=$s(),{createNewTask:_}=xr(),v=()=>{const U=l.getValues("metadata.instructions");U?.trim()&&(T(),re("agent_instructions_improve_clicked",{agent_id:t.id,instructions_length:U.length}),g("plan"),p({virtualMcpId:Aa(s.id),message:{parts:[{type:"text",text:`/writing-prompts ${t.id}
|
|
550
|
-
|
|
551
|
-
<instructions>
|
|
552
|
-
${U}
|
|
553
|
-
</instructions>`}]}}))},x=()=>{T(),re("agent_test_clicked",{agent_id:t.id}),_()},b=j.useRef(null),y=j.useRef(null),V=j.useRef(new Set),C=j.useRef(0),S=j.useRef(null),w=j.useRef(null),k=3e4,T=()=>{w.current&&(clearTimeout(w.current),w.current=null),y.current!==null&&(re("agent_updated",{agent_id:t.id,fields:Array.from(V.current),instructions_length:S.current,save_count:C.current,edit_duration_ms:Date.now()-y.current}),y.current=null,V.current=new Set,C.current=0,S.current=null)},M=async()=>{b.current&&(clearTimeout(b.current),b.current=null);const U=Object.keys(l.formState.dirtyFields);if(U.length===0)return;const X=U.includes("metadata"),K=l.getValues(),G=await i.update.mutateAsync({id:t.id,data:K});y.current===null&&(y.current=Date.now());for(const ie of U)V.current.add(ie);C.current+=1,X&&(S.current=K.metadata?.instructions?.length??0),w.current&&clearTimeout(w.current),w.current=setTimeout(T,k),l.reset(G)},I=()=>{b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{M()},1e3)},E=j.useRef(!1);E.current||(E.current=!0,l.watch(()=>{I()}));const N=()=>{re("connections_dialog_opened",{source:"agent_settings",mode:"add"}),h({type:"SET_ADD_DIALOG_OPEN",payload:!0})},A=async U=>{const X=l.getValues("connections");if(X.some(ie=>ie.connection_id===U))return;l.setValue("connections",[...X,{connection_id:U,selected_tools:no.tools,selected_resources:no.resources,selected_prompts:no.prompts}],{shouldDirty:!0}),h({type:"SET_ADD_DIALOG_OPEN",payload:!1});const K=new URL(`/mcp/${U}`,window.location.origin),G=await Zi({url:K.href,token:null});G.supportsOAuth&&!G.isAuthenticated&&await O(U)},D=U=>{const K=l.getValues("connections").filter(G=>G.connection_id!==U);l.setValue("connections",K,{shouldDirty:!0})},L=(U,X)=>{const K=l.getValues("connections");if(K.some(G=>G.connection_id===X)){he.error("This instance is already added to the agent");return}l.setValue("connections",K.map(G=>G.connection_id===U?{...G,connection_id:X}:G),{shouldDirty:!0})},R=async U=>{if(l.getValues("connections").find(K=>K.connection_id===U))try{const K=await a.callTool({name:"COLLECTION_CONNECTIONS_GET",arguments:{id:U}}),{item:G}=K.structuredContent??{};if(!G)return;const ie=G.title.replace(/\s*\(.*?\)\s*$/,""),te=dh("conn"),J=`${ie} (${Date.now().toString(36).slice(-4)})`;await n.create.mutateAsync({id:te,title:J,description:G.description??null,connection_type:G.connection_type,connection_url:G.connection_url??null,connection_token:null,icon:G.icon??null,app_name:G.app_name??null,app_id:G.app_id??null,connection_headers:G.connection_headers??null});const ae=new URL(`/mcp/${te}`,window.location.origin),Z=await Zi({url:ae.href,token:null});if(Z.supportsOAuth&&!Z.isAuthenticated){const de=await O(te);if(!de){await n.delete.mutateAsync(te);return}await n.update.mutateAsync({id:te,data:{title:`${ie} (${de})`}})}L(U,te),he.success("New instance created")}catch(K){console.error("Failed to create instance:",K),he.error("Failed to create instance")}},P=U=>{h({type:"OPEN_SETTINGS",payload:U})},O=async U=>{const{token:X,tokenInfo:K,error:G}=await Yr({connectionId:U,scope:"offline_access"});if(G||!X)return he.error(`Authentication failed: ${G}`),null;if(K)try{const te=await fetch(`/api/connections/${U}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:K.accessToken,refreshToken:K.refreshToken,expiresIn:K.expiresIn,scope:K.scope,clientId:K.clientId,clientSecret:K.clientSecret,tokenEndpoint:K.tokenEndpoint})});if(!te.ok)console.error("Failed to save OAuth token:",await te.text()),await n.update.mutateAsync({id:U,data:{connection_token:X}});else try{await n.update.mutateAsync({id:U,data:{}})}catch(J){console.warn("Failed to refresh connection tools after OAuth:",J)}}catch(te){console.error("Error saving OAuth token:",te),await n.update.mutateAsync({id:U,data:{connection_token:X}})}else await n.update.mutateAsync({id:U,data:{connection_token:X}});const ie=new URL(`/mcp/${U}`,window.location.origin);return await o.invalidateQueries({queryKey:Ze.isMCPAuthenticated(ie.href,null)}),he.success("Authentication successful"),f2(K,X)},z=()=>{const U=l.getValues("metadata.instructions")??"",X=`<role>
|
|
554
|
-
Define who this agent is and what it specializes in.
|
|
555
|
-
Example: You are a support triage agent for B2B merchants.
|
|
556
|
-
</role>
|
|
557
|
-
|
|
558
|
-
<capabilities>
|
|
559
|
-
List what this agent can do using its connected tools.
|
|
560
|
-
- Investigate issues using connected data sources.
|
|
561
|
-
- Summarize findings and recommend next steps.
|
|
562
|
-
</capabilities>
|
|
563
|
-
|
|
564
|
-
<constraints>
|
|
565
|
-
Set clear boundaries on what the agent must not do.
|
|
566
|
-
- Do not perform destructive actions without confirmation.
|
|
567
|
-
- Escalate to a human when the request is outside your expertise.
|
|
568
|
-
</constraints>
|
|
569
|
-
|
|
570
|
-
<workflows>
|
|
571
|
-
Define step-by-step how the agent should handle requests.
|
|
572
|
-
|
|
573
|
-
## Default workflow
|
|
574
|
-
1. Read the user's request and gather context.
|
|
575
|
-
2. Use the appropriate tools to investigate or act.
|
|
576
|
-
3. Summarize the result and propose next steps.
|
|
577
|
-
4. Ask for confirmation before making any changes.
|
|
578
|
-
</workflows>`,K=U.trim()?`${U}
|
|
579
|
-
|
|
580
|
-
${X}`:X;l.setValue("metadata.instructions",K,{shouldDirty:!0})},$=new Set(c.map(U=>U.connection_id)),q=Oe(),[F,W]=j.useState(!1),H=async()=>{T();try{await i.delete.mutateAsync(t.id),re("agent_deleted",{agent_id:t.id,source:"agent_detail"}),he.success(`Deleted "${t.title}"`),q({to:"/$org",params:{org:s.slug}})}catch{}};return r.jsxs(Jt,{children:[r.jsx(Jt.Content,{children:r.jsx(Jt.Body,{children:r.jsxs("div",{className:"flex flex-col gap-10",children:[!e&&r.jsx(Jt.Title,{actions:r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs(oe,{variant:"outline",size:"sm",onClick:x,children:[r.jsx(tn,{size:14,className:"!size-[14px]"}),"Test Agent"]}),r.jsx(oe,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive",onClick:()=>W(!0),children:r.jsx(Ro,{size:14})})]}),children:"Settings"}),r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(pi,{name:"icon",control:l.control,render:({field:U})=>r.jsx(My,{value:U.value??null,onChange:X=>{U.onChange(X),M()},onColorChange:X=>{l.setValue("metadata.ui.themeColor",X,{shouldDirty:!0}),M()},name:l.watch("title")||"Agent",size:"md",className:"shrink-0",avatarClassName:"[&_svg]:w-1/2 [&_svg]:h-1/2",disabled:d})}),r.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[r.jsx(pi,{name:"title",control:l.control,render:({field:U})=>r.jsx("input",{...U,type:"text",value:U.value??"",onBlur:()=>{U.onBlur(),M()},disabled:d,placeholder:"Agent name",className:"text-lg font-medium leading-tight text-foreground bg-transparent border-none outline-none px-1 -mx-1 rounded hover:bg-input/25 focus:bg-input/25 transition-colors w-full truncate disabled:hover:bg-transparent disabled:focus:bg-transparent disabled:opacity-50"})}),r.jsx(pi,{name:"description",control:l.control,render:({field:U})=>r.jsx("input",{...U,type:"text",value:U.value??"",onBlur:()=>{U.onBlur(),M()},disabled:d,placeholder:"Add a description...",className:"text-sm text-muted-foreground bg-transparent border-none outline-none px-1 -mx-1 rounded hover:bg-input/25 focus:bg-input/25 transition-colors w-full truncate disabled:hover:bg-transparent disabled:focus:bg-transparent disabled:opacity-50"})})]}),r.jsxs(oe,{variant:"outline",size:"sm",className:"shrink-0",onClick:()=>{re("agent_connect_modal_opened",{agent_id:t.id}),h({type:"SET_SHARE_DIALOG_OPEN",payload:!0})},children:[r.jsxs("span",{className:"flex items-center -space-x-1.5 mr-0.5",children:[r.jsx("span",{className:"inline-flex items-center justify-center size-4 rounded-full bg-black ring-1 ring-white/20 shrink-0",children:r.jsx("img",{src:"/logos/cursor.svg",alt:"Cursor",className:"size-2.5 brightness-0 invert"})}),r.jsx("span",{className:"relative z-10 inline-flex items-center justify-center size-4 rounded-full ring-1 ring-background shrink-0",style:{backgroundColor:"#D97757"},children:r.jsx("img",{src:"/logos/Claude Code.svg",alt:"Claude",className:"size-2.5 brightness-0 invert"})})]}),"Connect"]})]}),r.jsxs("div",{className:"flex items-center gap-2 -mt-6 text-muted-foreground",children:[r.jsx(Ch,{id:t.created_by,size:"2xs",className:"text-sm text-muted-foreground"}),r.jsx("span",{className:"text-muted-foreground/50 text-sm",children:"·"}),r.jsx("span",{className:"text-sm",children:new Date(t.created_at).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})})]}),r.jsxs("section",{className:"flex flex-col gap-3",children:[r.jsxs("div",{className:"flex items-center justify-between gap-3",children:[r.jsx("h2",{className:"text-sm font-medium text-foreground",children:"Connections"}),c.length>0&&r.jsxs(oe,{variant:"outline",size:"sm",onClick:N,children:[r.jsx(Dt,{size:14}),"Add connection"]})]}),r.jsx("div",{className:"flex flex-col gap-2",children:c.length===0?r.jsxs("button",{type:"button",onClick:N,className:"flex items-center gap-3 px-3 py-2.5 rounded-lg border border-dashed border-border hover:bg-accent/50 transition-colors w-full text-left cursor-pointer",children:[r.jsx("div",{className:"flex items-center justify-center size-8 rounded-md text-muted-foreground/75 border border-dashed border-border shrink-0",children:r.jsx(Dt,{size:16})}),r.jsx("span",{className:"text-sm text-muted-foreground",children:"No connections yet. Add one to get started."})]}):c.map(U=>r.jsx(ls,{fallback:()=>null,children:r.jsx(j.Suspense,{fallback:r.jsx(Cu,{}),children:r.jsx(u2,{connection_id:U.connection_id,usedConnectionIds:$,onOpenSettings:()=>P(U.connection_id),onRemove:()=>D(U.connection_id),onAuthenticate:O,onSwitchInstance:L,onNewInstance:()=>R(U.connection_id)})})},U.connection_id))})]}),r.jsxs("section",{className:"flex flex-col gap-3",children:[r.jsxs("div",{className:"flex items-center justify-between gap-3",children:[r.jsx("h2",{className:"text-sm font-medium text-foreground",children:"Instructions"}),!d&&r.jsxs("div",{className:"flex items-center gap-2",children:[!l.watch("metadata.instructions")?.trim()&&r.jsx(oe,{variant:"outline",size:"sm",onClick:z,children:"+ Prompt template"}),r.jsxs(oe,{variant:"outline",size:"sm",disabled:!l.watch("metadata.instructions")?.trim(),onClick:v,children:[r.jsx(Da,{size:13}),"Improve"]})]})]}),r.jsx(pi,{name:"metadata.instructions",control:l.control,render:({field:U})=>r.jsxs("div",{className:"relative rounded-xl card-shadow bg-card focus-within:ring-1 focus-within:ring-ring",children:[r.jsx(To,{...U,value:U.value??"",onBlur:()=>{U.onBlur(),M()},disabled:d,placeholder:"Define how this agent should behave, what tone to use, any constraints or guidelines...",className:"min-h-[200px] max-h-[360px] overflow-auto resize-none text-base text-muted-foreground placeholder:text-muted-foreground/40 leading-relaxed border-0 shadow-none px-4 py-3 pr-11 focus-visible:ring-0 focus-visible:ring-offset-0 bg-transparent",style:{boxShadow:"none"}}),r.jsxs(Ye,{delayDuration:0,children:[r.jsx(qe,{asChild:!0,children:r.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"absolute top-2 right-2 h-7 w-7 text-muted-foreground",onClick:()=>m(!0),"aria-label":"Open fullscreen editor",children:r.jsx(lp,{size:14})})}),r.jsx(Ge,{side:"left",children:"Fullscreen"})]})]})})]}),r.jsx(_2,{virtualMcpId:t.id}),r.jsxs("section",{className:"flex items-center justify-between border-t border-border pt-6",children:[r.jsxs("div",{children:[r.jsx("p",{className:"text-sm font-medium",children:"Delete agent"}),r.jsx("p",{className:"text-sm text-muted-foreground",children:"Permanently delete this agent and all its data."})]}),r.jsxs(oe,{variant:"outline",size:"sm",className:"text-destructive border-destructive/40 hover:bg-destructive/10 hover:text-destructive shrink-0",onClick:()=>W(!0),children:[r.jsx(Ro,{size:14}),"Delete agent"]})]})]})})}),r.jsx(qa,{open:F,onOpenChange:W,children:r.jsxs(Fa,{children:[r.jsxs(Ua,{children:[r.jsx(Ha,{children:"Delete Agent?"}),r.jsxs(Wa,{children:["This action cannot be undone. This will permanently delete"," ",r.jsx("span",{className:"font-medium text-foreground",children:t.title}),"."]})]}),r.jsxs(Ka,{children:[r.jsx(za,{children:"Cancel"}),r.jsx(wh,{onClick:H,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),r.jsx(Qa,{open:u.addDialogOpen,onOpenChange:U=>h({type:"SET_ADD_DIALOG_OPEN",payload:U}),agentId:t.id,addedConnectionIds:$,onAdd:A}),r.jsx(t2,{open:u.settingsDialogOpen,onOpenChange:U=>{U||h({type:"CLOSE_SETTINGS"})},selectedId:u.settingsConnectionId,form:l,connections:c,onAuthenticate:O}),r.jsx(d2,{open:u.shareDialogOpen,onOpenChange:U=>h({type:"SET_SHARE_DIALOG_OPEN",payload:U}),virtualMcp:t}),r.jsx(Bt,{open:f,onOpenChange:m,children:r.jsxs(Ot,{className:"w-[90vw] sm:max-w-6xl h-[85vh] flex flex-col p-0 gap-0",children:[r.jsx(Gt,{className:"px-6 pt-6 pb-3 border-b border-border shrink-0",children:r.jsx(qt,{children:"Instructions"})}),r.jsx("div",{className:"flex-1 min-h-0 p-6",children:r.jsx(pi,{name:"metadata.instructions",control:l.control,render:({field:U})=>r.jsx(To,{...U,value:U.value??"",onBlur:()=>{U.onBlur(),M()},disabled:d,placeholder:"Define how this agent should behave, what tone to use, any constraints or guidelines...",className:"w-full h-full resize-none text-base text-muted-foreground placeholder:text-muted-foreground/40 leading-relaxed rounded-xl card-shadow px-4 py-3 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-0 bg-card border-0",style:{boxShadow:"none"}})})})]})})]})}function v2(t){const e=B.c(9),{virtualMcpId:s,hideOwnTitle:i}=t,n=Oe(),{org:o}=xe(),a=$t(s);if(!a){let d;return e[0]!==n||e[1]!==o.slug?(d=r.jsx("div",{className:"flex h-full w-full bg-background",children:r.jsx(Vi,{title:"Space not found",description:"This space may have been deleted or you may not have access.",actions:r.jsx(oe,{variant:"outline",onClick:()=>n({to:"/$org",params:{org:o.slug}}),children:"Back to spaces"})})}),e[0]=n,e[1]=o.slug,e[2]=d):d=e[2],d}let l;e[3]!==a?(l=bs(a)?.connectionId??"",e[3]=a,e[4]=l):l=e[4];let c;return e[5]!==i||e[6]!==l||e[7]!==a?(c=r.jsx(x2,{virtualMcp:a,hideOwnTitle:i},l),e[5]=i,e[6]=l,e[7]=a,e[8]=c):c=e[8],c}function pc(t){const e=B.c(2),{virtualMcpId:s}=t;let i;return e[0]!==s?(i=r.jsx(v2,{virtualMcpId:s,hideOwnTitle:!0}),e[0]=s,e[1]=i):i=e[1],i}const b2={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "};function ur(t){return t?t.replace(/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g,(e,s)=>{if(s.startsWith("#x")||s.startsWith("#X")){const i=Number.parseInt(s.slice(2),16);return Number.isFinite(i)?String.fromCodePoint(i):e}if(s.startsWith("#")){const i=Number.parseInt(s.slice(1),10);return Number.isFinite(i)?String.fromCodePoint(i):e}return b2[s]??e}):""}function Nr(t){if(!t||typeof t!="object")return null;const e=t;if(e.structuredContent!==void 0)return e.structuredContent;const s=e.content?.find(i=>i.type==="text")?.text;if(!s)return null;try{return JSON.parse(s)}catch{return null}}const On=6e4,Bn=3e4;function ku(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Ae(s),n=t.branch?`${t.owner}:${t.branch}`:void 0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==n?(o={owner:t.owner,repo:t.repo,state:"all",head:n,perPage:1},e[3]=t.owner,e[4]=t.repo,e[5]=n,e[6]=o):o=e[6];const a=!!t.branch;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"list_pull_requests",toolArguments:o,enabled:a,refetchInterval:On,refetchIntervalInBackground:!1,staleTime:Bn,select:y2},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ni(l)}function y2(t){const e=Nr(t);if(!e||!Array.isArray(e)||e.length===0)return null;const s=e[0],i=s.base,n=s.head,o=s.user;return{number:s.number??0,title:s.title??"",body:s.body??"",state:s.state==="closed"?"closed":"open",merged:s.merged_at!=null,mergedAt:s.merged_at??null,base:i?.ref??"main",head:n?.ref??"",headSha:n?.sha??"",htmlUrl:s.html_url??"",author:o?.login??""}}function ju(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Ae(s),n=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==n?(o={method:"get_files",owner:t.owner,repo:t.repo,pullNumber:n},e[3]=t.owner,e[4]=t.repo,e[5]=n,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:On,refetchIntervalInBackground:!1,staleTime:Bn,select:S2},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ni(l)}function S2(t){const e=Nr(t);return Array.isArray(e)?e.map(w2):[]}function w2(t){const e=Number(t.additions??0),s=Number(t.changes??e),i=Number(t.deletions??Math.max(0,s-e));return{filename:String(t.filename??""),status:t.status??"modified",additions:e,deletions:i,blobUrl:typeof t.blob_url=="string"?t.blob_url:null}}function Nu(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Ae(s),n=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==n?(o={method:"get_check_runs",owner:t.owner,repo:t.repo,pullNumber:n},e[3]=t.owner,e[4]=t.repo,e[5]=n,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:On,refetchIntervalInBackground:!1,staleTime:Bn,select:V2},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ni(l)}function V2(t){const e=Nr(t);return(Array.isArray(e)?e:e?.check_runs??[]).map(C2)}function C2(t){const e=t.started_at,s=t.completed_at,i=e&&s?new Date(s).getTime()-new Date(e).getTime():null;return{id:String(t.id??""),name:String(t.name??""),status:t.status??"completed",conclusion:t.conclusion??null,htmlUrl:String(t.html_url??""),durationMs:i}}function k2(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Ae(s),n=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==n?(o={method:"get_comments",owner:t.owner,repo:t.repo,pullNumber:n},e[3]=t.owner,e[4]=t.repo,e[5]=n,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:On,refetchIntervalInBackground:!1,staleTime:Bn,select:j2},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ni(l)}function j2(t){const e=Nr(t);return Array.isArray(e)?e.map(N2):[]}function N2(t){const e=t.user;return{id:Number(t.id??0),author:e?.login??"",body:String(t.body??""),createdAt:String(t.created_at??""),htmlUrl:String(t.html_url??"")}}function A2(t){const e=B.c(27),{pr:s,connectionId:i,owner:n,repo:o}=t,{org:a}=xe();let l;e[0]!==i||e[1]!==a.id||e[2]!==n||e[3]!==s.number||e[4]!==o?(l={orgId:a.id,connectionId:i,owner:n,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=n,e[3]=s.number,e[4]=o,e[5]=l):l=e[5];const c=ju(l);if(c.isLoading){let x;return e[6]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading files…"}),e[6]=x):x=e[6],x}if(c.isError){let x;return e[7]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsx("div",{className:"text-sm text-destructive",children:"Couldn't load file list."}),e[7]=x):x=e[7],x}let d;e[8]!==c.data?(d=c.data??[],e[8]=c.data,e[9]=d):d=e[9];const u=d;if(u.length===0){let x;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsx("div",{className:"text-sm text-muted-foreground",children:"No files changed."}),e[10]=x):x=e[10],x}const h=u.length===1?"":"s",f=`${s.htmlUrl}/files`;let m;e[11]!==f?(m=r.jsx("a",{href:f,target:"_blank",rel:"noreferrer",className:"underline hover:text-foreground",children:"View diffs on GitHub"}),e[11]=f,e[12]=m):m=e[12];let p;e[13]!==u.length||e[14]!==h||e[15]!==m?(p=r.jsxs("div",{className:"pb-2 text-xs text-muted-foreground",children:[u.length," file",h," changed ·"," ",m]}),e[13]=u.length,e[14]=h,e[15]=m,e[16]=p):p=e[16];let g;if(e[17]!==u||e[18]!==s.htmlUrl){let x;e[20]!==s.htmlUrl?(x=b=>r.jsx("li",{children:r.jsxs("a",{href:b.blobUrl??`${s.htmlUrl}/files`,target:"_blank",rel:"noreferrer",className:"flex items-center justify-between rounded px-2 py-1 font-mono text-xs hover:bg-muted",children:[r.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[r.jsx(E2,{status:b.status}),r.jsx("span",{className:"truncate",children:b.filename})]}),r.jsxs("span",{className:"flex shrink-0 items-center gap-2 tabular-nums",children:[r.jsxs("span",{children:[r.jsxs("span",{className:"text-success",children:["+",b.additions]})," ",r.jsxs("span",{className:"text-destructive",children:["−",b.deletions]})]}),r.jsx(oi,{className:"h-3 w-3 text-muted-foreground"})]})]})},b.filename),e[20]=s.htmlUrl,e[21]=x):x=e[21],g=u.map(x),e[17]=u,e[18]=s.htmlUrl,e[19]=g}else g=e[19];let _;e[22]!==g?(_=r.jsx("ul",{className:"space-y-0.5",children:g}),e[22]=g,e[23]=_):_=e[23];let v;return e[24]!==p||e[25]!==_?(v=r.jsxs("div",{className:"flex flex-col gap-1",children:[p,_]}),e[24]=p,e[25]=_,e[26]=v):v=e[26],v}function E2(t){const e=B.c(2),{status:s}=t,i=s==="added"?"A":s==="removed"?"D":s==="renamed"?"R":s==="copied"?"C":"M";let n;return e[0]!==i?(n=r.jsx("span",{className:"inline-flex h-4 w-4 items-center justify-center rounded bg-muted text-[10px] font-bold text-muted-foreground",children:i}),e[0]=i,e[1]=n):n=e[1],n}const gs="The user clicked this action deliberately — execute directly. Do not call user_ask unless you hit an actual problem outside the scope of this intent (missing auth, unresolvable conflict, a check with multiple plausible fixes).";function I2(t){return`Commit every pending change in the working tree with a concise conventional-commit message summarizing the diff, then push to \`origin/${t.branch}\`. If local commits are ahead of the remote, push those in the same invocation. ${gs}`}function T2(t){return`Open a pull request for \`${t.branch}\` against its base. Write a clear title and a summary of the changes so far. ${gs}`}function R2(t){return`Reopen PR #${t.prNumber}. ${gs}`}function M2(t){return`Rebase \`${t.branch}\` on the latest base and force-push with --force-with-lease. ${gs}`}function D2(t){return`Re-run the \`${t.checkName}\` check on PR #${t.prNumber}. If an empty commit is needed to retrigger CI, create and push one. ${gs}`}function P2(t){const e=(t.failingChecks??[]).map(s=>`\`${s}\``).join(", ");return`PR #${t.prNumber} has failing checks: ${e}. For each: read the logs, diagnose the root cause, apply the smallest fix that makes it pass, commit, and push. ${gs}`}function L2(t){return`Mark PR #${t.prNumber} ready for review. ${gs}`}function O2(t){return`Read the unresolved review threads on PR #${t.prNumber}. For each thread: understand the reviewer's ask, apply the needed changes, commit, push, reply explaining what changed, and resolve the thread. If a comment is a question that doesn't need a code change, reply with the answer and resolve. ${gs}`}function B2(t){return`Review PR #${t.prNumber}. Read the full diff, analyze every changed file for correctness, security, code quality, and alignment with the repo's patterns. Post specific line-level review comments on concerns, then submit an overall review (approve / request changes / comment) with a concise summary. Do not modify the code — this is a read-and-comment pass. ${gs}`}function $2(t){return`Squash-merge PR #${t.prNumber} into its base. ${gs}`}function z2(t){const e=B.c(23),{pr:s,connectionId:i,owner:n,repo:o}=t,{org:a}=xe(),l=Cn();let c;e[0]!==i||e[1]!==a.id||e[2]!==n||e[3]!==s.number||e[4]!==o?(c={orgId:a.id,connectionId:i,owner:n,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=n,e[3]=s.number,e[4]=o,e[5]=c):c=e[5];const d=Nu(c);let u;e[6]!==l||e[7]!==s.number?(u=_=>l.sendMessage({parts:[{type:"text",text:D2({prNumber:s.number,checkName:_})}]}),e[6]=l,e[7]=s.number,e[8]=u):u=e[8];const h=u;if(d.isLoading){let _;return e[9]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading checks…"}),e[9]=_):_=e[9],_}if(d.isError){let _;return e[10]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx("div",{className:"text-sm text-destructive",children:"Couldn't load check runs."}),e[10]=_):_=e[10],_}let f;e[11]!==d.data?(f=d.data??[],e[11]=d.data,e[12]=f):f=e[12];const m=f;if(m.length===0){let _;return e[13]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx("div",{className:"text-sm text-muted-foreground",children:"No check runs on the PR head commit."}),e[13]=_):_=e[13],_}let p;if(e[14]!==l||e[15]!==m||e[16]!==h){let _;e[18]!==l||e[19]!==h?(_=v=>r.jsxs("li",{className:"flex items-center justify-between gap-2 rounded px-2 py-1.5 text-sm hover:bg-muted",children:[r.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[r.jsx(F2,{check:v}),r.jsx("span",{className:"truncate",children:v.name}),v.durationMs!=null&&r.jsx("span",{className:"text-xs text-muted-foreground",children:U2(v.durationMs)})]}),r.jsxs("span",{className:"flex shrink-0 items-center gap-1",children:[v.htmlUrl&&r.jsx("a",{href:v.htmlUrl,target:"_blank",rel:"noreferrer",className:"inline-flex h-7 items-center justify-center rounded px-2 text-xs text-muted-foreground hover:bg-background",title:"View run",children:r.jsx(oi,{className:"h-3.5 w-3.5"})}),v.conclusion==="failure"&&r.jsx(oe,{size:"sm",variant:"ghost",disabled:l.isStreaming,onClick:()=>h(v.name),children:"Re-run"})]})]},v.id),e[18]=l,e[19]=h,e[20]=_):_=e[20],p=m.map(_),e[14]=l,e[15]=m,e[16]=h,e[17]=p}else p=e[17];let g;return e[21]!==p?(g=r.jsx("ul",{className:"flex flex-col gap-0.5",children:p}),e[21]=p,e[22]=g):g=e[22],g}function F2(t){const e=B.c(5),{check:s}=t;if(s.status!=="completed"){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("span",{className:"text-muted-foreground","aria-label":"In progress",children:"○"}),e[0]=o):o=e[0],o}if(s.conclusion==="success"){let o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("span",{className:"text-success","aria-label":"Success",children:"✓"}),e[1]=o):o=e[1],o}if(s.conclusion==="failure"){let o;return e[2]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("span",{className:"text-destructive","aria-label":"Failure",children:"✗"}),e[2]=o):o=e[2],o}const i=s.conclusion??"—";let n;return e[3]!==i?(n=r.jsx("span",{className:"text-muted-foreground","aria-label":i,children:"—"}),e[3]=i,e[4]=n):n=e[4],n}function U2(t){const e=Math.round(t/1e3);return e<60?`${e}s`:`${Math.round(e/60)}m`}function H2(t){const e=B.c(10),{comments:s,isLoading:i,isError:n}=t;if(i||n||!s||s.length===0)return null;const o=s.length===1?"":"s";let a;e[0]!==s.length||e[1]!==o?(a=r.jsxs(Cp,{className:"py-3 text-sm font-medium",children:[s.length," comment",o]}),e[0]=s.length,e[1]=o,e[2]=a):a=e[2];let l;e[3]!==s?(l=s.map(W2),e[3]=s,e[4]=l):l=e[4];let c;e[5]!==l?(c=r.jsx(kp,{className:"space-y-3 pb-3",children:l}),e[5]=l,e[6]=c):c=e[6];let d;return e[7]!==a||e[8]!==c?(d=r.jsx(jp,{type:"single",collapsible:!0,className:"border-t border-border",children:r.jsxs(Np,{value:"comments",className:"border-b-0",children:[a,c]})}),e[7]=a,e[8]=c,e[9]=d):d=e[9],d}function W2(t){return r.jsxs("div",{className:"rounded-md border border-border p-3",children:[r.jsxs("div",{className:"mb-1 text-xs text-muted-foreground",children:["@",t.author," · ",K2(t.createdAt)]}),r.jsx(ja,{id:`pr-comment-${t.id}`,text:ur(t.body)})]},t.id)}function K2(t){if(!t)return"";const e=new Date(t).getTime();if(!Number.isFinite(e))return"";const s=Date.now()-e;if(s<0)return"just now";const i=Math.floor(s/864e5);if(i>0)return`${i}d ago`;const n=Math.floor(s/36e5);if(n>0)return`${n}h ago`;const o=Math.floor(s/6e4);return`${Math.max(1,o)}m ago`}function q2(t){const e=B.c(18),{pr:s,connectionId:i,owner:n,repo:o}=t,{org:a}=xe();let l;e[0]!==i||e[1]!==a.id||e[2]!==n||e[3]!==s.number||e[4]!==o?(l={orgId:a.id,connectionId:i,owner:n,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=n,e[3]=s.number,e[4]=o,e[5]=l):l=e[5];const c=k2(l);let d;e[6]!==s.body||e[7]!==s.number?(d=s.body&&r.jsx("div",{className:"text-sm",children:r.jsx(ja,{id:`pr-body-${s.number}`,text:ur(s.body)})}),e[6]=s.body,e[7]=s.number,e[8]=d):d=e[8];let u;e[9]!==c.data?(u=c.data??[],e[9]=c.data,e[10]=u):u=e[10];let h;e[11]!==c.isError||e[12]!==c.isLoading||e[13]!==u?(h=r.jsx(H2,{comments:u,isLoading:c.isLoading,isError:c.isError}),e[11]=c.isError,e[12]=c.isLoading,e[13]=u,e[14]=h):h=e[14];let f;return e[15]!==d||e[16]!==h?(f=r.jsxs("div",{className:"space-y-8",children:[d,h]}),e[15]=d,e[16]=h,e[17]=f):f=e[17],f}function G2(t){const e=B.c(26),{pr:s,connectionId:i,owner:n,repo:o}=t,{org:a}=xe();let l;e[0]!==i||e[1]!==a.id||e[2]!==n||e[3]!==s.number||e[4]!==o?(l={orgId:a.id,connectionId:i,owner:n,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=n,e[3]=s.number,e[4]=o,e[5]=l):l=e[5];const d=ju(l).data?.length,[u,h]=j.useState("description"),f=j.useRef({description:null,changes:null,checks:null}),[m,p]=j.useState(null),g=w=>k=>{if(f.current[w]=k,k&&w===u){const T=k.offsetLeft,M=k.offsetWidth;(m===null||T!==m.left||M!==m.width)&&p({left:T,width:M})}},_=w=>{const k=w;h(k);const T=f.current[k];T&&p({left:T.offsetLeft,width:T.offsetWidth})},v=Gn,x=g("checks");let b;e[6]!==v||e[7]!==x?(b=r.jsx(v,{ref:x,variant:"underline",value:"checks",className:"pb-3 data-[state=active]:border-transparent",children:"Checks"}),e[6]=v,e[7]=x,e[8]=b):b=e[8];let y;e[9]!==m?(y=m&&r.jsx("div",{"aria-hidden":!0,className:"pointer-events-none absolute bottom-[-1px] h-0.5 bg-primary transition-[left,width] duration-200 ease-out",style:{left:m.left,width:m.width}}),e[9]=m,e[10]=y):y=e[10];let V;e[11]!==i||e[12]!==n||e[13]!==s||e[14]!==o?(V=r.jsx(Jr,{value:"description",className:"mt-6",children:r.jsx(q2,{pr:s,connectionId:i,owner:n,repo:o})}),e[11]=i,e[12]=n,e[13]=s,e[14]=o,e[15]=V):V=e[15];let C;e[16]!==i||e[17]!==n||e[18]!==s||e[19]!==o?(C=r.jsx(Jr,{value:"changes",className:"mt-6",children:r.jsx(A2,{pr:s,connectionId:i,owner:n,repo:o})}),e[16]=i,e[17]=n,e[18]=s,e[19]=o,e[20]=C):C=e[20];let S;return e[21]!==i||e[22]!==n||e[23]!==s||e[24]!==o?(S=r.jsx(Jr,{value:"checks",className:"mt-6",children:r.jsx(z2,{pr:s,connectionId:i,owner:n,repo:o})}),e[21]=i,e[22]=n,e[23]=s,e[24]=o,e[25]=S):S=e[25],r.jsxs(Rd,{value:u,onValueChange:_,variant:"underline",children:[r.jsxs(qm,{variant:"underline",className:"relative h-auto p-0",children:[r.jsx(Gn,{ref:g("description"),variant:"underline",value:"description",className:"pb-3 data-[state=active]:border-transparent",children:"Description"}),r.jsxs(Gn,{ref:g("changes"),variant:"underline",value:"changes",className:"pb-3 data-[state=active]:border-transparent",children:["Changes",d!==void 0?` ${d}`:""]}),b,y]}),V,C,S]})}function Y2(t){const e=B.c(5),{pr:s}=t,i=`Open PR #${s.number} on GitHub`;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx(oi,{className:"h-4 w-4 text-muted-foreground"}),e[0]=n):n=e[0];let o;return e[1]!==s.htmlUrl||e[2]!==s.number||e[3]!==i?(o=r.jsx("div",{className:"flex h-12 items-center border-b border-border px-4 shrink-0",children:r.jsxs("a",{href:s.htmlUrl,target:"_blank",rel:"noreferrer","aria-label":i,className:"inline-flex items-center gap-1.5 text-base font-medium text-foreground hover:underline",children:["PR #",s.number,n]})}),e[1]=s.htmlUrl,e[2]=s.number,e[3]=i,e[4]=o):o=e[4],o}function X2(t){const e=B.c(23),{pr:s}=t;let i;e[0]!==s.title?(i=ur(s.title),e[0]=s.title,e[1]=i):i=e[1];let n;e[2]!==i?(n=r.jsx("h1",{className:"text-2xl font-semibold",children:i}),e[2]=i,e[3]=n):n=e[3];const o=`Open PR #${s.number} on GitHub`;let a;e[4]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx(oi,{className:"h-3.5 w-3.5"}),e[4]=a):a=e[4];let l;e[5]!==s.htmlUrl||e[6]!==s.number||e[7]!==o?(l=r.jsxs("a",{href:s.htmlUrl,target:"_blank",rel:"noreferrer","aria-label":o,className:"inline-flex items-center gap-1 hover:text-foreground",children:["PR #",s.number,a]}),e[5]=s.htmlUrl,e[6]=s.number,e[7]=o,e[8]=l):l=e[8];let c;e[9]!==s.author?(c=s.author&&r.jsxs(r.Fragment,{children:["@",s.author," · "]}),e[9]=s.author,e[10]=c):c=e[10];let d;e[11]!==s.base?(d=r.jsx("span",{className:"font-mono text-xs",children:s.base}),e[11]=s.base,e[12]=d):d=e[12];let u;e[13]!==s.head?(u=r.jsx("span",{className:"font-mono text-xs",children:s.head}),e[13]=s.head,e[14]=u):u=e[14];let h;e[15]!==l||e[16]!==c||e[17]!==d||e[18]!==u?(h=r.jsxs("div",{className:"text-sm text-muted-foreground",children:[l," · ",c,d," ← ",u]}),e[15]=l,e[16]=c,e[17]=d,e[18]=u,e[19]=h):h=e[19];let f;return e[20]!==n||e[21]!==h?(f=r.jsxs("div",{className:"space-y-2",children:[n,h]}),e[20]=n,e[21]=h,e[22]=f):f=e[22],f}function J2(t){const e=B.c(8),{virtualMcpId:s}=t,{org:i}=xe(),n=$t(s),{currentBranch:o}=Lt(),a=n?.metadata?.githubRepo??null;if(!a?.connectionId){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx("div",{className:"flex h-full items-center justify-center p-8 text-sm text-muted-foreground",children:"This virtualmcp is not linked to a GitHub repository."}),e[0]=c):c=e[0],c}if(!o){let c;return e[1]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-8 text-sm",children:[r.jsx(er,{className:"h-6 w-6 text-muted-foreground"}),r.jsx("div",{className:"text-muted-foreground",children:"No branch selected."}),r.jsx("div",{className:"text-xs text-muted-foreground",children:"Pick a branch from the dropdown in the header to see PR status."})]}),e[1]=c):c=e[1],c}let l;return e[2]!==o||e[3]!==a.connectionId||e[4]!==a.name||e[5]!==a.owner||e[6]!==i.id?(l=r.jsx(Q2,{orgId:i.id,connectionId:a.connectionId,owner:a.owner,repo:a.name,branch:o}),e[2]=o,e[3]=a.connectionId,e[4]=a.name,e[5]=a.owner,e[6]=i.id,e[7]=l):l=e[7],l}function Q2(t){const e=B.c(49),{orgId:s,connectionId:i,owner:n,repo:o,branch:a}=t;let l;e[0]!==a||e[1]!==i||e[2]!==s||e[3]!==n||e[4]!==o?(l={orgId:s,connectionId:i,owner:n,repo:o,branch:a},e[0]=a,e[1]=i,e[2]=s,e[3]=n,e[4]=o,e[5]=l):l=e[5];const{data:c,isLoading:d,isError:u}=ku(l),h=Z2;if(d){let v;return e[6]===Symbol.for("react.memo_cache_sentinel")?(v=r.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading PR state…"}),e[6]=v):v=e[6],v}if(u){let v;return e[7]===Symbol.for("react.memo_cache_sentinel")?(v=r.jsx("div",{className:"p-4 text-sm text-destructive",children:"Couldn't load PR state. The GitHub connection may be broken."}),e[7]=v):v=e[7],v}const f=`https://github.com/${n}/${o}/tree/${a}`;if(c&&c.state==="closed"){let v;e[8]!==c?(v=r.jsx(Y2,{pr:c}),e[8]=c,e[9]=v):v=e[9];const x=c.merged?"✓ Merged":"✗ Closed";let b;e[10]!==c.mergedAt?(b=c.mergedAt&&r.jsxs(r.Fragment,{children:[" · ",new Date(c.mergedAt).toLocaleDateString()]}),e[10]=c.mergedAt,e[11]=b):b=e[11];let y;e[12]!==c.author?(y=c.author&&r.jsxs(r.Fragment,{children:[" · by @",c.author]}),e[12]=c.author,e[13]=y):y=e[13];let V;e[14]!==c.base||e[15]!==x||e[16]!==b||e[17]!==y?(V=r.jsxs("div",{className:"text-sm text-success",children:[x," into ",c.base,b,y]}),e[14]=c.base,e[15]=x,e[16]=b,e[17]=y,e[18]=V):V=e[18];let C;e[19]!==c.title?(C=ur(c.title),e[19]=c.title,e[20]=C):C=e[20];let S;e[21]!==C?(S=r.jsx("h1",{className:"text-lg font-semibold",children:C}),e[21]=C,e[22]=S):S=e[22];let w;e[23]!==c.body||e[24]!==c.number?(w=c.body&&r.jsx("div",{className:"rounded-md border border-border bg-muted/30 p-3 text-sm",children:r.jsx(ja,{id:`pr-body-${c.number}`,text:ur(c.body)})}),e[23]=c.body,e[24]=c.number,e[25]=w):w=e[25];let k;e[26]!==V||e[27]!==S||e[28]!==w?(k=r.jsxs("div",{className:"flex flex-col gap-4 p-4 overflow-auto",children:[V,S,w]}),e[26]=V,e[27]=S,e[28]=w,e[29]=k):k=e[29];let T;return e[30]!==v||e[31]!==k?(T=r.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[v,k]}),e[30]=v,e[31]=k,e[32]=T):T=e[32],T}if(c&&c.state==="open"){let v;e[33]!==c?(v=r.jsx(X2,{pr:c}),e[33]=c,e[34]=v):v=e[34];let x;e[35]!==i||e[36]!==n||e[37]!==c||e[38]!==o?(x=r.jsx("div",{className:"mt-8",children:r.jsx(G2,{pr:c,connectionId:i,owner:n,repo:o})}),e[35]=i,e[36]=n,e[37]=c,e[38]=o,e[39]=x):x=e[39];let b;return e[40]!==v||e[41]!==x?(b=r.jsx("div",{className:"flex min-h-0 flex-1 flex-col",children:r.jsx("div",{className:"flex-1 overflow-auto",children:r.jsxs("div",{className:"mx-auto w-full max-w-[1200px] px-4 pt-8 pb-6 md:px-10 md:pt-12 md:pb-10",children:[v,x]})})}),e[40]=v,e[41]=x,e[42]=b):b=e[42],b}let m;e[43]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx("div",{className:"rounded-md border border-border bg-muted/30 p-4 text-sm",children:`This branch doesn't have an open pull request. Click "Submit for review" in the header to open one; the agent will draft the title and summary from the current state of the branch.`}),e[43]=m):m=e[43];let p;e[44]!==f?(p=()=>h(f),e[44]=f,e[45]=p):p=e[45];let g;e[46]===Symbol.for("react.memo_cache_sentinel")?(g=r.jsx(oi,{className:"mr-1.5 h-4 w-4"}),e[46]=g):g=e[46];let _;return e[47]!==p?(_=r.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[m,r.jsx("div",{className:"flex items-center gap-2",children:r.jsxs(oe,{size:"sm",variant:"outline",onClick:p,children:[g,"Open branch on GitHub"]})})]}),e[47]=p,e[48]=_):_=e[48],_}function Z2(t){window.open(t,"_blank","noopener,noreferrer")}const oo="env";function eS(){const t=B.c(13),e=Oe();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={strict:!1},t[0]=s):s=t[0];const n=ti(s).main===oo;let o;t[1]!==e?(o=f=>{e({search:(m=>({...m,main:f})),replace:!0})},t[1]=e,t[2]=o):o=t[2];const a=o;let l;t[3]!==n||t[4]!==a?(l=()=>{a(n?"0":oo)},t[3]=n,t[4]=a,t[5]=l):l=t[5];const c=l;let d;t[6]!==n||t[7]!==a?(d=()=>{n||a(oo)},t[6]=n,t[7]=a,t[8]=d):d=t[8];const u=d;let h;return t[9]!==n||t[10]!==u||t[11]!==c?(h={envOpen:n,toggleEnv:c,openEnv:u},t[9]=n,t[10]=u,t[11]=c,t[12]=h):h=t[12],h}const tS=as({tag:pt(),id:pt(),classes:pt(),text:pt(),html:pt(),manifestKey:pt().nullable(),componentName:pt().nullable(),parents:pt(),url:pt(),path:pt(),viewport:as({width:Pr(),height:Pr()}),position:as({x:Pr(),y:Pr()})}),sS=`(function() {
|
|
581
|
-
if (window.__visualEditorActive) return;
|
|
582
|
-
window.__visualEditorActive = true;
|
|
583
|
-
|
|
584
|
-
var cursorStyle = document.createElement("style");
|
|
585
|
-
cursorStyle.textContent = "* { cursor: default !important; }";
|
|
586
|
-
document.head.appendChild(cursorStyle);
|
|
587
|
-
|
|
588
|
-
var highlight = document.createElement("div");
|
|
589
|
-
highlight.style.cssText = "position:fixed;pointer-events:none;outline:2px solid #a855f7;background:rgba(168,85,247,0.08);border-radius:2px;z-index:2147483647;display:none;";
|
|
590
|
-
document.body.appendChild(highlight);
|
|
591
|
-
|
|
592
|
-
var badge = document.createElement("div");
|
|
593
|
-
badge.style.cssText = "position:fixed;pointer-events:none;background:#a855f7;color:white;font:11px/1 monospace;padding:2px 6px;border-radius:2px;z-index:2147483647;display:none;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;";
|
|
594
|
-
document.body.appendChild(badge);
|
|
595
|
-
|
|
596
|
-
var lastTarget = null;
|
|
597
|
-
var rafPending = false;
|
|
598
|
-
var moveHandler = function(e) {
|
|
599
|
-
if (rafPending) return;
|
|
600
|
-
rafPending = true;
|
|
601
|
-
var target = e.target;
|
|
602
|
-
requestAnimationFrame(function() {
|
|
603
|
-
rafPending = false;
|
|
604
|
-
var el = target;
|
|
605
|
-
if (!el || el === highlight || el === badge) return;
|
|
606
|
-
if (el === lastTarget) return;
|
|
607
|
-
lastTarget = el;
|
|
608
|
-
var r = el.getBoundingClientRect();
|
|
609
|
-
highlight.style.display = "block";
|
|
610
|
-
highlight.style.top = r.top + "px";
|
|
611
|
-
highlight.style.left = r.left + "px";
|
|
612
|
-
highlight.style.width = r.width + "px";
|
|
613
|
-
highlight.style.height = r.height + "px";
|
|
614
|
-
var tag = el.tagName.toLowerCase();
|
|
615
|
-
var id = el.id ? "#" + el.id : "";
|
|
616
|
-
var cls = el.className && typeof el.className === "string"
|
|
617
|
-
? "." + el.className.trim().split(/\\s+/).slice(0, 2).join(".")
|
|
618
|
-
: "";
|
|
619
|
-
badge.textContent = tag + id + cls;
|
|
620
|
-
badge.style.display = "block";
|
|
621
|
-
badge.style.top = Math.max(0, r.top - 20) + "px";
|
|
622
|
-
badge.style.left = r.left + "px";
|
|
623
|
-
});
|
|
624
|
-
};
|
|
625
|
-
document.addEventListener("mousemove", moveHandler, true);
|
|
626
|
-
|
|
627
|
-
var outHandler = function(e) {
|
|
628
|
-
if (!e.relatedTarget || e.relatedTarget === document.documentElement) {
|
|
629
|
-
highlight.style.display = "none";
|
|
630
|
-
badge.style.display = "none";
|
|
631
|
-
lastTarget = null;
|
|
632
|
-
}
|
|
633
|
-
};
|
|
634
|
-
document.addEventListener("mouseout", outHandler, true);
|
|
635
|
-
|
|
636
|
-
var clickHandler = function(e) {
|
|
637
|
-
e.preventDefault();
|
|
638
|
-
e.stopImmediatePropagation();
|
|
639
|
-
var el = e.target;
|
|
640
|
-
if (!el || el === highlight || el === badge) return;
|
|
641
|
-
|
|
642
|
-
highlight.style.outline = "2px solid #a855f7";
|
|
643
|
-
highlight.style.background = "rgba(168,85,247,0.15)";
|
|
644
|
-
setTimeout(function() {
|
|
645
|
-
highlight.style.outline = "2px solid #a855f7";
|
|
646
|
-
highlight.style.background = "rgba(168,85,247,0.08)";
|
|
647
|
-
}, 400);
|
|
648
|
-
|
|
649
|
-
var tag = el.tagName.toLowerCase();
|
|
650
|
-
var id = el.id || "";
|
|
651
|
-
var classes = el.className && typeof el.className === "string" ? el.className.trim() : "";
|
|
652
|
-
var text = (el.textContent || "").trim().slice(0, 200);
|
|
653
|
-
var html = (el.outerHTML || "").slice(0, 800).replace(/\\svalue=("[^"]*"|'[^']*'|\\S+)/gi, "");
|
|
654
|
-
|
|
655
|
-
var closestSection = el.closest("section[data-manifest-key]");
|
|
656
|
-
var manifestKey = closestSection ? closestSection.getAttribute("data-manifest-key") : null;
|
|
657
|
-
|
|
658
|
-
var ancestor = el;
|
|
659
|
-
var componentName = null;
|
|
660
|
-
for (var i = 0; i < 10 && ancestor; i++) {
|
|
661
|
-
if (ancestor.dataset) componentName = ancestor.dataset.componentName || componentName;
|
|
662
|
-
ancestor = ancestor.parentElement;
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
var parents = [];
|
|
666
|
-
var p = el.parentElement;
|
|
667
|
-
for (var j = 0; j < 4 && p && p !== document.body; j++) {
|
|
668
|
-
var pTag = p.tagName ? p.tagName.toLowerCase() : "";
|
|
669
|
-
var pId = p.id ? "#" + p.id : "";
|
|
670
|
-
var pCls = p.className && typeof p.className === "string"
|
|
671
|
-
? "." + p.className.trim().split(/\\s+/)[0]
|
|
672
|
-
: "";
|
|
673
|
-
parents.unshift(pTag + pId + pCls);
|
|
674
|
-
p = p.parentElement;
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
window.parent.postMessage({
|
|
678
|
-
type: "visual-editor::element-clicked",
|
|
679
|
-
payload: {
|
|
680
|
-
tag: tag, id: id, classes: classes, text: text, html: html,
|
|
681
|
-
manifestKey: manifestKey, componentName: componentName,
|
|
682
|
-
parents: parents.join(" > "),
|
|
683
|
-
url: window.location.href, path: window.location.pathname,
|
|
684
|
-
viewport: { width: window.innerWidth, height: window.innerHeight },
|
|
685
|
-
position: { x: Math.round(e.clientX), y: Math.round(e.clientY) }
|
|
686
|
-
}
|
|
687
|
-
}, "*");
|
|
688
|
-
};
|
|
689
|
-
document.addEventListener("click", clickHandler, true);
|
|
690
|
-
|
|
691
|
-
window.addEventListener("message", function(e) {
|
|
692
|
-
if (e.data && e.data.type === "visual-editor::deactivate") {
|
|
693
|
-
highlight.remove();
|
|
694
|
-
badge.remove();
|
|
695
|
-
cursorStyle.remove();
|
|
696
|
-
document.removeEventListener("mousemove", moveHandler, true);
|
|
697
|
-
document.removeEventListener("mouseout", outHandler, true);
|
|
698
|
-
document.removeEventListener("click", clickHandler, true);
|
|
699
|
-
window.__visualEditorActive = false;
|
|
700
|
-
}
|
|
701
|
-
});
|
|
702
|
-
})();`;function ui(t){return t.replace(/[`*_]/g,"\\$&")}function iS(t,e){const s=[`The user selected an element on the live preview and asked: **"${ui(e.trim())}"**`,"","For text content changes, locate the correct source file and apply the change.","For code and CSS changes, understand which component the user is referring to and apply changes to the correct component.",""];t.manifestKey&&s.push(`**Section source file:** \`${ui(t.manifestKey)}\``,"");const i=`<${t.tag}${t.classes?` class="${ui(t.classes)}"`:""}>`;s.push(`**Clicked element:** \`${i}\``),t.parents&&s.push(`**DOM breadcrumb:** ${ui(t.parents)} > ${t.tag}`),t.text&&s.push(`**Text content:** "${ui(t.text)}"`),t.componentName&&s.push(`**Component name:** ${ui(t.componentName)}`);const n=t.html.replace(/```/g,"`` `");return s.push("","**HTML snippet:**","```html",n,"```"),s.push("","Please read the source file, locate the element, and apply the requested change."),s.join(`
|
|
703
|
-
`)}function rS(t,e,s=320,i=44,n=12){const{x:o,y:a}=t,{width:l,height:c}=e,d=Math.max(n,Math.min(o-s/2,l-s-n)),h=a/c>.68?Math.max(n,a-i-18):Math.min(a+18,c-i-n);return{leftPct:d/l*100,topPct:h/c*100}}function nS(t){const e=B.c(32),{element:s,onDismiss:i}=t,[n,o]=j.useState(""),a=j.useRef(null),{sendMessage:l}=Cn(),{setChatOpen:c}=xr();let d;e[0]!==s||e[1]!==n||e[2]!==i||e[3]!==l||e[4]!==c?(d=()=>{if(!n.trim())return;const T=iS(s,n);c(!0),l({parts:[{type:"text",text:T}]}),i()},e[0]=s,e[1]=n,e[2]=i,e[3]=l,e[4]=c,e[5]=d):d=e[5];const u=d;let h;e[6]!==s.position||e[7]!==s.viewport?(h=rS(s.position,s.viewport),e[6]=s.position,e[7]=s.viewport,e[8]=h):h=e[8];const f=h,m=`${f.leftPct}%`,p=`${f.topPct}%`;let g;e[9]!==m||e[10]!==p?(g={left:m,top:p,width:"320px"},e[9]=m,e[10]=p,e[11]=g):g=e[11];let _;e[12]!==u?(_=T=>{T.preventDefault(),u()},e[12]=u,e[13]=_):_=e[13];let v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=T=>o(T.target.value),e[14]=v):v=e[14];let x;e[15]!==i?(x=T=>{T.key==="Escape"&&i()},e[15]=i,e[16]=x):x=e[16];let b;e[17]!==n||e[18]!==x?(b=r.jsx("input",{ref:a,autoFocus:!0,type:"text",value:n,onChange:v,onKeyDown:x,placeholder:"Ask the AI...",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"}),e[17]=n,e[18]=x,e[19]=b):b=e[19];let y;e[20]!==n?(y=n.trim(),e[20]=n,e[21]=y):y=e[21];const V=!y;let C;e[22]===Symbol.for("react.memo_cache_sentinel")?(C=r.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:[r.jsx("title",{children:"Send"}),r.jsx("path",{d:"M5 9V1M1 5l4-4 4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),e[22]=C):C=e[22];let S;e[23]!==V?(S=r.jsx("button",{type:"submit",disabled:V,className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-foreground text-background transition-opacity disabled:opacity-30",title:"Send",children:C}),e[23]=V,e[24]=S):S=e[24];let w;e[25]!==S||e[26]!==_||e[27]!==b?(w=r.jsxs("form",{className:"pointer-events-auto flex w-full items-center gap-1.5 rounded-xl border border-border bg-background/95 px-3 py-1.5 shadow-lg backdrop-blur",onSubmit:_,children:[b,S]}),e[25]=S,e[26]=_,e[27]=b,e[28]=w):w=e[28];let k;return e[29]!==w||e[30]!==g?(k=r.jsx("div",{className:"absolute z-30 pointer-events-none",style:g,children:w}),e[29]=w,e[30]=g,e[31]=k):k=e[31],k}const oS={status:{ready:!1,htmlSupport:!1},suspended:!1,notFound:!1,scripts:[],activeProcesses:[],branchStatus:null,getBuffer:()=>"",hasData:()=>!1,subscribeChunks:()=>()=>{},subscribeReload:()=>()=>{}},Au=j.createContext(oS),gc=16384;class aS{data="";append(e){this.data+=e,this.data.length>gc&&(this.data=this.data.slice(this.data.length-gc))}get(){return this.data}clear(){this.data=""}}const lS=6e4,cS=1e3,dS=3e4,hS=["log","status","scripts","processes","reload","branch-status"];function uS({daemonBaseUrl:t,children:e}){const[s,i]=j.useState({ready:!1,htmlSupport:!1}),[n,o]=j.useState(!1),[a,l]=j.useState(!1),[c,d]=j.useState([]),[u,h]=j.useState([]),[f,m]=j.useState(null),[,p]=j.useState(0),g=j.useRef(new Map),_=j.useRef(new Set),v=j.useRef(new Set),x=y=>{let V=g.current.get(y);return V||(V=new aS,g.current.set(y,V)),V};j.useEffect(()=>{if(i({ready:!1,htmlSupport:!1}),o(!1),l(!1),d([]),h([]),m(null),g.current.clear(),!t)return;const y=`${t}/_decopilot_vm/events`;let V=!1,C=!1,S=0,w=null,k=null,T=null;const M=new AbortController;async function I(){try{const R=await fetch(y,{method:"GET",headers:{Accept:"text/event-stream"},cache:"no-store",signal:M.signal});if(R.body)try{await R.body.cancel()}catch{}return R.status===404}catch{return!1}}const E=()=>{k||(k=setTimeout(()=>{o(!0)},lS))},N=()=>{k&&(clearTimeout(k),k=null)},A=R=>{try{const P=JSON.parse(R.data);if(R.type==="log"&&typeof P.data=="string"){const O=P.source,z=P.data.replace(/\r?\n/g,`\r
|
|
704
|
-
`);x(O).append(z);for(const $ of _.current)try{$(O,z)}catch{}p($=>$+1)}else if(R.type==="status")i({ready:!!P.ready,htmlSupport:!!P.htmlSupport});else if(R.type==="scripts")d(P.scripts??[]);else if(R.type==="processes")h(P.active??[]);else if(R.type==="reload")for(const O of v.current)try{O()}catch{}else R.type==="branch-status"&&m({branch:String(P.branch??""),base:String(P.base??"main"),workingTreeDirty:!!P.workingTreeDirty,unpushed:Number(P.unpushed??0),aheadOfBase:Number(P.aheadOfBase??0),behindBase:Number(P.behindBase??0),headSha:String(P.headSha??"")})}catch{}};function D(){if(!V){T=new EventSource(y),T.onopen=()=>{S=0,N(),o(!1)},T.onerror=()=>{if(T?.readyState===EventSource.CLOSED){if(E(),C){L();return}C=!0,I().then(R=>{if(!V){if(R){l(!0);return}L()}})}};for(const R of hS)T.addEventListener(R,A)}}function L(){if(V||w)return;const R=Math.min(cS*2**S,dS);S++,w=setTimeout(()=>{w=null,!V&&(T?.close(),D())},R)}return D(),()=>{V=!0,M.abort(),T?.close(),w&&clearTimeout(w),N()}},[t]);const b={status:s,suspended:n,notFound:a,scripts:c,activeProcesses:u,branchStatus:f,getBuffer:y=>g.current.get(y)?.get()??"",hasData:y=>(g.current.get(y)?.get().length??0)>0,subscribeChunks:y=>(_.current.add(y),()=>{_.current.delete(y)}),subscribeReload:y=>(v.current.add(y),()=>{v.current.delete(y)})};return r.jsx(Au,{value:b,children:e})}function Ti(){return j.use(Au)}function fS(t){const{subscribeChunks:e}=Ti(),s=j.useRef(t);s.current=t,j.useEffect(()=>e((o,a)=>{s.current?.(o,a)}),[e])}function mS(t){const{subscribeReload:e}=Ti(),s=j.useRef(t);s.current=t,j.useEffect(()=>e(()=>{s.current?.()}),[e])}function Eu(t){const e=B.c(5),{onResume:s,label:i}=t,n=i===void 0?"Resume Server":i;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("p",{className:"text-sm text-muted-foreground",children:"VM suspended due to inactivity."}),e[0]=o):o=e[0];let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx(Hd,{size:14}),e[1]=a):a=e[1];let l;return e[2]!==n||e[3]!==s?(l=r.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full gap-4",children:[o,r.jsxs(oe,{onClick:s,children:[a,n]})]}),e[2]=n,e[3]=s,e[4]=l):l=e[4],l}const ao=[{key:"sandbox",label:"Setting up your workspace"},{key:"setup",label:"Installing packages"},{key:"server",label:"Starting your preview"}],ns="bg-foreground/[0.05]",Xt="bg-foreground/[0.09]",pS=Array.from({length:35},()=>Math.random()*1.8),gS=Array.from({length:35},()=>Math.random()<.4);function _S(t,e,s){return s.length>0?2:t||e.length>0?1:0}function xS(t){return t.replace(/\u001b\[[0-9;?]*[a-zA-Z]/g,"")}function vS(t,e){const s=[...e,"setup"];for(const i of s){const n=t(i);if(!n)continue;const o=xS(n).split(/\r\n|\r|\n/);for(let a=o.length-1;a>=0;a--){const l=o[a]?.trim();if(l)return l}}return null}function bS(t){const e=B.c(37),{hasSetupData:s,scripts:i,activeProcesses:n,onViewLogs:o}=t;let a;e[0]!==n||e[1]!==s||e[2]!==i?(a=_S(s,i,n),e[0]=n,e[1]=s,e[2]=i,e[3]=a):a=e[3];const l=a,c=ao[l]?.label??ao[0].label,{getBuffer:d}=Ti();let u;e[4]!==n||e[5]!==d?(u=vS(d,n),e[4]=n,e[5]=d,e[6]=u):u=e[6];const h=u;let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=r.jsx(Em,{}),e[7]=f):f=e[7];const m=ao[l]?.key??"sandbox";let p;e[8]!==c||e[9]!==m?(p=r.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-foreground/10 bg-background px-3.5 py-1.5 shadow-[0_4px_20px_-4px_rgb(0_0_0_/_0.12)]",children:[f,r.jsxs("span",{className:"text-[13px] font-medium text-foreground/85 animate-in fade-in duration-500",children:[c,"…"]},m)]}),e[8]=c,e[9]=m,e[10]=p):p=e[10];let g;e[11]===Symbol.for("react.memo_cache_sentinel")?(g=r.jsx(yS,{}),e[11]=g):g=e[11];let _;e[12]!==l?(_=r.jsx(lo,{phase:0,current:l,children:g}),e[12]=l,e[13]=_):_=e[13];let v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=r.jsx(SS,{}),e[14]=v):v=e[14];let x;e[15]!==l?(x=r.jsx(lo,{phase:1,current:l,children:v}),e[15]=l,e[16]=x):x=e[16];let b;e[17]===Symbol.for("react.memo_cache_sentinel")?(b=r.jsx(VS,{}),e[17]=b):b=e[17];let y;e[18]!==l?(y=r.jsx(lo,{phase:2,current:l,children:b}),e[18]=l,e[19]=y):y=e[19];let V;e[20]!==y||e[21]!==_||e[22]!==x?(V=r.jsxs("div",{className:"relative w-[min(78%,560px)] aspect-[4/3]",children:[_,x,y]}),e[20]=y,e[21]=_,e[22]=x,e[23]=V):V=e[23];let C;e[24]!==h?(C=h&&r.jsx("span",{className:"block w-full max-w-[440px] truncate text-center text-xs font-mono text-muted-foreground/45 animate-in fade-in duration-300",children:h},h),e[24]=h,e[25]=C):C=e[25];let S;e[26]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx(Ia,{size:11}),e[26]=S):S=e[26];let w;e[27]!==o?(w=r.jsxs("button",{type:"button",onClick:o,className:"flex items-center gap-1.5 text-xs text-muted-foreground/50 hover:text-muted-foreground transition-colors duration-200",children:[S,"View logs"]}),e[27]=o,e[28]=w):w=e[28];let k;e[29]!==C||e[30]!==w?(k=r.jsxs("div",{className:"absolute bottom-5 left-1/2 -translate-x-1/2 flex flex-col items-center gap-1 max-w-[80%] min-w-0",children:[C,w]}),e[29]=C,e[30]=w,e[31]=k):k=e[31];let T;e[32]===Symbol.for("react.memo_cache_sentinel")?(T=r.jsx("style",{children:`
|
|
705
|
-
@keyframes vm-pulse-soft {
|
|
706
|
-
0%, 100% { opacity: 0.25; }
|
|
707
|
-
50% { opacity: 1; }
|
|
708
|
-
}
|
|
709
|
-
@keyframes vm-breathe {
|
|
710
|
-
0%, 100% { opacity: 0.5; }
|
|
711
|
-
50% { opacity: 1; }
|
|
712
|
-
}
|
|
713
|
-
`}),e[32]=T):T=e[32];let M;return e[33]!==V||e[34]!==k||e[35]!==p?(M=r.jsxs("div",{className:"relative flex flex-col items-center justify-center w-full h-full overflow-hidden select-none gap-8",children:[p,V,k,T]}),e[33]=V,e[34]=k,e[35]=p,e[36]=M):M=e[36],M}function lo(t){const e=B.c(10),{phase:s,current:i,children:n}=t,o=s-i,a=o<0,l=o===0,c=a?90:o*-22,d=a?.94:1-Math.max(o,0)*.04,u=a?0:l?1:o===1?.8:.55,h=a?10:30-o,f=!l;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=Y("absolute inset-0 rounded-xl border border-foreground/10 bg-background shadow-[0_20px_60px_-20px_rgb(0_0_0_/_0.35)] overflow-hidden transition-all ease-[cubic-bezier(0.22,1,0.36,1)]"),e[0]=m):m=e[0];const p=`translateY(${c}px) scale(${d})`,g=l?"auto":"none";let _;e[1]!==u||e[2]!==p||e[3]!==g||e[4]!==h?(_={transform:p,opacity:u,zIndex:h,transitionDuration:"1000ms",pointerEvents:g},e[1]=u,e[2]=p,e[3]=g,e[4]=h,e[5]=_):_=e[5];let v;return e[6]!==n||e[7]!==f||e[8]!==_?(v=r.jsx("div",{"aria-hidden":f,className:m,style:_,children:n}),e[6]=n,e[7]=f,e[8]=_,e[9]=v):v=e[9],v}function il(t){const e=B.c(7),{showUrl:s}=t,i=s===void 0?!1:s;let n,o,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("div",{className:Y("w-2.5 h-2.5 rounded-full",Xt)}),o=r.jsx("div",{className:Y("w-2.5 h-2.5 rounded-full",Xt)}),a=r.jsx("div",{className:Y("w-2.5 h-2.5 rounded-full",Xt)}),e[0]=n,e[1]=o,e[2]=a):(n=e[0],o=e[1],a=e[2]);let l;e[3]!==i?(l=i&&r.jsx("div",{className:Y("ml-3 h-3.5 flex-1 max-w-[220px] rounded-sm",ns)}),e[3]=i,e[4]=l):l=e[4];let c;return e[5]!==l?(c=r.jsxs("div",{className:"h-7 flex items-center gap-1.5 px-3 shrink-0",children:[n,o,a,l]}),e[5]=l,e[6]=c):c=e[6],c}function yS(){const t=B.c(5);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(il,{}),t[0]=e):e=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx("div",{className:Y("w-[18%] rounded-md",ns),style:{animation:"vm-breathe 3s ease-in-out infinite"}}),t[1]=s):s=t[1];let i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("div",{className:"h-[42%] shrink-0 rounded-md bg-chart-3/[0.12]",style:{animation:"vm-breathe 3s ease-in-out 0.4s infinite"}}),t[2]=i):i=t[2];let n;t[3]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("div",{className:"col-span-3 rounded-md bg-chart-3/[0.12]",style:{animation:"vm-breathe 3s ease-in-out 0.8s infinite"}}),t[3]=n):n=t[3];let o;return t[4]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsxs("div",{className:"flex h-full flex-col",children:[e,r.jsxs("div",{className:"flex flex-1 min-h-0 gap-1.5 p-3",children:[s,r.jsxs("div",{className:"flex-1 flex flex-col gap-1.5 min-w-0",children:[i,r.jsxs("div",{className:"flex-1 grid grid-cols-5 gap-1.5 min-h-0",children:[n,r.jsxs("div",{className:"col-span-2 grid grid-rows-2 gap-1.5",children:[r.jsx("div",{className:Y("rounded-md",ns),style:{animation:"vm-breathe 3s ease-in-out 1.2s infinite"}}),r.jsx("div",{className:Y("rounded-md",ns),style:{animation:"vm-breathe 3s ease-in-out 1.6s infinite"}})]})]})]})]})]}),t[4]=o):o=t[4],o}function SS(){const t=B.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(il,{}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsxs("div",{className:"flex h-full flex-col",children:[e,r.jsx("div",{className:"relative flex-1 flex items-center justify-center px-8 py-5",children:r.jsx("div",{className:"grid gap-2 w-full",style:{gridTemplateColumns:"repeat(7, minmax(0, 1fr))"},children:pS.map(wS)})})]}),t[1]=s):s=t[1],s}function wS(t,e){return r.jsx("div",{className:Y("aspect-square rounded-md",gS[e]?"bg-chart-2/70":Xt),style:{animation:`vm-pulse-soft 2.2s ease-in-out ${t}s infinite`}},e)}function VS(){const t=B.c(11);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(il,{showUrl:!0}),t[0]=e):e=t[0];let s,i,n,o,a;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx("div",{className:"h-5 rounded-md mb-2 bg-chart-1/[0.10]"}),i=r.jsx("div",{className:Y("h-1.5 rounded-sm w-[70%]",Xt)}),n=r.jsx("div",{className:Y("h-1.5 rounded-sm w-[55%]",Xt)}),o=r.jsx("div",{className:Y("h-1.5 rounded-sm w-[80%]",Xt)}),a=r.jsx("div",{className:Y("h-1.5 rounded-sm w-[50%]",Xt)}),t[1]=s,t[2]=i,t[3]=n,t[4]=o,t[5]=a):(s=t[1],i=t[2],n=t[3],o=t[4],a=t[5]);let l;t[6]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsxs("div",{className:"w-[18%] p-2.5 flex flex-col gap-1.5 shrink-0 bg-chart-1/[0.05]",children:[s,i,n,o,a,r.jsx("div",{className:"mt-auto",children:r.jsx("div",{className:Y("h-4 rounded-md",Xt)})})]}),t[6]=l):l=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx("div",{className:"relative h-[42%] shrink-0 overflow-hidden bg-chart-1/[0.10]",children:r.jsxs("div",{className:"absolute bottom-3 left-3 right-3 space-y-1.5",children:[r.jsx("div",{className:"h-3 rounded-sm w-[35%] bg-chart-1/[0.15]"}),r.jsx("div",{className:Y("h-1.5 rounded-sm w-[55%]",ns)})]})}),t[7]=c):c=t[7];let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsxs("div",{className:"flex gap-1.5 shrink-0",children:[r.jsx("div",{className:"h-4 w-12 rounded-full bg-chart-1/[0.12]"}),r.jsx("div",{className:Y("h-4 w-10 rounded-full",ns)}),r.jsx("div",{className:Y("h-4 w-14 rounded-full",ns)})]}),t[8]=d):d=t[8];let u;t[9]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsxs("div",{className:Y("col-span-3 rounded-md flex flex-col justify-end p-2 gap-1",ns),children:[r.jsx("div",{className:Y("h-1.5 w-[50%] rounded-sm",Xt)}),r.jsx("div",{className:Y("h-1 w-[75%] rounded-sm",Xt)})]}),t[9]=u):u=t[9];let h;return t[10]===Symbol.for("react.memo_cache_sentinel")?(h=r.jsxs("div",{className:"flex h-full flex-col",children:[e,r.jsxs("div",{className:"flex flex-1 min-h-0",children:[l,r.jsxs("div",{className:"flex-1 min-w-0 flex flex-col",children:[c,r.jsxs("div",{className:"flex-1 p-3 flex flex-col gap-2.5 min-h-0",children:[d,r.jsxs("div",{className:"flex-1 grid grid-cols-5 gap-2 min-h-0",children:[u,r.jsxs("div",{className:"col-span-2 grid grid-rows-2 gap-2",children:[r.jsx("div",{className:Y("rounded-md",ns)}),r.jsx("div",{className:Y("rounded-md",ns)})]})]})]})]})]})]}),t[10]=h):h=t[10],h}function Iu(t){const e=B.c(21),{errorMsg:s,onRetry:i}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsxs("div",{className:"absolute top-8 left-1/2 -translate-x-1/2 z-20 flex items-center gap-2 rounded-full border border-destructive/30 bg-background/80 px-3.5 py-1.5 shadow-[0_4px_20px_-4px_rgb(0_0_0_/_0.12)] backdrop-blur-md",children:[r.jsx(Bs,{size:13,className:"text-destructive/80"}),r.jsx("span",{className:"text-[13px] font-medium text-destructive/90",children:"Failed to start"})]}),e[0]=n):n=e[0];let o,a;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("div",{className:"absolute left-[8%] right-[8%] -top-5 h-full rounded-xl border border-foreground/[0.05] bg-foreground/[0.015]"}),a=r.jsx("div",{className:"absolute left-[4%] right-[4%] -top-2.5 h-full rounded-xl border border-foreground/[0.07] bg-foreground/[0.025]"}),e[1]=o,e[2]=a):(o=e[1],a=e[2]);let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsxs("div",{className:"h-7 border-b border-foreground/[0.08] bg-foreground/[0.015] flex items-center gap-1.5 px-3",children:[r.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-foreground/10"}),r.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-foreground/10"}),r.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-foreground/10"}),r.jsx("div",{className:"ml-3 h-3.5 flex-1 max-w-[240px] rounded-sm bg-foreground/[0.04]"})]}),e[3]=l):l=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx(Bs,{size:14,className:"text-destructive/80 mt-0.5 shrink-0"}),e[4]=c):c=e[4];let d;e[5]!==s?(d=r.jsxs("div",{className:"flex items-start gap-2",children:[c,r.jsx("p",{className:"text-xs text-destructive/80 line-clamp-5 break-all leading-relaxed font-mono",children:s})]}),e[5]=s,e[6]=d):d=e[6];let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(kd,{size:12}),e[7]=u):u=e[7];let h;e[8]!==i?(h=r.jsxs(oe,{variant:"outline",size:"sm",onClick:i,children:[u,"Retry"]}),e[8]=i,e[9]=h):h=e[9];let f;e[10]!==s?(f=()=>navigator.clipboard.writeText(s).then(CS),e[10]=s,e[11]=f):f=e[11];let m;e[12]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx(Si,{size:10}),e[12]=m):m=e[12];let p;e[13]!==f?(p=r.jsxs("button",{type:"button",onClick:f,className:"flex items-center gap-1 text-[11px] text-muted-foreground/60 hover:text-muted-foreground transition-colors duration-200",children:[m,"Copy error"]}),e[13]=f,e[14]=p):p=e[14];let g;e[15]!==p||e[16]!==h?(g=r.jsxs("div",{className:"flex items-center gap-2",children:[h,p]}),e[15]=p,e[16]=h,e[17]=g):g=e[17];let _;return e[18]!==g||e[19]!==d?(_=r.jsxs("div",{className:"relative flex flex-col items-center justify-center w-full h-full overflow-hidden select-none",children:[n,r.jsxs("div",{className:"relative w-[min(78%,560px)] aspect-[4/3] mt-6 opacity-60",children:[o,a,r.jsxs("div",{className:"relative w-full h-full rounded-xl border border-foreground/10 bg-background shadow-[0_20px_60px_-20px_rgb(0_0_0_/_0.35)] overflow-hidden",children:[l,r.jsx("div",{className:"flex items-center justify-center p-6 h-[calc(100%-1.75rem)]",children:r.jsxs("div",{className:"w-full max-w-sm rounded-lg border border-destructive/20 bg-destructive/[0.03] p-4 space-y-3",children:[d,g]})})]})]})]}),e[18]=g,e[19]=d,e[20]=_):_=e[20],_}function CS(){he.success("Error copied to clipboard")}const kS=[{value:"preview",icon:r.jsx(Kd,{size:14}),tooltip:"Interactive"},{value:"visual",icon:r.jsx(qd,{size:14}),tooltip:"Visual Editor"}];function jS(){const t=ml(),{data:e}=dt.useSession(),{openEnv:s}=eS(),{taskId:i,currentBranch:n,setCurrentTaskBranch:o}=Lt(),[a,l]=j.useState("preview"),[c,d]=j.useState(null),u=j.useRef(null),h=e?.user?.id,f=t?.entity?.metadata,m=h&&n?f?.vmMap?.[h]?.[n]:void 0,p=m?.previewUrl??null,g=Ti();mS(()=>{const F=u.current;F&&(F.src=F.src)});const _=g.status.htmlSupport,v=g.suspended,x=j.useRef({url:"",at:0,ready:!1});p&&x.current.url!==p&&(x.current={url:p,at:m?.createdAt??Date.now(),ready:!1}),p&&g.status.ready&&!x.current.ready&&(x.current.ready=!0);const b=!!p&&!x.current.ready&&!v,y=j.useRef(0),V=t?.entity?.id??null,C=Ae({connectionId:yt,orgId:t?.entity?.organization_id??""}),S=el(C),w=S.error?.message??null;S.isPending?y.current||(y.current=Date.now()):p&&(y.current=0);const k=S.isPending&&!p&&!v,T=j.useRef(null),M=j.useRef(null),I=F=>{if(!V)return;const W={virtualMcpId:V};n&&(W.branch=n),S.mutate(W,{onSuccess:H=>{H?.branch&&!n&&o(H.branch)},onError:H=>{console.error(`[preview] ${F} VM_START failed`,H)}})},E=j.useRef(I);E.current=I,i&&m&&T.current!==i&&(T.current=i);const N=!!i&&!!V&&!!h&&!!n&&!m&&!w&&!S.isPending&&T.current!==i;j.useEffect(()=>{!N||!i||(T.current=i,E.current("auto-start"))},[N,i]);const A=g.notFound?m?.vmId??null:null;j.useEffect(()=>{!A||!V||w||S.isPending||M.current!==A&&(M.current=A,E.current("self-heal"))},[A,V,w,S.isPending]);const D=()=>{T.current=null,M.current=null,S.reset(),E.current("auto-start")};j.useEffect(()=>{if(!p)return;let F;try{F=new URL(p,window.location.href).origin}catch{return}const W=H=>{if(H.origin!==F||H.data?.type!=="visual-editor::element-clicked")return;const U=tS.safeParse(H.data.payload);U.success&&d(U.data)};return window.addEventListener("message",W),()=>window.removeEventListener("message",W)},[p]);const L=()=>{const F=u.current?.contentWindow;F&&F.postMessage({type:"visual-editor::activate",script:sS},"*")},R=()=>{const F=u.current?.contentWindow;F&&F.postMessage({type:"visual-editor::deactivate"},"*")},P=F=>{l(F),d(null),F==="visual"?L():R()},O=()=>{if(!u.current)return;const F=u.current;F.src=F.src},z=()=>{if(!u.current||!p)return;const F=p.includes("?")?"&":"?";u.current.src=`${p}${F}_r=${Date.now()}`},$=()=>{const F=u.current?.contentWindow?.location?.href??p;F&&navigator.clipboard.writeText(F)},q=(()=>{if(!p)return"No server running";try{const F=new URL(p);return`${F.host}${F.pathname==="/"?"":F.pathname}`}catch{return p}})();return r.jsxs("div",{className:"flex flex-col w-full h-full",children:[p&&r.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-4 border-b border-border/60 px-3 md:px-4",children:[_&&r.jsx(Ng,{value:a,onValueChange:P,options:kS,size:"sm",className:"shrink-0 bg-foreground/[0.045]"}),r.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-0.5",children:[r.jsxs(Ye,{children:[r.jsx(qe,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>u.current?.contentWindow?.history.back(),children:r.jsx(Pa,{size:14})})}),r.jsx(Ge,{side:"bottom",children:"Back"})]}),r.jsxs(Ye,{children:[r.jsx(qe,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>u.current?.contentWindow?.history.forward(),children:r.jsx(In,{size:14})})}),r.jsx(Ge,{side:"bottom",children:"Forward"})]}),r.jsxs(Ye,{children:[r.jsx(qe,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",onClick:O,children:r.jsx(kd,{size:14})})}),r.jsx(Ge,{side:"bottom",children:"Refresh"})]}),r.jsx("div",{className:"flex h-8 min-w-0 flex-1 items-center rounded-md bg-background px-2 transition-colors duration-200 hover:bg-accent",children:r.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px] text-foreground/88",children:q})})]}),r.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[r.jsxs(Ye,{children:[r.jsx(qe,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>window.open(p,"_blank","noopener"),children:r.jsx(oi,{size:14})})}),r.jsx(Ge,{side:"bottom",children:"Open in new tab"})]}),r.jsxs(cs,{children:[r.jsx(ds,{asChild:!0,children:r.jsx(oe,{variant:"ghost",size:"icon",children:r.jsx(Wd,{size:14})})}),r.jsxs(hs,{align:"end",children:[r.jsx(Qe,{onClick:z,children:"Hard Reload"}),r.jsx(Qe,{onClick:$,children:"Copy Current URL"})]})]})]})]}),r.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[!p&&!k&&!w&&r.jsxs("div",{className:"absolute inset-0 z-30 flex flex-col items-center justify-center gap-4 bg-background",children:[r.jsx(Kd,{size:48,className:"text-muted-foreground/40"}),r.jsx("h3",{className:"text-lg font-medium",children:"Preview"}),r.jsx("p",{className:"text-sm text-muted-foreground text-center max-w-sm",children:"Start the development server to see a live preview"}),r.jsxs(oe,{onClick:s,children:[r.jsx(Hd,{size:14}),"Start Server"]})]}),w&&r.jsx("div",{className:"absolute inset-0 z-40 flex items-center justify-center bg-background",children:r.jsx(Iu,{errorMsg:w,onRetry:D})}),!w&&v&&r.jsx("div",{className:"absolute inset-0 z-30 bg-background/80 backdrop-blur-sm",children:r.jsx(Eu,{onResume:s})}),!w&&(b||k)&&r.jsx("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-background",children:r.jsx(bS,{since:b?x.current.at:y.current,hasSetupData:g.hasData("setup"),scripts:g.scripts,activeProcesses:g.activeProcesses,onViewLogs:s})}),a==="visual"&&!c&&r.jsxs("div",{className:"absolute top-2 left-1/2 -translate-x-1/2 z-20 flex items-center gap-1.5 rounded-full border border-violet-400/40 bg-violet-500/90 px-3 py-1 text-xs font-medium text-white shadow-md backdrop-blur-sm pointer-events-none select-none",children:[r.jsx(qd,{size:12}),"Click any element to ask the AI"]}),a==="visual"&&c&&r.jsx(nS,{element:c,onDismiss:()=>d(null)}),p&&!b&&r.jsx("iframe",{ref:u,src:p,className:"w-full h-full border-0",title:"Dev Server Preview",onLoad:()=>{re("vm_preview_loaded",{view_mode:a,vm_id:m?.vmId??null}),a==="visual"&&L()}},p)]})]})}function NS(t){const e=B.c(2),{virtualMcpId:s}=t,i=$t(s);if(!(i?bs(i):null)){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[r.jsx(Bs,{size:24,className:"text-muted-foreground/60"}),r.jsx("div",{children:"No repository connected."}),r.jsx("div",{className:"text-xs text-muted-foreground/80",children:"Connect a GitHub repository from the Connections tab to enable Preview."})]}),e[0]=a):a=e[0],a}let o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx(jS,{}),e[1]=o):o=e[1],o}var Tu=Object.defineProperty,AS=Object.getOwnPropertyDescriptor,ES=(t,e)=>{for(var s in e)Tu(t,s,{get:e[s],enumerable:!0})},$e=(t,e,s,i)=>{for(var n=i>1?void 0:i?AS(e,s):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(n=(i?a(e,s,n):a(n))||n);return i&&n&&Tu(e,s,n),n},le=(t,e)=>(s,i)=>e(s,i,t),_c="Terminal input",$o={get:()=>_c,set:t=>_c=t},xc="Too much output to announce, navigate to rows manually to read",zo={get:()=>xc,set:t=>xc=t};function IS(t){return t.replace(/\r?\n/g,"\r")}function TS(t,e){return e?"\x1B[200~"+t+"\x1B[201~":t}function RS(t,e){t.clipboardData&&t.clipboardData.setData("text/plain",e.selectionText),t.preventDefault()}function MS(t,e,s,i){if(t.stopPropagation(),t.clipboardData){let n=t.clipboardData.getData("text/plain");Ru(n,e,s,i)}}function Ru(t,e,s,i){t=IS(t),t=TS(t,s.decPrivateModes.bracketedPasteMode&&i.rawOptions.ignoreBracketedPasteMode!==!0),s.triggerDataEvent(t,!0),e.value=""}function Mu(t,e,s){let i=s.getBoundingClientRect(),n=t.clientX-i.left-10,o=t.clientY-i.top-10;e.style.width="20px",e.style.height="20px",e.style.left=`${n}px`,e.style.top=`${o}px`,e.style.zIndex="1000",e.focus()}function vc(t,e,s,i,n){Mu(t,e,s),n&&i.rightClickSelect(t),e.value=i.selectionText,e.select()}function As(t){return t>65535?(t-=65536,String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)}function $n(t,e=0,s=t.length){let i="";for(let n=e;n<s;++n){let o=t[n];o>65535?(o-=65536,i+=String.fromCharCode((o>>10)+55296)+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i}var DS=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,e){let s=t.length;if(!s)return 0;let i=0,n=0;if(this._interim){let o=t.charCodeAt(n++);56320<=o&&o<=57343?e[i++]=(this._interim-55296)*1024+o-56320+65536:(e[i++]=this._interim,e[i++]=o),this._interim=0}for(let o=n;o<s;++o){let a=t.charCodeAt(o);if(55296<=a&&a<=56319){if(++o>=s)return this._interim=a,i;let l=t.charCodeAt(o);56320<=l&&l<=57343?e[i++]=(a-55296)*1024+l-56320+65536:(e[i++]=a,e[i++]=l);continue}a!==65279&&(e[i++]=a)}return i}},PS=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,e){let s=t.length;if(!s)return 0;let i=0,n,o,a,l,c=0,d=0;if(this.interim[0]){let f=!1,m=this.interim[0];m&=(m&224)===192?31:(m&240)===224?15:7;let p=0,g;for(;(g=this.interim[++p]&63)&&p<4;)m<<=6,m|=g;let _=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,v=_-p;for(;d<v;){if(d>=s)return 0;if(g=t[d++],(g&192)!==128){d--,f=!0;break}else this.interim[p++]=g,m<<=6,m|=g&63}f||(_===2?m<128?d--:e[i++]=m:_===3?m<2048||m>=55296&&m<=57343||m===65279||(e[i++]=m):m<65536||m>1114111||(e[i++]=m)),this.interim.fill(0)}let u=s-4,h=d;for(;h<s;){for(;h<u&&!((n=t[h])&128)&&!((o=t[h+1])&128)&&!((a=t[h+2])&128)&&!((l=t[h+3])&128);)e[i++]=n,e[i++]=o,e[i++]=a,e[i++]=l,h+=4;if(n=t[h++],n<128)e[i++]=n;else if((n&224)===192){if(h>=s)return this.interim[0]=n,i;if(o=t[h++],(o&192)!==128){h--;continue}if(c=(n&31)<<6|o&63,c<128){h--;continue}e[i++]=c}else if((n&240)===224){if(h>=s)return this.interim[0]=n,i;if(o=t[h++],(o&192)!==128){h--;continue}if(h>=s)return this.interim[0]=n,this.interim[1]=o,i;if(a=t[h++],(a&192)!==128){h--;continue}if(c=(n&15)<<12|(o&63)<<6|a&63,c<2048||c>=55296&&c<=57343||c===65279)continue;e[i++]=c}else if((n&248)===240){if(h>=s)return this.interim[0]=n,i;if(o=t[h++],(o&192)!==128){h--;continue}if(h>=s)return this.interim[0]=n,this.interim[1]=o,i;if(a=t[h++],(a&192)!==128){h--;continue}if(h>=s)return this.interim[0]=n,this.interim[1]=o,this.interim[2]=a,i;if(l=t[h++],(l&192)!==128){h--;continue}if(c=(n&7)<<18|(o&63)<<12|(a&63)<<6|l&63,c<65536||c>1114111)continue;e[i++]=c}}return i}},Du="",Is=" ",Ar=class Pu{constructor(){this.fg=0,this.bg=0,this.extended=new vn}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let e=new Pu;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},vn=class Lu{constructor(e=0,s=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=s}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new Lu(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Kt=class Ou extends Ar{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new vn,this.combinedData=""}static fromCharData(e){let s=new Ou;return s.setFromCharData(e),s}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?As(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let s=!1;if(e[1].length>2)s=!0;else if(e[1].length===2){let i=e[1].charCodeAt(0);if(55296<=i&&i<=56319){let n=e[1].charCodeAt(1);56320<=n&&n<=57343?this.content=(i-55296)*1024+n-56320+65536|e[2]<<22:s=!0}else s=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;s&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},bc="di$target",Fo="di$dependencies",co=new Map;function LS(t){return t[Fo]||[]}function lt(t){if(co.has(t))return co.get(t);let e=function(s,i,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");OS(e,s,n)};return e._id=t,co.set(t,e),e}function OS(t,e,s){e[bc]===e?e[Fo].push({id:t,index:s}):(e[Fo]=[{id:t,index:s}],e[bc]=e)}var wt=lt("BufferService"),Bu=lt("CoreMouseService"),ai=lt("CoreService"),BS=lt("CharsetService"),rl=lt("InstantiationService"),$u=lt("LogService"),Vt=lt("OptionsService"),zu=lt("OscLinkService"),$S=lt("UnicodeService"),Er=lt("DecorationService"),Uo=class{constructor(t,e,s){this._bufferService=t,this._optionsService=e,this._oscLinkService=s}provideLinks(t,e){let s=this._bufferService.buffer.lines.get(t-1);if(!s){e(void 0);return}let i=[],n=this._optionsService.rawOptions.linkHandler,o=new Kt,a=s.getTrimmedLength(),l=-1,c=-1,d=!1;for(let u=0;u<a;u++)if(!(c===-1&&!s.hasContent(u))){if(s.loadCell(u,o),o.hasExtendedAttrs()&&o.extended.urlId)if(c===-1){c=u,l=o.extended.urlId;continue}else d=o.extended.urlId!==l;else c!==-1&&(d=!0);if(d||c!==-1&&u===a-1){let h=this._oscLinkService.getLinkData(l)?.uri;if(h){let f={start:{x:c+1,y:t},end:{x:u+(!d&&u===a-1?1:0),y:t}},m=!1;if(!n?.allowNonHttpProtocols)try{let p=new URL(h);["http:","https:"].includes(p.protocol)||(m=!0)}catch{m=!0}m||i.push({text:h,range:f,activate:(p,g)=>n?n.activate(p,g,f):zS(p,g),hover:(p,g)=>n?.hover?.(p,g,f),leave:(p,g)=>n?.leave?.(p,g,f)})}d=!1,o.hasExtendedAttrs()&&o.extended.urlId?(c=u,l=o.extended.urlId):(c=-1,l=-1)}}e(i)}};Uo=$e([le(0,wt),le(1,Vt),le(2,zu)],Uo);function zS(t,e){if(confirm(`Do you want to navigate to ${e}?
|
|
714
|
-
|
|
715
|
-
WARNING: This link could potentially be dangerous`)){let s=window.open();if(s){try{s.opener=null}catch{}s.location.href=e}else console.warn("Opening link blocked as opener could not be cleared")}}var zn=lt("CharSizeService"),ys=lt("CoreBrowserService"),nl=lt("MouseService"),Ss=lt("RenderService"),FS=lt("SelectionService"),Fu=lt("CharacterJoinerService"),Ri=lt("ThemeService"),Uu=lt("LinkProviderService"),US=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?yc.isErrorNoTelemetry(t)?new yc(t.message+`
|
|
716
|
-
|
|
717
|
-
`+t.stack):new Error(t.message+`
|
|
718
|
-
|
|
719
|
-
`+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},HS=new US;function nn(t){WS(t)||HS.onUnexpectedError(t)}var Ho="Canceled";function WS(t){return t instanceof KS?!0:t instanceof Error&&t.name===Ho&&t.message===Ho}var KS=class extends Error{constructor(){super(Ho),this.name=this.message}};function qS(t){return new Error(`Illegal argument: ${t}`)}var yc=class Wo extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof Wo)return e;let s=new Wo;return s.message=e.message,s.stack=e.stack,s}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},Ko=class Hu extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Hu.prototype)}};function It(t,e=0){return t[t.length-(1+e)]}var GS;(t=>{function e(o){return o<0}t.isLessThan=e;function s(o){return o<=0}t.isLessThanOrEqual=s;function i(o){return o>0}t.isGreaterThan=i;function n(o){return o===0}t.isNeitherLessOrGreaterThan=n,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(GS||={});function YS(t,e){let s=this,i=!1,n;return function(){return i||(i=!0,e||(n=t.apply(s,arguments))),n}}var Wu;(t=>{function e(y){return y&&typeof y=="object"&&typeof y[Symbol.iterator]=="function"}t.is=e;let s=Object.freeze([]);function i(){return s}t.empty=i;function*n(y){yield y}t.single=n;function o(y){return e(y)?y:n(y)}t.wrap=o;function a(y){return y||s}t.from=a;function*l(y){for(let V=y.length-1;V>=0;V--)yield y[V]}t.reverse=l;function c(y){return!y||y[Symbol.iterator]().next().done===!0}t.isEmpty=c;function d(y){return y[Symbol.iterator]().next().value}t.first=d;function u(y,V){let C=0;for(let S of y)if(V(S,C++))return!0;return!1}t.some=u;function h(y,V){for(let C of y)if(V(C))return C}t.find=h;function*f(y,V){for(let C of y)V(C)&&(yield C)}t.filter=f;function*m(y,V){let C=0;for(let S of y)yield V(S,C++)}t.map=m;function*p(y,V){let C=0;for(let S of y)yield*V(S,C++)}t.flatMap=p;function*g(...y){for(let V of y)yield*V}t.concat=g;function _(y,V,C){let S=C;for(let w of y)S=V(S,w);return S}t.reduce=_;function*v(y,V,C=y.length){for(V<0&&(V+=y.length),C<0?C+=y.length:C>y.length&&(C=y.length);V<C;V++)yield y[V]}t.slice=v;function x(y,V=Number.POSITIVE_INFINITY){let C=[];if(V===0)return[C,y];let S=y[Symbol.iterator]();for(let w=0;w<V;w++){let k=S.next();if(k.done)return[C,t.empty()];C.push(k.value)}return[C,{[Symbol.iterator](){return S}}]}t.consume=x;async function b(y){let V=[];for await(let C of y)V.push(C);return Promise.resolve(V)}t.asyncToArray=b})(Wu||={});function Qs(t){if(Wu.is(t)){let e=[];for(let s of t)if(s)try{s.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function XS(...t){return Me(()=>Qs(t))}function Me(t){return{dispose:YS(()=>{t()})}}var Ku=class qu{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Qs(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?qu.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),void 0)}};Ku.DISABLE_DISPOSED_WARNING=!1;var Ps=Ku,we=class{constructor(){this._store=new Ps,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}};we.None=Object.freeze({dispose(){}});var ki=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t}},vs=typeof window=="object"?window:globalThis,qo=class Go{constructor(e){this.element=e,this.next=Go.Undefined,this.prev=Go.Undefined}};qo.Undefined=new qo(void 0);var Pe=qo,Sc=class{constructor(){this._first=Pe.Undefined,this._last=Pe.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Pe.Undefined}clear(){let t=this._first;for(;t!==Pe.Undefined;){let e=t.next;t.prev=Pe.Undefined,t.next=Pe.Undefined,t=e}this._first=Pe.Undefined,this._last=Pe.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let s=new Pe(t);if(this._first===Pe.Undefined)this._first=s,this._last=s;else if(e){let n=this._last;this._last=s,s.prev=n,n.next=s}else{let n=this._first;this._first=s,s.next=n,n.prev=s}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(s))}}shift(){if(this._first!==Pe.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Pe.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Pe.Undefined&&t.next!==Pe.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===Pe.Undefined&&t.next===Pe.Undefined?(this._first=Pe.Undefined,this._last=Pe.Undefined):t.next===Pe.Undefined?(this._last=this._last.prev,this._last.next=Pe.Undefined):t.prev===Pe.Undefined&&(this._first=this._first.next,this._first.prev=Pe.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Pe.Undefined;)yield t.element,t=t.next}},JS=globalThis.performance&&typeof globalThis.performance.now=="function",QS=class Gu{static create(e){return new Gu(e)}constructor(e){this._now=JS&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},ct;(t=>{t.None=()=>we.None;function e(I,E){return h(I,()=>{},0,void 0,!0,void 0,E)}t.defer=e;function s(I){return(E,N=null,A)=>{let D=!1,L;return L=I(R=>{if(!D)return L?L.dispose():D=!0,E.call(N,R)},null,A),D&&L.dispose(),L}}t.once=s;function i(I,E,N){return d((A,D=null,L)=>I(R=>A.call(D,E(R)),null,L),N)}t.map=i;function n(I,E,N){return d((A,D=null,L)=>I(R=>{E(R),A.call(D,R)},null,L),N)}t.forEach=n;function o(I,E,N){return d((A,D=null,L)=>I(R=>E(R)&&A.call(D,R),null,L),N)}t.filter=o;function a(I){return I}t.signal=a;function l(...I){return(E,N=null,A)=>{let D=XS(...I.map(L=>L(R=>E.call(N,R))));return u(D,A)}}t.any=l;function c(I,E,N,A){let D=N;return i(I,L=>(D=E(D,L),D),A)}t.reduce=c;function d(I,E){let N,A={onWillAddFirstListener(){N=I(D.fire,D)},onDidRemoveLastListener(){N?.dispose()}},D=new ne(A);return E?.add(D),D.event}function u(I,E){return E instanceof Array?E.push(I):E&&E.add(I),I}function h(I,E,N=100,A=!1,D=!1,L,R){let P,O,z,$=0,q,F={leakWarningThreshold:L,onWillAddFirstListener(){P=I(H=>{$++,O=E(O,H),A&&!z&&(W.fire(O),O=void 0),q=()=>{let U=O;O=void 0,z=void 0,(!A||$>1)&&W.fire(U),$=0},typeof N=="number"?(clearTimeout(z),z=setTimeout(q,N)):z===void 0&&(z=0,queueMicrotask(q))})},onWillRemoveListener(){D&&$>0&&q?.()},onDidRemoveLastListener(){q=void 0,P.dispose()}},W=new ne(F);return R?.add(W),W.event}t.debounce=h;function f(I,E=0,N){return t.debounce(I,(A,D)=>A?(A.push(D),A):[D],E,void 0,!0,void 0,N)}t.accumulate=f;function m(I,E=(A,D)=>A===D,N){let A=!0,D;return o(I,L=>{let R=A||!E(L,D);return A=!1,D=L,R},N)}t.latch=m;function p(I,E,N){return[t.filter(I,E,N),t.filter(I,A=>!E(A),N)]}t.split=p;function g(I,E=!1,N=[],A){let D=N.slice(),L=I(O=>{D?D.push(O):P.fire(O)});A&&A.add(L);let R=()=>{D?.forEach(O=>P.fire(O)),D=null},P=new ne({onWillAddFirstListener(){L||(L=I(O=>P.fire(O)),A&&A.add(L))},onDidAddFirstListener(){D&&(E?setTimeout(R):R())},onDidRemoveLastListener(){L&&L.dispose(),L=null}});return A&&A.add(P),P.event}t.buffer=g;function _(I,E){return(N,A,D)=>{let L=E(new x);return I(function(R){let P=L.evaluate(R);P!==v&&N.call(A,P)},void 0,D)}}t.chain=_;let v=Symbol("HaltChainable");class x{constructor(){this.steps=[]}map(E){return this.steps.push(E),this}forEach(E){return this.steps.push(N=>(E(N),N)),this}filter(E){return this.steps.push(N=>E(N)?N:v),this}reduce(E,N){let A=N;return this.steps.push(D=>(A=E(A,D),A)),this}latch(E=(N,A)=>N===A){let N=!0,A;return this.steps.push(D=>{let L=N||!E(D,A);return N=!1,A=D,L?D:v}),this}evaluate(E){for(let N of this.steps)if(E=N(E),E===v)break;return E}}function b(I,E,N=A=>A){let A=(...P)=>R.fire(N(...P)),D=()=>I.on(E,A),L=()=>I.removeListener(E,A),R=new ne({onWillAddFirstListener:D,onDidRemoveLastListener:L});return R.event}t.fromNodeEventEmitter=b;function y(I,E,N=A=>A){let A=(...P)=>R.fire(N(...P)),D=()=>I.addEventListener(E,A),L=()=>I.removeEventListener(E,A),R=new ne({onWillAddFirstListener:D,onDidRemoveLastListener:L});return R.event}t.fromDOMEventEmitter=y;function V(I){return new Promise(E=>s(I)(E))}t.toPromise=V;function C(I){let E=new ne;return I.then(N=>{E.fire(N)},()=>{E.fire(void 0)}).finally(()=>{E.dispose()}),E.event}t.fromPromise=C;function S(I,E){return I(N=>E.fire(N))}t.forward=S;function w(I,E,N){return E(N),I(A=>E(A))}t.runAndSubscribe=w;class k{constructor(E,N){this._observable=E,this._counter=0,this._hasChanged=!1;let A={onWillAddFirstListener:()=>{E.addObserver(this)},onDidRemoveLastListener:()=>{E.removeObserver(this)}};this.emitter=new ne(A),N&&N.add(this.emitter)}beginUpdate(E){this._counter++}handlePossibleChange(E){}handleChange(E,N){this._hasChanged=!0}endUpdate(E){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function T(I,E){return new k(I,E).emitter.event}t.fromObservable=T;function M(I){return(E,N,A)=>{let D=0,L=!1,R={beginUpdate(){D++},endUpdate(){D--,D===0&&(I.reportChanges(),L&&(L=!1,E.call(N)))},handlePossibleChange(){},handleChange(){L=!0}};I.addObserver(R),I.reportChanges();let P={dispose(){I.removeObserver(R)}};return A instanceof Ps?A.add(P):Array.isArray(A)&&A.push(P),P}}t.fromObservableLight=M})(ct||={});var Yo=class Xo{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${Xo._idPool++}`,Xo.all.add(this)}start(e){this._stopWatch=new QS,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};Yo.all=new Set,Yo._idPool=0;var ZS=Yo,ew=-1,Yu=class Xu{constructor(e,s,i=(Xu._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=s,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,s){let i=this.threshold;if(i<=0||s<i)return;this._stacks||(this._stacks=new Map);let n=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,n+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=i*.5;let[o,a]=this.getMostFrequentStack(),l=`[${this.name}] potential listener LEAK detected, having ${s} listeners already. MOST frequent listener (${a}):`;console.warn(l),console.warn(o);let c=new iw(l,o);this._errorHandler(c)}return()=>{let o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,s=0;for(let[i,n]of this._stacks)(!e||s<n)&&(e=[i,n],s=n);return e}};Yu._idPool=1;var tw=Yu,sw=class Ju{constructor(e){this.value=e}static create(){let e=new Error;return new Ju(e.stack??"")}print(){console.warn(this.value.split(`
|
|
720
|
-
`).slice(2).join(`
|
|
721
|
-
`))}},iw=class extends Error{constructor(t,e){super(t),this.name="ListenerLeakError",this.stack=e}},rw=class extends Error{constructor(t,e){super(t),this.name="ListenerRefusalError",this.stack=e}},nw=0,ho=class{constructor(t){this.value=t,this.id=nw++}},ow=2,aw,ne=class{constructor(t){this._size=0,this._options=t,this._leakageMon=this._options?.leakWarningThreshold?new tw(t?.onListenerError??nn,this._options?.leakWarningThreshold??ew):void 0,this._perfMon=this._options?._profName?new ZS(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(t,e,s)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let a=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(a);let l=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new rw(`${a}. HINT: Stack shows most frequent listener (${l[1]}-times)`,l[0]);return(this._options?.onListenerError||nn)(c),we.None}if(this._disposed)return we.None;e&&(t=t.bind(e));let i=new ho(t),n;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=sw.create(),n=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof ho?(this._deliveryQueue??=new lw,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._size++;let o=Me(()=>{n?.(),this._removeListener(i)});return s instanceof Ps?s.add(o):Array.isArray(s)&&s.push(o),o},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let e=this._listeners,s=e.indexOf(t);if(s===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,e[s]=void 0;let i=this._deliveryQueue.current===this;if(this._size*ow<=e.length){let n=0;for(let o=0;o<e.length;o++)e[o]?e[n++]=e[o]:i&&(this._deliveryQueue.end--,n<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=n}}_deliver(t,e){if(!t)return;let s=this._options?.onListenerError||nn;if(!s){t.value(e);return}try{t.value(e)}catch(i){s(i)}}_deliverQueue(t){let e=t.current._listeners;for(;t.i<t.end;)this._deliver(e[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof ho)this._deliver(this._listeners,t);else{let e=this._deliveryQueue;e.enqueue(this,t,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}},lw=class{constructor(){this.i=-1,this.end=0}enqueue(t,e,s){this.i=0,this.end=s,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Jo=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new ne,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new ne,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,s){if(this.getZoomLevel(s)===e)return;let i=this.getWindowId(s);this.mapWindowIdToZoomLevel.set(i,e),this._onDidChangeZoomLevel.fire(i)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,s){this.mapWindowIdToZoomFactor.set(this.getWindowId(s),e)}setFullscreen(e,s){if(this.isFullscreen(s)===e)return;let i=this.getWindowId(s);this.mapWindowIdToFullScreen.set(i,e),this._onDidChangeFullscreen.fire(i)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};Jo.INSTANCE=new Jo;var ol=Jo;function cw(t,e,s){typeof e=="string"&&(e=t.matchMedia(e)),e.addEventListener("change",s)}ol.INSTANCE.onDidChangeZoomLevel;function dw(t){return ol.INSTANCE.getZoomFactor(t)}ol.INSTANCE.onDidChangeFullscreen;var Mi=typeof navigator=="object"?navigator.userAgent:"",Qo=Mi.indexOf("Firefox")>=0,hw=Mi.indexOf("AppleWebKit")>=0,al=Mi.indexOf("Chrome")>=0,uw=!al&&Mi.indexOf("Safari")>=0;Mi.indexOf("Electron/")>=0;Mi.indexOf("Android")>=0;var uo=!1;if(typeof vs.matchMedia=="function"){let t=vs.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=vs.matchMedia("(display-mode: fullscreen)");uo=t.matches,cw(vs,t,({matches:s})=>{uo&&e.matches||(uo=s)})}var xi="en",Zo=!1,ea=!1,on=!1,Qu=!1,Ur,an=xi,wc=xi,fw,xs,Js=globalThis,Rt;typeof Js.vscode<"u"&&typeof Js.vscode.process<"u"?Rt=Js.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Rt=process);var mw=typeof Rt?.versions?.electron=="string",pw=mw&&Rt?.type==="renderer";if(typeof Rt=="object"){Zo=Rt.platform==="win32",ea=Rt.platform==="darwin",on=Rt.platform==="linux",on&&Rt.env.SNAP&&Rt.env.SNAP_REVISION,Rt.env.CI||Rt.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Ur=xi,an=xi;let t=Rt.env.VSCODE_NLS_CONFIG;if(t)try{let e=JSON.parse(t);Ur=e.userLocale,wc=e.osLocale,an=e.resolvedLanguage||xi,fw=e.languagePack?.translationsConfigFile}catch{}Qu=!0}else typeof navigator=="object"&&!pw?(xs=navigator.userAgent,Zo=xs.indexOf("Windows")>=0,ea=xs.indexOf("Macintosh")>=0,(xs.indexOf("Macintosh")>=0||xs.indexOf("iPad")>=0||xs.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,on=xs.indexOf("Linux")>=0,xs?.indexOf("Mobi")>=0,an=globalThis._VSCODE_NLS_LANGUAGE||xi,Ur=navigator.language.toLowerCase(),wc=Ur):console.error("Unable to resolve platform.");var Zu=Zo,us=ea,gw=on,Vc=Qu,fs=xs,ks=an,_w;(t=>{function e(){return ks}t.value=e;function s(){return ks.length===2?ks==="en":ks.length>=3?ks[0]==="e"&&ks[1]==="n"&&ks[2]==="-":!1}t.isDefaultVariant=s;function i(){return ks==="en"}t.isDefault=i})(_w||={});var xw=typeof Js.postMessage=="function"&&!Js.importScripts;(()=>{if(xw){let t=[];Js.addEventListener("message",s=>{if(s.data&&s.data.vscodeScheduleAsyncWork)for(let i=0,n=t.length;i<n;i++){let o=t[i];if(o.id===s.data.vscodeScheduleAsyncWork){t.splice(i,1),o.callback();return}}});let e=0;return s=>{let i=++e;t.push({id:i,callback:s}),Js.postMessage({vscodeScheduleAsyncWork:i},"*")}}return t=>setTimeout(t)})();var vw=!!(fs&&fs.indexOf("Chrome")>=0);fs&&fs.indexOf("Firefox")>=0;!vw&&fs&&fs.indexOf("Safari")>=0;fs&&fs.indexOf("Edg/")>=0;fs&&fs.indexOf("Android")>=0;var fi=typeof navigator=="object"?navigator:{};Vc||document.queryCommandSupported&&document.queryCommandSupported("copy")||fi&&fi.clipboard&&fi.clipboard.writeText,Vc||fi&&fi.clipboard&&fi.clipboard.readText;var ll=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},fo=new ll,Cc=new ll,kc=new ll,bw=new Array(230),ef;(t=>{function e(l){return fo.keyCodeToStr(l)}t.toString=e;function s(l){return fo.strToKeyCode(l)}t.fromString=s;function i(l){return Cc.keyCodeToStr(l)}t.toUserSettingsUS=i;function n(l){return kc.keyCodeToStr(l)}t.toUserSettingsGeneral=n;function o(l){return Cc.strToKeyCode(l)||kc.strToKeyCode(l)}t.fromUserSettings=o;function a(l){if(l>=98&&l<=113)return null;switch(l){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return fo.keyCodeToStr(l)}t.toElectronAccelerator=a})(ef||={});var yw=class tf{constructor(e,s,i,n,o){this.ctrlKey=e,this.shiftKey=s,this.altKey=i,this.metaKey=n,this.keyCode=o}equals(e){return e instanceof tf&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode}getHashCode(){let e=this.ctrlKey?"1":"0",s=this.shiftKey?"1":"0",i=this.altKey?"1":"0",n=this.metaKey?"1":"0";return`K${e}${s}${i}${n}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new Sw([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},Sw=class{constructor(t){if(t.length===0)throw qS("chords");this.chords=t}getHashCode(){let t="";for(let e=0,s=this.chords.length;e<s;e++)e!==0&&(t+=";"),t+=this.chords[e].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let e=0;e<this.chords.length;e++)if(!this.chords[e].equals(t.chords[e]))return!1;return!0}};function ww(t){if(t.charCode){let s=String.fromCharCode(t.charCode).toUpperCase();return ef.fromString(s)}let e=t.keyCode;if(e===3)return 7;if(Qo)switch(e){case 59:return 85;case 60:if(gw)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(us)return 57;break}else if(hw&&(us&&e===93||!us&&e===92))return 57;return bw[e]||0}var Vw=us?256:2048,Cw=512,kw=1024,jw=us?2048:256,jc=class{constructor(t){this._standardKeyboardEventBrand=!0;let e=t;this.browserEvent=e,this.target=e.target,this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,this.altGraphKey=e.getModifierState?.("AltGraph"),this.keyCode=ww(e),this.code=e.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let e=0;return this.ctrlKey&&(e|=Vw),this.altKey&&(e|=Cw),this.shiftKey&&(e|=kw),this.metaKey&&(e|=jw),e|=t,e}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new yw(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}},Nc=new WeakMap;function Nw(t){if(!t.parent||t.parent===t)return null;try{let e=t.location,s=t.parent.location;if(e.origin!=="null"&&s.origin!=="null"&&e.origin!==s.origin)return null}catch{return null}return t.parent}var Aw=class{static getSameOriginWindowChain(t){let e=Nc.get(t);if(!e){e=[],Nc.set(t,e);let s=t,i;do i=Nw(s),i?e.push({window:new WeakRef(s),iframeElement:s.frameElement||null}):e.push({window:new WeakRef(s),iframeElement:null}),s=i;while(s)}return e.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,e){if(!e||t===e)return{top:0,left:0};let s=0,i=0,n=this.getSameOriginWindowChain(t);for(let o of n){let a=o.window.deref();if(s+=a?.scrollY??0,i+=a?.scrollX??0,a===e||!o.iframeElement)break;let l=o.iframeElement.getBoundingClientRect();s+=l.top,i+=l.left}return{top:s,left:i}}},Hr=class{constructor(t,e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=e.button===0,this.middleButton=e.button===1,this.rightButton=e.button===2,this.buttons=e.buttons,this.target=e.target,this.detail=e.detail||1,e.type==="dblclick"&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,typeof e.pageX=="number"?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=e.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let s=Aw.getPositionOfChildWindowRelativeToAncestorWindow(t,e.view);this.posx-=s.left,this.posy-=s.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Ac=class{constructor(t,e=0,s=0){this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=s,this.deltaX=e;let i=!1;if(al){let n=navigator.userAgent.match(/Chrome\/(\d+)/);i=(n?parseInt(n[1]):123)<=122}if(t){let n=t,o=t,a=t.view?.devicePixelRatio||1;if(typeof n.wheelDeltaY<"u")i?this.deltaY=n.wheelDeltaY/(120*a):this.deltaY=n.wheelDeltaY/120;else if(typeof o.VERTICAL_AXIS<"u"&&o.axis===o.VERTICAL_AXIS)this.deltaY=-o.detail/3;else if(t.type==="wheel"){let l=t;l.deltaMode===l.DOM_DELTA_LINE?Qo&&!us?this.deltaY=-t.deltaY/3:this.deltaY=-t.deltaY:this.deltaY=-t.deltaY/40}if(typeof n.wheelDeltaX<"u")uw&&Zu?this.deltaX=-(n.wheelDeltaX/120):i?this.deltaX=n.wheelDeltaX/(120*a):this.deltaX=n.wheelDeltaX/120;else if(typeof o.HORIZONTAL_AXIS<"u"&&o.axis===o.HORIZONTAL_AXIS)this.deltaX=-t.detail/3;else if(t.type==="wheel"){let l=t;l.deltaMode===l.DOM_DELTA_LINE?Qo&&!us?this.deltaX=-t.deltaX/3:this.deltaX=-t.deltaX:this.deltaX=-t.deltaX/40}this.deltaY===0&&this.deltaX===0&&t.wheelDelta&&(i?this.deltaY=t.wheelDelta/(120*a):this.deltaY=t.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},sf=Object.freeze(function(t,e){let s=setTimeout(t.bind(e),0);return{dispose(){clearTimeout(s)}}}),Ew;(t=>{function e(s){return s===t.None||s===t.Cancelled||s instanceof Iw?!0:!s||typeof s!="object"?!1:typeof s.isCancellationRequested=="boolean"&&typeof s.onCancellationRequested=="function"}t.isCancellationToken=e,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ct.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:sf})})(Ew||={});var Iw=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?sf:(this._emitter||(this._emitter=new ne),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},cl=class{constructor(t,e){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof e=="number"&&this.setIfNotSet(t,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,e){if(this._isDisposed)throw new Ko("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},e)}setIfNotSet(t,e){if(this._isDisposed)throw new Ko("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},e))}},Tw=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,e,s=globalThis){if(this.isDisposed)throw new Ko("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let i=s.setInterval(()=>{t()},e);this.disposable=Me(()=>{s.clearInterval(i),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},Rw;(t=>{async function e(i){let n,o=await Promise.all(i.map(a=>a.then(l=>l,l=>{n||(n=l)})));if(typeof n<"u")throw n;return o}t.settled=e;function s(i){return new Promise(async(n,o)=>{try{await i(n,o)}catch(a){o(a)}})}t.withAsyncBody=s})(Rw||={});var Ec=class Ut{static fromArray(e){return new Ut(s=>{s.emitMany(e)})}static fromPromise(e){return new Ut(async s=>{s.emitMany(await e)})}static fromPromises(e){return new Ut(async s=>{await Promise.all(e.map(async i=>s.emitOne(await i)))})}static merge(e){return new Ut(async s=>{await Promise.all(e.map(async i=>{for await(let n of i)s.emitOne(n)}))})}constructor(e,s){this._state=0,this._results=[],this._error=null,this._onReturn=s,this._onStateChanged=new ne,queueMicrotask(async()=>{let i={emitOne:n=>this.emitOne(n),emitMany:n=>this.emitMany(n),reject:n=>this.reject(n)};try{await Promise.resolve(e(i)),this.resolve()}catch(n){this.reject(n)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await ct.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,s){return new Ut(async i=>{for await(let n of e)i.emitOne(s(n))})}map(e){return Ut.map(this,e)}static filter(e,s){return new Ut(async i=>{for await(let n of e)s(n)&&i.emitOne(n)})}filter(e){return Ut.filter(this,e)}static coalesce(e){return Ut.filter(e,s=>!!s)}coalesce(){return Ut.coalesce(this)}static async toPromise(e){let s=[];for await(let i of e)s.push(i);return s}toPromise(){return Ut.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};Ec.EMPTY=Ec.fromArray([]);var{getWindow:os,getWindowId:Mw,onDidRegisterWindow:Dw}=(function(){let t=new Map,e={window:vs,disposables:new Ps};t.set(vs.vscodeWindowId,e);let s=new ne,i=new ne,n=new ne;function o(a,l){return(typeof a=="number"?t.get(a):void 0)??(l?e:void 0)}return{onDidRegisterWindow:s.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:i.event,registerWindow(a){if(t.has(a.vscodeWindowId))return we.None;let l=new Ps,c={window:a,disposables:l.add(new Ps)};return t.set(a.vscodeWindowId,c),l.add(Me(()=>{t.delete(a.vscodeWindowId),i.fire(a)})),l.add(ve(a,it.BEFORE_UNLOAD,()=>{n.fire(a)})),s.fire(c),l},getWindows(){return t.values()},getWindowsCount(){return t.size},getWindowId(a){return a.vscodeWindowId},hasWindow(a){return t.has(a)},getWindowById:o,getWindow(a){let l=a;if(l?.ownerDocument?.defaultView)return l.ownerDocument.defaultView.window;let c=a;return c?.view?c.view.window:vs},getDocument(a){return os(a).document}}})(),Pw=class{constructor(t,e,s,i){this._node=t,this._type=e,this._handler=s,this._options=i||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function ve(t,e,s,i){return new Pw(t,e,s,i)}var Ic=function(t,e,s,i){return ve(t,e,s,i)},dl,Lw=class extends Tw{constructor(t){super(),this.defaultTarget=t&&os(t)}cancelAndSet(t,e,s){return super.cancelAndSet(t,e,s??this.defaultTarget)}},Tc=class{constructor(t,e=0){this._runner=t,this.priority=e,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){nn(t)}}static sort(t,e){return e.priority-t.priority}};(function(){let t=new Map,e=new Map,s=new Map,i=new Map,n=o=>{s.set(o,!1);let a=t.get(o)??[];for(e.set(o,a),t.set(o,[]),i.set(o,!0);a.length>0;)a.sort(Tc.sort),a.shift().execute();i.set(o,!1)};dl=(o,a,l=0)=>{let c=Mw(o),d=new Tc(a,l),u=t.get(c);return u||(u=[],t.set(c,u)),u.push(d),s.get(c)||(s.set(c,!0),o.requestAnimationFrame(()=>n(c))),d}})();function Ow(t){let e=t.getBoundingClientRect(),s=os(t);return{left:e.left+s.scrollX,top:e.top+s.scrollY,width:e.width,height:e.height}}var it={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},Bw=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){let e=kt(t);this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let e=kt(t);this._width!==e&&(this._width=e,this.domNode.style.width=this._width)}setHeight(t){let e=kt(t);this._height!==e&&(this._height=e,this.domNode.style.height=this._height)}setTop(t){let e=kt(t);this._top!==e&&(this._top=e,this.domNode.style.top=this._top)}setLeft(t){let e=kt(t);this._left!==e&&(this._left=e,this.domNode.style.left=this._left)}setBottom(t){let e=kt(t);this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom)}setRight(t){let e=kt(t);this._right!==e&&(this._right=e,this.domNode.style.right=this._right)}setPaddingTop(t){let e=kt(t);this._paddingTop!==e&&(this._paddingTop=e,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let e=kt(t);this._paddingLeft!==e&&(this._paddingLeft=e,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let e=kt(t);this._paddingBottom!==e&&(this._paddingBottom=e,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let e=kt(t);this._paddingRight!==e&&(this._paddingRight=e,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let e=kt(t);this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let e=kt(t);this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let e=kt(t);this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,e){this.domNode.classList.toggle(t,e),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,e){this.domNode.setAttribute(t,e)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function kt(t){return typeof t=="number"?`${t}px`:t}function rr(t){return new Bw(t)}var rf=class{constructor(){this._hooks=new Ps,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,e){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let s=this._onStopCallback;this._onStopCallback=null,t&&s&&s(e)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,e,s,i,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=i,this._onStopCallback=n;let o=t;try{t.setPointerCapture(e),this._hooks.add(Me(()=>{try{t.releasePointerCapture(e)}catch{}}))}catch{o=os(t)}this._hooks.add(ve(o,it.POINTER_MOVE,a=>{if(a.buttons!==s){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(ve(o,it.POINTER_UP,a=>this.stopMonitoring(!0)))}};function $w(t,e,s){let i=null,n=null;if(typeof s.value=="function"?(i="value",n=s.value,n.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof s.get=="function"&&(i="get",n=s.get),!n)throw new Error("not supported");let o=`$memoize$${e}`;s[i]=function(...a){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,a)}),this[o]}}var is;(t=>(t.Tap="-xterm-gesturetap",t.Change="-xterm-gesturechange",t.Start="-xterm-gesturestart",t.End="-xterm-gesturesend",t.Contextmenu="-xterm-gesturecontextmenu"))(is||={});var Gi=class ut extends we{constructor(){super(),this.dispatched=!1,this.targets=new Sc,this.ignoreTargets=new Sc,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ct.runAndSubscribe(Dw,({window:e,disposables:s})=>{s.add(ve(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),s.add(ve(e.document,"touchend",i=>this.onTouchEnd(e,i))),s.add(ve(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:vs,disposables:this._store}))}static addTarget(e){if(!ut.isTouchDevice())return we.None;ut.INSTANCE||(ut.INSTANCE=new ut);let s=ut.INSTANCE.targets.push(e);return Me(s)}static ignoreTarget(e){if(!ut.isTouchDevice())return we.None;ut.INSTANCE||(ut.INSTANCE=new ut);let s=ut.INSTANCE.ignoreTargets.push(e);return Me(s)}static isTouchDevice(){return"ontouchstart"in vs||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let s=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,n=e.targetTouches.length;i<n;i++){let o=e.targetTouches.item(i);this.activeTouches[o.identifier]={id:o.identifier,initialTarget:o.target,initialTimeStamp:s,initialPageX:o.pageX,initialPageY:o.pageY,rollingTimestamps:[s],rollingPageX:[o.pageX],rollingPageY:[o.pageY]};let a=this.newGestureEvent(is.Start,o.target);a.pageX=o.pageX,a.pageY=o.pageY,this.dispatchEvent(a)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}onTouchEnd(e,s){let i=Date.now(),n=Object.keys(this.activeTouches).length;for(let o=0,a=s.changedTouches.length;o<a;o++){let l=s.changedTouches.item(o);if(!this.activeTouches.hasOwnProperty(String(l.identifier))){console.warn("move of an UNKNOWN touch",l);continue}let c=this.activeTouches[l.identifier],d=Date.now()-c.initialTimeStamp;if(d<ut.HOLD_DELAY&&Math.abs(c.initialPageX-It(c.rollingPageX))<30&&Math.abs(c.initialPageY-It(c.rollingPageY))<30){let u=this.newGestureEvent(is.Tap,c.initialTarget);u.pageX=It(c.rollingPageX),u.pageY=It(c.rollingPageY),this.dispatchEvent(u)}else if(d>=ut.HOLD_DELAY&&Math.abs(c.initialPageX-It(c.rollingPageX))<30&&Math.abs(c.initialPageY-It(c.rollingPageY))<30){let u=this.newGestureEvent(is.Contextmenu,c.initialTarget);u.pageX=It(c.rollingPageX),u.pageY=It(c.rollingPageY),this.dispatchEvent(u)}else if(n===1){let u=It(c.rollingPageX),h=It(c.rollingPageY),f=It(c.rollingTimestamps)-c.rollingTimestamps[0],m=u-c.rollingPageX[0],p=h-c.rollingPageY[0],g=[...this.targets].filter(_=>c.initialTarget instanceof Node&&_.contains(c.initialTarget));this.inertia(e,g,i,Math.abs(m)/f,m>0?1:-1,u,Math.abs(p)/f,p>0?1:-1,h)}this.dispatchEvent(this.newGestureEvent(is.End,c.initialTarget)),delete this.activeTouches[l.identifier]}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,s){let i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=s,i.tapCount=0,i}dispatchEvent(e){if(e.type===is.Tap){let s=new Date().getTime(),i=0;s-this._lastSetTapCountTime>ut.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=s,e.tapCount=i}else(e.type===is.Change||e.type===is.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(let i of this.ignoreTargets)if(i.contains(e.initialTarget))return;let s=[];for(let i of this.targets)if(i.contains(e.initialTarget)){let n=0,o=e.initialTarget;for(;o&&o!==i;)n++,o=o.parentElement;s.push([n,i])}s.sort((i,n)=>i[0]-n[0]);for(let[i,n]of s)n.dispatchEvent(e),this.dispatched=!0}}inertia(e,s,i,n,o,a,l,c,d){this.handle=dl(e,()=>{let u=Date.now(),h=u-i,f=0,m=0,p=!0;n+=ut.SCROLL_FRICTION*h,l+=ut.SCROLL_FRICTION*h,n>0&&(p=!1,f=o*n*h),l>0&&(p=!1,m=c*l*h);let g=this.newGestureEvent(is.Change);g.translationX=f,g.translationY=m,s.forEach(_=>_.dispatchEvent(g)),p||this.inertia(e,s,u,n,o,a+f,l,c,d+m)})}onTouchMove(e){let s=Date.now();for(let i=0,n=e.changedTouches.length;i<n;i++){let o=e.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn("end of an UNKNOWN touch",o);continue}let a=this.activeTouches[o.identifier],l=this.newGestureEvent(is.Change,a.initialTarget);l.translationX=o.pageX-It(a.rollingPageX),l.translationY=o.pageY-It(a.rollingPageY),l.pageX=o.pageX,l.pageY=o.pageY,this.dispatchEvent(l),a.rollingPageX.length>3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(o.pageX),a.rollingPageY.push(o.pageY),a.rollingTimestamps.push(s)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};Gi.SCROLL_FRICTION=-.005,Gi.HOLD_DELAY=700,Gi.CLEAR_TAP_COUNT_TIME=400,$e([$w],Gi,"isTouchDevice",1);var zw=Gi,hl=class extends we{onclick(t,e){this._register(ve(t,it.CLICK,s=>e(new Hr(os(t),s))))}onmousedown(t,e){this._register(ve(t,it.MOUSE_DOWN,s=>e(new Hr(os(t),s))))}onmouseover(t,e){this._register(ve(t,it.MOUSE_OVER,s=>e(new Hr(os(t),s))))}onmouseleave(t,e){this._register(ve(t,it.MOUSE_LEAVE,s=>e(new Hr(os(t),s))))}onkeydown(t,e){this._register(ve(t,it.KEY_DOWN,s=>e(new jc(s))))}onkeyup(t,e){this._register(ve(t,it.KEY_UP,s=>e(new jc(s))))}oninput(t,e){this._register(ve(t,it.INPUT,e))}onblur(t,e){this._register(ve(t,it.BLUR,e))}onfocus(t,e){this._register(ve(t,it.FOCUS,e))}onchange(t,e){this._register(ve(t,it.CHANGE,e))}ignoreGesture(t){return zw.ignoreTarget(t)}},Rc=11,Fw=class extends hl{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",typeof t.top<"u"&&(this.bgDomNode.style.top="0px"),typeof t.left<"u"&&(this.bgDomNode.style.left="0px"),typeof t.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof t.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.style.position="absolute",this.domNode.style.width=Rc+"px",this.domNode.style.height=Rc+"px",typeof t.top<"u"&&(this.domNode.style.top=t.top+"px"),typeof t.left<"u"&&(this.domNode.style.left=t.left+"px"),typeof t.bottom<"u"&&(this.domNode.style.bottom=t.bottom+"px"),typeof t.right<"u"&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new rf),this._register(Ic(this.bgDomNode,it.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(Ic(this.domNode,it.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new Lw),this._pointerdownScheduleRepeatTimer=this._register(new cl)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,os(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(e,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,s=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}},Uw=class ta{constructor(e,s,i,n,o,a,l){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(s=s|0,i=i|0,n=n|0,o=o|0,a=a|0,l=l|0),this.rawScrollLeft=n,this.rawScrollTop=l,s<0&&(s=0),n+s>i&&(n=i-s),n<0&&(n=0),o<0&&(o=0),l+o>a&&(l=a-o),l<0&&(l=0),this.width=s,this.scrollWidth=i,this.scrollLeft=n,this.height=o,this.scrollHeight=a,this.scrollTop=l}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,s){return new ta(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,s?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,s?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new ta(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,s){let i=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,l=this.scrollHeight!==e.scrollHeight,c=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:s,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:n,scrollLeftChanged:o,heightChanged:a,scrollHeightChanged:l,scrollTopChanged:c}}},Hw=class extends we{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new ne),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new Uw(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,e){let s=this._state.withScrollDimensions(t,e);this._setState(s,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){let e=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(e,!1)}setScrollPositionSmooth(t,e){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};let s=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===s.scrollLeft&&this._smoothScrolling.to.scrollTop===s.scrollTop)return;let i;e?i=new Dc(this._smoothScrolling.from,s,this._smoothScrolling.startTime,this._smoothScrolling.duration):i=this._smoothScrolling.combine(this._state,s,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=i}else{let s=this._state.withScrollPosition(t);this._smoothScrolling=Dc.start(this._state,s,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let t=this._smoothScrolling.tick(),e=this._state.withScrollPosition(t);if(this._setState(e,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,e){let s=this._state;s.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(s,e)))}},Mc=class{constructor(t,e,s){this.scrollLeft=t,this.scrollTop=e,this.isDone=s}};function mo(t,e){let s=e-t;return function(i){return t+s*qw(i)}}function Ww(t,e,s){return function(i){return i<s?t(i/s):e((i-s)/(1-s))}}var Dc=class sa{constructor(e,s,i,n){this.from=e,this.to=s,this.duration=n,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,s,i){if(Math.abs(e-s)>2.5*i){let n,o;return e<s?(n=e+.75*i,o=s-.75*i):(n=e-.75*i,o=s+.75*i),Ww(mo(e,n),mo(o,s),.33)}return mo(e,s)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let s=(e-this.startTime)/this.duration;if(s<1){let i=this.scrollLeft(s),n=this.scrollTop(s);return new Mc(i,n,!1)}return new Mc(this.to.scrollLeft,this.to.scrollTop,!0)}combine(e,s,i){return sa.start(e,s,i)}static start(e,s,i){i=i+10;let n=Date.now()-10;return new sa(e,s,n,i)}};function Kw(t){return Math.pow(t,3)}function qw(t){return 1-Kw(1-t)}var Gw=class extends we{constructor(t,e,s){super(),this._visibility=t,this._visibleClassName=e,this._invisibleClassName=s,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new cl)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(t){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(t?" fade":"")))}},Yw=140,nf=class extends hl{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new Gw(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new rf),this._shouldRender=!0,this.domNode=rr(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(ve(this.domNode.domNode,it.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(t){let e=this._register(new Fw(t));this.domNode.domNode.appendChild(e.bgDomNode),this.domNode.domNode.appendChild(e.domNode)}_createSlider(t,e,s,i){this.slider=rr(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(e),typeof s=="number"&&this.slider.setWidth(s),typeof i=="number"&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(ve(this.slider.domNode,it.POINTER_DOWN,n=>{n.button===0&&(n.preventDefault(),this._sliderPointerDown(n))})),this.onclick(this.slider.domNode,n=>{n.leftButton&&n.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let e=this.domNode.domNode.getClientRects()[0].top,s=e+this._scrollbarState.getSliderPosition(),i=e+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(t);s<=n&&n<=i?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let e,s;if(t.target===this.domNode.domNode&&typeof t.offsetX=="number"&&typeof t.offsetY=="number")e=t.offsetX,s=t.offsetY;else{let n=Ow(this.domNode.domNode);e=t.pageX-n.left,s=t.pageY-n.top}let i=this._pointerDownRelativePosition(e,s);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(i):this._scrollbarState.getDesiredScrollPositionFromOffset(i)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=this._sliderPointerPosition(t),s=this._sliderOrthogonalPointerPosition(t),i=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,n=>{let o=this._sliderOrthogonalPointerPosition(n),a=Math.abs(o-s);if(Zu&&a>Yw){this._setDesiredScrollPositionNow(i.getScrollPosition());return}let l=this._sliderPointerPosition(n)-e;this._setDesiredScrollPositionNow(i.getDesiredScrollPositionFromDelta(l))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let e={};this.writeScrollPosition(e,t),this._scrollable.setScrollPositionNow(e)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},of=class ia{constructor(e,s,i,n,o,a){this._scrollbarSize=Math.round(s),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=n,this._scrollSize=o,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new ia(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let s=Math.round(e);return this._visibleSize!==s?(this._visibleSize=s,this._refreshComputedValues(),!0):!1}setScrollSize(e){let s=Math.round(e);return this._scrollSize!==s?(this._scrollSize=s,this._refreshComputedValues(),!0):!1}setScrollPosition(e){let s=Math.round(e);return this._scrollPosition!==s?(this._scrollPosition=s,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,s,i,n,o){let a=Math.max(0,i-e),l=Math.max(0,a-2*s),c=n>0&&n>i;if(!c)return{computedAvailableSize:Math.round(a),computedIsNeeded:c,computedSliderSize:Math.round(l),computedSliderRatio:0,computedSliderPosition:0};let d=Math.round(Math.max(20,Math.floor(i*l/n))),u=(l-d)/(n-i),h=o*u;return{computedAvailableSize:Math.round(a),computedIsNeeded:c,computedSliderSize:Math.round(d),computedSliderRatio:u,computedSliderPosition:Math.round(h)}}_refreshComputedValues(){let e=ia._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let s=e-this._arrowSize-this._computedSliderSize/2;return Math.round(s/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let s=e-this._arrowSize,i=this._scrollPosition;return s<this._computedSliderPosition?i-=this._visibleSize:i+=this._visibleSize,i}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let s=this._computedSliderPosition+e;return Math.round(s/this._computedSliderRatio)}},Xw=class extends nf{constructor(t,e,s){let i=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:s,scrollbarState:new of(e.horizontalHasArrows?e.arrowSize:0,e.horizontal===2?0:e.horizontalScrollbarSize,e.vertical===2?0:e.verticalScrollbarSize,i.width,i.scrollWidth,n.scrollLeft),visibility:e.horizontal,extraScrollbarClassName:"horizontal",scrollable:t,scrollByPage:e.scrollByPage}),e.horizontalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((e.horizontalScrollbarSize-e.horizontalSliderSize)/2),0,void 0,e.horizontalSliderSize)}_updateSlider(t,e){this.slider.setWidth(t),this.slider.setLeft(e)}_renderDomNode(t,e){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,e){t.scrollLeft=e}updateOptions(t){this.updateScrollbarSize(t.horizontal===2?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}},Jw=class extends nf{constructor(t,e,s){let i=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:s,scrollbarState:new of(e.verticalHasArrows?e.arrowSize:0,e.vertical===2?0:e.verticalScrollbarSize,0,i.height,i.scrollHeight,n.scrollTop),visibility:e.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:e.scrollByPage}),e.verticalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((e.verticalScrollbarSize-e.verticalSliderSize)/2),e.verticalSliderSize,void 0)}_updateSlider(t,e){this.slider.setHeight(t),this.slider.setTop(e)}_renderDomNode(t,e){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return e}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,e){t.scrollTop=e}updateOptions(t){this.updateScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}},Qw=500,Pc=50,Zw=class{constructor(t,e,s){this.timestamp=t,this.deltaX=e,this.deltaY=s,this.score=0}},ra=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,s=0,i=1,n=this._rear;do{let o=n===this._front?e:Math.pow(2,-i);if(e-=o,s+=this._memory[n].score*o,n===this._front)break;n=(this._capacity+n-1)%this._capacity,i++}while(!0);return s<=.5}acceptStandardWheelEvent(e){if(al){let s=os(e.browserEvent),i=dw(s);this.accept(Date.now(),e.deltaX*i,e.deltaY*i)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,s,i){let n=null,o=new Zw(e,s,i);this._front===-1&&this._rear===-1?(this._memory[0]=o,this._front=0,this._rear=0):(n=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=o),o.score=this._computeScore(o,n)}_computeScore(e,s){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),s){let n=Math.abs(e.deltaX),o=Math.abs(e.deltaY),a=Math.abs(s.deltaX),l=Math.abs(s.deltaY),c=Math.max(Math.min(n,a),1),d=Math.max(Math.min(o,l),1),u=Math.max(n,a),h=Math.max(o,l);u%c===0&&h%d===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};ra.INSTANCE=new ra;var eV=ra,tV=class extends hl{constructor(t,e,s){super(),this._onScroll=this._register(new ne),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new ne),this.onWillScroll=this._onWillScroll.event,this._options=iV(e),this._scrollable=s,this._register(this._scrollable.onScroll(n=>{this._onWillScroll.fire(n),this._onDidScroll(n),this._onScroll.fire(n)}));let i={onMouseWheel:n=>this._onMouseWheel(n),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Jw(this._scrollable,this._options,i)),this._horizontalScrollbar=this._register(new Xw(this._scrollable,this._options,i)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=rr(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=rr(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=rr(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,n=>this._onMouseOver(n)),this.onmouseleave(this._listenOnDomNode,n=>this._onMouseLeave(n)),this._hideTimeout=this._register(new cl),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Qs(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,us&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(t){typeof t.handleMouseWheel<"u"&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof t.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),typeof t.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),typeof t.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),typeof t.horizontal<"u"&&(this._options.horizontal=t.horizontal),typeof t.vertical<"u"&&(this._options.vertical=t.vertical),typeof t.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),typeof t.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),typeof t.scrollByPage<"u"&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(t){this._revealOnScroll=t}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new Ac(t))}_setListeningToMouseWheel(t){if(this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=Qs(this._mouseWheelToDispose),t)){let e=s=>{this._onMouseWheel(new Ac(s))};this._mouseWheelToDispose.push(ve(this._listenOnDomNode,it.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(t){if(t.browserEvent?.defaultPrevented)return;let e=eV.INSTANCE;e.acceptStandardWheelEvent(t);let s=!1;if(t.deltaY||t.deltaX){let n=t.deltaY*this._options.mouseWheelScrollSensitivity,o=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&o+n===0?o=n=0:Math.abs(n)>=Math.abs(o)?o=0:n=0),this._options.flipAxes&&([n,o]=[o,n]);let a=!us&&t.browserEvent&&t.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!o&&(o=n,n=0),t.browserEvent&&t.browserEvent.altKey&&(o=o*this._options.fastScrollSensitivity,n=n*this._options.fastScrollSensitivity);let l=this._scrollable.getFutureScrollPosition(),c={};if(n){let d=Pc*n,u=l.scrollTop-(d<0?Math.floor(d):Math.ceil(d));this._verticalScrollbar.writeScrollPosition(c,u)}if(o){let d=Pc*o,u=l.scrollLeft-(d<0?Math.floor(d):Math.ceil(d));this._horizontalScrollbar.writeScrollPosition(c,u)}c=this._scrollable.validateScrollPosition(c),(l.scrollLeft!==c.scrollLeft||l.scrollTop!==c.scrollTop)&&(this._options.mouseWheelSmoothScroll&&e.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(c):this._scrollable.setScrollPositionNow(c),s=!0)}let i=s;!i&&this._options.alwaysConsumeMouseWheel&&(i=!0),!i&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(i=!0),i&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let t=this._scrollable.getCurrentScrollPosition(),e=t.scrollTop>0,s=t.scrollLeft>0,i=s?" left":"",n=e?" top":"",o=s||e?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${i}`),this._topShadowDomNode.setClassName(`shadow${n}`),this._topLeftShadowDomNode.setClassName(`shadow${o}${n}${i}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Qw)}},sV=class extends tV{constructor(t,e,s){super(t,e,s)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function iV(t){let e={lazyRender:typeof t.lazyRender<"u"?t.lazyRender:!1,className:typeof t.className<"u"?t.className:"",useShadows:typeof t.useShadows<"u"?t.useShadows:!0,handleMouseWheel:typeof t.handleMouseWheel<"u"?t.handleMouseWheel:!0,flipAxes:typeof t.flipAxes<"u"?t.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof t.consumeMouseWheelIfScrollbarIsNeeded<"u"?t.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof t.alwaysConsumeMouseWheel<"u"?t.alwaysConsumeMouseWheel:!1,scrollYToX:typeof t.scrollYToX<"u"?t.scrollYToX:!1,mouseWheelScrollSensitivity:typeof t.mouseWheelScrollSensitivity<"u"?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof t.fastScrollSensitivity<"u"?t.fastScrollSensitivity:5,scrollPredominantAxis:typeof t.scrollPredominantAxis<"u"?t.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof t.mouseWheelSmoothScroll<"u"?t.mouseWheelSmoothScroll:!0,arrowSize:typeof t.arrowSize<"u"?t.arrowSize:11,listenOnDomNode:typeof t.listenOnDomNode<"u"?t.listenOnDomNode:null,horizontal:typeof t.horizontal<"u"?t.horizontal:1,horizontalScrollbarSize:typeof t.horizontalScrollbarSize<"u"?t.horizontalScrollbarSize:10,horizontalSliderSize:typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:0,horizontalHasArrows:typeof t.horizontalHasArrows<"u"?t.horizontalHasArrows:!1,vertical:typeof t.vertical<"u"?t.vertical:1,verticalScrollbarSize:typeof t.verticalScrollbarSize<"u"?t.verticalScrollbarSize:10,verticalHasArrows:typeof t.verticalHasArrows<"u"?t.verticalHasArrows:!1,verticalSliderSize:typeof t.verticalSliderSize<"u"?t.verticalSliderSize:0,scrollByPage:typeof t.scrollByPage<"u"?t.scrollByPage:!1};return e.horizontalSliderSize=typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof t.verticalSliderSize<"u"?t.verticalSliderSize:e.verticalScrollbarSize,us&&(e.className+=" mac"),e}var na=class extends we{constructor(t,e,s,i,n,o,a,l){super(),this._bufferService=s,this._optionsService=a,this._renderService=l,this._onRequestScrollLines=this._register(new ne),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new Hw({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:d=>dl(i.window,d)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new sV(e,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(n.onProtocolChange(d=>{this._scrollableElement.updateOptions({handleMouseWheel:!(d&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(ct.runAndSubscribe(o.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=o.colors.background.css})),t.appendChild(this._scrollableElement.getDomNode()),this._register(Me(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=i.mainDocument.createElement("style"),e.appendChild(this._styleElement),this._register(Me(()=>this._styleElement.remove())),this._register(ct.runAndSubscribe(o.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${o.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${o.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${o.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
|
|
722
|
-
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(d=>this._handleScroll(d)))}scrollLines(t){let e=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:e.scrollTop+t*this._renderService.dimensions.css.cell.height})}scrollToLine(t,e){e&&(this._latestYDisp=t),this._scrollableElement.setScrollPosition({reuseAnimation:!e,scrollTop:t*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(t){t!==void 0&&(this._latestYDisp=t),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(t=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,t!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:t*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(t){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let e=Math.round(t.scrollTop/this._renderService.dimensions.css.cell.height),s=e-this._bufferService.buffer.ydisp;s!==0&&(this._latestYDisp=e,this._onRequestScrollLines.fire(s)),this._isHandlingScroll=!1}};na=$e([le(2,wt),le(3,ys),le(4,Bu),le(5,Ri),le(6,Vt),le(7,Ss)],na);var oa=class extends we{constructor(t,e,s,i,n){super(),this._screenElement=t,this._bufferService=e,this._coreBrowserService=s,this._decorationService=i,this._renderService=n,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(o=>this._removeDecoration(o))),this._register(Me(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let t of this._decorationService.decorations)this._renderDecoration(t);this._dimensionsChanged=!1}_renderDecoration(t){this._refreshStyle(t),this._dimensionsChanged&&this._refreshXPosition(t)}_createElement(t){let e=this._coreBrowserService.mainDocument.createElement("div");e.classList.add("xterm-decoration"),e.classList.toggle("xterm-decoration-top-layer",t?.options?.layer==="top"),e.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,e.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,e.style.top=`${(t.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,e.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let s=t.options.x??0;return s&&s>this._bufferService.cols&&(e.style.display="none"),this._refreshXPosition(t,e),e}_refreshStyle(t){let e=t.marker.line-this._bufferService.buffers.active.ydisp;if(e<0||e>=this._bufferService.rows)t.element&&(t.element.style.display="none",t.onRenderEmitter.fire(t.element));else{let s=this._decorationElements.get(t);s||(s=this._createElement(t),t.element=s,this._decorationElements.set(t,s),this._container.appendChild(s),t.onDispose(()=>{this._decorationElements.delete(t),s.remove()})),s.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(s.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,s.style.top=`${e*this._renderService.dimensions.css.cell.height}px`,s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),t.onRenderEmitter.fire(s)}}_refreshXPosition(t,e=t.element){if(!e)return;let s=t.options.x??0;(t.options.anchor||"left")==="right"?e.style.right=s?`${s*this._renderService.dimensions.css.cell.width}px`:"":e.style.left=s?`${s*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(t){this._decorationElements.get(t)?.remove(),this._decorationElements.delete(t),t.dispose()}};oa=$e([le(1,wt),le(2,ys),le(3,Er),le(4,Ss)],oa);var rV=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let e of this._zones)if(e.color===t.options.overviewRulerOptions.color&&e.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(e,t.marker.line))return;if(this._lineAdjacentToZone(e,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(e,t.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=t.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=t.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=t.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=t.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:t.options.overviewRulerOptions.color,position:t.options.overviewRulerOptions.position,startBufferLine:t.marker.line,endBufferLine:t.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(t){this._linePadding=t}_lineIntersectsZone(t,e){return e>=t.startBufferLine&&e<=t.endBufferLine}_lineAdjacentToZone(t,e,s){return e>=t.startBufferLine-this._linePadding[s||"full"]&&e<=t.endBufferLine+this._linePadding[s||"full"]}_addLineToZone(t,e){t.startBufferLine=Math.min(t.startBufferLine,e),t.endBufferLine=Math.max(t.endBufferLine,e)}},ts={full:0,left:0,center:0,right:0},js={full:0,left:0,center:0,right:0},$i={full:0,left:0,center:0,right:0},bn=class extends we{constructor(t,e,s,i,n,o,a,l){super(),this._viewportElement=t,this._screenElement=e,this._bufferService=s,this._decorationService=i,this._renderService=n,this._optionsService=o,this._themeService=a,this._coreBrowserService=l,this._colorZoneStore=new rV,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(Me(()=>this._canvas?.remove()));let c=this._canvas.getContext("2d");if(c)this._ctx=c;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let t=Math.floor((this._canvas.width-1)/3),e=Math.ceil((this._canvas.width-1)/3);js.full=this._canvas.width,js.left=t,js.center=e,js.right=t,this._refreshDrawHeightConstants(),$i.full=1,$i.left=1,$i.center=1+js.left,$i.right=1+js.left+js.center}_refreshDrawHeightConstants(){ts.full=Math.round(2*this._coreBrowserService.dpr);let t=this._canvas.height/this._bufferService.buffer.lines.length,e=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);ts.left=e,ts.center=e,ts.right=e}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ts.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ts.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ts.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ts.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let t=this._colorZoneStore.zones;for(let e of t)e.position!=="full"&&this._renderColorZone(e);for(let e of t)e.position==="full"&&this._renderColorZone(e);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect($i[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-ts[t.position||"full"]/2),js[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+ts[t.position||"full"]))}_queueRefresh(t,e){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=e||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};bn=$e([le(2,wt),le(3,Er),le(4,Ss),le(5,Vt),le(6,Ri),le(7,ys)],bn);var Q;(t=>(t.NUL="\0",t.SOH="",t.STX="",t.ETX="",t.EOT="",t.ENQ="",t.ACK="",t.BEL="\x07",t.BS="\b",t.HT=" ",t.LF=`
|
|
723
|
-
`,t.VT="\v",t.FF="\f",t.CR="\r",t.SO="",t.SI="",t.DLE="",t.DC1="",t.DC2="",t.DC3="",t.DC4="",t.NAK="",t.SYN="",t.ETB="",t.CAN="",t.EM="",t.SUB="",t.ESC="\x1B",t.FS="",t.GS="",t.RS="",t.US="",t.SP=" ",t.DEL=""))(Q||={});var ln;(t=>(t.PAD="",t.HOP="",t.BPH="",t.NBH="",t.IND="",t.NEL="
",t.SSA="",t.ESA="",t.HTS="",t.HTJ="",t.VTS="",t.PLD="",t.PLU="",t.RI="",t.SS2="",t.SS3="",t.DCS="",t.PU1="",t.PU2="",t.STS="",t.CCH="",t.MW="",t.SPA="",t.EPA="",t.SOS="",t.SGCI="",t.SCI="",t.CSI="",t.ST="",t.OSC="",t.PM="",t.APC=""))(ln||={});var af;(t=>t.ST=`${Q.ESC}\\`)(af||={});var aa=class{constructor(t,e,s,i,n,o){this._textarea=t,this._compositionView=e,this._bufferService=s,this._optionsService=i,this._coreService=n,this._renderService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let s;e.start+=this._dataAlreadySent.length,this._isComposing?s=this._textarea.value.substring(e.start,this._compositionPosition.start):s=this._textarea.value.substring(e.start),s.length>0&&this._coreService.triggerDataEvent(s,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let e=this._textarea.value,s=e.replace(t,"");this._dataAlreadySent=s,e.length>t.length?this._coreService.triggerDataEvent(s,!0):e.length<t.length?this._coreService.triggerDataEvent(`${Q.DEL}`,!0):e.length===t.length&&e!==t&&this._coreService.triggerDataEvent(e,!0)}},0)}updateCompositionElements(t){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),s=this._renderService.dimensions.css.cell.height,i=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,n=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=n+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=s+"px",this._compositionView.style.lineHeight=s+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=i+"px",this._textarea.style.width=Math.max(o.width,1)+"px",this._textarea.style.height=Math.max(o.height,1)+"px",this._textarea.style.lineHeight=o.height+"px"}t||setTimeout(()=>this.updateCompositionElements(!0),0)}}};aa=$e([le(2,wt),le(3,Vt),le(4,ai),le(5,Ss)],aa);var rt=0,nt=0,ot=0,Be=0,Lc={css:"#00000000",rgba:0},Ke;(t=>{function e(n,o,a,l){return l!==void 0?`#${Ks(n)}${Ks(o)}${Ks(a)}${Ks(l)}`:`#${Ks(n)}${Ks(o)}${Ks(a)}`}t.toCss=e;function s(n,o,a,l=255){return(n<<24|o<<16|a<<8|l)>>>0}t.toRgba=s;function i(n,o,a,l){return{css:t.toCss(n,o,a,l),rgba:t.toRgba(n,o,a,l)}}t.toColor=i})(Ke||={});var Te;(t=>{function e(c,d){if(Be=(d.rgba&255)/255,Be===1)return{css:d.css,rgba:d.rgba};let u=d.rgba>>24&255,h=d.rgba>>16&255,f=d.rgba>>8&255,m=c.rgba>>24&255,p=c.rgba>>16&255,g=c.rgba>>8&255;rt=m+Math.round((u-m)*Be),nt=p+Math.round((h-p)*Be),ot=g+Math.round((f-g)*Be);let _=Ke.toCss(rt,nt,ot),v=Ke.toRgba(rt,nt,ot);return{css:_,rgba:v}}t.blend=e;function s(c){return(c.rgba&255)===255}t.isOpaque=s;function i(c,d,u){let h=cn.ensureContrastRatio(c.rgba,d.rgba,u);if(h)return Ke.toColor(h>>24&255,h>>16&255,h>>8&255)}t.ensureContrastRatio=i;function n(c){let d=(c.rgba|255)>>>0;return[rt,nt,ot]=cn.toChannels(d),{css:Ke.toCss(rt,nt,ot),rgba:d}}t.opaque=n;function o(c,d){return Be=Math.round(d*255),[rt,nt,ot]=cn.toChannels(c.rgba),{css:Ke.toCss(rt,nt,ot,Be),rgba:Ke.toRgba(rt,nt,ot,Be)}}t.opacity=o;function a(c,d){return Be=c.rgba&255,o(c,Be*d/255)}t.multiplyOpacity=a;function l(c){return[c.rgba>>24&255,c.rgba>>16&255,c.rgba>>8&255]}t.toColorRGB=l})(Te||={});var Le;(t=>{let e,s;try{let n=document.createElement("canvas");n.width=1,n.height=1;let o=n.getContext("2d",{willReadFrequently:!0});o&&(e=o,e.globalCompositeOperation="copy",s=e.createLinearGradient(0,0,1,1))}catch{}function i(n){if(n.match(/#[\da-f]{3,8}/i))switch(n.length){case 4:return rt=parseInt(n.slice(1,2).repeat(2),16),nt=parseInt(n.slice(2,3).repeat(2),16),ot=parseInt(n.slice(3,4).repeat(2),16),Ke.toColor(rt,nt,ot);case 5:return rt=parseInt(n.slice(1,2).repeat(2),16),nt=parseInt(n.slice(2,3).repeat(2),16),ot=parseInt(n.slice(3,4).repeat(2),16),Be=parseInt(n.slice(4,5).repeat(2),16),Ke.toColor(rt,nt,ot,Be);case 7:return{css:n,rgba:(parseInt(n.slice(1),16)<<8|255)>>>0};case 9:return{css:n,rgba:parseInt(n.slice(1),16)>>>0}}let o=n.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(o)return rt=parseInt(o[1]),nt=parseInt(o[2]),ot=parseInt(o[3]),Be=Math.round((o[5]===void 0?1:parseFloat(o[5]))*255),Ke.toColor(rt,nt,ot,Be);if(!e||!s)throw new Error("css.toColor: Unsupported css format");if(e.fillStyle=s,e.fillStyle=n,typeof e.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(e.fillRect(0,0,1,1),[rt,nt,ot,Be]=e.getImageData(0,0,1,1).data,Be!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:Ke.toRgba(rt,nt,ot,Be),css:n}}t.toColor=i})(Le||={});var mt;(t=>{function e(i){return s(i>>16&255,i>>8&255,i&255)}t.relativeLuminance=e;function s(i,n,o){let a=i/255,l=n/255,c=o/255,d=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),u=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),h=c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4);return d*.2126+u*.7152+h*.0722}t.relativeLuminance2=s})(mt||={});var cn;(t=>{function e(a,l){if(Be=(l&255)/255,Be===1)return l;let c=l>>24&255,d=l>>16&255,u=l>>8&255,h=a>>24&255,f=a>>16&255,m=a>>8&255;return rt=h+Math.round((c-h)*Be),nt=f+Math.round((d-f)*Be),ot=m+Math.round((u-m)*Be),Ke.toRgba(rt,nt,ot)}t.blend=e;function s(a,l,c){let d=mt.relativeLuminance(a>>8),u=mt.relativeLuminance(l>>8);if(_s(d,u)<c){if(u<d){let m=i(a,l,c),p=_s(d,mt.relativeLuminance(m>>8));if(p<c){let g=n(a,l,c),_=_s(d,mt.relativeLuminance(g>>8));return p>_?m:g}return m}let h=n(a,l,c),f=_s(d,mt.relativeLuminance(h>>8));if(f<c){let m=i(a,l,c),p=_s(d,mt.relativeLuminance(m>>8));return f>p?h:m}return h}}t.ensureContrastRatio=s;function i(a,l,c){let d=a>>24&255,u=a>>16&255,h=a>>8&255,f=l>>24&255,m=l>>16&255,p=l>>8&255,g=_s(mt.relativeLuminance2(f,m,p),mt.relativeLuminance2(d,u,h));for(;g<c&&(f>0||m>0||p>0);)f-=Math.max(0,Math.ceil(f*.1)),m-=Math.max(0,Math.ceil(m*.1)),p-=Math.max(0,Math.ceil(p*.1)),g=_s(mt.relativeLuminance2(f,m,p),mt.relativeLuminance2(d,u,h));return(f<<24|m<<16|p<<8|255)>>>0}t.reduceLuminance=i;function n(a,l,c){let d=a>>24&255,u=a>>16&255,h=a>>8&255,f=l>>24&255,m=l>>16&255,p=l>>8&255,g=_s(mt.relativeLuminance2(f,m,p),mt.relativeLuminance2(d,u,h));for(;g<c&&(f<255||m<255||p<255);)f=Math.min(255,f+Math.ceil((255-f)*.1)),m=Math.min(255,m+Math.ceil((255-m)*.1)),p=Math.min(255,p+Math.ceil((255-p)*.1)),g=_s(mt.relativeLuminance2(f,m,p),mt.relativeLuminance2(d,u,h));return(f<<24|m<<16|p<<8|255)>>>0}t.increaseLuminance=n;function o(a){return[a>>24&255,a>>16&255,a>>8&255,a&255]}t.toChannels=o})(cn||={});function Ks(t){let e=t.toString(16);return e.length<2?"0"+e:e}function _s(t,e){return t<e?(e+.05)/(t+.05):(t+.05)/(e+.05)}var nV=class extends Ar{constructor(t,e,s){super(),this.content=0,this.combinedData="",this.fg=t.fg,this.bg=t.bg,this.combinedData=e,this._width=s}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(t){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},yn=class{constructor(t){this._bufferService=t,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Kt}register(t){let e={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(e),e.id}deregister(t){for(let e=0;e<this._characterJoiners.length;e++)if(this._characterJoiners[e].id===t)return this._characterJoiners.splice(e,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let e=this._bufferService.buffer.lines.get(t);if(!e||e.length===0)return[];let s=[],i=e.translateToString(!0),n=0,o=0,a=0,l=e.getFg(0),c=e.getBg(0);for(let d=0;d<e.getTrimmedLength();d++)if(e.loadCell(d,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==l||this._workCell.bg!==c){if(d-n>1){let u=this._getJoinedRanges(i,a,o,e,n);for(let h=0;h<u.length;h++)s.push(u[h])}n=d,a=o,l=this._workCell.fg,c=this._workCell.bg}o+=this._workCell.getChars().length||Is.length}if(this._bufferService.cols-n>1){let d=this._getJoinedRanges(i,a,o,e,n);for(let u=0;u<d.length;u++)s.push(d[u])}return s}_getJoinedRanges(t,e,s,i,n){let o=t.substring(e,s),a=[];try{a=this._characterJoiners[0].handler(o)}catch(l){console.error(l)}for(let l=1;l<this._characterJoiners.length;l++)try{let c=this._characterJoiners[l].handler(o);for(let d=0;d<c.length;d++)yn._mergeRanges(a,c[d])}catch(c){console.error(c)}return this._stringRangesToCellRanges(a,i,n),a}_stringRangesToCellRanges(t,e,s){let i=0,n=!1,o=0,a=t[i];if(a){for(let l=s;l<this._bufferService.cols;l++){let c=e.getWidth(l),d=e.getString(l).length||Is.length;if(c!==0){if(!n&&a[0]<=o&&(a[0]=l,n=!0),a[1]<=o){if(a[1]=l,a=t[++i],!a)break;a[0]<=o?(a[0]=l,n=!0):n=!1}o+=d}}a&&(a[1]=this._bufferService.cols)}}static _mergeRanges(t,e){let s=!1;for(let i=0;i<t.length;i++){let n=t[i];if(s){if(e[1]<=n[0])return t[i-1][1]=e[1],t;if(e[1]<=n[1])return t[i-1][1]=Math.max(e[1],n[1]),t.splice(i,1),t;t.splice(i,1),i--}else{if(e[1]<=n[0])return t.splice(i,0,e),t;if(e[1]<=n[1])return n[0]=Math.min(e[0],n[0]),t;e[0]<n[1]&&(n[0]=Math.min(e[0],n[0]),s=!0);continue}}return s?t[t.length-1][1]=e[1]:t.push(e),t}};yn=$e([le(0,wt)],yn);function oV(t){return 57508<=t&&t<=57558}function aV(t){return 9472<=t&&t<=9631}function lV(t){return oV(t)||aV(t)}function cV(){return{css:{canvas:Wr(),cell:Wr()},device:{canvas:Wr(),cell:Wr(),char:{width:0,height:0,left:0,top:0}}}}function Wr(){return{width:0,height:0}}var la=class{constructor(t,e,s,i,n,o,a){this._document=t,this._characterJoinerService=e,this._optionsService=s,this._coreBrowserService=i,this._coreService=n,this._decorationService=o,this._themeService=a,this._workCell=new Kt,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(t,e,s){this._selectionStart=t,this._selectionEnd=e,this._columnSelectMode=s}createRow(t,e,s,i,n,o,a,l,c,d,u){let h=[],f=this._characterJoinerService.getJoinedCharacters(e),m=this._themeService.colors,p=t.getNoBgTrimmedLength();s&&p<o+1&&(p=o+1);let g,_=0,v="",x=0,b=0,y=0,V=0,C=!1,S=0,w=!1,k=0,T=0,M=[],I=d!==-1&&u!==-1;for(let E=0;E<p;E++){t.loadCell(E,this._workCell);let N=this._workCell.getWidth();if(N===0)continue;let A=!1,D=E>=T,L=E,R=this._workCell;if(f.length>0&&E===f[0][0]&&D){let J=f.shift(),ae=this._isCellInSelection(J[0],e);for(x=J[0]+1;x<J[1];x++)D&&=ae===this._isCellInSelection(x,e);D&&=!s||o<J[0]||o>=J[1],D?(A=!0,R=new nV(this._workCell,t.translateToString(!0,J[0],J[1]),J[1]-J[0]),L=J[1]-1,N=R.getWidth()):T=J[1]}let P=this._isCellInSelection(E,e),O=s&&E===o,z=I&&E>=d&&E<=u,$=!1;this._decorationService.forEachDecorationAtCell(E,e,void 0,J=>{$=!0});let q=R.getChars()||Is;if(q===" "&&(R.isUnderline()||R.isOverline())&&(q=" "),k=N*l-c.get(q,R.isBold(),R.isItalic()),!g)g=this._document.createElement("span");else if(_&&(P&&w||!P&&!w&&R.bg===b)&&(P&&w&&m.selectionForeground||R.fg===y)&&R.extended.ext===V&&z===C&&k===S&&!O&&!A&&!$&&D){R.isInvisible()?v+=Is:v+=q,_++;continue}else _&&(g.textContent=v),g=this._document.createElement("span"),_=0,v="";if(b=R.bg,y=R.fg,V=R.extended.ext,C=z,S=k,w=P,A&&o>=E&&o<=L&&(o=E),!this._coreService.isCursorHidden&&O&&this._coreService.isCursorInitialized){if(M.push("xterm-cursor"),this._coreBrowserService.isFocused)a&&M.push("xterm-cursor-blink"),M.push(i==="bar"?"xterm-cursor-bar":i==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(n)switch(n){case"outline":M.push("xterm-cursor-outline");break;case"block":M.push("xterm-cursor-block");break;case"bar":M.push("xterm-cursor-bar");break;case"underline":M.push("xterm-cursor-underline");break}}if(R.isBold()&&M.push("xterm-bold"),R.isItalic()&&M.push("xterm-italic"),R.isDim()&&M.push("xterm-dim"),R.isInvisible()?v=Is:v=R.getChars()||Is,R.isUnderline()&&(M.push(`xterm-underline-${R.extended.underlineStyle}`),v===" "&&(v=" "),!R.isUnderlineColorDefault()))if(R.isUnderlineColorRGB())g.style.textDecorationColor=`rgb(${Ar.toColorRGB(R.getUnderlineColor()).join(",")})`;else{let J=R.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&R.isBold()&&J<8&&(J+=8),g.style.textDecorationColor=m.ansi[J].css}R.isOverline()&&(M.push("xterm-overline"),v===" "&&(v=" ")),R.isStrikethrough()&&M.push("xterm-strikethrough"),z&&(g.style.textDecoration="underline");let F=R.getFgColor(),W=R.getFgColorMode(),H=R.getBgColor(),U=R.getBgColorMode(),X=!!R.isInverse();if(X){let J=F;F=H,H=J;let ae=W;W=U,U=ae}let K,G,ie=!1;this._decorationService.forEachDecorationAtCell(E,e,void 0,J=>{J.options.layer!=="top"&&ie||(J.backgroundColorRGB&&(U=50331648,H=J.backgroundColorRGB.rgba>>8&16777215,K=J.backgroundColorRGB),J.foregroundColorRGB&&(W=50331648,F=J.foregroundColorRGB.rgba>>8&16777215,G=J.foregroundColorRGB),ie=J.options.layer==="top")}),!ie&&P&&(K=this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque,H=K.rgba>>8&16777215,U=50331648,ie=!0,m.selectionForeground&&(W=50331648,F=m.selectionForeground.rgba>>8&16777215,G=m.selectionForeground)),ie&&M.push("xterm-decoration-top");let te;switch(U){case 16777216:case 33554432:te=m.ansi[H],M.push(`xterm-bg-${H}`);break;case 50331648:te=Ke.toColor(H>>16,H>>8&255,H&255),this._addStyle(g,`background-color:#${Oc((H>>>0).toString(16),"0",6)}`);break;default:X?(te=m.foreground,M.push("xterm-bg-257")):te=m.background}switch(K||R.isDim()&&(K=Te.multiplyOpacity(te,.5)),W){case 16777216:case 33554432:R.isBold()&&F<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(F+=8),this._applyMinimumContrast(g,te,m.ansi[F],R,K,void 0)||M.push(`xterm-fg-${F}`);break;case 50331648:let J=Ke.toColor(F>>16&255,F>>8&255,F&255);this._applyMinimumContrast(g,te,J,R,K,G)||this._addStyle(g,`color:#${Oc(F.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(g,te,m.foreground,R,K,G)||X&&M.push("xterm-fg-257")}M.length&&(g.className=M.join(" "),M.length=0),!O&&!A&&!$&&D?_++:g.textContent=v,k!==this.defaultSpacing&&(g.style.letterSpacing=`${k}px`),h.push(g),E=L}return g&&_&&(g.textContent=v),h}_applyMinimumContrast(t,e,s,i,n,o){if(this._optionsService.rawOptions.minimumContrastRatio===1||lV(i.getCode()))return!1;let a=this._getContrastCache(i),l;if(!n&&!o&&(l=a.getColor(e.rgba,s.rgba)),l===void 0){let c=this._optionsService.rawOptions.minimumContrastRatio/(i.isDim()?2:1);l=Te.ensureContrastRatio(n||e,o||s,c),a.setColor((n||e).rgba,(o||s).rgba,l??null)}return l?(this._addStyle(t,`color:${l.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,e){t.setAttribute("style",`${t.getAttribute("style")||""}${e};`)}_isCellInSelection(t,e){let s=this._selectionStart,i=this._selectionEnd;return!s||!i?!1:this._columnSelectMode?s[0]<=i[0]?t>=s[0]&&e>=s[1]&&t<i[0]&&e<=i[1]:t<s[0]&&e>=s[1]&&t>=i[0]&&e<=i[1]:e>s[1]&&e<i[1]||s[1]===i[1]&&e===s[1]&&t>=s[0]&&t<i[0]||s[1]<i[1]&&e===i[1]&&t<i[0]||s[1]<i[1]&&e===s[1]&&t>=s[0]}};la=$e([le(1,Fu),le(2,Vt),le(3,ys),le(4,ai),le(5,Er),le(6,Ri)],la);function Oc(t,e,s){for(;t.length<s;)t=e+t;return t}var dV=class{constructor(t,e){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=t.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let s=t.createElement("span");s.classList.add("xterm-char-measure-element");let i=t.createElement("span");i.classList.add("xterm-char-measure-element"),i.style.fontWeight="bold";let n=t.createElement("span");n.classList.add("xterm-char-measure-element"),n.style.fontStyle="italic";let o=t.createElement("span");o.classList.add("xterm-char-measure-element"),o.style.fontWeight="bold",o.style.fontStyle="italic",this._measureElements=[s,i,n,o],this._container.appendChild(s),this._container.appendChild(i),this._container.appendChild(n),this._container.appendChild(o),e.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(t,e,s,i){t===this._font&&e===this._fontSize&&s===this._weight&&i===this._weightBold||(this._font=t,this._fontSize=e,this._weight=s,this._weightBold=i,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${s}`,this._measureElements[1].style.fontWeight=`${i}`,this._measureElements[2].style.fontWeight=`${s}`,this._measureElements[3].style.fontWeight=`${i}`,this.clear())}get(t,e,s){let i=0;if(!e&&!s&&t.length===1&&(i=t.charCodeAt(0))<256){if(this._flat[i]!==-9999)return this._flat[i];let a=this._measure(t,0);return a>0&&(this._flat[i]=a),a}let n=t;e&&(n+="B"),s&&(n+="I");let o=this._holey.get(n);if(o===void 0){let a=0;e&&(a|=1),s&&(a|=2),o=this._measure(t,a),o>0&&this._holey.set(n,o)}return o}_measure(t,e){let s=this._measureElements[e];return s.textContent=t.repeat(32),s.offsetWidth/32}},hV=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,e,s,i=!1){if(this.selectionStart=e,this.selectionEnd=s,!e||!s||e[0]===s[0]&&e[1]===s[1]){this.clear();return}let n=t.buffers.active.ydisp,o=e[1]-n,a=s[1]-n,l=Math.max(o,0),c=Math.min(a,t.rows-1);if(l>=t.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=i,this.viewportStartRow=o,this.viewportEndRow=a,this.viewportCappedStartRow=l,this.viewportCappedEndRow=c,this.startCol=e[0],this.endCol=s[0]}isCellSelected(t,e,s){return this.hasSelection?(s-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?e>=this.startCol&&s>=this.viewportCappedStartRow&&e<this.endCol&&s<=this.viewportCappedEndRow:e<this.startCol&&s>=this.viewportCappedStartRow&&e>=this.endCol&&s<=this.viewportCappedEndRow:s>this.viewportStartRow&&s<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&s===this.viewportStartRow&&e>=this.startCol&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportEndRow&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportStartRow&&e>=this.startCol):!1}};function uV(){return new hV}var po="xterm-dom-renderer-owner-",Ft="xterm-rows",Kr="xterm-fg-",Bc="xterm-bg-",zi="xterm-focus",qr="xterm-selection",fV=1,ca=class extends we{constructor(t,e,s,i,n,o,a,l,c,d,u,h,f,m){super(),this._terminal=t,this._document=e,this._element=s,this._screenElement=i,this._viewportElement=n,this._helperContainer=o,this._linkifier2=a,this._charSizeService=c,this._optionsService=d,this._bufferService=u,this._coreService=h,this._coreBrowserService=f,this._themeService=m,this._terminalClass=fV++,this._rowElements=[],this._selectionRenderModel=uV(),this.onRequestRedraw=this._register(new ne).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(Ft),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(qr),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=cV(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(p=>this._injectCss(p))),this._injectCss(this._themeService.colors),this._rowFactory=l.createInstance(la,document),this._element.classList.add(po+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(p=>this._handleLinkHover(p))),this._register(this._linkifier2.onHideLinkUnderline(p=>this._handleLinkLeave(p))),this._register(Me(()=>{this._element.classList.remove(po+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new dV(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let t=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*t,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*t),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/t),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/t),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let s of this._rowElements)s.style.width=`${this.dimensions.css.canvas.width}px`,s.style.height=`${this.dimensions.css.cell.height}px`,s.style.lineHeight=`${this.dimensions.css.cell.height}px`,s.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let e=`${this._terminalSelector} .${Ft} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=e,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(t){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let e=`${this._terminalSelector} .${Ft} { pointer-events: none; color: ${t.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;e+=`${this._terminalSelector} .${Ft} .xterm-dim { color: ${Te.multiplyOpacity(t.foreground,.5).css};}`,e+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let s=`blink_underline_${this._terminalClass}`,i=`blink_bar_${this._terminalClass}`,n=`blink_block_${this._terminalClass}`;e+=`@keyframes ${s} { 50% { border-bottom-style: hidden; }}`,e+=`@keyframes ${i} { 50% { box-shadow: none; }}`,e+=`@keyframes ${n} { 0% { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css}; } 50% { background-color: inherit; color: ${t.cursor.css}; }}`,e+=`${this._terminalSelector} .${Ft}.${zi} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${Ft}.${zi} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${Ft}.${zi} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Ft} .xterm-cursor.xterm-cursor-block { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css};}${this._terminalSelector} .${Ft} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${t.cursor.css} !important; color: ${t.cursorAccent.css} !important;}${this._terminalSelector} .${Ft} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${t.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Ft} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${t.cursor.css} inset;}${this._terminalSelector} .${Ft} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${t.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,e+=`${this._terminalSelector} .${qr} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${qr} div { position: absolute; background-color: ${t.selectionBackgroundOpaque.css};}${this._terminalSelector} .${qr} div { position: absolute; background-color: ${t.selectionInactiveBackgroundOpaque.css};}`;for(let[o,a]of t.ansi.entries())e+=`${this._terminalSelector} .${Kr}${o} { color: ${a.css}; }${this._terminalSelector} .${Kr}${o}.xterm-dim { color: ${Te.multiplyOpacity(a,.5).css}; }${this._terminalSelector} .${Bc}${o} { background-color: ${a.css}; }`;e+=`${this._terminalSelector} .${Kr}257 { color: ${Te.opaque(t.background).css}; }${this._terminalSelector} .${Kr}257.xterm-dim { color: ${Te.multiplyOpacity(Te.opaque(t.background),.5).css}; }${this._terminalSelector} .${Bc}257 { background-color: ${t.foreground.css}; }`,this._themeStyleElement.textContent=e}_setDefaultSpacing(){let t=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${t}px`,this._rowFactory.defaultSpacing=t}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(t,e){for(let s=this._rowElements.length;s<=e;s++){let i=this._document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(t,e){this._refreshRowElements(t,e),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(zi),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(zi),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(t,e,s){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(t,e,s),this.renderRows(0,this._bufferService.rows-1),!t||!e||(this._selectionRenderModel.update(this._terminal,t,e,s),!this._selectionRenderModel.hasSelection))return;let i=this._selectionRenderModel.viewportStartRow,n=this._selectionRenderModel.viewportEndRow,o=this._selectionRenderModel.viewportCappedStartRow,a=this._selectionRenderModel.viewportCappedEndRow,l=this._document.createDocumentFragment();if(s){let c=t[0]>e[0];l.appendChild(this._createSelectionElement(o,c?e[0]:t[0],c?t[0]:e[0],a-o+1))}else{let c=i===o?t[0]:0,d=o===n?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(o,c,d));let u=a-o-1;if(l.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,u)),o!==a){let h=n===a?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(a,0,h))}}this._selectionContainer.appendChild(l)}_createSelectionElement(t,e,s,i=1){let n=this._document.createElement("div"),o=e*this.dimensions.css.cell.width,a=this.dimensions.css.cell.width*(s-e);return o+a>this.dimensions.css.canvas.width&&(a=this.dimensions.css.canvas.width-o),n.style.height=`${i*this.dimensions.css.cell.height}px`,n.style.top=`${t*this.dimensions.css.cell.height}px`,n.style.left=`${o}px`,n.style.width=`${a}px`,n}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let t of this._rowElements)t.replaceChildren()}renderRows(t,e){let s=this._bufferService.buffer,i=s.ybase+s.y,n=Math.min(s.x,this._bufferService.cols-1),o=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,a=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,l=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=t;c<=e;c++){let d=c+s.ydisp,u=this._rowElements[c],h=s.lines.get(d);if(!u||!h)break;u.replaceChildren(...this._rowFactory.createRow(h,d,d===i,a,l,n,o,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${po}${this._terminalClass}`}_handleLinkHover(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!0)}_handleLinkLeave(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!1)}_setCellUnderline(t,e,s,i,n,o){s<0&&(t=0),i<0&&(e=0);let a=this._bufferService.rows-1;s=Math.max(Math.min(s,a),0),i=Math.max(Math.min(i,a),0),n=Math.min(n,this._bufferService.cols);let l=this._bufferService.buffer,c=l.ybase+l.y,d=Math.min(l.x,n-1),u=this._optionsService.rawOptions.cursorBlink,h=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let m=s;m<=i;++m){let p=m+l.ydisp,g=this._rowElements[m],_=l.lines.get(p);if(!g||!_)break;g.replaceChildren(...this._rowFactory.createRow(_,p,p===c,h,f,d,u,this.dimensions.css.cell.width,this._widthCache,o?m===s?t:0:-1,o?(m===i?e:n)-1:-1))}}};ca=$e([le(7,rl),le(8,zn),le(9,Vt),le(10,wt),le(11,ai),le(12,ys),le(13,Ri)],ca);var da=class extends we{constructor(t,e,s){super(),this._optionsService=s,this.width=0,this.height=0,this._onCharSizeChange=this._register(new ne),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new pV(this._optionsService))}catch{this._measureStrategy=this._register(new mV(t,e,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let t=this._measureStrategy.measure();(t.width!==this.width||t.height!==this.height)&&(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())}};da=$e([le(2,Vt)],da);var lf=class extends we{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(t,e){t!==void 0&&t>0&&e!==void 0&&e>0&&(this._result.width=t,this._result.height=e)}},mV=class extends lf{constructor(t,e,s){super(),this._document=t,this._parentElement=e,this._optionsService=s,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},pV=class extends lf{constructor(t){super(),this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let e=this._ctx.measureText("W");if(!("width"in e&&"fontBoundingBoxAscent"in e&&"fontBoundingBoxDescent"in e))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}},gV=class extends we{constructor(t,e,s){super(),this._textarea=t,this._window=e,this.mainDocument=s,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new _V(this._window)),this._onDprChange=this._register(new ne),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new ne),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(i=>this._screenDprMonitor.setWindow(i))),this._register(ct.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(ve(this._textarea,"focus",()=>this._isFocused=!0)),this._register(ve(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(t){this._window!==t&&(this._window=t,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},_V=class extends we{constructor(t){super(),this._parentWindow=t,this._windowResizeListener=this._register(new ki),this._onDprChange=this._register(new ne),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(Me(()=>this.clearListener()))}setWindow(t){this._parentWindow=t,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=ve(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},xV=class extends we{constructor(){super(),this.linkProviders=[],this._register(Me(()=>this.linkProviders.length=0))}registerLinkProvider(t){return this.linkProviders.push(t),{dispose:()=>{let e=this.linkProviders.indexOf(t);e!==-1&&this.linkProviders.splice(e,1)}}}};function ul(t,e,s){let i=s.getBoundingClientRect(),n=t.getComputedStyle(s),o=parseInt(n.getPropertyValue("padding-left")),a=parseInt(n.getPropertyValue("padding-top"));return[e.clientX-i.left-o,e.clientY-i.top-a]}function vV(t,e,s,i,n,o,a,l,c){if(!o)return;let d=ul(t,e,s);if(d)return d[0]=Math.ceil((d[0]+(c?a/2:0))/a),d[1]=Math.ceil(d[1]/l),d[0]=Math.min(Math.max(d[0],1),i+(c?1:0)),d[1]=Math.min(Math.max(d[1],1),n),d}var ha=class{constructor(t,e){this._renderService=t,this._charSizeService=e}getCoords(t,e,s,i,n){return vV(window,t,e,s,i,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,n)}getMouseReportCoords(t,e){let s=ul(window,t,e);if(this._charSizeService.hasValidSize)return s[0]=Math.min(Math.max(s[0],0),this._renderService.dimensions.css.canvas.width-1),s[1]=Math.min(Math.max(s[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(s[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(s[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(s[0]),y:Math.floor(s[1])}}};ha=$e([le(0,Ss),le(1,zn)],ha);var bV=class{constructor(t,e){this._renderCallback=t,this._coreBrowserService=e,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,e,s){this._rowCount=s,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}},cf={};ES(cf,{getSafariVersion:()=>SV,isChromeOS:()=>ff,isFirefox:()=>df,isIpad:()=>wV,isIphone:()=>VV,isLegacyEdge:()=>yV,isLinux:()=>fl,isMac:()=>Sn,isNode:()=>Fn,isSafari:()=>hf,isWindows:()=>uf});var Fn=typeof process<"u"&&"title"in process,Ir=Fn?"node":navigator.userAgent,Tr=Fn?"node":navigator.platform,df=Ir.includes("Firefox"),yV=Ir.includes("Edge"),hf=/^((?!chrome|android).)*safari/i.test(Ir);function SV(){if(!hf)return 0;let t=Ir.match(/Version\/(\d+)/);return t===null||t.length<2?0:parseInt(t[1])}var Sn=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Tr),wV=Tr==="iPad",VV=Tr==="iPhone",uf=["Windows","Win16","Win32","WinCE"].includes(Tr),fl=Tr.indexOf("Linux")>=0,ff=/\bCrOS\b/.test(Ir),mf=class{constructor(){this._tasks=[],this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(t){this._idleCallback=void 0;let e=0,s=0,i=t.timeRemaining(),n=0;for(;this._i<this._tasks.length;){if(e=performance.now(),this._tasks[this._i]()||this._i++,e=Math.max(1,performance.now()-e),s=Math.max(e,s),n=t.timeRemaining(),s*1.5>n){i-e<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i-e))}ms`),this._start();return}i=n}this.clear()}},CV=class extends mf{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let e=performance.now()+t;return{timeRemaining:()=>Math.max(0,e-performance.now())}}},kV=class extends mf{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},wn=!Fn&&"requestIdleCallback"in window?kV:CV,jV=class{constructor(){this._queue=new wn}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}},ua=class extends we{constructor(t,e,s,i,n,o,a,l,c){super(),this._rowCount=t,this._optionsService=s,this._charSizeService=i,this._coreService=n,this._coreBrowserService=l,this._renderer=this._register(new ki),this._pausedResizeTask=new jV,this._observerDisposable=this._register(new ki),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new ne),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new ne),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new ne),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new ne),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new bV((d,u)=>this._renderRows(d,u),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new NV(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(Me(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(a.onResize(()=>this._fullRefresh())),this._register(a.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(o.onDecorationRegistered(()=>this._fullRefresh())),this._register(o.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(a.cols,a.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(a.buffer.y,a.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,e),this._register(this._coreBrowserService.onWindowChange(d=>this._registerIntersectionObserver(d,e)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(t,e){if("IntersectionObserver"in t){let s=new t.IntersectionObserver(i=>this._handleIntersectionChange(i[i.length-1]),{threshold:0});s.observe(e),this._observerDisposable.value=Me(()=>s.disconnect())}}_handleIntersectionChange(t){this._isPaused=t.isIntersecting===void 0?t.intersectionRatio===0:!t.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(t,e,s=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}let i=this._syncOutputHandler.flush();i&&(t=Math.min(t,i.start),e=Math.max(e,i.end)),s||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,e,this._rowCount)}_renderRows(t,e){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}t=Math.min(t,this._rowCount-1),e=Math.min(e,this._rowCount-1),this._renderer.value.renderRows(t,e),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:t,end:e}),this._onRender.fire({start:t,end:e}),this._isNextRenderRedrawOnly=!0}}resize(t,e){this._rowCount=e,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(t){this._renderer.value=t,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(t){return this._renderDebouncer.addRefreshCallback(t)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(t,e){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(t,e)):this._renderer.value.handleResize(t,e),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(t,e,s){this._selectionState.start=t,this._selectionState.end=e,this._selectionState.columnSelectMode=s,this._renderer.value?.handleSelectionChanged(t,e,s)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};ua=$e([le(2,Vt),le(3,zn),le(4,ai),le(5,Er),le(6,wt),le(7,ys),le(8,Ri)],ua);var NV=class{constructor(t,e,s){this._coreBrowserService=t,this._coreService=e,this._onTimeout=s,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(t,e){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,e)):(this._start=t,this._end=e,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function AV(t,e,s,i){let n=s.buffer.x,o=s.buffer.y;if(!s.buffer.hasScrollback)return TV(n,o,t,e,s,i)+Un(o,e,s,i)+RV(n,o,t,e,s,i);let a;if(o===e)return a=n>t?"D":"C",mr(Math.abs(n-t),fr(a,i));a=o>e?"D":"C";let l=Math.abs(o-e),c=IV(o>e?t:n,s)+(l-1)*s.cols+1+EV(o>e?n:t);return mr(c,fr(a,i))}function EV(t,e){return t-1}function IV(t,e){return e.cols-t}function TV(t,e,s,i,n,o){return Un(e,i,n,o).length===0?"":mr(gf(t,e,t,e-Zs(e,n),!1,n).length,fr("D",o))}function Un(t,e,s,i){let n=t-Zs(t,s),o=e-Zs(e,s),a=Math.abs(n-o)-MV(t,e,s);return mr(a,fr(pf(t,e),i))}function RV(t,e,s,i,n,o){let a;Un(e,i,n,o).length>0?a=i-Zs(i,n):a=e;let l=i,c=DV(t,e,s,i,n,o);return mr(gf(t,a,s,l,c==="C",n).length,fr(c,o))}function MV(t,e,s){let i=0,n=t-Zs(t,s),o=e-Zs(e,s);for(let a=0;a<Math.abs(n-o);a++){let l=pf(t,e)==="A"?-1:1;s.buffer.lines.get(n+l*a)?.isWrapped&&i++}return i}function Zs(t,e){let s=0,i=e.buffer.lines.get(t),n=i?.isWrapped;for(;n&&t>=0&&t<e.rows;)s++,i=e.buffer.lines.get(--t),n=i?.isWrapped;return s}function DV(t,e,s,i,n,o){let a;return Un(s,i,n,o).length>0?a=i-Zs(i,n):a=e,t<s&&a<=i||t>=s&&a<i?"C":"D"}function pf(t,e){return t>e?"A":"B"}function gf(t,e,s,i,n,o){let a=t,l=e,c="";for(;(a!==s||l!==i)&&l>=0&&l<o.buffer.lines.length;)a+=n?1:-1,n&&a>o.cols-1?(c+=o.buffer.translateBufferLineToString(l,!1,t,a),a=0,t=0,l++):!n&&a<0&&(c+=o.buffer.translateBufferLineToString(l,!1,0,t+1),a=o.cols-1,t=a,l--);return c+o.buffer.translateBufferLineToString(l,!1,t,a)}function fr(t,e){let s=e?"O":"[";return Q.ESC+s+t}function mr(t,e){t=Math.floor(t);let s="";for(let i=0;i<t;i++)s+=e;return s}var PV=class{constructor(t){this._bufferService=t,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,e=this.selectionEnd;return!t||!e?!1:t[1]>e[1]||t[1]===e[1]&&t[0]>e[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function $c(t,e){if(t.start.y>t.end.y)throw new Error(`Buffer range end (${t.end.x}, ${t.end.y}) cannot be before start (${t.start.x}, ${t.start.y})`);return e*(t.end.y-t.start.y)+(t.end.x-t.start.x+1)}var go=50,LV=15,OV=50,BV=500,$V=" ",zV=new RegExp($V,"g"),fa=class extends we{constructor(t,e,s,i,n,o,a,l,c){super(),this._element=t,this._screenElement=e,this._linkifier=s,this._bufferService=i,this._coreService=n,this._mouseService=o,this._optionsService=a,this._renderService=l,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Kt,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new ne),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new ne),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new ne),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new ne),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=d=>this._handleMouseMove(d),this._mouseUpListener=d=>this._handleMouseUp(d),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(d=>this._handleTrim(d)),this._register(this._bufferService.buffers.onBufferActivate(d=>this._handleBufferActivate(d))),this.enable(),this._model=new PV(this._bufferService),this._activeSelectionMode=0,this._register(Me(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(d=>{d.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;return!t||!e?!1:t[0]!==e[0]||t[1]!==e[1]}get selectionText(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;if(!t||!e)return"";let s=this._bufferService.buffer,i=[];if(this._activeSelectionMode===3){if(t[0]===e[0])return"";let n=t[0]<e[0]?t[0]:e[0],o=t[0]<e[0]?e[0]:t[0];for(let a=t[1];a<=e[1];a++){let l=s.translateBufferLineToString(a,!0,n,o);i.push(l)}}else{let n=t[1]===e[1]?e[0]:void 0;i.push(s.translateBufferLineToString(t[1],!0,t[0],n));for(let o=t[1]+1;o<=e[1]-1;o++){let a=s.lines.get(o),l=s.translateBufferLineToString(o,!0);a?.isWrapped?i[i.length-1]+=l:i.push(l)}if(t[1]!==e[1]){let o=s.lines.get(e[1]),a=s.translateBufferLineToString(e[1],!0,0,e[0]);o&&o.isWrapped?i[i.length-1]+=a:i.push(a)}}return i.map(n=>n.replace(zV," ")).join(uf?`\r
|
|
724
|
-
`:`
|
|
725
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(t){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),fl&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(t){let e=this._getMouseBufferCoords(t),s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!s||!i||!e?!1:this._areCoordsInSelection(e,s,i)}isCellInSelection(t,e){let s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!s||!i?!1:this._areCoordsInSelection([t,e],s,i)}_areCoordsInSelection(t,e,s){return t[1]>e[1]&&t[1]<s[1]||e[1]===s[1]&&t[1]===e[1]&&t[0]>=e[0]&&t[0]<s[0]||e[1]<s[1]&&t[1]===s[1]&&t[0]<s[0]||e[1]<s[1]&&t[1]===e[1]&&t[0]>=e[0]}_selectWordAtCursor(t,e){let s=this._linkifier.currentLink?.link?.range;if(s)return this._model.selectionStart=[s.start.x-1,s.start.y-1],this._model.selectionStartLength=$c(s,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let i=this._getMouseBufferCoords(t);return i?(this._selectWordAt(i,e),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(t,e){this._model.clearSelection(),t=Math.max(t,0),e=Math.min(e,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,e],this.refresh(),this._onSelectionChange.fire()}_handleTrim(t){this._model.handleTrim(t)&&this.refresh()}_getMouseBufferCoords(t){let e=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(e)return e[0]--,e[1]--,e[1]+=this._bufferService.buffer.ydisp,e}_getMouseEventScrollAmount(t){let e=ul(this._coreBrowserService.window,t,this._screenElement)[1],s=this._renderService.dimensions.css.canvas.height;return e>=0&&e<=s?0:(e>s&&(e-=s),e=Math.min(Math.max(e,-go),go),e/=go,e/Math.abs(e)+Math.round(e*(LV-1)))}shouldForceSelection(t){return Sn?t.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:t.shiftKey}handleMouseDown(t){if(this._mouseDownTimeStamp=t.timeStamp,!(t.button===2&&this.hasSelection)&&t.button===0){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._handleIncrementalClick(t):t.detail===1?this._handleSingleClick(t):t.detail===2?this._handleDoubleClick(t):t.detail===3&&this._handleTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),OV)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))}_handleSingleClick(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let e=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);e&&e.length!==this._model.selectionStart[0]&&e.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(t){this._selectWordAtCursor(t,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(t){let e=this._getMouseBufferCoords(t);e&&(this._activeSelectionMode=2,this._selectLineAt(e[1]))}shouldColumnSelect(t){return t.altKey&&!(Sn&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(t){if(t.stopImmediatePropagation(),!this._model.selectionStart)return;let e=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(t),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let s=this._bufferService.buffer;if(this._model.selectionEnd[1]<s.lines.length){let i=s.lines.get(this._model.selectionEnd[1]);i&&i.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!e||e[0]!==this._model.selectionEnd[0]||e[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let t=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(t.ydisp+this._bufferService.rows,t.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}}_handleMouseUp(t){let e=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&e<BV&&t.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let s=this._mouseService.getCoords(t,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(s&&s[0]!==void 0&&s[1]!==void 0){let i=AV(s[0]-1,s[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd,s=!!t&&!!e&&(t[0]!==e[0]||t[1]!==e[1]);if(!s){this._oldHasSelection&&this._fireOnSelectionChange(t,e,s);return}!t||!e||(!this._oldSelectionStart||!this._oldSelectionEnd||t[0]!==this._oldSelectionStart[0]||t[1]!==this._oldSelectionStart[1]||e[0]!==this._oldSelectionEnd[0]||e[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(t,e,s)}_fireOnSelectionChange(t,e,s){this._oldSelectionStart=t,this._oldSelectionEnd=e,this._oldHasSelection=s,this._onSelectionChange.fire()}_handleBufferActivate(t){this.clearSelection(),this._trimListener.dispose(),this._trimListener=t.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(t,e){let s=e;for(let i=0;e>=i;i++){let n=t.loadCell(i,this._workCell).getChars().length;this._workCell.getWidth()===0?s--:n>1&&e!==i&&(s+=n-1)}return s}setSelection(t,e,s){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,e],this._model.selectionStartLength=s,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(t){this._isClickInSelection(t)||(this._selectWordAtCursor(t,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(t,e,s=!0,i=!0){if(t[0]>=this._bufferService.cols)return;let n=this._bufferService.buffer,o=n.lines.get(t[1]);if(!o)return;let a=n.translateBufferLineToString(t[1],!1),l=this._convertViewportColToCharacterIndex(o,t[0]),c=l,d=t[0]-l,u=0,h=0,f=0,m=0;if(a.charAt(l)===" "){for(;l>0&&a.charAt(l-1)===" ";)l--;for(;c<a.length&&a.charAt(c+1)===" ";)c++}else{let _=t[0],v=t[0];o.getWidth(_)===0&&(u++,_--),o.getWidth(v)===2&&(h++,v++);let x=o.getString(v).length;for(x>1&&(m+=x-1,c+=x-1);_>0&&l>0&&!this._isCharWordSeparator(o.loadCell(_-1,this._workCell));){o.loadCell(_-1,this._workCell);let b=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,_--):b>1&&(f+=b-1,l-=b-1),l--,_--}for(;v<o.length&&c+1<a.length&&!this._isCharWordSeparator(o.loadCell(v+1,this._workCell));){o.loadCell(v+1,this._workCell);let b=this._workCell.getChars().length;this._workCell.getWidth()===2?(h++,v++):b>1&&(m+=b-1,c+=b-1),c++,v++}}c++;let p=l+d-u+f,g=Math.min(this._bufferService.cols,c-l+u+h-f-m);if(!(!e&&a.slice(l,c).trim()==="")){if(s&&p===0&&o.getCodePoint(0)!==32){let _=n.lines.get(t[1]-1);if(_&&o.isWrapped&&_.getCodePoint(this._bufferService.cols-1)!==32){let v=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(v){let x=this._bufferService.cols-v.start;p-=x,g+=x}}}if(i&&p+g===this._bufferService.cols&&o.getCodePoint(this._bufferService.cols-1)!==32){let _=n.lines.get(t[1]+1);if(_?.isWrapped&&_.getCodePoint(0)!==32){let v=this._getWordAt([0,t[1]+1],!1,!1,!0);v&&(g+=v.length)}}return{start:p,length:g}}}_selectWordAt(t,e){let s=this._getWordAt(t,e);if(s){for(;s.start<0;)s.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[s.start,t[1]],this._model.selectionStartLength=s.length}}_selectToWordAt(t){let e=this._getWordAt(t,!0);if(e){let s=t[1];for(;e.start<0;)e.start+=this._bufferService.cols,s--;if(!this._model.areSelectionValuesReversed())for(;e.start+e.length>this._bufferService.cols;)e.length-=this._bufferService.cols,s++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?e.start:e.start+e.length,s]}}_isCharWordSeparator(t){return t.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(t.getChars())>=0}_selectLineAt(t){let e=this._bufferService.buffer.getWrappedRangeForLine(t),s={start:{x:0,y:e.first},end:{x:this._bufferService.cols-1,y:e.last}};this._model.selectionStart=[0,e.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=$c(s,this._bufferService.cols)}};fa=$e([le(3,wt),le(4,ai),le(5,nl),le(6,Vt),le(7,Ss),le(8,ys)],fa);var zc=class{constructor(){this._data={}}set(t,e,s){this._data[t]||(this._data[t]={}),this._data[t][e]=s}get(t,e){return this._data[t]?this._data[t][e]:void 0}clear(){this._data={}}},Fc=class{constructor(){this._color=new zc,this._css=new zc}setCss(t,e,s){this._css.set(t,e,s)}getCss(t,e){return this._css.get(t,e)}setColor(t,e,s){this._color.set(t,e,s)}getColor(t,e){return this._color.get(t,e)}clear(){this._color.clear(),this._css.clear()}},Xe=Object.freeze((()=>{let t=[Le.toColor("#2e3436"),Le.toColor("#cc0000"),Le.toColor("#4e9a06"),Le.toColor("#c4a000"),Le.toColor("#3465a4"),Le.toColor("#75507b"),Le.toColor("#06989a"),Le.toColor("#d3d7cf"),Le.toColor("#555753"),Le.toColor("#ef2929"),Le.toColor("#8ae234"),Le.toColor("#fce94f"),Le.toColor("#729fcf"),Le.toColor("#ad7fa8"),Le.toColor("#34e2e2"),Le.toColor("#eeeeec")],e=[0,95,135,175,215,255];for(let s=0;s<216;s++){let i=e[s/36%6|0],n=e[s/6%6|0],o=e[s%6];t.push({css:Ke.toCss(i,n,o),rgba:Ke.toRgba(i,n,o)})}for(let s=0;s<24;s++){let i=8+s*10;t.push({css:Ke.toCss(i,i,i),rgba:Ke.toRgba(i,i,i)})}return t})()),qs=Le.toColor("#ffffff"),Yi=Le.toColor("#000000"),Uc=Le.toColor("#ffffff"),Hc=Yi,Fi={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},FV=qs,ma=class extends we{constructor(t){super(),this._optionsService=t,this._contrastCache=new Fc,this._halfContrastCache=new Fc,this._onChangeColors=this._register(new ne),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:qs,background:Yi,cursor:Uc,cursorAccent:Hc,selectionForeground:void 0,selectionBackgroundTransparent:Fi,selectionBackgroundOpaque:Te.blend(Yi,Fi),selectionInactiveBackgroundTransparent:Fi,selectionInactiveBackgroundOpaque:Te.blend(Yi,Fi),scrollbarSliderBackground:Te.opacity(qs,.2),scrollbarSliderHoverBackground:Te.opacity(qs,.4),scrollbarSliderActiveBackground:Te.opacity(qs,.5),overviewRulerBorder:qs,ansi:Xe.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(t={}){let e=this._colors;if(e.foreground=je(t.foreground,qs),e.background=je(t.background,Yi),e.cursor=Te.blend(e.background,je(t.cursor,Uc)),e.cursorAccent=Te.blend(e.background,je(t.cursorAccent,Hc)),e.selectionBackgroundTransparent=je(t.selectionBackground,Fi),e.selectionBackgroundOpaque=Te.blend(e.background,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundTransparent=je(t.selectionInactiveBackground,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundOpaque=Te.blend(e.background,e.selectionInactiveBackgroundTransparent),e.selectionForeground=t.selectionForeground?je(t.selectionForeground,Lc):void 0,e.selectionForeground===Lc&&(e.selectionForeground=void 0),Te.isOpaque(e.selectionBackgroundTransparent)&&(e.selectionBackgroundTransparent=Te.opacity(e.selectionBackgroundTransparent,.3)),Te.isOpaque(e.selectionInactiveBackgroundTransparent)&&(e.selectionInactiveBackgroundTransparent=Te.opacity(e.selectionInactiveBackgroundTransparent,.3)),e.scrollbarSliderBackground=je(t.scrollbarSliderBackground,Te.opacity(e.foreground,.2)),e.scrollbarSliderHoverBackground=je(t.scrollbarSliderHoverBackground,Te.opacity(e.foreground,.4)),e.scrollbarSliderActiveBackground=je(t.scrollbarSliderActiveBackground,Te.opacity(e.foreground,.5)),e.overviewRulerBorder=je(t.overviewRulerBorder,FV),e.ansi=Xe.slice(),e.ansi[0]=je(t.black,Xe[0]),e.ansi[1]=je(t.red,Xe[1]),e.ansi[2]=je(t.green,Xe[2]),e.ansi[3]=je(t.yellow,Xe[3]),e.ansi[4]=je(t.blue,Xe[4]),e.ansi[5]=je(t.magenta,Xe[5]),e.ansi[6]=je(t.cyan,Xe[6]),e.ansi[7]=je(t.white,Xe[7]),e.ansi[8]=je(t.brightBlack,Xe[8]),e.ansi[9]=je(t.brightRed,Xe[9]),e.ansi[10]=je(t.brightGreen,Xe[10]),e.ansi[11]=je(t.brightYellow,Xe[11]),e.ansi[12]=je(t.brightBlue,Xe[12]),e.ansi[13]=je(t.brightMagenta,Xe[13]),e.ansi[14]=je(t.brightCyan,Xe[14]),e.ansi[15]=je(t.brightWhite,Xe[15]),t.extendedAnsi){let s=Math.min(e.ansi.length-16,t.extendedAnsi.length);for(let i=0;i<s;i++)e.ansi[i+16]=je(t.extendedAnsi[i],Xe[i+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(t){this._restoreColor(t),this._onChangeColors.fire(this.colors)}_restoreColor(t){if(t===void 0){for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];return}switch(t){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[t]=this._restoreColors.ansi[t]}}modifyColors(t){t(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};ma=$e([le(0,Vt)],ma);function je(t,e){if(t!==void 0)try{return Le.toColor(t)}catch{}return e}var UV=class{constructor(...t){this._entries=new Map;for(let[e,s]of t)this.set(e,s)}set(t,e){let s=this._entries.get(t);return this._entries.set(t,e),s}forEach(t){for(let[e,s]of this._entries.entries())t(e,s)}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}},HV=class{constructor(){this._services=new UV,this._services.set(rl,this)}setService(t,e){this._services.set(t,e)}getService(t){return this._services.get(t)}createInstance(t,...e){let s=LS(t).sort((o,a)=>o.index-a.index),i=[];for(let o of s){let a=this._services.get(o.id);if(!a)throw new Error(`[createInstance] ${t.name} depends on UNKNOWN service ${o.id._id}.`);i.push(a)}let n=s.length>0?s[0].index:e.length;if(e.length!==n)throw new Error(`[createInstance] First service dependency of ${t.name} at position ${n+1} conflicts with ${e.length} static arguments`);return new t(...e,...i)}},WV={trace:0,debug:1,info:2,warn:3,error:4,off:5},KV="xterm.js: ",pa=class extends we{constructor(t){super(),this._optionsService=t,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=WV[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let e=0;e<t.length;e++)typeof t[e]=="function"&&(t[e]=t[e]())}_log(t,e,s){this._evalLazyOptionalParams(s),t.call(console,(this._optionsService.options.logger?"":KV)+e,...s)}trace(t,...e){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,t,e)}debug(t,...e){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,t,e)}info(t,...e){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,t,e)}warn(t,...e){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,t,e)}error(t,...e){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,t,e)}};pa=$e([le(0,Vt)],pa);var Wc=class extends we{constructor(t){super(),this._maxLength=t,this.onDeleteEmitter=this._register(new ne),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new ne),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new ne),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(t){if(this._maxLength===t)return;let e=new Array(t);for(let s=0;s<Math.min(t,this.length);s++)e[s]=this._array[this._getCyclicIndex(s)];this._array=e,this._maxLength=t,this._startIndex=0}get length(){return this._length}set length(t){if(t>this._length)for(let e=this._length;e<t;e++)this._array[e]=void 0;this._length=t}get(t){return this._array[this._getCyclicIndex(t)]}set(t,e){this._array[this._getCyclicIndex(t)]=e}push(t){this._array[this._getCyclicIndex(this._length)]=t,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(t,e,...s){if(e){for(let i=t;i<this._length-e;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+e)];this._length-=e,this.onDeleteEmitter.fire({index:t,amount:e})}for(let i=this._length-1;i>=t;i--)this._array[this._getCyclicIndex(i+s.length)]=this._array[this._getCyclicIndex(i)];for(let i=0;i<s.length;i++)this._array[this._getCyclicIndex(t+i)]=s[i];if(s.length&&this.onInsertEmitter.fire({index:t,amount:s.length}),this._length+s.length>this._maxLength){let i=this._length+s.length-this._maxLength;this._startIndex+=i,this._length=this._maxLength,this.onTrimEmitter.fire(i)}else this._length+=s.length}trimStart(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)}shiftElements(t,e,s){if(!(e<=0)){if(t<0||t>=this._length)throw new Error("start argument out of range");if(t+s<0)throw new Error("Cannot shift elements in list beyond index 0");if(s>0){for(let n=e-1;n>=0;n--)this.set(t+n+s,this.get(t+n));let i=t+e+s-this._length;if(i>0)for(this._length+=i;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let i=0;i<e;i++)this.set(t+i+s,this.get(t+i))}}_getCyclicIndex(t){return(this._startIndex+t)%this._maxLength}},Se=3,We=Object.freeze(new Ar),Gr=0,_o=2,Xi=class _f{constructor(e,s,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*Se);let n=s||Kt.fromCharData([0,Du,1,0]);for(let o=0;o<e;++o)this.setCell(o,n);this.length=e}get(e){let s=this._data[e*Se+0],i=s&2097151;return[this._data[e*Se+1],s&2097152?this._combined[e]:i?As(i):"",s>>22,s&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,s){this._data[e*Se+1]=s[0],s[1].length>1?(this._combined[e]=s[1],this._data[e*Se+0]=e|2097152|s[2]<<22):this._data[e*Se+0]=s[1].charCodeAt(0)|s[2]<<22}getWidth(e){return this._data[e*Se+0]>>22}hasWidth(e){return this._data[e*Se+0]&12582912}getFg(e){return this._data[e*Se+1]}getBg(e){return this._data[e*Se+2]}hasContent(e){return this._data[e*Se+0]&4194303}getCodePoint(e){let s=this._data[e*Se+0];return s&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):s&2097151}isCombined(e){return this._data[e*Se+0]&2097152}getString(e){let s=this._data[e*Se+0];return s&2097152?this._combined[e]:s&2097151?As(s&2097151):""}isProtected(e){return this._data[e*Se+2]&536870912}loadCell(e,s){return Gr=e*Se,s.content=this._data[Gr+0],s.fg=this._data[Gr+1],s.bg=this._data[Gr+2],s.content&2097152&&(s.combinedData=this._combined[e]),s.bg&268435456&&(s.extended=this._extendedAttrs[e]),s}setCell(e,s){s.content&2097152&&(this._combined[e]=s.combinedData),s.bg&268435456&&(this._extendedAttrs[e]=s.extended),this._data[e*Se+0]=s.content,this._data[e*Se+1]=s.fg,this._data[e*Se+2]=s.bg}setCellFromCodepoint(e,s,i,n){n.bg&268435456&&(this._extendedAttrs[e]=n.extended),this._data[e*Se+0]=s|i<<22,this._data[e*Se+1]=n.fg,this._data[e*Se+2]=n.bg}addCodepointToCell(e,s,i){let n=this._data[e*Se+0];n&2097152?this._combined[e]+=As(s):n&2097151?(this._combined[e]=As(n&2097151)+As(s),n&=-2097152,n|=2097152):n=s|1<<22,i&&(n&=-12582913,n|=i<<22),this._data[e*Se+0]=n}insertCells(e,s,i){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,i),s<this.length-e){let n=new Kt;for(let o=this.length-e-s-1;o>=0;--o)this.setCell(e+s+o,this.loadCell(e+o,n));for(let o=0;o<s;++o)this.setCell(e+o,i)}else for(let n=e;n<this.length;++n)this.setCell(n,i);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(e,s,i){if(e%=this.length,s<this.length-e){let n=new Kt;for(let o=0;o<this.length-e-s;++o)this.setCell(e+o,this.loadCell(e+s+o,n));for(let o=this.length-s;o<this.length;++o)this.setCell(o,i)}else for(let n=e;n<this.length;++n)this.setCell(n,i);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,i),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,i)}replaceCells(e,s,i,n=!1){if(n){for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),s<this.length&&this.getWidth(s-1)===2&&!this.isProtected(s)&&this.setCellFromCodepoint(s,0,1,i);e<s&&e<this.length;)this.isProtected(e)||this.setCell(e,i),e++;return}for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,i),s<this.length&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s,0,1,i);e<s&&e<this.length;)this.setCell(e++,i)}resize(e,s){if(e===this.length)return this._data.length*4*_o<this._data.buffer.byteLength;let i=e*Se;if(e>this.length){if(this._data.buffer.byteLength>=i*4)this._data=new Uint32Array(this._data.buffer,0,i);else{let n=new Uint32Array(i);n.set(this._data),this._data=n}for(let n=this.length;n<e;++n)this.setCell(n,s)}else{this._data=this._data.subarray(0,i);let n=Object.keys(this._combined);for(let a=0;a<n.length;a++){let l=parseInt(n[a],10);l>=e&&delete this._combined[l]}let o=Object.keys(this._extendedAttrs);for(let a=0;a<o.length;a++){let l=parseInt(o[a],10);l>=e&&delete this._extendedAttrs[l]}}return this.length=e,i*4*_o<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*_o<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,s=!1){if(s){for(let i=0;i<this.length;++i)this.isProtected(i)||this.setCell(i,e);return}this._combined={},this._extendedAttrs={};for(let i=0;i<this.length;++i)this.setCell(i,e)}copyFrom(e){this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={};for(let s in e._combined)this._combined[s]=e._combined[s];this._extendedAttrs={};for(let s in e._extendedAttrs)this._extendedAttrs[s]=e._extendedAttrs[s];this.isWrapped=e.isWrapped}clone(){let e=new _f(0);e._data=new Uint32Array(this._data),e.length=this.length;for(let s in this._combined)e._combined[s]=this._combined[s];for(let s in this._extendedAttrs)e._extendedAttrs[s]=this._extendedAttrs[s];return e.isWrapped=this.isWrapped,e}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Se+0]&4194303)return e+(this._data[e*Se+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Se+0]&4194303||this._data[e*Se+2]&50331648)return e+(this._data[e*Se+0]>>22);return 0}copyCellsFrom(e,s,i,n,o){let a=e._data;if(o)for(let c=n-1;c>=0;c--){for(let d=0;d<Se;d++)this._data[(i+c)*Se+d]=a[(s+c)*Se+d];a[(s+c)*Se+2]&268435456&&(this._extendedAttrs[i+c]=e._extendedAttrs[s+c])}else for(let c=0;c<n;c++){for(let d=0;d<Se;d++)this._data[(i+c)*Se+d]=a[(s+c)*Se+d];a[(s+c)*Se+2]&268435456&&(this._extendedAttrs[i+c]=e._extendedAttrs[s+c])}let l=Object.keys(e._combined);for(let c=0;c<l.length;c++){let d=parseInt(l[c],10);d>=s&&(this._combined[d-s+i]=e._combined[d])}}translateToString(e,s,i,n){s=s??0,i=i??this.length,e&&(i=Math.min(i,this.getTrimmedLength())),n&&(n.length=0);let o="";for(;s<i;){let a=this._data[s*Se+0],l=a&2097151,c=a&2097152?this._combined[s]:l?As(l):Is;if(o+=c,n)for(let d=0;d<c.length;++d)n.push(s);s+=a>>22||1}return n&&n.push(s),o}};function qV(t,e,s,i,n,o){let a=[];for(let l=0;l<t.length-1;l++){let c=l,d=t.get(++c);if(!d.isWrapped)continue;let u=[t.get(l)];for(;c<t.length&&d.isWrapped;)u.push(d),d=t.get(++c);if(!o&&i>=l&&i<c){l+=u.length-1;continue}let h=0,f=pr(u,h,e),m=1,p=0;for(;m<u.length;){let _=pr(u,m,e),v=_-p,x=s-f,b=Math.min(v,x);u[h].copyCellsFrom(u[m],p,f,b,!1),f+=b,f===s&&(h++,f=0),p+=b,p===_&&(m++,p=0),f===0&&h!==0&&u[h-1].getWidth(s-1)===2&&(u[h].copyCellsFrom(u[h-1],s-1,f++,1,!1),u[h-1].setCell(s-1,n))}u[h].replaceCells(f,s,n);let g=0;for(let _=u.length-1;_>0&&(_>h||u[_].getTrimmedLength()===0);_--)g++;g>0&&(a.push(l+u.length-g),a.push(g)),l+=u.length-1}return a}function GV(t,e){let s=[],i=0,n=e[i],o=0;for(let a=0;a<t.length;a++)if(n===a){let l=e[++i];t.onDeleteEmitter.fire({index:a-o,amount:l}),a+=l-1,o+=l,n=e[++i]}else s.push(a);return{layout:s,countRemoved:o}}function YV(t,e){let s=[];for(let i=0;i<e.length;i++)s.push(t.get(e[i]));for(let i=0;i<s.length;i++)t.set(i,s[i]);t.length=e.length}function XV(t,e,s){let i=[],n=t.map((c,d)=>pr(t,d,e)).reduce((c,d)=>c+d),o=0,a=0,l=0;for(;l<n;){if(n-l<s){i.push(n-l);break}o+=s;let c=pr(t,a,e);o>c&&(o-=c,a++);let d=t[a].getWidth(o-1)===2;d&&o--;let u=d?s-1:s;i.push(u),l+=u}return i}function pr(t,e,s){if(e===t.length-1)return t[e].getTrimmedLength();let i=!t[e].hasContent(s-1)&&t[e].getWidth(s-1)===1,n=t[e+1].getWidth(0)===2;return i&&n?s-1:s}var xf=class vf{constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=vf._nextId++,this._onDispose=this.register(new ne),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Qs(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};xf._nextId=1;var JV=xf,et={},Gs=et.B;et[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};et.A={"#":"£"};et.B=void 0;et[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};et.C=et[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};et.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};et.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};et.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};et.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};et.E=et[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};et.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};et.H=et[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};et["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var Kc=4294967295,qc=class{constructor(t,e,s){this._hasScrollback=t,this._optionsService=e,this._bufferService=s,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=We.clone(),this.savedCharset=Gs,this.markers=[],this._nullCell=Kt.fromCharData([0,Du,1,0]),this._whitespaceCell=Kt.fromCharData([0,Is,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new wn,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Wc(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new vn),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new vn),this._whitespaceCell}getBlankLine(t,e){return new Xi(this._bufferService.cols,this.getNullCell(t),e)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let t=this.ybase+this.y-this.ydisp;return t>=0&&t<this._rows}_getCorrectBufferLength(t){if(!this._hasScrollback)return t;let e=t+this._optionsService.rawOptions.scrollback;return e>Kc?Kc:e}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=We);let e=this._rows;for(;e--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new Wc(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,e){let s=this.getNullCell(We),i=0,n=this._getCorrectBufferLength(e);if(n>this.lines.maxLength&&(this.lines.maxLength=n),this.lines.length>0){if(this._cols<t)for(let a=0;a<this.lines.length;a++)i+=+this.lines.get(a).resize(t,s);let o=0;if(this._rows<e)for(let a=this._rows;a<e;a++)this.lines.length<e+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Xi(t,s)):this.ybase>0&&this.lines.length<=this.ybase+this.y+o+1?(this.ybase--,o++,this.ydisp>0&&this.ydisp--):this.lines.push(new Xi(t,s)));else for(let a=this._rows;a>e;a--)this.lines.length>e+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(n<this.lines.maxLength){let a=this.lines.length-n;a>0&&(this.lines.trimStart(a),this.ybase=Math.max(this.ybase-a,0),this.ydisp=Math.max(this.ydisp-a,0),this.savedY=Math.max(this.savedY-a,0)),this.lines.maxLength=n}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,e-1),o&&(this.y+=o),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=e-1,this._isReflowEnabled&&(this._reflow(t,e),this._cols>t))for(let o=0;o<this.lines.length;o++)i+=+this.lines.get(o).resize(t,s);this._cols=t,this._rows=e,this._memoryCleanupQueue.clear(),i>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let e=0;for(;this._memoryCleanupPosition<this.lines.length;)if(e+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),e>100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend==="conpty"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,e){this._cols!==t&&(t>this._cols?this._reflowLarger(t,e):this._reflowSmaller(t,e))}_reflowLarger(t,e){let s=this._optionsService.rawOptions.reflowCursorLine,i=qV(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(We),s);if(i.length>0){let n=GV(this.lines,i);YV(this.lines,n.layout),this._reflowLargerAdjustViewport(t,e,n.countRemoved)}}_reflowLargerAdjustViewport(t,e,s){let i=this.getNullCell(We),n=s;for(;n-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<e&&this.lines.push(new Xi(t,i))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-s,0)}_reflowSmaller(t,e){let s=this._optionsService.rawOptions.reflowCursorLine,i=this.getNullCell(We),n=[],o=0;for(let a=this.lines.length-1;a>=0;a--){let l=this.lines.get(a);if(!l||!l.isWrapped&&l.getTrimmedLength()<=t)continue;let c=[l];for(;l.isWrapped&&a>0;)l=this.lines.get(--a),c.unshift(l);if(!s){let b=this.ybase+this.y;if(b>=a&&b<a+c.length)continue}let d=c[c.length-1].getTrimmedLength(),u=XV(c,this._cols,t),h=u.length-c.length,f;this.ybase===0&&this.y!==this.lines.length-1?f=Math.max(0,this.y-this.lines.maxLength+h):f=Math.max(0,this.lines.length-this.lines.maxLength+h);let m=[];for(let b=0;b<h;b++){let y=this.getBlankLine(We,!0);m.push(y)}m.length>0&&(n.push({start:a+c.length+o,newLines:m}),o+=m.length),c.push(...m);let p=u.length-1,g=u[p];g===0&&(p--,g=u[p]);let _=c.length-h-1,v=d;for(;_>=0;){let b=Math.min(v,g);if(c[p]===void 0)break;if(c[p].copyCellsFrom(c[_],v-b,g-b,b,!0),g-=b,g===0&&(p--,g=u[p]),v-=b,v===0){_--;let y=Math.max(_,0);v=pr(c,y,this._cols)}}for(let b=0;b<c.length;b++)u[b]<t&&c[b].setCell(u[b],i);let x=h-f;for(;x-- >0;)this.ybase===0?this.y<e-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+o)-e&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+h,this.ybase+e-1)}if(n.length>0){let a=[],l=[];for(let g=0;g<this.lines.length;g++)l.push(this.lines.get(g));let c=this.lines.length,d=c-1,u=0,h=n[u];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+o);let f=0;for(let g=Math.min(this.lines.maxLength-1,c+o-1);g>=0;g--)if(h&&h.start>d+f){for(let _=h.newLines.length-1;_>=0;_--)this.lines.set(g--,h.newLines[_]);g++,a.push({index:d+1,amount:h.newLines.length}),f+=h.newLines.length,h=n[++u]}else this.lines.set(g,l[d--]);let m=0;for(let g=a.length-1;g>=0;g--)a[g].index+=m,this.lines.onInsertEmitter.fire(a[g]),m+=a[g].amount;let p=Math.max(0,c+o-this.lines.maxLength);p>0&&this.lines.onTrimEmitter.fire(p)}}translateBufferLineToString(t,e,s=0,i){let n=this.lines.get(t);return n?n.translateToString(e,s,i):""}getWrappedRangeForLine(t){let e=t,s=t;for(;e>0&&this.lines.get(e).isWrapped;)e--;for(;s+1<this.lines.length&&this.lines.get(s+1).isWrapped;)s++;return{first:e,last:s}}setupTabStops(t){for(t!=null?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0);t<this._cols;t+=this._optionsService.rawOptions.tabStopWidth)this.tabs[t]=!0}prevStop(t){for(t==null&&(t=this.x);!this.tabs[--t]&&t>0;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t<this._cols;);return t>=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].line===t&&(this.markers[e].dispose(),this.markers.splice(e--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose();this.markers.length=0,this._isClearing=!1}addMarker(t){let e=new JV(t);return this.markers.push(e),e.register(this.lines.onTrim(s=>{e.line-=s,e.line<0&&e.dispose()})),e.register(this.lines.onInsert(s=>{e.line>=s.index&&(e.line+=s.amount)})),e.register(this.lines.onDelete(s=>{e.line>=s.index&&e.line<s.index+s.amount&&e.dispose(),e.line>s.index&&(e.line-=s.amount)})),e.register(e.onDispose(()=>this._removeMarker(e))),e}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}},QV=class extends we{constructor(t,e){super(),this._optionsService=t,this._bufferService=e,this._onBufferActivate=this._register(new ne),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new qc(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new qc(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(t,e){this._normal.resize(t,e),this._alt.resize(t,e),this.setupTabStops(t)}setupTabStops(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)}},bf=2,yf=1,ga=class extends we{constructor(t){super(),this.isUserScrolling=!1,this._onResize=this._register(new ne),this.onResize=this._onResize.event,this._onScroll=this._register(new ne),this.onScroll=this._onScroll.event,this.cols=Math.max(t.rawOptions.cols||0,bf),this.rows=Math.max(t.rawOptions.rows||0,yf),this.buffers=this._register(new QV(t,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(t,e){let s=this.cols!==t,i=this.rows!==e;this.cols=t,this.rows=e,this.buffers.resize(t,e),this._onResize.fire({cols:t,rows:e,colsChanged:s,rowsChanged:i})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(t,e=!1){let s=this.buffer,i;i=this._cachedBlankLine,(!i||i.length!==this.cols||i.getFg(0)!==t.fg||i.getBg(0)!==t.bg)&&(i=s.getBlankLine(t,e),this._cachedBlankLine=i),i.isWrapped=e;let n=s.ybase+s.scrollTop,o=s.ybase+s.scrollBottom;if(s.scrollTop===0){let a=s.lines.isFull;o===s.lines.length-1?a?s.lines.recycle().copyFrom(i):s.lines.push(i.clone()):s.lines.splice(o+1,0,i.clone()),a?this.isUserScrolling&&(s.ydisp=Math.max(s.ydisp-1,0)):(s.ybase++,this.isUserScrolling||s.ydisp++)}else{let a=o-n+1;s.lines.shiftElements(n+1,a-1,-1),s.lines.set(o,i.clone())}this.isUserScrolling||(s.ydisp=s.ybase),this._onScroll.fire(s.ydisp)}scrollLines(t,e){let s=this.buffer;if(t<0){if(s.ydisp===0)return;this.isUserScrolling=!0}else t+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);let i=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+t,s.ybase),0),i!==s.ydisp&&(e||this._onScroll.fire(s.ydisp))}};ga=$e([le(0,Vt)],ga);var mi={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:Sn,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},ZV=["normal","bold","100","200","300","400","500","600","700","800","900"],eC=class extends we{constructor(t){super(),this._onOptionChange=this._register(new ne),this.onOptionChange=this._onOptionChange.event;let e={...mi};for(let s in t)if(s in e)try{let i=t[s];e[s]=this._sanitizeAndValidateOption(s,i)}catch(i){console.error(i)}this.rawOptions=e,this.options={...e},this._setupOptions(),this._register(Me(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(t,e){return this.onOptionChange(s=>{s===t&&e(this.rawOptions[t])})}onMultipleOptionChange(t,e){return this.onOptionChange(s=>{t.indexOf(s)!==-1&&e()})}_setupOptions(){let t=s=>{if(!(s in mi))throw new Error(`No option with key "${s}"`);return this.rawOptions[s]},e=(s,i)=>{if(!(s in mi))throw new Error(`No option with key "${s}"`);i=this._sanitizeAndValidateOption(s,i),this.rawOptions[s]!==i&&(this.rawOptions[s]=i,this._onOptionChange.fire(s))};for(let s in this.rawOptions){let i={get:t.bind(this,s),set:e.bind(this,s)};Object.defineProperty(this.options,s,i)}}_sanitizeAndValidateOption(t,e){switch(t){case"cursorStyle":if(e||(e=mi[t]),!tC(e))throw new Error(`"${e}" is not a valid value for ${t}`);break;case"wordSeparator":e||(e=mi[t]);break;case"fontWeight":case"fontWeightBold":if(typeof e=="number"&&1<=e&&e<=1e3)break;e=ZV.includes(e)?e:mi[t];break;case"cursorWidth":e=Math.floor(e);case"lineHeight":case"tabStopWidth":if(e<1)throw new Error(`${t} cannot be less than 1, value: ${e}`);break;case"minimumContrastRatio":e=Math.max(1,Math.min(21,Math.round(e*10)/10));break;case"scrollback":if(e=Math.min(e,4294967295),e<0)throw new Error(`${t} cannot be less than 0, value: ${e}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(e<=0)throw new Error(`${t} cannot be less than or equal to 0, value: ${e}`);break;case"rows":case"cols":if(!e&&e!==0)throw new Error(`${t} must be numeric, value: ${e}`);break;case"windowsPty":e=e??{};break}return e}};function tC(t){return t==="block"||t==="underline"||t==="bar"}function Ji(t,e=5){if(typeof t!="object")return t;let s=Array.isArray(t)?[]:{};for(let i in t)s[i]=e<=1?t[i]:t[i]&&Ji(t[i],e-1);return s}var Gc=Object.freeze({insertMode:!1}),Yc=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),_a=class extends we{constructor(t,e,s){super(),this._bufferService=t,this._logService=e,this._optionsService=s,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new ne),this.onData=this._onData.event,this._onUserInput=this._register(new ne),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new ne),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new ne),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Ji(Gc),this.decPrivateModes=Ji(Yc)}reset(){this.modes=Ji(Gc),this.decPrivateModes=Ji(Yc)}triggerDataEvent(t,e=!1){if(this._optionsService.rawOptions.disableStdin)return;let s=this._bufferService.buffer;e&&this._optionsService.rawOptions.scrollOnUserInput&&s.ybase!==s.ydisp&&this._onRequestScrollToBottom.fire(),e&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`),this._logService.trace("sending data (codes)",()=>t.split("").map(i=>i.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`),this._logService.trace("sending binary (codes)",()=>t.split("").map(e=>e.charCodeAt(0))),this._onBinary.fire(t))}};_a=$e([le(0,wt),le(1,$u),le(2,Vt)],_a);var Xc={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:t=>t.button===4||t.action!==1?!1:(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:t=>t.action!==32},DRAG:{events:23,restrict:t=>!(t.action===32&&t.button===3)},ANY:{events:31,restrict:t=>!0}};function xo(t,e){let s=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(s|=64,s|=t.action):(s|=t.button&3,t.button&4&&(s|=64),t.button&8&&(s|=128),t.action===32?s|=32:t.action===0&&!e&&(s|=3)),s}var vo=String.fromCharCode,Jc={DEFAULT:t=>{let e=[xo(t,!1)+32,t.col+32,t.row+32];return e[0]>255||e[1]>255||e[2]>255?"":`\x1B[M${vo(e[0])}${vo(e[1])}${vo(e[2])}`},SGR:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${xo(t,!0)};${t.col};${t.row}${e}`},SGR_PIXELS:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${xo(t,!0)};${t.x};${t.y}${e}`}},xa=class extends we{constructor(t,e,s){super(),this._bufferService=t,this._coreService=e,this._optionsService=s,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new ne),this.onProtocolChange=this._onProtocolChange.event;for(let i of Object.keys(Xc))this.addProtocol(i,Xc[i]);for(let i of Object.keys(Jc))this.addEncoding(i,Jc[i]);this.reset()}addProtocol(t,e){this._protocols[t]=e}addEncoding(t,e){this._encodings[t]=e}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw new Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw new Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(t,e,s){if(t.deltaY===0||t.shiftKey||e===void 0||s===void 0)return 0;let i=e/s,n=this._applyScrollModifier(t.deltaY,t);return t.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(n/=i+0,Math.abs(t.deltaY)<50&&(n*=.3),this._wheelPartialScroll+=n,n=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(n*=this._bufferService.rows),n}_applyScrollModifier(t,e){return e.altKey||e.ctrlKey||e.shiftKey?t*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:t*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;let e=this._encodings[this._activeEncoding](t);return e&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(e):this._coreService.triggerDataEvent(e,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(t&1),up:!!(t&2),drag:!!(t&4),move:!!(t&8),wheel:!!(t&16)}}_equalEvents(t,e,s){if(s){if(t.x!==e.x||t.y!==e.y)return!1}else if(t.col!==e.col||t.row!==e.row)return!1;return!(t.button!==e.button||t.action!==e.action||t.ctrl!==e.ctrl||t.alt!==e.alt||t.shift!==e.shift)}};xa=$e([le(0,wt),le(1,ai),le(2,Vt)],xa);var bo=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],sC=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],Je;function iC(t,e){let s=0,i=e.length-1,n;if(t<e[0][0]||t>e[i][1])return!1;for(;i>=s;)if(n=s+i>>1,t>e[n][1])s=n+1;else if(t<e[n][0])i=n-1;else return!0;return!1}var rC=class{constructor(){if(this.version="6",!Je){Je=new Uint8Array(65536),Je.fill(1),Je[0]=0,Je.fill(0,1,32),Je.fill(0,127,160),Je.fill(2,4352,4448),Je[9001]=2,Je[9002]=2,Je.fill(2,11904,42192),Je[12351]=1,Je.fill(2,44032,55204),Je.fill(2,63744,64256),Je.fill(2,65040,65050),Je.fill(2,65072,65136),Je.fill(2,65280,65377),Je.fill(2,65504,65511);for(let t=0;t<bo.length;++t)Je.fill(0,bo[t][0],bo[t][1]+1)}}wcwidth(t){return t<32?0:t<127?1:t<65536?Je[t]:iC(t,sC)?0:t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,e){let s=this.wcwidth(t),i=s===0&&e!==0;if(i){let n=Ys.extractWidth(e);n===0?i=!1:n>s&&(s=n)}return Ys.createPropertyValue(0,s,i)}},Ys=class dn{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new ne,this.onChange=this._onChange.event;let e=new rC;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(e&1)!==0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,s,i=!1){return(e&16777215)<<3|(s&3)<<1|(i?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let s=0,i=0,n=e.length;for(let o=0;o<n;++o){let a=e.charCodeAt(o);if(55296<=a&&a<=56319){if(++o>=n)return s+this.wcwidth(a);let d=e.charCodeAt(o);56320<=d&&d<=57343?a=(a-55296)*1024+d-56320+65536:s+=this.wcwidth(d)}let l=this.charProperties(a,i),c=dn.extractWidth(l);dn.extractShouldJoin(l)&&(c-=dn.extractWidth(i)),s+=c,i=l}return s}charProperties(e,s){return this._activeProvider.charProperties(e,s)}},nC=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,e){this._charsets[t]=e,this.glevel===t&&(this.charset=e)}};function Qc(t){let e=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1)?.get(t.cols-1),s=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);s&&e&&(s.isWrapped=e[3]!==0&&e[3]!==32)}var Ui=2147483647,oC=256,Sf=class va{constructor(e=32,s=32){if(this.maxLength=e,this.maxSubParamsLength=s,s>oC)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(s),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(e){let s=new va;if(!e.length)return s;for(let i=Array.isArray(e[0])?1:0;i<e.length;++i){let n=e[i];if(Array.isArray(n))for(let o=0;o<n.length;++o)s.addSubParam(n[o]);else s.addParam(n)}return s}clone(){let e=new va(this.maxLength,this.maxSubParamsLength);return e.params.set(this.params),e.length=this.length,e._subParams.set(this._subParams),e._subParamsLength=this._subParamsLength,e._subParamsIdx.set(this._subParamsIdx),e._rejectDigits=this._rejectDigits,e._rejectSubDigits=this._rejectSubDigits,e._digitIsSub=this._digitIsSub,e}toArray(){let e=[];for(let s=0;s<this.length;++s){e.push(this.params[s]);let i=this._subParamsIdx[s]>>8,n=this._subParamsIdx[s]&255;n-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,n))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>Ui?Ui:e}addSubParam(e){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>Ui?Ui:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let s=this._subParamsIdx[e]>>8,i=this._subParamsIdx[e]&255;return i-s>0?this._subParams.subarray(s,i):null}getSubParamsAll(){let e={};for(let s=0;s<this.length;++s){let i=this._subParamsIdx[s]>>8,n=this._subParamsIdx[s]&255;n-i>0&&(e[s]=this._subParams.slice(i,n))}return e}addDigit(e){let s;if(this._rejectDigits||!(s=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let i=this._digitIsSub?this._subParams:this.params,n=i[s-1];i[s-1]=~n?Math.min(n*10+e,Ui):e}},Hi=[],aC=class{constructor(){this._state=0,this._active=Hi,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let s=this._handlers[t];return s.push(e),{dispose:()=>{let i=s.indexOf(e);i!==-1&&s.splice(i,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Hi}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=Hi,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Hi,!this._active.length)this._handlerFb(this._id,"START");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,e,s){if(!this._active.length)this._handlerFb(this._id,"PUT",$n(t,e,s));else for(let i=this._active.length-1;i>=0;i--)this._active[i].put(t,e,s)}start(){this.reset(),this._state=1}put(t,e,s){if(this._state!==3){if(this._state===1)for(;e<s;){let i=t[e++];if(i===59){this._state=2,this._start();break}if(i<48||57<i){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+i-48}this._state===2&&s-e>0&&this._put(t,e,s)}}end(t,e=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",t);else{let s=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=e,n=this._stack.fallThrough,this._stack.paused=!1),!n&&s===!1){for(;i>=0&&(s=this._active[i].end(t),s!==!0);i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if(s=this._active[i].end(!1),s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}this._active=Hi,this._id=-1,this._state=0}}},Tt=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,e,s){this._hitLimit||(this._data+=$n(t,e,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data),e instanceof Promise))return e.then(s=>(this._data="",this._hitLimit=!1,s));return this._data="",this._hitLimit=!1,e}},Wi=[],lC=class{constructor(){this._handlers=Object.create(null),this._active=Wi,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Wi}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let s=this._handlers[t];return s.push(e),{dispose:()=>{let i=s.indexOf(e);i!==-1&&s.splice(i,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=Wi,this._ident=0}hook(t,e){if(this.reset(),this._ident=t,this._active=this._handlers[t]||Wi,!this._active.length)this._handlerFb(this._ident,"HOOK",e);else for(let s=this._active.length-1;s>=0;s--)this._active[s].hook(e)}put(t,e,s){if(!this._active.length)this._handlerFb(this._ident,"PUT",$n(t,e,s));else for(let i=this._active.length-1;i>=0;i--)this._active[i].put(t,e,s)}unhook(t,e=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",t);else{let s=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=e,n=this._stack.fallThrough,this._stack.paused=!1),!n&&s===!1){for(;i>=0&&(s=this._active[i].unhook(t),s!==!0);i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if(s=this._active[i].unhook(!1),s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}this._active=Wi,this._ident=0}},Qi=new Sf;Qi.addParam(0);var Zc=class{constructor(t){this._handler=t,this._data="",this._params=Qi,this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():Qi,this._data="",this._hitLimit=!1}put(t,e,s){this._hitLimit||(this._data+=$n(t,e,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data,this._params),e instanceof Promise))return e.then(s=>(this._params=Qi,this._data="",this._hitLimit=!1,s));return this._params=Qi,this._data="",this._hitLimit=!1,e}},cC=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,e){this.table.fill(t<<4|e)}add(t,e,s,i){this.table[e<<8|t]=s<<4|i}addMany(t,e,s,i){for(let n=0;n<t.length;n++)this.table[e<<8|t[n]]=s<<4|i}},Wt=160,dC=(function(){let t=new cC(4095),e=Array.apply(null,Array(256)).map((l,c)=>c),s=(l,c)=>e.slice(l,c),i=s(32,127),n=s(0,24);n.push(25),n.push.apply(n,s(28,32));let o=s(0,14),a;t.setDefault(1,0),t.addMany(i,0,2,0);for(a in o)t.addMany([24,26,153,154],a,3,0),t.addMany(s(128,144),a,3,0),t.addMany(s(144,152),a,3,0),t.add(156,a,0,0),t.add(27,a,11,1),t.add(157,a,4,8),t.addMany([152,158,159],a,0,7),t.add(155,a,11,3),t.add(144,a,11,9);return t.addMany(n,0,3,0),t.addMany(n,1,3,1),t.add(127,1,0,1),t.addMany(n,8,0,8),t.addMany(n,3,3,3),t.add(127,3,0,3),t.addMany(n,4,3,4),t.add(127,4,0,4),t.addMany(n,6,3,6),t.addMany(n,5,3,5),t.add(127,5,0,5),t.addMany(n,2,3,2),t.add(127,2,0,2),t.add(93,1,4,8),t.addMany(i,8,5,8),t.add(127,8,5,8),t.addMany([156,27,24,26,7],8,6,0),t.addMany(s(28,32),8,0,8),t.addMany([88,94,95],1,0,7),t.addMany(i,7,0,7),t.addMany(n,7,0,7),t.add(156,7,0,0),t.add(127,7,0,7),t.add(91,1,11,3),t.addMany(s(64,127),3,7,0),t.addMany(s(48,60),3,8,4),t.addMany([60,61,62,63],3,9,4),t.addMany(s(48,60),4,8,4),t.addMany(s(64,127),4,7,0),t.addMany([60,61,62,63],4,0,6),t.addMany(s(32,64),6,0,6),t.add(127,6,0,6),t.addMany(s(64,127),6,0,0),t.addMany(s(32,48),3,9,5),t.addMany(s(32,48),5,9,5),t.addMany(s(48,64),5,0,6),t.addMany(s(64,127),5,7,0),t.addMany(s(32,48),4,9,5),t.addMany(s(32,48),1,9,2),t.addMany(s(32,48),2,9,2),t.addMany(s(48,127),2,10,0),t.addMany(s(48,80),1,10,0),t.addMany(s(81,88),1,10,0),t.addMany([89,90,92],1,10,0),t.addMany(s(96,127),1,10,0),t.add(80,1,11,9),t.addMany(n,9,0,9),t.add(127,9,0,9),t.addMany(s(28,32),9,0,9),t.addMany(s(32,48),9,9,12),t.addMany(s(48,60),9,8,10),t.addMany([60,61,62,63],9,9,10),t.addMany(n,11,0,11),t.addMany(s(32,128),11,0,11),t.addMany(s(28,32),11,0,11),t.addMany(n,10,0,10),t.add(127,10,0,10),t.addMany(s(28,32),10,0,10),t.addMany(s(48,60),10,8,10),t.addMany([60,61,62,63],10,0,11),t.addMany(s(32,48),10,9,12),t.addMany(n,12,0,12),t.add(127,12,0,12),t.addMany(s(28,32),12,0,12),t.addMany(s(32,48),12,9,12),t.addMany(s(48,64),12,0,11),t.addMany(s(64,127),12,12,13),t.addMany(s(64,127),10,12,13),t.addMany(s(64,127),9,12,13),t.addMany(n,13,13,13),t.addMany(i,13,13,13),t.add(127,13,0,13),t.addMany([27,156,24,26],13,14,0),t.add(Wt,0,2,0),t.add(Wt,8,5,8),t.add(Wt,6,0,6),t.add(Wt,11,0,11),t.add(Wt,13,13,13),t})(),hC=class extends we{constructor(t=dC){super(),this._transitions=t,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Sf,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,s,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,s)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(Me(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new aC),this._dcsParser=this._register(new lC),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(t,e=[64,126]){let s=0;if(t.prefix){if(t.prefix.length>1)throw new Error("only one byte as prefix supported");if(s=t.prefix.charCodeAt(0),s&&60>s||s>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let n=0;n<t.intermediates.length;++n){let o=t.intermediates.charCodeAt(n);if(32>o||o>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");s<<=8,s|=o}}if(t.final.length!==1)throw new Error("final must be a single byte");let i=t.final.charCodeAt(0);if(e[0]>i||i>e[1])throw new Error(`final must be in range ${e[0]} .. ${e[1]}`);return s<<=8,s|=i,s}identToString(t){let e=[];for(;t;)e.push(String.fromCharCode(t&255)),t>>=8;return e.reverse().join("")}setPrintHandler(t){this._printHandler=t}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(t,e){let s=this._identifier(t,[48,126]);this._escHandlers[s]===void 0&&(this._escHandlers[s]=[]);let i=this._escHandlers[s];return i.push(e),{dispose:()=>{let n=i.indexOf(e);n!==-1&&i.splice(n,1)}}}clearEscHandler(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]}setEscHandlerFallback(t){this._escHandlerFb=t}setExecuteHandler(t,e){this._executeHandlers[t.charCodeAt(0)]=e}clearExecuteHandler(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]}setExecuteHandlerFallback(t){this._executeHandlerFb=t}registerCsiHandler(t,e){let s=this._identifier(t);this._csiHandlers[s]===void 0&&(this._csiHandlers[s]=[]);let i=this._csiHandlers[s];return i.push(e),{dispose:()=>{let n=i.indexOf(e);n!==-1&&i.splice(n,1)}}}clearCsiHandler(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]}setCsiHandlerFallback(t){this._csiHandlerFb=t}registerDcsHandler(t,e){return this._dcsParser.registerHandler(this._identifier(t),e)}clearDcsHandler(t){this._dcsParser.clearHandler(this._identifier(t))}setDcsHandlerFallback(t){this._dcsParser.setHandlerFallback(t)}registerOscHandler(t,e){return this._oscParser.registerHandler(t,e)}clearOscHandler(t){this._oscParser.clearHandler(t)}setOscHandlerFallback(t){this._oscParser.setHandlerFallback(t)}setErrorHandler(t){this._errorHandler=t}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(t,e,s,i,n){this._parseStack.state=t,this._parseStack.handlers=e,this._parseStack.handlerPos=s,this._parseStack.transition=i,this._parseStack.chunkPos=n}parse(t,e,s){let i=0,n=0,o=0,a;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(s===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let l=this._parseStack.handlers,c=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(s===!1&&c>-1){for(;c>=0&&(a=l[c](this._params),a!==!0);c--)if(a instanceof Promise)return this._parseStack.handlerPos=c,a}this._parseStack.handlers=[];break;case 4:if(s===!1&&c>-1){for(;c>=0&&(a=l[c](),a!==!0);c--)if(a instanceof Promise)return this._parseStack.handlerPos=c,a}this._parseStack.handlers=[];break;case 6:if(i=t[this._parseStack.chunkPos],a=this._dcsParser.unhook(i!==24&&i!==26,s),a)return a;i===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(i=t[this._parseStack.chunkPos],a=this._oscParser.end(i!==24&&i!==26,s),a)return a;i===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let l=o;l<e;++l){switch(i=t[l],n=this._transitions.table[this.currentState<<8|(i<160?i:Wt)],n>>4){case 2:for(let f=l+1;;++f){if(f>=e||(i=t[f])<32||i>126&&i<Wt){this._printHandler(t,l,f),l=f-1;break}if(++f>=e||(i=t[f])<32||i>126&&i<Wt){this._printHandler(t,l,f),l=f-1;break}if(++f>=e||(i=t[f])<32||i>126&&i<Wt){this._printHandler(t,l,f),l=f-1;break}if(++f>=e||(i=t[f])<32||i>126&&i<Wt){this._printHandler(t,l,f),l=f-1;break}}break;case 3:this._executeHandlers[i]?this._executeHandlers[i]():this._executeHandlerFb(i),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:l,code:i,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let c=this._csiHandlers[this._collect<<8|i],d=c?c.length-1:-1;for(;d>=0&&(a=c[d](this._params),a!==!0);d--)if(a instanceof Promise)return this._preserveStack(3,c,d,n,l),a;d<0&&this._csiHandlerFb(this._collect<<8|i,this._params),this.precedingJoinState=0;break;case 8:do switch(i){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(i-48)}while(++l<e&&(i=t[l])>47&&i<60);l--;break;case 9:this._collect<<=8,this._collect|=i;break;case 10:let u=this._escHandlers[this._collect<<8|i],h=u?u.length-1:-1;for(;h>=0&&(a=u[h](),a!==!0);h--)if(a instanceof Promise)return this._preserveStack(4,u,h,n,l),a;h<0&&this._escHandlerFb(this._collect<<8|i),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|i,this._params);break;case 13:for(let f=l+1;;++f)if(f>=e||(i=t[f])===24||i===26||i===27||i>127&&i<Wt){this._dcsParser.put(t,l,f),l=f-1;break}break;case 14:if(a=this._dcsParser.unhook(i!==24&&i!==26),a)return this._preserveStack(6,[],0,n,l),a;i===27&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let f=l+1;;f++)if(f>=e||(i=t[f])<32||i>127&&i<Wt){this._oscParser.put(t,l,f),l=f-1;break}break;case 6:if(a=this._oscParser.end(i!==24&&i!==26),a)return this._preserveStack(5,[],0,n,l),a;i===27&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=n&15}}},uC=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,fC=/^[\da-f]+$/;function ed(t){if(!t)return;let e=t.toLowerCase();if(e.indexOf("rgb:")===0){e=e.slice(4);let s=uC.exec(e);if(s){let i=s[1]?15:s[4]?255:s[7]?4095:65535;return[Math.round(parseInt(s[1]||s[4]||s[7]||s[10],16)/i*255),Math.round(parseInt(s[2]||s[5]||s[8]||s[11],16)/i*255),Math.round(parseInt(s[3]||s[6]||s[9]||s[12],16)/i*255)]}}else if(e.indexOf("#")===0&&(e=e.slice(1),fC.exec(e)&&[3,6,9,12].includes(e.length))){let s=e.length/3,i=[0,0,0];for(let n=0;n<3;++n){let o=parseInt(e.slice(s*n,s*n+s),16);i[n]=s===1?o<<4:s===2?o:s===3?o>>4:o>>8}return i}}function yo(t,e){let s=t.toString(16),i=s.length<2?"0"+s:s;switch(e){case 4:return s[0];case 8:return i;case 12:return(i+i).slice(0,3);default:return i+i}}function mC(t,e=16){let[s,i,n]=t;return`rgb:${yo(s,e)}/${yo(i,e)}/${yo(n,e)}`}var pC={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Ns=131072,td=10;function sd(t,e){if(t>24)return e.setWinLines||!1;switch(t){case 1:return!!e.restoreWin;case 2:return!!e.minimizeWin;case 3:return!!e.setWinPosition;case 4:return!!e.setWinSizePixels;case 5:return!!e.raiseWin;case 6:return!!e.lowerWin;case 7:return!!e.refreshWin;case 8:return!!e.setWinSizeChars;case 9:return!!e.maximizeWin;case 10:return!!e.fullscreenWin;case 11:return!!e.getWinState;case 13:return!!e.getWinPosition;case 14:return!!e.getWinSizePixels;case 15:return!!e.getScreenSizePixels;case 16:return!!e.getCellSizePixels;case 18:return!!e.getWinSizeChars;case 19:return!!e.getScreenSizeChars;case 20:return!!e.getIconTitle;case 21:return!!e.getWinTitle;case 22:return!!e.pushTitle;case 23:return!!e.popTitle;case 24:return!!e.setWinLines}return!1}var id=5e3,rd=0,gC=class extends we{constructor(t,e,s,i,n,o,a,l,c=new hC){super(),this._bufferService=t,this._charsetService=e,this._coreService=s,this._logService=i,this._optionsService=n,this._oscLinkService=o,this._coreMouseService=a,this._unicodeService=l,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new DS,this._utf8Decoder=new PS,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=We.clone(),this._eraseAttrDataInternal=We.clone(),this._onRequestBell=this._register(new ne),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new ne),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new ne),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new ne),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new ne),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new ne),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new ne),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new ne),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new ne),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new ne),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new ne),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new ne),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new ne),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new ba(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(d=>this._activeBuffer=d.activeBuffer)),this._parser.setCsiHandlerFallback((d,u)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(d),params:u.toArray()})}),this._parser.setEscHandlerFallback(d=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(d)})}),this._parser.setExecuteHandlerFallback(d=>{this._logService.debug("Unknown EXECUTE code: ",{code:d})}),this._parser.setOscHandlerFallback((d,u,h)=>{this._logService.debug("Unknown OSC code: ",{identifier:d,action:u,data:h})}),this._parser.setDcsHandlerFallback((d,u,h)=>{u==="HOOK"&&(h=h.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(d),action:u,payload:h})}),this._parser.setPrintHandler((d,u,h)=>this.print(d,u,h)),this._parser.registerCsiHandler({final:"@"},d=>this.insertChars(d)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},d=>this.scrollLeft(d)),this._parser.registerCsiHandler({final:"A"},d=>this.cursorUp(d)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},d=>this.scrollRight(d)),this._parser.registerCsiHandler({final:"B"},d=>this.cursorDown(d)),this._parser.registerCsiHandler({final:"C"},d=>this.cursorForward(d)),this._parser.registerCsiHandler({final:"D"},d=>this.cursorBackward(d)),this._parser.registerCsiHandler({final:"E"},d=>this.cursorNextLine(d)),this._parser.registerCsiHandler({final:"F"},d=>this.cursorPrecedingLine(d)),this._parser.registerCsiHandler({final:"G"},d=>this.cursorCharAbsolute(d)),this._parser.registerCsiHandler({final:"H"},d=>this.cursorPosition(d)),this._parser.registerCsiHandler({final:"I"},d=>this.cursorForwardTab(d)),this._parser.registerCsiHandler({final:"J"},d=>this.eraseInDisplay(d,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},d=>this.eraseInDisplay(d,!0)),this._parser.registerCsiHandler({final:"K"},d=>this.eraseInLine(d,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},d=>this.eraseInLine(d,!0)),this._parser.registerCsiHandler({final:"L"},d=>this.insertLines(d)),this._parser.registerCsiHandler({final:"M"},d=>this.deleteLines(d)),this._parser.registerCsiHandler({final:"P"},d=>this.deleteChars(d)),this._parser.registerCsiHandler({final:"S"},d=>this.scrollUp(d)),this._parser.registerCsiHandler({final:"T"},d=>this.scrollDown(d)),this._parser.registerCsiHandler({final:"X"},d=>this.eraseChars(d)),this._parser.registerCsiHandler({final:"Z"},d=>this.cursorBackwardTab(d)),this._parser.registerCsiHandler({final:"`"},d=>this.charPosAbsolute(d)),this._parser.registerCsiHandler({final:"a"},d=>this.hPositionRelative(d)),this._parser.registerCsiHandler({final:"b"},d=>this.repeatPrecedingCharacter(d)),this._parser.registerCsiHandler({final:"c"},d=>this.sendDeviceAttributesPrimary(d)),this._parser.registerCsiHandler({prefix:">",final:"c"},d=>this.sendDeviceAttributesSecondary(d)),this._parser.registerCsiHandler({final:"d"},d=>this.linePosAbsolute(d)),this._parser.registerCsiHandler({final:"e"},d=>this.vPositionRelative(d)),this._parser.registerCsiHandler({final:"f"},d=>this.hVPosition(d)),this._parser.registerCsiHandler({final:"g"},d=>this.tabClear(d)),this._parser.registerCsiHandler({final:"h"},d=>this.setMode(d)),this._parser.registerCsiHandler({prefix:"?",final:"h"},d=>this.setModePrivate(d)),this._parser.registerCsiHandler({final:"l"},d=>this.resetMode(d)),this._parser.registerCsiHandler({prefix:"?",final:"l"},d=>this.resetModePrivate(d)),this._parser.registerCsiHandler({final:"m"},d=>this.charAttributes(d)),this._parser.registerCsiHandler({final:"n"},d=>this.deviceStatus(d)),this._parser.registerCsiHandler({prefix:"?",final:"n"},d=>this.deviceStatusPrivate(d)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},d=>this.softReset(d)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},d=>this.setCursorStyle(d)),this._parser.registerCsiHandler({final:"r"},d=>this.setScrollRegion(d)),this._parser.registerCsiHandler({final:"s"},d=>this.saveCursor(d)),this._parser.registerCsiHandler({final:"t"},d=>this.windowOptions(d)),this._parser.registerCsiHandler({final:"u"},d=>this.restoreCursor(d)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},d=>this.insertColumns(d)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},d=>this.deleteColumns(d)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},d=>this.selectProtected(d)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},d=>this.requestMode(d,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},d=>this.requestMode(d,!1)),this._parser.setExecuteHandler(Q.BEL,()=>this.bell()),this._parser.setExecuteHandler(Q.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(Q.BS,()=>this.backspace()),this._parser.setExecuteHandler(Q.HT,()=>this.tab()),this._parser.setExecuteHandler(Q.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(Q.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(ln.IND,()=>this.index()),this._parser.setExecuteHandler(ln.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(ln.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Tt(d=>(this.setTitle(d),this.setIconName(d),!0))),this._parser.registerOscHandler(1,new Tt(d=>this.setIconName(d))),this._parser.registerOscHandler(2,new Tt(d=>this.setTitle(d))),this._parser.registerOscHandler(4,new Tt(d=>this.setOrReportIndexedColor(d))),this._parser.registerOscHandler(8,new Tt(d=>this.setHyperlink(d))),this._parser.registerOscHandler(10,new Tt(d=>this.setOrReportFgColor(d))),this._parser.registerOscHandler(11,new Tt(d=>this.setOrReportBgColor(d))),this._parser.registerOscHandler(12,new Tt(d=>this.setOrReportCursorColor(d))),this._parser.registerOscHandler(104,new Tt(d=>this.restoreIndexedColor(d))),this._parser.registerOscHandler(110,new Tt(d=>this.restoreFgColor(d))),this._parser.registerOscHandler(111,new Tt(d=>this.restoreBgColor(d))),this._parser.registerOscHandler(112,new Tt(d=>this.restoreCursorColor(d))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let d in et)this._parser.registerEscHandler({intermediates:"(",final:d},()=>this.selectCharset("("+d)),this._parser.registerEscHandler({intermediates:")",final:d},()=>this.selectCharset(")"+d)),this._parser.registerEscHandler({intermediates:"*",final:d},()=>this.selectCharset("*"+d)),this._parser.registerEscHandler({intermediates:"+",final:d},()=>this.selectCharset("+"+d)),this._parser.registerEscHandler({intermediates:"-",final:d},()=>this.selectCharset("-"+d)),this._parser.registerEscHandler({intermediates:".",final:d},()=>this.selectCharset("."+d)),this._parser.registerEscHandler({intermediates:"/",final:d},()=>this.selectCharset("/"+d));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(d=>(this._logService.error("Parsing error: ",d),d)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new Zc((d,u)=>this.requestStatusString(d,u)))}getAttrData(){return this._curAttrData}_preserveStack(t,e,s,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=t,this._parseStack.cursorStartY=e,this._parseStack.decodedLength=s,this._parseStack.position=i}_logSlowResolvingAsync(t){this._logService.logLevel<=3&&Promise.race([t,new Promise((e,s)=>setTimeout(()=>s("#SLOW_TIMEOUT"),id))]).catch(e=>{if(e!=="#SLOW_TIMEOUT")throw e;console.warn(`async parser handler taking longer than ${id} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(t,e){let s,i=this._activeBuffer.x,n=this._activeBuffer.y,o=0,a=this._parseStack.paused;if(a){if(s=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,e))return this._logSlowResolvingAsync(s),s;i=this._parseStack.cursorStartX,n=this._parseStack.cursorStartY,this._parseStack.paused=!1,t.length>Ns&&(o=this._parseStack.position+Ns)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof t=="string"?` "${t}"`:` "${Array.prototype.map.call(t,d=>String.fromCharCode(d)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof t=="string"?t.split("").map(d=>d.charCodeAt(0)):t),this._parseBuffer.length<t.length&&this._parseBuffer.length<Ns&&(this._parseBuffer=new Uint32Array(Math.min(t.length,Ns))),a||this._dirtyRowTracker.clearRange(),t.length>Ns)for(let d=o;d<t.length;d+=Ns){let u=d+Ns<t.length?d+Ns:t.length,h=typeof t=="string"?this._stringDecoder.decode(t.substring(d,u),this._parseBuffer):this._utf8Decoder.decode(t.subarray(d,u),this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,h))return this._preserveStack(i,n,h,d),this._logSlowResolvingAsync(s),s}else if(!a){let d=typeof t=="string"?this._stringDecoder.decode(t,this._parseBuffer):this._utf8Decoder.decode(t,this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,d))return this._preserveStack(i,n,d,0),this._logSlowResolvingAsync(s),s}(this._activeBuffer.x!==i||this._activeBuffer.y!==n)&&this._onCursorMove.fire();let l=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(l,this._bufferService.rows-1)})}print(t,e,s){let i,n,o=this._charsetService.charset,a=this._optionsService.rawOptions.screenReaderMode,l=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,d=this._coreService.modes.insertMode,u=this._curAttrData,h=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&s-e>0&&h.getWidth(this._activeBuffer.x-1)===2&&h.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let m=e;m<s;++m){if(i=t[m],i<127&&o){let v=o[String.fromCharCode(i)];v&&(i=v.charCodeAt(0))}let p=this._unicodeService.charProperties(i,f);n=Ys.extractWidth(p);let g=Ys.extractShouldJoin(p),_=g?Ys.extractWidth(f):0;if(f=p,a&&this._onA11yChar.fire(As(i)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+n-_>l){if(c){let v=h,x=this._activeBuffer.x-_;for(this._activeBuffer.x=_,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),h=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),_>0&&h instanceof Xi&&h.copyCellsFrom(v,x,0,_,!1);x<l;)v.setCellFromCodepoint(x++,0,1,u)}else if(this._activeBuffer.x=l-1,n===2)continue}if(g&&this._activeBuffer.x){let v=h.getWidth(this._activeBuffer.x-1)?1:2;h.addCodepointToCell(this._activeBuffer.x-v,i,n);for(let x=n-_;--x>=0;)h.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(d&&(h.insertCells(this._activeBuffer.x,n-_,this._activeBuffer.getNullCell(u)),h.getWidth(l-1)===2&&h.setCellFromCodepoint(l-1,0,1,u)),h.setCellFromCodepoint(this._activeBuffer.x++,i,n,u),n>0)for(;--n;)h.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<l&&s-e>0&&h.getWidth(this._activeBuffer.x)===0&&!h.hasContent(this._activeBuffer.x)&&h.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(t,e){return t.final==="t"&&!t.prefix&&!t.intermediates?this._parser.registerCsiHandler(t,s=>sd(s.params[0],this._optionsService.rawOptions.windowOptions)?e(s):!0):this._parser.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._parser.registerDcsHandler(t,new Zc(e))}registerEscHandler(t,e){return this._parser.registerEscHandler(t,e)}registerOscHandler(t,e){return this._parser.registerOscHandler(t,new Tt(e))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-t),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(t=this._bufferService.cols-1){this._activeBuffer.x=Math.min(t,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(t,e){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=t,this._activeBuffer.y=this._activeBuffer.scrollTop+e):(this._activeBuffer.x=t,this._activeBuffer.y=e),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(t,e){this._restrictCursor(),this._setCursor(this._activeBuffer.x+t,this._activeBuffer.y+e)}cursorUp(t){let e=this._activeBuffer.y-this._activeBuffer.scrollTop;return e>=0?this._moveCursor(0,-Math.min(e,t.params[0]||1)):this._moveCursor(0,-(t.params[0]||1)),!0}cursorDown(t){let e=this._activeBuffer.scrollBottom-this._activeBuffer.y;return e>=0?this._moveCursor(0,Math.min(e,t.params[0]||1)):this._moveCursor(0,t.params[0]||1),!0}cursorForward(t){return this._moveCursor(t.params[0]||1,0),!0}cursorBackward(t){return this._moveCursor(-(t.params[0]||1),0),!0}cursorNextLine(t){return this.cursorDown(t),this._activeBuffer.x=0,!0}cursorPrecedingLine(t){return this.cursorUp(t),this._activeBuffer.x=0,!0}cursorCharAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(t){return this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1),!0}charPosAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(t){return this._moveCursor(t.params[0]||1,0),!0}linePosAbsolute(t){return this._setCursor(this._activeBuffer.x,(t.params[0]||1)-1),!0}vPositionRelative(t){return this._moveCursor(0,t.params[0]||1),!0}hVPosition(t){return this.cursorPosition(t),!0}tabClear(t){let e=t.params[0];return e===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:e===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(t){let e=t.params[0];return e===1&&(this._curAttrData.bg|=536870912),(e===2||e===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(t,e,s,i=!1,n=!1){let o=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);o.replaceCells(e,s,this._activeBuffer.getNullCell(this._eraseAttrData()),n),i&&(o.isWrapped=!1)}_resetBufferLine(t,e=!1){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);s&&(s.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),e),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+t),s.isWrapped=!1)}eraseInDisplay(t,e=!1){this._restrictCursor(this._bufferService.cols);let s;switch(t.params[0]){case 0:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);s<this._bufferService.rows;s++)this._resetBufferLine(s,e);this._dirtyRowTracker.markDirty(s);break;case 1:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s,0,this._activeBuffer.x+1,!0,e),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(s+1).isWrapped=!1);s--;)this._resetBufferLine(s,e);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(s=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,s-1);s--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+s)?.getTrimmedLength(););for(;s>=0;s--)this._bufferService.scroll(this._eraseAttrData())}else{for(s=this._bufferService.rows,this._dirtyRowTracker.markDirty(s-1);s--;)this._resetBufferLine(s,e);this._dirtyRowTracker.markDirty(0)}break;case 3:let i=this._activeBuffer.lines.length-this._bufferService.rows;i>0&&(this._activeBuffer.lines.trimStart(i),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-i,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-i,0),this._onScroll.fire(0));break}return!0}eraseInLine(t,e=!1){switch(this._restrictCursor(this._bufferService.cols),t.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,e);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,e);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(t){this._restrictCursor();let e=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,n=this._bufferService.rows-1+this._activeBuffer.ybase-i+1;for(;e--;)this._activeBuffer.lines.splice(n-1,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(t){this._restrictCursor();let e=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i;for(i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-i;e--;)this._activeBuffer.lines.splice(s,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(t){this._restrictCursor();let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return e&&(e.insertCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(t){this._restrictCursor();let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return e&&(e.deleteCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(t){let e=t.params[0]||1;for(;e--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(t){let e=t.params[0]||1;for(;e--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(We));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.deleteCells(0,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.insertCells(0,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.insertCells(this._activeBuffer.x,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.deleteCells(this._activeBuffer.x,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(t){this._restrictCursor();let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return e&&(e.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(t.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(t){let e=this._parser.precedingJoinState;if(!e)return!0;let s=t.params[0]||1,i=Ys.extractWidth(e),n=this._activeBuffer.x-i,o=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(n),a=new Uint32Array(o.length*s),l=0;for(let d=0;d<o.length;){let u=o.codePointAt(d)||0;a[l++]=u,d+=u>65535?2:1}let c=l;for(let d=1;d<s;++d)a.copyWithin(c,0,l),c+=l;return this.print(a,0,c),!0}sendDeviceAttributesPrimary(t){return t.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(Q.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(Q.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(t){return t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(Q.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(Q.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(Q.ESC+"[>83;40003;0c")),!0}_is(t){return(this._optionsService.rawOptions.termName+"").indexOf(t)===0}setMode(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,Gs),this._charsetService.setgCharset(1,Gs),this._charsetService.setgCharset(2,Gs),this._charsetService.setgCharset(3,Gs);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),t.params[e]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(t,e){let s;(g=>(g[g.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",g[g.SET=1]="SET",g[g.RESET=2]="RESET",g[g.PERMANENTLY_SET=3]="PERMANENTLY_SET",g[g.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(s||={});let i=this._coreService.decPrivateModes,{activeProtocol:n,activeEncoding:o}=this._coreMouseService,a=this._coreService,{buffers:l,cols:c}=this._bufferService,{active:d,alt:u}=l,h=this._optionsService.rawOptions,f=(g,_)=>(a.triggerDataEvent(`${Q.ESC}[${e?"":"?"}${g};${_}$y`),!0),m=g=>g?1:2,p=t.params[0];return e?p===2?f(p,4):p===4?f(p,m(a.modes.insertMode)):p===12?f(p,3):p===20?f(p,m(h.convertEol)):f(p,0):p===1?f(p,m(i.applicationCursorKeys)):p===3?f(p,h.windowOptions.setWinLines?c===80?2:c===132?1:0:0):p===6?f(p,m(i.origin)):p===7?f(p,m(i.wraparound)):p===8?f(p,3):p===9?f(p,m(n==="X10")):p===12?f(p,m(h.cursorBlink)):p===25?f(p,m(!a.isCursorHidden)):p===45?f(p,m(i.reverseWraparound)):p===66?f(p,m(i.applicationKeypad)):p===67?f(p,4):p===1e3?f(p,m(n==="VT200")):p===1002?f(p,m(n==="DRAG")):p===1003?f(p,m(n==="ANY")):p===1004?f(p,m(i.sendFocus)):p===1005?f(p,4):p===1006?f(p,m(o==="SGR")):p===1015?f(p,4):p===1016?f(p,m(o==="SGR_PIXELS")):p===1048?f(p,1):p===47||p===1047||p===1049?f(p,m(d===u)):p===2004?f(p,m(i.bracketedPasteMode)):p===2026?f(p,m(i.synchronizedOutput)):f(p,0)}_updateAttrColor(t,e,s,i,n){return e===2?(t|=50331648,t&=-16777216,t|=Ar.fromColorRGB([s,i,n])):e===5&&(t&=-50331904,t|=33554432|s&255),t}_extractColor(t,e,s){let i=[0,0,-1,0,0,0],n=0,o=0;do{if(i[o+n]=t.params[e+o],t.hasSubParams(e+o)){let a=t.getSubParams(e+o),l=0;do i[1]===5&&(n=1),i[o+l+1+n]=a[l];while(++l<a.length&&l+o+1+n<i.length);break}if(i[1]===5&&o+n>=2||i[1]===2&&o+n>=5)break;i[1]&&(n=1)}while(++o+e<t.length&&o+n<i.length);for(let a=2;a<i.length;++a)i[a]===-1&&(i[a]=0);switch(i[0]){case 38:s.fg=this._updateAttrColor(s.fg,i[1],i[3],i[4],i[5]);break;case 48:s.bg=this._updateAttrColor(s.bg,i[1],i[3],i[4],i[5]);break;case 58:s.extended=s.extended.clone(),s.extended.underlineColor=this._updateAttrColor(s.extended.underlineColor,i[1],i[3],i[4],i[5])}return o}_processUnderline(t,e){e.extended=e.extended.clone(),(!~t||t>5)&&(t=1),e.extended.underlineStyle=t,e.fg|=268435456,t===0&&(e.fg&=-268435457),e.updateExtended()}_processSGR0(t){t.fg=We.fg,t.bg=We.bg,t.extended=t.extended.clone(),t.extended.underlineStyle=0,t.extended.underlineColor&=-67108864,t.updateExtended()}charAttributes(t){if(t.length===1&&t.params[0]===0)return this._processSGR0(this._curAttrData),!0;let e=t.length,s,i=this._curAttrData;for(let n=0;n<e;n++)s=t.params[n],s>=30&&s<=37?(i.fg&=-50331904,i.fg|=16777216|s-30):s>=40&&s<=47?(i.bg&=-50331904,i.bg|=16777216|s-40):s>=90&&s<=97?(i.fg&=-50331904,i.fg|=16777216|s-90|8):s>=100&&s<=107?(i.bg&=-50331904,i.bg|=16777216|s-100|8):s===0?this._processSGR0(i):s===1?i.fg|=134217728:s===3?i.bg|=67108864:s===4?(i.fg|=268435456,this._processUnderline(t.hasSubParams(n)?t.getSubParams(n)[0]:1,i)):s===5?i.fg|=536870912:s===7?i.fg|=67108864:s===8?i.fg|=1073741824:s===9?i.fg|=2147483648:s===2?i.bg|=134217728:s===21?this._processUnderline(2,i):s===22?(i.fg&=-134217729,i.bg&=-134217729):s===23?i.bg&=-67108865:s===24?(i.fg&=-268435457,this._processUnderline(0,i)):s===25?i.fg&=-536870913:s===27?i.fg&=-67108865:s===28?i.fg&=-1073741825:s===29?i.fg&=2147483647:s===39?(i.fg&=-67108864,i.fg|=We.fg&16777215):s===49?(i.bg&=-67108864,i.bg|=We.bg&16777215):s===38||s===48||s===58?n+=this._extractColor(t,n,i):s===53?i.bg|=1073741824:s===55?i.bg&=-1073741825:s===59?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):s===100?(i.fg&=-67108864,i.fg|=We.fg&16777215,i.bg&=-67108864,i.bg|=We.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",s);return!0}deviceStatus(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(`${Q.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,s=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Q.ESC}[${e};${s}R`);break}return!0}deviceStatusPrivate(t){if(t.params[0]===6){let e=this._activeBuffer.y+1,s=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Q.ESC}[?${e};${s}R`)}return!0}softReset(t){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=We.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(t){let e=t.length===0?1:t.params[0];if(e===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(e){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let s=e%2===1;this._coreService.decPrivateModes.cursorBlink=s}return!0}setScrollRegion(t){let e=t.params[0]||1,s;return(t.length<2||(s=t.params[1])>this._bufferService.rows||s===0)&&(s=this._bufferService.rows),s>e&&(this._activeBuffer.scrollTop=e-1,this._activeBuffer.scrollBottom=s-1,this._setCursor(0,0)),!0}windowOptions(t){if(!sd(t.params[0],this._optionsService.rawOptions.windowOptions))return!0;let e=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:e!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${Q.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(e===0||e===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>td&&this._windowTitleStack.shift()),(e===0||e===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>td&&this._iconNameStack.shift());break;case 23:(e===0||e===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(e===0||e===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(t){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(t){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(t){return this._windowTitle=t,this._onTitleChange.fire(t),!0}setIconName(t){return this._iconName=t,!0}setOrReportIndexedColor(t){let e=[],s=t.split(";");for(;s.length>1;){let i=s.shift(),n=s.shift();if(/^\d+$/.exec(i)){let o=parseInt(i);if(nd(o))if(n==="?")e.push({type:0,index:o});else{let a=ed(n);a&&e.push({type:1,index:o,color:a})}}}return e.length&&this._onColor.fire(e),!0}setHyperlink(t){let e=t.indexOf(";");if(e===-1)return!0;let s=t.slice(0,e).trim(),i=t.slice(e+1);return i?this._createHyperlink(s,i):s.trim()?!1:this._finishHyperlink()}_createHyperlink(t,e){this._getCurrentLinkId()&&this._finishHyperlink();let s=t.split(":"),i,n=s.findIndex(o=>o.startsWith("id="));return n!==-1&&(i=s[n].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:i,uri:e}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(t,e){let s=t.split(";");for(let i=0;i<s.length&&!(e>=this._specialColors.length);++i,++e)if(s[i]==="?")this._onColor.fire([{type:0,index:this._specialColors[e]}]);else{let n=ed(s[i]);n&&this._onColor.fire([{type:1,index:this._specialColors[e],color:n}])}return!0}setOrReportFgColor(t){return this._setOrReportSpecialColor(t,0)}setOrReportBgColor(t){return this._setOrReportSpecialColor(t,1)}setOrReportCursorColor(t){return this._setOrReportSpecialColor(t,2)}restoreIndexedColor(t){if(!t)return this._onColor.fire([{type:2}]),!0;let e=[],s=t.split(";");for(let i=0;i<s.length;++i)if(/^\d+$/.exec(s[i])){let n=parseInt(s[i]);nd(n)&&e.push({type:2,index:n})}return e.length&&this._onColor.fire(e),!0}restoreFgColor(t){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(t){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(t){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,Gs),!0}selectCharset(t){return t.length!==2?(this.selectDefaultCharset(),!0):(t[0]==="/"||this._charsetService.setgCharset(pC[t[0]],et[t[1]]||Gs),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let t=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,t,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=We.clone(),this._eraseAttrDataInternal=We.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(t){return this._charsetService.setgLevel(t),!0}screenAlignmentPattern(){let t=new Kt;t.content=1<<22|69,t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg,this._setCursor(0,0);for(let e=0;e<this._bufferService.rows;++e){let s=this._activeBuffer.ybase+this._activeBuffer.y+e,i=this._activeBuffer.lines.get(s);i&&(i.fill(t),i.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(t,e){let s=a=>(this._coreService.triggerDataEvent(`${Q.ESC}${a}${Q.ESC}\\`),!0),i=this._bufferService.buffer,n=this._optionsService.rawOptions;return s(t==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:t==='"p'?'P1$r61;1"p':t==="r"?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:t==="m"?"P1$r0m":t===" q"?`P1$r${{block:2,underline:4,bar:6}[n.cursorStyle]-(n.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(t,e){this._dirtyRowTracker.markRangeDirty(t,e)}},ba=class{constructor(t){this._bufferService=t,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){t<this.start?this.start=t:t>this.end&&(this.end=t)}markRangeDirty(t,e){t>e&&(rd=t,t=e,e=rd),t<this.start&&(this.start=t),e>this.end&&(this.end=e)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};ba=$e([le(0,wt)],ba);function nd(t){return 0<=t&&t<256}var _C=5e7,od=12,xC=50,vC=class extends we{constructor(t){super(),this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new ne),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(t,e){if(e!==void 0&&this._syncCalls>e){this._syncCalls=0;return}if(this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let s;for(;s=this._writeBuffer.shift();){this._action(s);let i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(t,e){if(this._pendingData>_C)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e)}_innerWrite(t=0,e=!0){let s=t||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let i=this._writeBuffer[this._bufferOffset],n=this._action(i,e);if(n){let a=l=>performance.now()-s>=od?setTimeout(()=>this._innerWrite(0,l)):this._innerWrite(s,l);n.catch(l=>(queueMicrotask(()=>{throw l}),Promise.resolve(!1))).then(a);return}let o=this._callbacks[this._bufferOffset];if(o&&o(),this._bufferOffset++,this._pendingData-=i.length,performance.now()-s>=od)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>xC&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},ya=class{constructor(t){this._bufferService=t,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(t){let e=this._bufferService.buffer;if(t.id===void 0){let l=e.addMarker(e.ybase+e.y),c={data:t,id:this._nextId++,lines:[l]};return l.onDispose(()=>this._removeMarkerFromLink(c,l)),this._dataByLinkId.set(c.id,c),c.id}let s=t,i=this._getEntryIdKey(s),n=this._entriesWithId.get(i);if(n)return this.addLineToLink(n.id,e.ybase+e.y),n.id;let o=e.addMarker(e.ybase+e.y),a={id:this._nextId++,key:this._getEntryIdKey(s),data:s,lines:[o]};return o.onDispose(()=>this._removeMarkerFromLink(a,o)),this._entriesWithId.set(a.key,a),this._dataByLinkId.set(a.id,a),a.id}addLineToLink(t,e){let s=this._dataByLinkId.get(t);if(s&&s.lines.every(i=>i.line!==e)){let i=this._bufferService.buffer.addMarker(e);s.lines.push(i),i.onDispose(()=>this._removeMarkerFromLink(s,i))}}getLinkData(t){return this._dataByLinkId.get(t)?.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,e){let s=t.lines.indexOf(e);s!==-1&&(t.lines.splice(s,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};ya=$e([le(0,wt)],ya);var ad=!1,bC=class extends we{constructor(t){super(),this._windowsWrappingHeuristics=this._register(new ki),this._onBinary=this._register(new ne),this.onBinary=this._onBinary.event,this._onData=this._register(new ne),this.onData=this._onData.event,this._onLineFeed=this._register(new ne),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new ne),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new ne),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new ne),this._instantiationService=new HV,this.optionsService=this._register(new eC(t)),this._instantiationService.setService(Vt,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ga)),this._instantiationService.setService(wt,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(pa)),this._instantiationService.setService($u,this._logService),this.coreService=this._register(this._instantiationService.createInstance(_a)),this._instantiationService.setService(ai,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(xa)),this._instantiationService.setService(Bu,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Ys)),this._instantiationService.setService($S,this.unicodeService),this._charsetService=this._instantiationService.createInstance(nC),this._instantiationService.setService(BS,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(ya),this._instantiationService.setService(zu,this._oscLinkService),this._inputHandler=this._register(new gC(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(ct.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(ct.forward(this._bufferService.onResize,this._onResize)),this._register(ct.forward(this.coreService.onData,this._onData)),this._register(ct.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new vC((e,s)=>this._inputHandler.parse(e,s))),this._register(ct.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new ne),this._onScroll.event(t=>{this._onScrollApi?.fire(t.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(t){for(let e in t)this.optionsService.options[e]=t[e]}write(t,e){this._writeBuffer.write(t,e)}writeSync(t,e){this._logService.logLevel<=3&&!ad&&(this._logService.warn("writeSync is unreliable and will be removed soon."),ad=!0),this._writeBuffer.writeSync(t,e)}input(t,e=!0){this.coreService.triggerDataEvent(t,e)}resize(t,e){isNaN(t)||isNaN(e)||(t=Math.max(t,bf),e=Math.max(e,yf),this._bufferService.resize(t,e))}scroll(t,e=!1){this._bufferService.scroll(t,e)}scrollLines(t,e){this._bufferService.scrollLines(t,e)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}registerEscHandler(t,e){return this._inputHandler.registerEscHandler(t,e)}registerDcsHandler(t,e){return this._inputHandler.registerDcsHandler(t,e)}registerCsiHandler(t,e){return this._inputHandler.registerCsiHandler(t,e)}registerOscHandler(t,e){return this._inputHandler.registerOscHandler(t,e)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let t=!1,e=this.optionsService.rawOptions.windowsPty;e&&e.buildNumber!==void 0&&e.buildNumber!==void 0?t=e.backend==="conpty"&&e.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(t=!0),t?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let t=[];t.push(this.onLineFeed(Qc.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},()=>(Qc(this._bufferService),!1))),this._windowsWrappingHeuristics.value=Me(()=>{for(let e of t)e.dispose()})}}},yC={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function SC(t,e,s,i){let n={type:0,cancel:!1,key:void 0},o=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:t.key==="UIKeyInputUpArrow"?e?n.key=Q.ESC+"OA":n.key=Q.ESC+"[A":t.key==="UIKeyInputLeftArrow"?e?n.key=Q.ESC+"OD":n.key=Q.ESC+"[D":t.key==="UIKeyInputRightArrow"?e?n.key=Q.ESC+"OC":n.key=Q.ESC+"[C":t.key==="UIKeyInputDownArrow"&&(e?n.key=Q.ESC+"OB":n.key=Q.ESC+"[B");break;case 8:n.key=t.ctrlKey?"\b":Q.DEL,t.altKey&&(n.key=Q.ESC+n.key);break;case 9:if(t.shiftKey){n.key=Q.ESC+"[Z";break}n.key=Q.HT,n.cancel=!0;break;case 13:n.key=t.altKey?Q.ESC+Q.CR:Q.CR,n.cancel=!0;break;case 27:n.key=Q.ESC,t.altKey&&(n.key=Q.ESC+Q.ESC),n.cancel=!0;break;case 37:if(t.metaKey)break;o?n.key=Q.ESC+"[1;"+(o+1)+"D":e?n.key=Q.ESC+"OD":n.key=Q.ESC+"[D";break;case 39:if(t.metaKey)break;o?n.key=Q.ESC+"[1;"+(o+1)+"C":e?n.key=Q.ESC+"OC":n.key=Q.ESC+"[C";break;case 38:if(t.metaKey)break;o?n.key=Q.ESC+"[1;"+(o+1)+"A":e?n.key=Q.ESC+"OA":n.key=Q.ESC+"[A";break;case 40:if(t.metaKey)break;o?n.key=Q.ESC+"[1;"+(o+1)+"B":e?n.key=Q.ESC+"OB":n.key=Q.ESC+"[B";break;case 45:!t.shiftKey&&!t.ctrlKey&&(n.key=Q.ESC+"[2~");break;case 46:o?n.key=Q.ESC+"[3;"+(o+1)+"~":n.key=Q.ESC+"[3~";break;case 36:o?n.key=Q.ESC+"[1;"+(o+1)+"H":e?n.key=Q.ESC+"OH":n.key=Q.ESC+"[H";break;case 35:o?n.key=Q.ESC+"[1;"+(o+1)+"F":e?n.key=Q.ESC+"OF":n.key=Q.ESC+"[F";break;case 33:t.shiftKey?n.type=2:t.ctrlKey?n.key=Q.ESC+"[5;"+(o+1)+"~":n.key=Q.ESC+"[5~";break;case 34:t.shiftKey?n.type=3:t.ctrlKey?n.key=Q.ESC+"[6;"+(o+1)+"~":n.key=Q.ESC+"[6~";break;case 112:o?n.key=Q.ESC+"[1;"+(o+1)+"P":n.key=Q.ESC+"OP";break;case 113:o?n.key=Q.ESC+"[1;"+(o+1)+"Q":n.key=Q.ESC+"OQ";break;case 114:o?n.key=Q.ESC+"[1;"+(o+1)+"R":n.key=Q.ESC+"OR";break;case 115:o?n.key=Q.ESC+"[1;"+(o+1)+"S":n.key=Q.ESC+"OS";break;case 116:o?n.key=Q.ESC+"[15;"+(o+1)+"~":n.key=Q.ESC+"[15~";break;case 117:o?n.key=Q.ESC+"[17;"+(o+1)+"~":n.key=Q.ESC+"[17~";break;case 118:o?n.key=Q.ESC+"[18;"+(o+1)+"~":n.key=Q.ESC+"[18~";break;case 119:o?n.key=Q.ESC+"[19;"+(o+1)+"~":n.key=Q.ESC+"[19~";break;case 120:o?n.key=Q.ESC+"[20;"+(o+1)+"~":n.key=Q.ESC+"[20~";break;case 121:o?n.key=Q.ESC+"[21;"+(o+1)+"~":n.key=Q.ESC+"[21~";break;case 122:o?n.key=Q.ESC+"[23;"+(o+1)+"~":n.key=Q.ESC+"[23~";break;case 123:o?n.key=Q.ESC+"[24;"+(o+1)+"~":n.key=Q.ESC+"[24~";break;default:if(t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey)t.keyCode>=65&&t.keyCode<=90?n.key=String.fromCharCode(t.keyCode-64):t.keyCode===32?n.key=Q.NUL:t.keyCode>=51&&t.keyCode<=55?n.key=String.fromCharCode(t.keyCode-51+27):t.keyCode===56?n.key=Q.DEL:t.keyCode===219?n.key=Q.ESC:t.keyCode===220?n.key=Q.FS:t.keyCode===221&&(n.key=Q.GS);else if((!s||i)&&t.altKey&&!t.metaKey){let a=yC[t.keyCode]?.[t.shiftKey?1:0];if(a)n.key=Q.ESC+a;else if(t.keyCode>=65&&t.keyCode<=90){let l=t.ctrlKey?t.keyCode-64:t.keyCode+32,c=String.fromCharCode(l);t.shiftKey&&(c=c.toUpperCase()),n.key=Q.ESC+c}else if(t.keyCode===32)n.key=Q.ESC+(t.ctrlKey?Q.NUL:" ");else if(t.key==="Dead"&&t.code.startsWith("Key")){let l=t.code.slice(3,4);t.shiftKey||(l=l.toLowerCase()),n.key=Q.ESC+l,n.cancel=!0}}else s&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&t.metaKey?t.keyCode===65&&(n.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&t.key.length===1?n.key=t.key:t.key&&t.ctrlKey&&(t.key==="_"&&(n.key=Q.US),t.key==="@"&&(n.key=Q.NUL));break}return n}var Ue=0,wC=class{constructor(t){this._getKey=t,this._array=[],this._insertedValues=[],this._flushInsertedTask=new wn,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new wn,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((n,o)=>this._getKey(n)-this._getKey(o)),e=0,s=0,i=new Array(this._array.length+this._insertedValues.length);for(let n=0;n<i.length;n++)s>=this._array.length||this._getKey(t[e])<=this._getKey(this._array[s])?(i[n]=t[e],e++):i[n]=this._array[s++];this._array=i,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let e=this._getKey(t);if(e===void 0||(Ue=this._search(e),Ue===-1)||this._getKey(this._array[Ue])!==e)return!1;do if(this._array[Ue]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(Ue),!0;while(++Ue<this._array.length&&this._getKey(this._array[Ue])===e);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let t=this._deletedIndices.sort((n,o)=>n-o),e=0,s=new Array(this._array.length-t.length),i=0;for(let n=0;n<this._array.length;n++)t[e]===n?e++:s[i++]=this._array[n];this._array=s,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Ue=this._search(t),!(Ue<0||Ue>=this._array.length)&&this._getKey(this._array[Ue])===t))do yield this._array[Ue];while(++Ue<this._array.length&&this._getKey(this._array[Ue])===t)}forEachByKey(t,e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Ue=this._search(t),!(Ue<0||Ue>=this._array.length)&&this._getKey(this._array[Ue])===t))do e(this._array[Ue]);while(++Ue<this._array.length&&this._getKey(this._array[Ue])===t)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(t){let e=0,s=this._array.length-1;for(;s>=e;){let i=e+s>>1,n=this._getKey(this._array[i]);if(n>t)s=i-1;else if(n<t)e=i+1;else{for(;i>0&&this._getKey(this._array[i-1])===t;)i--;return i}}return e}},So=0,ld=0,VC=class extends we{constructor(){super(),this._decorations=new wC(t=>t?.marker.line),this._onDecorationRegistered=this._register(new ne),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new ne),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(Me(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(t){if(t.marker.isDisposed)return;let e=new CC(t);if(e){let s=e.marker.onDispose(()=>e.dispose()),i=e.onDispose(()=>{i.dispose(),e&&(this._decorations.delete(e)&&this._onDecorationRemoved.fire(e),s.dispose())});this._decorations.insert(e),this._onDecorationRegistered.fire(e)}return e}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,e,s){let i=0,n=0;for(let o of this._decorations.getKeyIterator(e))i=o.options.x??0,n=i+(o.options.width??1),t>=i&&t<n&&(!s||(o.options.layer??"bottom")===s)&&(yield o)}forEachDecorationAtCell(t,e,s,i){this._decorations.forEachByKey(e,n=>{So=n.options.x??0,ld=So+(n.options.width??1),t>=So&&t<ld&&(!s||(n.options.layer??"bottom")===s)&&i(n)})}},CC=class extends Ps{constructor(t){super(),this.options=t,this.onRenderEmitter=this.add(new ne),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new ne),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=t.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Le.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Le.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},kC=1e3,jC=class{constructor(t,e=kC){this._renderCallback=t,this._debounceThresholdMS=e,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(t,e,s){this._rowCount=s,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e;let i=performance.now();if(i-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=i,this._innerRefresh();else if(!this._additionalRefreshRequested){let n=i-this._lastRefreshMs,o=this._debounceThresholdMS-n;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},o)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e)}},cd=20,Vn=class extends we{constructor(t,e,s,i){super(),this._terminal=t,this._coreBrowserService=s,this._renderService=i,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let n=this._coreBrowserService.mainDocument;this._accessibilityContainer=n.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=n.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let o=0;o<this._terminal.rows;o++)this._rowElements[o]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[o]);if(this._topBoundaryFocusListener=o=>this._handleBoundaryFocus(o,0),this._bottomBoundaryFocusListener=o=>this._handleBoundaryFocus(o,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=n.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new jC(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(o=>this._handleResize(o.rows))),this._register(this._terminal.onRender(o=>this._refreshRows(o.start,o.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(o=>this._handleChar(o))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
726
|
-
`))),this._register(this._terminal.onA11yTab(o=>this._handleTab(o))),this._register(this._terminal.onKey(o=>this._handleKey(o.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(ve(n,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(Me(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(t){for(let e=0;e<t;e++)this._handleChar(" ")}_handleChar(t){this._liveRegionLineCount<cd+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==t&&(this._charsToAnnounce+=t):this._charsToAnnounce+=t,t===`
|
|
727
|
-
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===cd+1&&(this._liveRegion.textContent+=zo.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(t){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(t)||this._charsToConsume.push(t)}_refreshRows(t,e){this._liveRegionDebouncer.refresh(t,e,this._terminal.rows)}_renderRows(t,e){let s=this._terminal.buffer,i=s.lines.length.toString();for(let n=t;n<=e;n++){let o=s.lines.get(s.ydisp+n),a=[],l=o?.translateToString(!0,void 0,void 0,a)||"",c=(s.ydisp+n+1).toString(),d=this._rowElements[n];d&&(l.length===0?(d.textContent=" ",this._rowColumns.set(d,[0,1])):(d.textContent=l,this._rowColumns.set(d,a)),d.setAttribute("aria-posinset",c),d.setAttribute("aria-setsize",i),this._alignRowWidth(d))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(t,e){let s=t.target,i=this._rowElements[e===0?1:this._rowElements.length-2],n=s.getAttribute("aria-posinset"),o=e===0?"1":`${this._terminal.buffer.lines.length}`;if(n===o||t.relatedTarget!==i)return;let a,l;if(e===0?(a=s,l=this._rowElements.pop(),this._rowContainer.removeChild(l)):(a=this._rowElements.shift(),l=s,this._rowContainer.removeChild(a)),a.removeEventListener("focus",this._topBoundaryFocusListener),l.removeEventListener("focus",this._bottomBoundaryFocusListener),e===0){let c=this._createAccessibilityTreeNode();this._rowElements.unshift(c),this._rowContainer.insertAdjacentElement("afterbegin",c)}else{let c=this._createAccessibilityTreeNode();this._rowElements.push(c),this._rowContainer.appendChild(c)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(e===0?-1:1),this._rowElements[e===0?1:this._rowElements.length-2].focus(),t.preventDefault(),t.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let t=this._coreBrowserService.mainDocument.getSelection();if(!t)return;if(t.isCollapsed){this._rowContainer.contains(t.anchorNode)&&this._terminal.clearSelection();return}if(!t.anchorNode||!t.focusNode){console.error("anchorNode and/or focusNode are null");return}let e={node:t.anchorNode,offset:t.anchorOffset},s={node:t.focusNode,offset:t.focusOffset};if((e.node.compareDocumentPosition(s.node)&Node.DOCUMENT_POSITION_PRECEDING||e.node===s.node&&e.offset>s.offset)&&([e,s]=[s,e]),e.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(e={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(e.node))return;let i=this._rowElements.slice(-1)[0];if(s.node.compareDocumentPosition(i)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(s={node:i,offset:i.textContent?.length??0}),!this._rowContainer.contains(s.node))return;let n=({node:l,offset:c})=>{let d=l instanceof Text?l.parentNode:l,u=parseInt(d?.getAttribute("aria-posinset"),10)-1;if(isNaN(u))return console.warn("row is invalid. Race condition?"),null;let h=this._rowColumns.get(d);if(!h)return console.warn("columns is null. Race condition?"),null;let f=c<h.length?h[c]:h.slice(-1)[0]+1;return f>=this._terminal.cols&&(++u,f=0),{row:u,column:f}},o=n(e),a=n(s);if(!(!o||!a)){if(o.row>a.row||o.row===a.row&&o.column>=a.column)throw new Error("invalid range");this._terminal.select(o.column,o.row,(a.row-o.row)*this._terminal.cols-o.column+a.column)}}_handleResize(t){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let t=this._coreBrowserService.mainDocument.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let t=0;t<this._terminal.rows;t++)this._refreshRowDimensions(this._rowElements[t]),this._alignRowWidth(this._rowElements[t])}}_refreshRowDimensions(t){t.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(t){t.style.transform="";let e=t.getBoundingClientRect().width,s=this._rowColumns.get(t)?.slice(-1)?.[0];if(!s)return;let i=s*this._renderService.dimensions.css.cell.width;t.style.transform=`scaleX(${i/e})`}};Vn=$e([le(1,rl),le(2,ys),le(3,Ss)],Vn);var Sa=class extends we{constructor(t,e,s,i,n){super(),this._element=t,this._mouseService=e,this._renderService=s,this._bufferService=i,this._linkProviderService=n,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new ne),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new ne),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(Me(()=>{Qs(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(ve(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(ve(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(ve(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(ve(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(t){this._lastMouseEvent=t;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);if(!e)return;this._isMouseOut=!1;let s=t.composedPath();for(let i=0;i<s.length;i++){let n=s[i];if(n.classList.contains("xterm"))break;if(n.classList.contains("xterm-hover"))return}(!this._lastBufferCell||e.x!==this._lastBufferCell.x||e.y!==this._lastBufferCell.y)&&(this._handleHover(e),this._lastBufferCell=e)}_handleHover(t){if(this._activeLine!==t.y||this._wasResized){this._clearCurrentLink(),this._askForLink(t,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,t)||(this._clearCurrentLink(),this._askForLink(t,!0))}_askForLink(t,e){(!this._activeProviderReplies||!e)&&(this._activeProviderReplies?.forEach(i=>{i?.forEach(n=>{n.link.dispose&&n.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=t.y);let s=!1;for(let[i,n]of this._linkProviderService.linkProviders.entries())e?this._activeProviderReplies?.get(i)&&(s=this._checkLinkProviderResult(i,t,s)):n.provideLinks(t.y,o=>{if(this._isMouseOut)return;let a=o?.map(l=>({link:l}));this._activeProviderReplies?.set(i,a),s=this._checkLinkProviderResult(i,t,s),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(t.y,this._activeProviderReplies)})}_removeIntersectingLinks(t,e){let s=new Set;for(let i=0;i<e.size;i++){let n=e.get(i);if(n)for(let o=0;o<n.length;o++){let a=n[o],l=a.link.range.start.y<t?0:a.link.range.start.x,c=a.link.range.end.y>t?this._bufferService.cols:a.link.range.end.x;for(let d=l;d<=c;d++){if(s.has(d)){n.splice(o--,1);break}s.add(d)}}}}_checkLinkProviderResult(t,e,s){if(!this._activeProviderReplies)return s;let i=this._activeProviderReplies.get(t),n=!1;for(let o=0;o<t;o++)(!this._activeProviderReplies.has(o)||this._activeProviderReplies.get(o))&&(n=!0);if(!n&&i){let o=i.find(a=>this._linkAtPosition(a.link,e));o&&(s=!0,this._handleNewLink(o))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!s)for(let o=0;o<this._activeProviderReplies.size;o++){let a=this._activeProviderReplies.get(o)?.find(l=>this._linkAtPosition(l.link,e));if(a){s=!0,this._handleNewLink(a);break}}return s}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(t){if(!this._currentLink)return;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);e&&this._mouseDownLink&&NC(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,e)&&this._currentLink.link.activate(t,this._currentLink.link.text)}_clearCurrentLink(t,e){!this._currentLink||!this._lastMouseEvent||(!t||!e||this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=e)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Qs(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(t){if(!this._lastMouseEvent)return;let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._linkAtPosition(t.link,e)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:t.link.decorations===void 0?!0:t.link.decorations.underline,pointerCursor:t.link.decorations===void 0?!0:t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:s=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==s&&(this._currentLink.state.decorations.pointerCursor=s,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",s))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:s=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==s&&(this._currentLink.state.decorations.underline=s,this._currentLink.state.isHovered&&this._fireUnderlineEvent(t.link,s))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(s=>{if(!this._currentLink)return;let i=s.start===0?0:s.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+s.end;if(this._currentLink.link.range.start.y>=i&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(i,n),this._lastMouseEvent)){let o=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);o&&this._askForLink(o,!1)}})))}_linkHover(t,e,s){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),e.hover&&e.hover(s,e.text)}_fireUnderlineEvent(t,e){let s=t.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(s.start.x-1,s.start.y-i-1,s.end.x,s.end.y-i-1,void 0);(e?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)}_linkLeave(t,e,s){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),e.leave&&e.leave(s,e.text)}_linkAtPosition(t,e){let s=t.range.start.y*this._bufferService.cols+t.range.start.x,i=t.range.end.y*this._bufferService.cols+t.range.end.x,n=e.y*this._bufferService.cols+e.x;return s<=n&&n<=i}_positionFromMouseEvent(t,e,s){let i=s.getCoords(t,e,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(t,e,s,i,n){return{x1:t,y1:e,x2:s,y2:i,cols:this._bufferService.cols,fg:n}}};Sa=$e([le(1,nl),le(2,Ss),le(3,wt),le(4,Uu)],Sa);function NC(t,e){return t.text===e.text&&t.range.start.x===e.range.start.x&&t.range.start.y===e.range.start.y&&t.range.end.x===e.range.end.x&&t.range.end.y===e.range.end.y}var AC=class extends bC{constructor(t={}){super(t),this._linkifier=this._register(new ki),this.browser=cf,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new ki),this._onCursorMove=this._register(new ne),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new ne),this.onKey=this._onKey.event,this._onRender=this._register(new ne),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new ne),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new ne),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new ne),this.onBell=this._onBell.event,this._onFocus=this._register(new ne),this._onBlur=this._register(new ne),this._onA11yCharEmitter=this._register(new ne),this._onA11yTabEmitter=this._register(new ne),this._onWillOpen=this._register(new ne),this._setup(),this._decorationService=this._instantiationService.createInstance(VC),this._instantiationService.setService(Er,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(xV),this._instantiationService.setService(Uu,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Uo)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(ct.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(ct.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(ct.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(ct.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(Me(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(t){if(this._themeService)for(let e of t){let s,i="";switch(e.index){case 256:s="foreground",i="10";break;case 257:s="background",i="11";break;case 258:s="cursor",i="12";break;default:s="ansi",i="4;"+e.index}switch(e.type){case 0:let n=Te.toColorRGB(s==="ansi"?this._themeService.colors.ansi[e.index]:this._themeService.colors[s]);this.coreService.triggerDataEvent(`${Q.ESC}]${i};${mC(n)}${af.ST}`);break;case 1:if(s==="ansi")this._themeService.modifyColors(o=>o.ansi[e.index]=Ke.toColor(...e.color));else{let o=s;this._themeService.modifyColors(a=>a[o]=Ke.toColor(...e.color))}break;case 2:this._themeService.restoreColor(e.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(t){t?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Vn,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(t){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let t=this.buffer.ybase+this.buffer.y,e=this.buffer.lines.get(t);if(!e)return;let s=Math.min(this.buffer.x,this.cols-1),i=this._renderService.dimensions.css.cell.height,n=e.getWidth(s),o=this._renderService.dimensions.css.cell.width*n,a=this.buffer.y*this._renderService.dimensions.css.cell.height,l=s*this._renderService.dimensions.css.cell.width;this.textarea.style.left=l+"px",this.textarea.style.top=a+"px",this.textarea.style.width=o+"px",this.textarea.style.height=i+"px",this.textarea.style.lineHeight=i+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(ve(this.element,"copy",e=>{this.hasSelection()&&RS(e,this._selectionService)}));let t=e=>MS(e,this.textarea,this.coreService,this.optionsService);this._register(ve(this.textarea,"paste",t)),this._register(ve(this.element,"paste",t)),df?this._register(ve(this.element,"mousedown",e=>{e.button===2&&vc(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(ve(this.element,"contextmenu",e=>{vc(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),fl&&this._register(ve(this.element,"auxclick",e=>{e.button===1&&Mu(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(ve(this.textarea,"keyup",t=>this._keyUp(t),!0)),this._register(ve(this.textarea,"keydown",t=>this._keyDown(t),!0)),this._register(ve(this.textarea,"keypress",t=>this._keyPress(t),!0)),this._register(ve(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(ve(this.textarea,"compositionupdate",t=>this._compositionHelper.compositionupdate(t))),this._register(ve(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(ve(this.textarea,"input",t=>this._inputEvent(t),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(t){if(!t)throw new Error("Terminal requires a parent element.");if(t.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=t.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),t.appendChild(this.element);let e=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),e.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(ve(this.screenElement,"mousemove",n=>this.updateCursorStyle(n))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),e.appendChild(this.screenElement);let s=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",$o.get()),ff||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>s.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(gV,this.textarea,t.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(ys,this._coreBrowserService),this._register(ve(this.textarea,"focus",n=>this._handleTextAreaFocus(n))),this._register(ve(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(da,this._document,this._helperContainer),this._instantiationService.setService(zn,this._charSizeService),this._themeService=this._instantiationService.createInstance(ma),this._instantiationService.setService(Ri,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(yn),this._instantiationService.setService(Fu,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(ua,this.rows,this.screenElement)),this._instantiationService.setService(Ss,this._renderService),this._register(this._renderService.onRenderedViewportChange(n=>this._onRender.fire(n))),this.onResize(n=>this._renderService.resize(n.cols,n.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(aa,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ha),this._instantiationService.setService(nl,this._mouseService);let i=this._linkifier.value=this._register(this._instantiationService.createInstance(Sa,this.screenElement));this.element.appendChild(e);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(na,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(n=>{super.scrollLines(n,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(fa,this.element,this.screenElement,i)),this._instantiationService.setService(FS,this._selectionService),this._register(this._selectionService.onRequestScrollLines(n=>this.scrollLines(n.amount,n.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(n=>this._renderService.handleSelectionChanged(n.start,n.end,n.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(n=>{this.textarea.value=n,this.textarea.focus(),this.textarea.select()})),this._register(ct.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(oa,this.screenElement)),this._register(ve(this.element,"mousedown",n=>this._selectionService.handleMouseDown(n))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Vn,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",n=>this._handleScreenReaderModeOptionChange(n))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(bn,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",n=>{!this._overviewRulerRenderer&&n&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(bn,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(ca,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let t=this,e=this.element;function s(o){let a=t._mouseService.getMouseReportCoords(o,t.screenElement);if(!a)return!1;let l,c;switch(o.overrideType||o.type){case"mousemove":c=32,o.buttons===void 0?(l=3,o.button!==void 0&&(l=o.button<3?o.button:3)):l=o.buttons&1?0:o.buttons&4?1:o.buttons&2?2:3;break;case"mouseup":c=0,l=o.button<3?o.button:3;break;case"mousedown":c=1,l=o.button<3?o.button:3;break;case"wheel":if(t._customWheelEventHandler&&t._customWheelEventHandler(o)===!1)return!1;let d=o.deltaY;if(d===0||t.coreMouseService.consumeWheelEvent(o,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return!1;c=d<0?0:1,l=4;break;default:return!1}return c===void 0||l===void 0||l>4?!1:t.coreMouseService.triggerMouseEvent({col:a.col,row:a.row,x:a.x,y:a.y,button:l,action:c,ctrl:o.ctrlKey,alt:o.altKey,shift:o.shiftKey})}let i={mouseup:null,wheel:null,mousedrag:null,mousemove:null},n={mouseup:o=>(s(o),o.buttons||(this._document.removeEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.removeEventListener("mousemove",i.mousedrag)),this.cancel(o)),wheel:o=>(s(o),this.cancel(o,!0)),mousedrag:o=>{o.buttons&&s(o)},mousemove:o=>{o.buttons||s(o)}};this._register(this.coreMouseService.onProtocolChange(o=>{o?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(o)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),o&8?i.mousemove||(e.addEventListener("mousemove",n.mousemove),i.mousemove=n.mousemove):(e.removeEventListener("mousemove",i.mousemove),i.mousemove=null),o&16?i.wheel||(e.addEventListener("wheel",n.wheel,{passive:!1}),i.wheel=n.wheel):(e.removeEventListener("wheel",i.wheel),i.wheel=null),o&2?i.mouseup||(i.mouseup=n.mouseup):(this._document.removeEventListener("mouseup",i.mouseup),i.mouseup=null),o&4?i.mousedrag||(i.mousedrag=n.mousedrag):(this._document.removeEventListener("mousemove",i.mousedrag),i.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(ve(e,"mousedown",o=>{if(o.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(o)))return s(o),i.mouseup&&this._document.addEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.addEventListener("mousemove",i.mousedrag),this.cancel(o)})),this._register(ve(e,"wheel",o=>{if(!i.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(o)===!1)return!1;if(!this.buffer.hasScrollback){if(o.deltaY===0)return!1;if(t.coreMouseService.consumeWheelEvent(o,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return this.cancel(o,!0);let a=Q.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(o.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(a,!0),this.cancel(o,!0)}}},{passive:!1}))}refresh(t,e){this._renderService?.refreshRows(t,e)}updateCursorStyle(t){this._selectionService?.shouldColumnSelect(t)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(t,e){this._viewport?this._viewport.scrollLines(t):super.scrollLines(t,e),this.refresh(0,this.rows-1)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){t&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}paste(t){Ru(t,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(t){this._customKeyEventHandler=t}attachCustomWheelEventHandler(t){this._customWheelEventHandler=t}registerLinkProvider(t){return this._linkProviderService.registerLinkProvider(t)}registerCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let e=this._characterJoinerService.register(t);return this.refresh(0,this.rows-1),e}deregisterCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(t)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(t){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+t)}registerDecoration(t){return this._decorationService.registerDecoration(t)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(t,e,s){this._selectionService.setSelection(t,e,s)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(t,e){this._selectionService?.selectLines(t,e)}_keyDown(t){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;let e=this.browser.isMac&&this.options.macOptionIsMeta&&t.altKey;if(!e&&!this._compositionHelper.keydown(t))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!e&&(t.key==="Dead"||t.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let s=SC(t,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(t),s.type===3||s.type===2){let i=this.rows-1;return this.scrollLines(s.type===2?-i:i),this.cancel(t,!0)}if(s.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,t)||(s.cancel&&this.cancel(t,!0),!s.key)||t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.key.length===1&&t.key.charCodeAt(0)>=65&&t.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((s.key===Q.ETX||s.key===Q.CR)&&(this.textarea.value=""),this._onKey.fire({key:s.key,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(s.key,!0),!this.optionsService.rawOptions.screenReaderMode||t.altKey||t.ctrlKey)return this.cancel(t,!0);this._keyDownHandled=!0}_isThirdLevelShift(t,e){let s=t.isMac&&!this.options.macOptionIsMeta&&e.altKey&&!e.ctrlKey&&!e.metaKey||t.isWindows&&e.altKey&&e.ctrlKey&&!e.metaKey||t.isWindows&&e.getModifierState("AltGraph");return e.type==="keypress"?s:s&&(!e.keyCode||e.keyCode>47)}_keyUp(t){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)&&(EC(t)||this.focus(),this.updateCursorStyle(t),this._keyPressHandled=!1)}_keyPress(t){let e;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;if(this.cancel(t),t.charCode)e=t.charCode;else if(t.which===null||t.which===void 0)e=t.keyCode;else if(t.which!==0&&t.charCode!==0)e=t.which;else return!1;return!e||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)?!1:(e=String.fromCharCode(e),this._onKey.fire({key:e,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(e,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(t){if(t.data&&t.inputType==="insertText"&&(!t.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let e=t.data;return this.coreService.triggerDataEvent(e,!0),this.cancel(t),!0}return!1}resize(t,e){if(t===this.cols&&e===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(t,e)}_afterResize(t,e){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let t=1;t<this.rows;t++)this.buffer.lines.push(this.buffer.getBlankLine(We));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let t=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=t,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(Q.ESC+"[I"):this.coreService.triggerDataEvent(Q.ESC+"[O")}_reportWindowsOptions(t){if(this._renderService)switch(t){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),s=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${Q.ESC}[4;${s};${e}t`);break;case 1:let i=this._renderService.dimensions.css.cell.width.toFixed(0),n=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${Q.ESC}[6;${n};${i}t`);break}}cancel(t,e){if(!(!this.options.cancelEvents&&!e))return t.preventDefault(),t.stopPropagation(),!1}};function EC(t){return t.keyCode===16||t.keyCode===17||t.keyCode===18}var IC=class{constructor(){this._addons=[]}dispose(){for(let t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()}loadAddon(t,e){let s={instance:e,dispose:e.dispose,isDisposed:!1};this._addons.push(s),e.dispose=()=>this._wrappedAddonDispose(s),e.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let e=-1;for(let s=0;s<this._addons.length;s++)if(this._addons[s]===t){e=s;break}if(e===-1)throw new Error("Could not dispose an addon that has not been loaded");t.isDisposed=!0,t.dispose.apply(t.instance),this._addons.splice(e,1)}},TC=class{constructor(t){this._line=t}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(t,e){if(!(t<0||t>=this._line.length))return e?(this._line.loadCell(t,e),e):this._line.loadCell(t,new Kt)}translateToString(t,e,s){return this._line.translateToString(t,e,s)}},dd=class{constructor(t,e){this._buffer=t,this.type=e}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let e=this._buffer.lines.get(t);if(e)return new TC(e)}getNullCell(){return new Kt}},RC=class extends we{constructor(t){super(),this._core=t,this._onBufferChange=this._register(new ne),this.onBufferChange=this._onBufferChange.event,this._normal=new dd(this._core.buffers.normal,"normal"),this._alternate=new dd(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},MC=class{constructor(t){this._core=t}registerCsiHandler(t,e){return this._core.registerCsiHandler(t,s=>e(s.toArray()))}addCsiHandler(t,e){return this.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._core.registerDcsHandler(t,(s,i)=>e(s,i.toArray()))}addDcsHandler(t,e){return this.registerDcsHandler(t,e)}registerEscHandler(t,e){return this._core.registerEscHandler(t,e)}addEscHandler(t,e){return this.registerEscHandler(t,e)}registerOscHandler(t,e){return this._core.registerOscHandler(t,e)}addOscHandler(t,e){return this.registerOscHandler(t,e)}},DC=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}},PC=["cols","rows"],ss=0,LC=class extends we{constructor(t){super(),this._core=this._register(new AC(t)),this._addonManager=this._register(new IC),this._publicOptions={...this._core.options};let e=i=>this._core.options[i],s=(i,n)=>{this._checkReadonlyOptions(i),this._core.options[i]=n};for(let i in this._core.options){let n={get:e.bind(this,i),set:s.bind(this,i)};Object.defineProperty(this._publicOptions,i,n)}}_checkReadonlyOptions(t){if(PC.includes(t))throw new Error(`Option "${t}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new MC(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new DC(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new RC(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,e="none";switch(this._core.coreMouseService.activeProtocol){case"X10":e="x10";break;case"VT200":e="vt200";break;case"DRAG":e="drag";break;case"ANY":e="any";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let e in t)this._publicOptions[e]=t[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,e=!0){this._core.input(t,e)}resize(t,e){this._verifyIntegers(t,e),this._core.resize(t,e)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,e,s){this._verifyIntegers(t,e,s),this._core.select(t,e,s)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,e){this._verifyIntegers(t,e),this._core.selectLines(t,e)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,e){this._core.write(t,e)}writeln(t,e){this._core.write(t),this._core.write(`\r
|
|
728
|
-
`,e)}paste(t){this._core.paste(t)}refresh(t,e){this._verifyIntegers(t,e),this._core.refresh(t,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return $o.get()},set promptLabel(t){$o.set(t)},get tooMuchOutput(){return zo.get()},set tooMuchOutput(t){zo.set(t)}}}_verifyIntegers(...t){for(ss of t)if(ss===1/0||isNaN(ss)||ss%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...t){for(ss of t)if(ss&&(ss===1/0||isNaN(ss)||ss%1!==0||ss<0))throw new Error("This API only accepts positive integers")}};var OC=2,BC=1,$C=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let e=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(e._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let e=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,s=window.getComputedStyle(this._terminal.element.parentElement),i=parseInt(s.getPropertyValue("height")),n=Math.max(0,parseInt(s.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),a={top:parseInt(o.getPropertyValue("padding-top")),bottom:parseInt(o.getPropertyValue("padding-bottom")),right:parseInt(o.getPropertyValue("padding-right")),left:parseInt(o.getPropertyValue("padding-left"))},l=a.top+a.bottom,c=a.right+a.left,d=i-l,u=n-c-e;return{cols:Math.max(OC,Math.floor(u/t.css.cell.width)),rows:Math.max(BC,Math.floor(d/t.css.cell.height))}}};function zC({onReady:t,onSelectionChange:e,initialData:s,className:i}){const n=j.useRef(null),o=j.useRef(null),a=j.useRef(e);return a.current=e,j.useEffect(()=>{const l=n.current;if(!l)return;const c=getComputedStyle(document.documentElement),d=p=>c.getPropertyValue(p).trim()||void 0,u=new LC({allowTransparency:!1,fontFamily:d("--font-mono")||"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12.5,lineHeight:1.5,scrollback:5e3,cursorBlink:!1,disableStdin:!0,theme:{background:d("--sidebar")||d("--card")||d("--background")||"#1e1e1e",cursor:"transparent",foreground:d("--foreground")||"#d4d4d4",selectionBackground:d("--accent"),selectionForeground:d("--accent-foreground"),black:d("--muted"),red:d("--destructive"),green:d("--success"),yellow:d("--warning"),blue:d("--chart-1"),magenta:d("--chart-3"),cyan:d("--chart-5"),white:d("--foreground"),brightBlack:d("--muted-foreground"),brightRed:d("--destructive"),brightGreen:d("--success"),brightYellow:d("--warning"),brightBlue:d("--chart-1"),brightMagenta:d("--chart-3"),brightCyan:d("--chart-5"),brightWhite:d("--foreground")}}),h=new $C;u.loadAddon(h),u.open(l),h.fit(),s&&u.write(s),o.current=u,t?.(u);const f=u.onSelectionChange(()=>{const p=!!u.getSelection();a.current?.(p,()=>u.getSelection())}),m=new ResizeObserver(()=>{h.fit()});return m.observe(l),()=>{f.dispose(),m.disconnect(),o.current=null,u.dispose()}},[]),r.jsx("div",{ref:n,className:Y("overflow-hidden bg-sidebar px-4 py-3 [&_.xterm]:h-full [&_.xterm-screen]:min-h-full [&_.xterm-viewport]:overscroll-contain",i)})}function FC(){const t=B.c(2),s=ml()?.entity;let i;return t[0]!==s?(i=bs(s),t[0]=s,t[1]=i):i=t[1],i}const UC={npm:{install:"npm install",run:t=>`npm run ${t}`,runtime:"node"},pnpm:{install:"pnpm install",run:t=>`pnpm run ${t}`,runtime:"node"},yarn:{install:"yarn install",run:t=>`yarn run ${t}`,runtime:"node"},bun:{install:"bun install",run:t=>`bun run ${t}`,runtime:"bun"},deno:{install:"deno install",run:t=>`deno task ${t}`,runtime:"deno"}},HC=["dev","start"];function hd(t){return t?.previewUrl?t.previewUrl.replace(/\/$/,""):null}function WC({daemonOpen:t=!1}){const{org:e}=xe(),s=ml(),i=bt(),{data:n}=dt.useSession(),{currentBranch:o,setCurrentTaskBranch:a}=Lt(),l=n?.user?.id,c=s?.entity?.metadata,d=l&&o?c?.vmMap?.[l]?.[o]:void 0,u=d&&o?{previewUrl:d.previewUrl,vmId:d.vmId,branch:o,runnerKind:d.runnerKind}:null,[h,f]=j.useState(null),[m,p]=j.useState(""),[g,_]=j.useState(""),[v,x]=j.useState(!1),[b,y]=j.useState(new Set),V=j.useRef(!1),C=j.useRef(Date.now()),[S,w]=j.useState("setup"),[k,T]=j.useState([]),M=j.useRef(new Map),{sendMessage:I}=Cn(),{setChatOpen:E}=xr(),[N,A]=j.useState(!1),D=j.useRef(null),L=ee=>{w(ee),A(!1),D.current=null},R=(ee,se,Ve)=>{ee===S&&(A(se),D.current=se?Ve:null)},P=()=>{const ee=D.current?.();if(!ee)return;E(!0),I({parts:[{type:"text",text:`<server-logs>
|
|
729
|
-
${ee}
|
|
730
|
-
</server-logs>`}]}),M.current.get(S)?.clearSelection()},O=Ae({connectionId:yt,orgId:e.id}),z=(ee,se)=>{const Ve=M.current.get(ee);Ve&&Ve.write(se)},$=Ti();fS(z);const q=oy(s?.entity?.id,o??void 0),F=$.suspended?"suspended":u?"running":q?"creating":"idle",W=h??F;j.useEffect(()=>{h==="creating"&&F==="running"&&f(null),h==="stopping"&&F==="idle"&&f(null)},[F,h]);const H=el(O),{mutate:U,isPending:X}=H,K=s?.entity?.id,G=$.notFound?d?.vmId??null:null,ie=j.useRef(null);j.useEffect(()=>{if(!G||!K||X||ie.current===G)return;ie.current=G;const ee={virtualMcpId:K};o&&(ee.branch=o),U(ee,{onError:se=>{console.error("[env] reprovision VM_START failed",se)}})},[G,K,o,X,U]);const te=j.useRef(!1);j.useEffect(()=>{if($.scripts.length>0&&!te.current){te.current=!0;for(const ee of HC)if($.scripts.includes(ee)){T([ee]),L(ee);break}}},[$.scripts]);const J=async(ee,se)=>{const Ve=await O.callTool({name:ee,arguments:se}),ze=Ve.content;if(ze?.[0]?.text?.startsWith("Error:"))throw new Error(ze[0].text);return Ve.structuredContent??Ve},ae=async ee=>{if(!(v||!u)){x(!0);try{const se=hd(d);if(!se)throw new Error("No VM");const Ve=await fetch(`${se}/_decopilot_vm/exec/${ee}`,{method:"POST"});if(!Ve.ok)throw new Error(`Exec failed: ${Ve.statusText}`);y(ze=>{const Fe=new Set(ze);return Fe.delete(ee),Fe})}finally{x(!1)}}},Z=async ee=>{if(!(v||!u)){x(!0);try{const se=hd(d);if(!se)throw new Error("No VM");const Ve=await fetch(`${se}/_decopilot_vm/kill/${ee}`,{method:"POST"});if(!Ve.ok)throw new Error(`Kill failed: ${Ve.statusText}`);y(ze=>new Set(ze).add(ee))}finally{x(!1)}}},de=ee=>{k.includes(ee)||T(se=>[...se,ee]),L(ee),ae(ee)},fe=async()=>{if(!V.current){V.current=!0,C.current=Date.now(),f("creating"),p("Connecting..."),_(""),te.current=!1,T([]),L("setup");try{if(!s?.entity)throw new Error("No virtual MCP context");const ee={virtualMcpId:s.entity.id};o&&(ee.branch=o);const se=await J("VM_START",ee);if(!se.vmId||!se.branch)throw new Error("Invalid VM response — missing fields");o||a(se.branch),p(""),Xr(i)}catch(ee){f("error"),_(ee instanceof Error?ee.message:"Failed to start VM")}finally{V.current=!1}}},ye=async()=>{const ee=u?.branch??o;f("stopping");const se=s?.entity?.id;if(se&&ee)try{await O.callTool({name:"VM_DELETE",arguments:{virtualMcpId:se,branch:ee}})}catch{}Xr(i)},ge=FC();if(!ge)return null;const ce=s?.entity?.metadata?.runtime,ue="__none__",be=Object.keys(UC),pe=async(ee,se)=>{if(s?.entity)try{await O.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.entity.id,data:{metadata:{runtime:{...ce,[ee]:se}}}}}),Xr(i)}catch{he.error("Failed to update setting")}};if(W==="idle"||W==="stopping"){const ee=W==="stopping";return r.jsx("div",{className:"flex flex-col items-center justify-center w-full h-full p-6",children:r.jsxs("div",{className:"flex flex-col gap-4 w-full max-w-xs",children:[r.jsxs("a",{href:`https://github.com/${ge.owner}/${ge.name}`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-4 rounded-lg border border-border hover:bg-accent/50 transition-colors",children:[r.jsx(ph,{size:24}),r.jsxs("div",{className:"flex flex-col gap-0.5 min-w-0 flex-1",children:[r.jsxs("span",{className:"text-sm font-medium truncate",children:[ge.owner,"/",ge.name]}),r.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["github.com/",ge.owner,"/",ge.name]})]}),r.jsx(oi,{size:14,className:"text-muted-foreground shrink-0"})]}),r.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-2 w-full",children:[r.jsxs("div",{className:"flex flex-col gap-1",children:[r.jsx(ir,{htmlFor:"env-runtime",className:"text-xs font-medium",children:"Runtime"}),r.jsxs(Rs,{value:ce?.selected??ue,onValueChange:se=>pe("selected",se===ue?null:se),children:[r.jsx(Ms,{id:"env-runtime",className:"w-28",children:r.jsx(Ds,{placeholder:"None"})}),r.jsxs(Ts,{children:[r.jsx(Nt,{value:ue,children:"None"}),be.map(se=>r.jsx(Nt,{value:se,children:se},se))]})]})]}),r.jsxs("div",{className:"flex flex-col gap-1",children:[r.jsx(ir,{htmlFor:"env-port",className:"text-xs font-medium",children:"Port"}),r.jsx(at,{id:"env-port",placeholder:"3000",className:"w-20 h-8",defaultValue:ce?.port??"",onBlur:se=>pe("port",se.target.value||null)})]}),r.jsxs(oe,{onClick:fe,disabled:ee,children:[ee?r.jsx(Ne,{size:14,className:"animate-spin"}):r.jsx(tn,{size:14}),ee?"Stopping...":"Run"]})]})]})})}if(W==="creating")return r.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full gap-4",children:[r.jsx(Ne,{size:24,className:"animate-spin text-muted-foreground"}),r.jsx("p",{className:"text-sm text-muted-foreground",children:m}),r.jsx(Im,{since:C.current})]});if(W==="error")return r.jsx(Iu,{errorMsg:g,onRetry:fe});if(W==="suspended")return r.jsx(Eu,{onResume:fe});const Ce=["setup",...k,...t?["daemon"]:[]],Ie=$.scripts.filter(ee=>!k.includes(ee));return r.jsx("div",{className:"flex flex-col w-full h-full",children:r.jsxs("div",{className:"flex flex-col h-full",children:[r.jsxs("div",{className:"flex h-12 items-center border-b border-border px-2 shrink-0",children:[Ce.map(ee=>r.jsx("button",{type:"button",onClick:()=>L(ee),className:Y("flex items-center h-full px-3 text-sm whitespace-nowrap border-b-2 mb-[-1px] capitalize transition-all hover:text-foreground",S===ee?"text-foreground border-primary":"text-muted-foreground border-transparent"),children:ee},ee)),Ie.length>0&&r.jsxs(cs,{children:[r.jsx(ds,{asChild:!0,children:r.jsx("button",{type:"button",className:"flex items-center h-full px-2 text-muted-foreground hover:text-foreground transition-colors",children:r.jsx(Dt,{size:14})})}),r.jsx(hs,{align:"start",children:Ie.map(ee=>r.jsx(Qe,{onClick:()=>de(ee),children:ee},ee))})]}),r.jsx("div",{className:"flex-1 flex justify-center",children:u?.vmId&&r.jsxs("div",{className:"flex items-center",children:[r.jsxs(Ye,{children:[r.jsx(qe,{asChild:!0,children:r.jsx("button",{type:"button",className:"shrink-0 rounded-l bg-muted px-1.5 py-0.5 text-[10px] font-mono text-muted-foreground cursor-pointer hover:bg-accent hover:text-foreground transition-colors border-r border-border/50",onClick:()=>navigator.clipboard.writeText(u?.vmId??""),children:u.vmId})}),r.jsx(Ge,{side:"bottom",children:"Copy VM ID"})]}),r.jsxs(cs,{children:[r.jsx(ds,{asChild:!0,children:r.jsx("button",{type:"button",className:"shrink-0 self-stretch rounded-r bg-muted px-0.5 text-[10px] text-muted-foreground cursor-pointer hover:bg-accent hover:text-foreground transition-colors",children:r.jsx(cr,{size:10})})}),r.jsx(hs,{align:"center",children:r.jsxs(Qe,{onClick:ye,children:[r.jsx(wl,{size:12}),"Stop Server"]})})]})]})}),r.jsxs("div",{className:"flex items-center gap-1",children:[N&&r.jsxs("button",{type:"button",onClick:P,className:"flex items-center gap-1 rounded-md border border-border px-2 py-1 text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[r.jsx(cp,{size:12}),"Add to chat"]}),S!=="setup"&&S!=="daemon"&&k.includes(S)&&(()=>{const ee=$.activeProcesses.includes(S)&&!b.has(S);return r.jsxs("div",{className:"flex items-center",children:[r.jsxs("button",{type:"button",disabled:v,onClick:()=>ae(S),className:Y("flex items-center gap-1 border border-border px-2 py-1 text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors disabled:opacity-50",ee?"rounded-l-md border-r-0":"rounded-md"),children:[v?r.jsx(Ne,{size:12,className:"animate-spin"}):r.jsx(tn,{size:12}),v?"Running...":ee?"Restart":"Run"]}),ee&&r.jsxs(cs,{children:[r.jsx(ds,{asChild:!0,children:r.jsx("button",{type:"button",disabled:v,className:"flex items-center self-stretch rounded-r-md border border-border px-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted transition-colors disabled:opacity-50",children:r.jsx(cr,{size:12})})}),r.jsx(hs,{align:"end",children:r.jsxs(Qe,{onClick:()=>Z(S),children:[r.jsx(wl,{size:12}),"Stop Process"]})})]})]})})()]})]}),r.jsx("div",{className:"flex-1 overflow-hidden",children:Ce.map(ee=>r.jsx("div",{className:Y("h-full",S===ee?"block":"hidden"),children:$.hasData(ee)||ee==="setup"||ee==="daemon"?r.jsx(zC,{onReady:se=>{M.current.set(ee,se)},onSelectionChange:(se,Ve)=>R(ee,se,Ve),initialData:$.getBuffer(ee),className:"h-full"}):r.jsx(Vi,{className:"h-full",image:null,title:`Script "${ee}" not running`,description:`Click Run to start "${ee}".`,actions:r.jsxs(oe,{variant:"outline",size:"sm",disabled:v,onClick:()=>ae(ee),children:[v?r.jsx(Ne,{size:14,className:"animate-spin"}):r.jsx(tn,{size:14}),"Run"]})})},ee))})]})})}function KC(t){const e=B.c(2),{virtualMcpId:s}=t,i=$t(s);if(!(i?bs(i):null)){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[r.jsx(Bs,{size:24,className:"text-muted-foreground/60"}),r.jsx("div",{children:"No repository connected."}),r.jsx("div",{className:"text-xs text-muted-foreground/80",children:"Connect a GitHub repository from the Connections tab to enable Env."})]}),e[0]=a):a=e[0],a}let o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx(WC,{}),e[1]=o):o=e[1],o}function nr(t){const e=t.trim().split(/\s+/);return e.length!==5?!1:e.every(s=>/^[\d*/,-]+$/.test(s))}function qC(t){if(!t)return"Unknown schedule";const e=t.trim();if(e==="* * * * *")return"Every minute";if(e==="0 * * * *")return"Every hour";if(e==="0 0 * * *")return"Every day";if(e==="0 0 * * 1")return"Every week";const s=e.match(/^\*\/(\d+)\s+\*\s+\*\s+\*\s+\*$/);if(s)return`Every ${s[1]} minutes`;const i=e.match(/^0\s+\*\/(\d+)\s+\*\s+\*\s+\*$/);if(i)return`Every ${i[1]} hours`;const n=e.match(/^0\s+0\s+\*\/(\d+)\s+\*\s+\*$/);if(n){const l=parseInt(n[1]??"1");return l%7===0?`Every ${l/7} weeks`:`Every ${l} days`}const o=e.match(/^(\d+)\s+(\d+)\s+\*\s+\*\s+\*$/);if(o){const l=(o[2]??"0").padStart(2,"0"),c=(o[1]??"0").padStart(2,"0");return`Every day at ${l}:${c} UTC`}const a=e.match(/^(\d+)\s+(\d+)\s+\*\s+\*\s+(\d)$/);if(a){const c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][parseInt(a[3]??"0")]??"day",d=(a[2]??"0").padStart(2,"0"),u=(a[1]??"0").padStart(2,"0");return`Every ${c} at ${d}:${u} UTC`}return t}function GC(t,e){const s=Math.max(1,t);switch(e){case"minutes":return s===1?"* * * * *":`*/${s} * * * *`;case"hours":return s===1?"0 * * * *":`0 */${s} * * *`;case"days":return s===1?"0 0 * * *":`0 0 */${s} * *`;case"weeks":return s===1?"0 0 * * 1":`0 0 */${s*7} * *`}}function YC(t){const e=t.trim();if(e==="* * * * *")return{count:1,unit:"minutes"};if(e==="0 * * * *")return{count:1,unit:"hours"};if(e==="0 0 * * *")return{count:1,unit:"days"};if(e==="0 0 * * 1")return{count:1,unit:"weeks"};const s=e.match(/^\*\/(\d+)\s+\*\s+\*\s+\*\s+\*$/);if(s)return{count:parseInt(s[1]),unit:"minutes"};const i=e.match(/^0\s+\*\/(\d+)\s+\*\s+\*\s+\*$/);if(i)return{count:parseInt(i[1]),unit:"hours"};const n=e.match(/^0\s+0\s+\*\/(\d+)\s+\*\s+\*$/);if(n){const o=parseInt(n[1]);return o%7===0?{count:o/7,unit:"weeks"}:{count:o,unit:"days"}}return null}function XC(t,e){return e===1?{minutes:"minute",hours:"hour",days:"day",weeks:"week"}[t]??t:t}const JC=[{label:"Minute",cron:"* * * * *"},{label:"Hour",cron:"0 * * * *"},{label:"Day",cron:"0 0 * * *"},{label:"Week",cron:"0 0 * * 1"}];function QC(t){const e=B.c(33),{automationId:s,open:i,onOpenChange:n,onCustomSelect:o,onEventSelect:a}=t,{triggerAdd:l}=jr(),[c,d]=j.useState(!1),u=i??c;let h;e[0]!==n?(h=M=>{n?n(M):d(M)},e[0]=n,e[1]=h):h=e[1];const f=h;let m;e[2]!==l||e[3]!==s||e[4]!==f?(m=async M=>{try{await l.mutateAsync({automation_id:s,type:"cron",cron_expression:M}),he.success("Starter added"),f(!1)}catch(I){const E=I,N=E instanceof Error?E.message:"Failed to add starter";he.error(N)}},e[2]=l,e[3]=s,e[4]=f,e[5]=m):m=e[5];const p=m;let g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=r.jsx(ds,{asChild:!0,children:r.jsxs(oe,{variant:"outline",size:"sm",children:[r.jsx(Dt,{size:14}),"Add Starter"]})}),e[6]=g):g=e[6];let _;e[7]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsxs(Pd,{className:"gap-2.5",children:[r.jsx(tr,{size:14,className:"text-muted-foreground shrink-0"}),"Every..."]}),e[7]=_):_=e[7];let v;e[8]!==l||e[9]!==p?(v=JC.map(M=>r.jsxs(Qe,{className:"gap-2.5",onSelect:()=>p(M.cron),disabled:l.isPending,children:[r.jsx(tr,{size:14,className:"text-muted-foreground shrink-0"}),"Every ",M.label]},M.cron)),e[8]=l,e[9]=p,e[10]=v):v=e[10];let x;e[11]!==v?(x=r.jsxs(Qr,{children:[_,r.jsx(Zr,{className:"w-[160px]",children:v})]}),e[11]=v,e[12]=x):x=e[12];let b;e[13]!==f||e[14]!==o?(b=()=>{f(!1),o?.()},e[13]=f,e[14]=o,e[15]=b):b=e[15];let y;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=r.jsx(tr,{size:14,className:"text-muted-foreground shrink-0"}),e[16]=y):y=e[16];let V;e[17]!==b?(V=r.jsxs(Qe,{className:"gap-2.5",onSelect:b,children:[y,"Custom (cron)"]}),e[17]=b,e[18]=V):V=e[18];let C;e[19]!==f||e[20]!==a?(C=()=>{f(!1),a?.()},e[19]=f,e[20]=a,e[21]=C):C=e[21];let S;e[22]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx(Ci,{size:14,className:"text-muted-foreground shrink-0"}),e[22]=S):S=e[22];let w;e[23]!==C?(w=r.jsxs(Qe,{className:"gap-2.5",onSelect:C,children:[S,"Event"]}),e[23]=C,e[24]=w):w=e[24];let k;e[25]!==w||e[26]!==x||e[27]!==V?(k=r.jsxs(hs,{align:"end",className:"w-[200px]",children:[x,V,w]}),e[25]=w,e[26]=x,e[27]=V,e[28]=k):k=e[28];let T;return e[29]!==f||e[30]!==u||e[31]!==k?(T=r.jsxs(cs,{open:u,onOpenChange:f,children:[g,k]}),e[29]=f,e[30]=u,e[31]=k,e[32]=T):T=e[32],T}function ZC(t){const e=B.c(60),{trigger:s,automationId:i,connectionName:n}=t,{triggerAdd:o,triggerRemove:a}=jr(),[l,c]=j.useState(!1);let d;e[0]!==s.cron_expression?(d=s.cron_expression?YC(s.cron_expression):null,e[0]=s.cron_expression,e[1]=d):d=e[1];const u=d,[h,f]=j.useState(u?.count??1),[m,p]=j.useState(!1),[g,_]=j.useState(s.cron_expression??""),v=a.isPending||o.isPending,x=s.type==="cron";let b;e[2]!==i||e[3]!==a||e[4]!==s.id?(b=async()=>{try{await a.mutateAsync({trigger_id:s.id,automation_id:i}),he.success("Starter removed")}catch{he.error("Failed to remove starter")}c(!1)},e[2]=i,e[3]=a,e[4]=s.id,e[5]=b):b=e[5];const y=b;let V;e[6]!==o||e[7]!==i||e[8]!==g||e[9]!==a||e[10]!==s.cron_expression||e[11]!==s.id?(V=async()=>{const z=g.trim();if(!z||!nr(z)||z===s.cron_expression){p(!1),_(s.cron_expression??"");return}try{await o.mutateAsync({automation_id:i,type:"cron",cron_expression:z}),await a.mutateAsync({trigger_id:s.id,automation_id:i}),p(!1)}catch{he.error("Failed to update starter"),_(s.cron_expression??""),p(!1)}},e[6]=o,e[7]=i,e[8]=g,e[9]=a,e[10]=s.cron_expression,e[11]=s.id,e[12]=V):V=e[12];const C=V;let S;e[13]!==o||e[14]!==i||e[15]!==u||e[16]!==a||e[17]!==s.cron_expression||e[18]!==s.id?(S=async z=>{if(!u)return;const $=Math.max(1,z),q=GC($,u.unit);if(q!==s.cron_expression)try{await o.mutateAsync({automation_id:i,type:"cron",cron_expression:q}),await a.mutateAsync({trigger_id:s.id,automation_id:i})}catch{he.error("Failed to update starter"),f(u.count)}},e[13]=o,e[14]=i,e[15]=u,e[16]=a,e[17]=s.cron_expression,e[18]=s.id,e[19]=S):S=e[19];const w=S;let k;e[20]!==x?(k=x?r.jsx(tr,{size:14,className:"text-muted-foreground shrink-0"}):r.jsx(Ci,{size:14,className:"text-muted-foreground shrink-0"}),e[20]=x,e[21]=k):k=e[21];let T;e[22]!==n||e[23]!==h||e[24]!==g||e[25]!==w||e[26]!==C||e[27]!==u||e[28]!==x||e[29]!==m||e[30]!==v||e[31]!==s.cron_expression||e[32]!==s.event_type||e[33]!==s.params?(T=u&&x?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"text-sm text-muted-foreground",children:"Every"}),r.jsx("input",{type:"number",min:1,value:h,onChange:z=>f(parseInt(z.target.value)||1),onBlur:()=>w(h),onKeyDown:z=>{z.key==="Enter"&&z.target.blur(),z.key==="Escape"&&f(u.count)},disabled:v,className:"w-12 text-center text-sm h-7 border border-border rounded-md bg-background px-1 focus:outline-none focus:ring-1 focus:ring-ring"}),r.jsx("span",{className:"text-sm",children:XC(u.unit,h)})]}):x&&m?r.jsxs(r.Fragment,{children:[r.jsx("input",{type:"text",value:g,onChange:z=>_(z.target.value),onBlur:C,onKeyDown:z=>{z.key==="Enter"&&z.target.blur(),z.key==="Escape"&&(p(!1),_(s.cron_expression??""))},className:"flex-1 text-sm font-mono bg-transparent outline-none",autoFocus:!0}),g&&!nr(g)&&r.jsx("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"invalid"})]}):r.jsxs("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[r.jsx("span",{className:"text-sm font-mono text-xs text-muted-foreground truncate",children:x?qC(s.cron_expression??""):`${s.event_type}${n?` · ${n}`:""}`}),!x&&s.params&&Object.keys(s.params).length>0&&r.jsx("span",{className:"text-xs text-muted-foreground/60 truncate",children:Object.entries(s.params).map(e3).join(", ")})]}),e[22]=n,e[23]=h,e[24]=g,e[25]=w,e[26]=C,e[27]=u,e[28]=x,e[29]=m,e[30]=v,e[31]=s.cron_expression,e[32]=s.event_type,e[33]=s.params,e[34]=T):T=e[34];let M;e[35]!==v?(M=v&&r.jsx(Ne,{size:13,className:"animate-spin text-muted-foreground"}),e[35]=v,e[36]=M):M=e[36];let I;e[37]!==u||e[38]!==x||e[39]!==m||e[40]!==s.cron_expression?(I=x&&!u&&!m&&r.jsx(oe,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{_(s.cron_expression??""),p(!0)},children:r.jsx(dp,{size:13,className:"text-muted-foreground"})}),e[37]=u,e[38]=x,e[39]=m,e[40]=s.cron_expression,e[41]=I):I=e[41];let E;e[42]===Symbol.for("react.memo_cache_sentinel")?(E=r.jsx(oe,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>c(!0),children:r.jsx(Os,{size:13,className:"text-muted-foreground"})}),e[42]=E):E=e[42];let N;e[43]!==M||e[44]!==I?(N=r.jsxs("div",{className:"ml-auto flex items-center gap-1",children:[M,I,E]}),e[43]=M,e[44]=I,e[45]=N):N=e[45];let A;e[46]!==N||e[47]!==k||e[48]!==T?(A=r.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-border bg-background group",children:[k,T,N]}),e[46]=N,e[47]=k,e[48]=T,e[49]=A):A=e[49];let D;e[50]===Symbol.for("react.memo_cache_sentinel")?(D=r.jsxs(Ua,{children:[r.jsx(Ha,{children:"Remove Starter"}),r.jsx(Wa,{children:"Are you sure you want to remove this starter?"})]}),e[50]=D):D=e[50];let L;e[51]===Symbol.for("react.memo_cache_sentinel")?(L=r.jsx(za,{children:"Cancel"}),e[51]=L):L=e[51];let R;e[52]!==y?(R=r.jsxs(Fa,{children:[D,r.jsxs(Ka,{children:[L,r.jsx(wh,{onClick:y,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove"})]})]}),e[52]=y,e[53]=R):R=e[53];let P;e[54]!==l||e[55]!==R?(P=r.jsx(qa,{open:l,onOpenChange:c,children:R}),e[54]=l,e[55]=R,e[56]=P):P=e[56];let O;return e[57]!==A||e[58]!==P?(O=r.jsxs(r.Fragment,{children:[A,P]}),e[57]=A,e[58]=P,e[59]=O):O=e[59],O}function e3(t){const[e,s]=t;return`${e}: ${s}`}function t3(t){const e=B.c(55),{automationId:s,onDone:i}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={binding:"TRIGGER"},e[0]=n):n=e[0];const o=yr(n),[a,l]=j.useState(),[c,d]=j.useState();let u;e[1]===Symbol.for("react.memo_cache_sentinel")?(u={},e[1]=u):u=e[1];const[h,f]=j.useState(u),{triggerAdd:m}=jr(),{data:p,isLoading:g}=Ag(a);let _,v,x,b,y,V;if(e[2]!==m||e[3]!==s||e[4]!==a||e[5]!==c||e[6]!==g||e[7]!==i||e[8]!==h||e[9]!==o||e[10]!==p){const w=p?.find(R=>R.type===c);let k;e[17]!==m||e[18]!==s||e[19]!==a||e[20]!==c||e[21]!==i||e[22]!==h?(k=async()=>{if(!(!a||!c))try{await m.mutateAsync({automation_id:s,type:"event",event_type:c,connection_id:a,params:h}),re("automation_trigger_added",{automation_id:s,trigger_type:"event",connection_id:a,event_type:c}),he.success("Event trigger added"),i()}catch{he.error("Failed to add event trigger")}},e[17]=m,e[18]=s,e[19]=a,e[20]=c,e[21]=i,e[22]=h,e[23]=k):k=e[23],_=k,v="flex flex-col gap-3 px-3 py-3 rounded-lg border border-border bg-background";let T,M;e[24]===Symbol.for("react.memo_cache_sentinel")?(M=r.jsx(Ci,{size:14,className:"text-muted-foreground shrink-0"}),T=r.jsx("span",{className:"text-sm font-medium",children:"Event trigger"}),e[24]=T,e[25]=M):(T=e[24],M=e[25]);let I;e[26]===Symbol.for("react.memo_cache_sentinel")?(I=r.jsx(Os,{size:13}),e[26]=I):I=e[26],e[27]!==i?(x=r.jsxs("div",{className:"flex items-center gap-2",children:[M,T,r.jsx("button",{type:"button",className:"ml-auto shrink-0 p-0.5 rounded text-muted-foreground hover:text-foreground",onClick:i,children:I})]}),e[27]=i,e[28]=x):x=e[28];const E=a??"";let N;e[29]===Symbol.for("react.memo_cache_sentinel")?(N=R=>{l(R),d(void 0),f({})},e[29]=N):N=e[29];let A;e[30]===Symbol.for("react.memo_cache_sentinel")?(A=r.jsx(Ms,{className:"w-full",children:r.jsx(Ds,{placeholder:"Select connection..."})}),e[30]=A):A=e[30];let D;e[31]!==o?(D=o.length===0?r.jsx("div",{className:"px-2 py-3 text-center text-xs text-muted-foreground",children:"No connections with trigger support"}):o.map(r3),e[31]=o,e[32]=D):D=e[32];let L;e[33]!==D?(L=r.jsx(Ts,{children:D}),e[33]=D,e[34]=L):L=e[34],e[35]!==E||e[36]!==L?(b=r.jsxs(Rs,{value:E,onValueChange:N,children:[A,L]}),e[35]=E,e[36]=L,e[37]=b):b=e[37],e[38]!==a||e[39]!==c||e[40]!==g||e[41]!==p?(y=a&&r.jsxs(Rs,{value:c??"",onValueChange:R=>{d(R),f({})},children:[r.jsx(Ms,{className:"w-full",children:g?r.jsxs("span",{className:"flex items-center gap-2 text-muted-foreground",children:[r.jsx(Ne,{size:13,className:"animate-spin"}),"Loading events..."]}):r.jsx(Ds,{placeholder:"Select event type...",children:c??"Select event type..."})}),r.jsx(Ts,{children:p?.map(i3)})]}),e[38]=a,e[39]=c,e[40]=g,e[41]=p,e[42]=y):y=e[42],V=w?.paramsSchema&&Object.keys(w.paramsSchema).length>0&&r.jsx("div",{className:"flex flex-col gap-2",children:Object.entries(w.paramsSchema).map(R=>{const[P,O]=R;return r.jsxs("div",{className:"flex flex-col gap-1",children:[r.jsxs("label",{className:"text-xs text-muted-foreground",children:[P,O.description&&r.jsxs("span",{className:"text-muted-foreground/60",children:[" ","— ",O.description]})]}),O.enum?r.jsxs(Rs,{value:h[P]??"",onValueChange:z=>f($=>({...$,[P]:z})),children:[r.jsx(Ms,{className:"w-full",children:r.jsx(Ds,{placeholder:`Select ${P}...`})}),r.jsx(Ts,{children:O.enum.map(s3)})]}):r.jsx("input",{type:"text",value:h[P]??"",onChange:z=>f($=>({...$,[P]:z.target.value})),placeholder:O.description??P,className:"text-sm border border-border rounded-md bg-background px-2 py-1.5 focus:outline-none focus:ring-1 focus:ring-ring"})]},P)})}),e[2]=m,e[3]=s,e[4]=a,e[5]=c,e[6]=g,e[7]=i,e[8]=h,e[9]=o,e[10]=p,e[11]=_,e[12]=v,e[13]=x,e[14]=b,e[15]=y,e[16]=V}else _=e[11],v=e[12],x=e[13],b=e[14],y=e[15],V=e[16];let C;e[43]!==m||e[44]!==a||e[45]!==c||e[46]!==_?(C=a&&c&&r.jsx(oe,{size:"sm",onClick:_,disabled:m.isPending,children:m.isPending?r.jsx(Ne,{size:13,className:"animate-spin"}):"Add trigger"}),e[43]=m,e[44]=a,e[45]=c,e[46]=_,e[47]=C):C=e[47];let S;return e[48]!==v||e[49]!==x||e[50]!==b||e[51]!==y||e[52]!==V||e[53]!==C?(S=r.jsxs("div",{className:v,children:[x,b,y,V,C]}),e[48]=v,e[49]=x,e[50]=b,e[51]=y,e[52]=V,e[53]=C,e[54]=S):S=e[54],S}function s3(t){return r.jsx(Nt,{value:t,children:t},t)}function i3(t){return r.jsx(Nt,{value:t.type,children:r.jsxs("div",{className:"flex flex-col",children:[r.jsx("span",{children:t.type}),r.jsx("span",{className:"text-xs text-muted-foreground",children:t.description})]})},t.type)}function r3(t){return r.jsx(Nt,{value:t.id,children:t.title},t.id)}function n3({automationId:t,automation:e,virtualMcpId:s,onBack:i,onDelete:n}){const o=e.agent?.id??s,{org:a}=xe(),{update:l,triggerAdd:c}=jr(),d=yr(),u=new Map(d.map(ce=>[ce.id,ce.title])),{createTaskWithMessage:h}=Lt(),{setModel:f,credentialId:m,selectedModel:p,setChatMode:g}=$s(),[_,v]=ei(),x=e.messages?.[0]?.metadata?.tiptapDoc??void 0,[b,y]=j.useState(x),[V,C]=j.useState(!1),[S,w]=j.useState(!1),[k,T]=j.useState(""),[M,I]=j.useState(!1),E=j.useRef(!1),N=j.useRef(null),A=j.useRef(!1),D=j.useRef(x),L=()=>{const ue=gl(b).filter(be=>be.type==="text").map(be=>be.text).join(`
|
|
731
|
-
`);ue.trim()&&(te(),re("automation_improve_clicked",{automation_id:t,agent_id:o,instructions_length:ue.length}),g("plan"),h({virtualMcpId:Aa(a.id),message:{parts:[{type:"text",text:`/writing-prompts for automation with id ${t}. The current message is
|
|
732
|
-
|
|
733
|
-
<message>
|
|
734
|
-
${ue}
|
|
735
|
-
</message>`}]}}))},R=e.models?.credentialId||m||"",P=e.models?.thinking?.id||p?.modelId||"",O=Ai({defaultValues:{name:e.name,active:e.active,credential_id:R,model_id:P}}),z=O.watch("active"),$=O.watch("credential_id"),q=O.watch("model_id"),{models:F,isLoading:W}=eh($||void 0),H=F.find(ce=>ce.modelId===q)??null,U=j.useRef(null),X=j.useRef(new Set),K=j.useRef(0),G=j.useRef(null),ie=3e4,te=()=>{G.current&&(clearTimeout(G.current),G.current=null),U.current!==null&&(re("automation_updated",{automation_id:t,agent_id:o,fields:Array.from(X.current),save_count:K.current,edit_duration_ms:Date.now()-U.current}),U.current=null,X.current=new Set,K.current=0)},J=async()=>{if(!(Object.keys(O.formState.dirtyFields).length>0)&&!A.current)return!0;const ue=Object.keys(O.formState.dirtyFields),be=A.current;A.current=!1;const pe=O.getValues(),Ce=D.current;try{const Ie=pe.credential_id&&pe.model_id?pe.credential_id:"",ee=pe.credential_id&&pe.model_id?pe.model_id:"",se={id:t,name:pe.name,active:pe.active,agent:{id:o},models:{credentialId:Ie,thinking:{id:ee}},messages:jd(Ce),temperature:0};await l.mutateAsync(se),U.current===null&&(U.current=Date.now());for(const Ve of ue)X.current.add(Ve);return be&&X.current.add("messages"),K.current+=1,G.current&&clearTimeout(G.current),G.current=setTimeout(te,ie),O.reset({...pe,credential_id:Ie,model_id:ee},{keepDirtyValues:!0}),!0}catch{return A.current=!0,!1}},ae=j.useRef(J);ae.current=J;const Z=()=>{N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{N.current=null,ae.current()},1e3)},de=async()=>(N.current&&(clearTimeout(N.current),N.current=null),ae.current()),fe=ce=>{if(D.current=ce,y(ce),!E.current){E.current=!0;return}A.current=!0,Z()},ye=j.useRef(!1);ye.current||(ye.current=!0,O.watch(()=>{Z()})),j.useEffect(()=>()=>{N.current&&(clearTimeout(N.current),N.current=null,ae.current())},[]);const ge=async()=>{re("automation_test_clicked",{automation_id:t,agent_id:o});const ce=await de();if(te(),!ce)return;if(!b){he.error("No instructions configured for this automation");return}H&&$&&f({...H,keyId:$}),v({..._,toolApprovalLevel:"auto"});const ue=gl(b);h({message:{tiptapDoc:b,parts:ue},virtualMcpId:o||void 0})};return r.jsxs(r.Fragment,{children:[i&&r.jsx("div",{className:"flex items-center pb-4 shrink-0",children:r.jsxs(oe,{variant:"ghost",size:"sm",onClick:i,children:[r.jsx(Pa,{size:14}),"Back to list"]})}),r.jsxs("div",{className:"flex flex-col gap-8",children:[r.jsxs("div",{className:"flex flex-col gap-1.5",children:[r.jsxs("div",{className:"flex items-center justify-between gap-4",children:[r.jsx(at,{...O.register("name"),placeholder:"Automation name",className:"border border-transparent shadow-none px-0 text-lg font-medium h-auto focus-visible:ring-0 focus-visible:border-border bg-transparent flex-1",style:{boxShadow:"none"}}),n&&r.jsx(oe,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive shrink-0",onClick:n,children:r.jsx(Ro,{size:14})})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(pi,{control:O.control,name:"active",render:({field:ce})=>r.jsx(mn,{checked:ce.value,onCheckedChange:ue=>{ce.onChange(ue),setTimeout(()=>de(),0)},className:"cursor-pointer"})}),r.jsx("span",{className:"text-sm text-muted-foreground",children:z?"Active":"Inactive"}),r.jsx("span",{className:"text-muted-foreground/50 text-sm",children:"·"}),r.jsx(Ch,{id:e.created_by,size:"2xs",className:"text-sm text-muted-foreground"})]})]}),r.jsxs("div",{className:"flex flex-col gap-2.5",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{className:"text-xs font-semibold text-muted-foreground/60",children:"Starter"}),r.jsx(QC,{automationId:t,open:V,onOpenChange:C,onCustomSelect:()=>{w(!0),I(!1),T("")},onEventSelect:()=>{I(!0),w(!1)}})]}),e.triggers.length===0&&!S?r.jsx("div",{className:"rounded-lg border border-dashed border-border px-4 py-6 text-center",children:r.jsxs("p",{className:"text-sm text-muted-foreground",children:["When should this automation run?"," ",r.jsx("button",{type:"button",className:"text-foreground underline underline-offset-2 cursor-pointer hover:text-foreground/80 transition-colors",onClick:()=>C(!0),children:"Add a starter"})," ","to get going."]})}):r.jsx("div",{className:"flex flex-col gap-2",children:e.triggers.map(ce=>r.jsx(ZC,{trigger:ce,automationId:t,connectionName:ce.connection_id?u.get(ce.connection_id):void 0},ce.id))}),S&&r.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-border bg-background group",children:[r.jsx(tr,{size:14,className:"text-muted-foreground shrink-0"}),r.jsx("input",{type:"text",value:k,onChange:ce=>T(ce.target.value),onBlur:async()=>{const ce=k.trim();if(!(!ce||!nr(ce)))try{await c.mutateAsync({automation_id:t,type:"cron",cron_expression:ce}),re("automation_trigger_added",{automation_id:t,trigger_type:"cron"}),he.success("Starter added"),w(!1),T("")}catch{he.error("Failed to add starter")}},onKeyDown:async ce=>{const ue=k.trim();ce.key==="Enter"&&ue&&nr(ue)&&ce.target.blur(),ce.key==="Escape"&&(w(!1),T(""))},placeholder:"0 9 * * 1-5",className:"flex-1 text-sm font-mono bg-transparent outline-none placeholder:text-muted-foreground/40",autoFocus:!0}),k&&!nr(k)&&r.jsx("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"invalid"}),c.isPending&&r.jsx(Ne,{size:13,className:"animate-spin text-muted-foreground shrink-0"}),r.jsx("button",{type:"button",className:"shrink-0 p-0.5 rounded text-muted-foreground opacity-0 group-hover:opacity-100 hover:text-foreground transition-opacity",onClick:()=>{w(!1),T("")},children:r.jsx(Os,{size:13})})]}),M&&r.jsx(j.Suspense,{fallback:r.jsxs("div",{className:"flex items-center gap-2 px-3 py-3 rounded-lg border border-border bg-background",children:[r.jsx(Ne,{size:13,className:"animate-spin text-muted-foreground"}),r.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading connections..."})]}),children:r.jsx(t3,{automationId:t,onDone:()=>I(!1)})})]}),r.jsxs("div",{className:"flex flex-col gap-2.5",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{className:"text-xs font-semibold text-muted-foreground/60",children:"Instructions"}),r.jsxs(oe,{variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:!b,onClick:L,children:[r.jsx(Da,{size:13}),"Improve"]})]}),r.jsx(Gh,{tiptapDoc:b,setTiptapDoc:fe,placeholder:"What should this automation do?",children:r.jsxs("div",{className:"rounded-xl border border-border min-h-[120px] flex flex-col",children:[r.jsx(Yh,{virtualMcpId:o||null,className:"max-h-[45vh]"}),r.jsxs("div",{className:"flex items-center justify-end gap-1.5 p-2.5",children:[r.jsx(sh,{model:H,isLoading:W,credentialId:$||null,onCredentialChange:ce=>{O.setValue("credential_id",ce??"",{shouldDirty:!0}),O.setValue("model_id","",{shouldDirty:!0})},onModelChange:ce=>O.setValue("model_id",ce.modelId,{shouldDirty:!0}),placeholder:"Model"}),r.jsxs(Ye,{children:[r.jsx(qe,{asChild:!0,children:r.jsxs(oe,{type:"button",variant:"default",className:"h-8 gap-1.5 rounded-md px-3 text-sm font-medium",onClick:ge,disabled:!o,children:[r.jsx(Od,{size:16}),"Test"]})}),r.jsx(Ge,{children:"Test Automation"})]})]})]})})]})]})]})}function o3(t){const e=B.c(6),{tabId:s,virtualMcpId:i}=t;let n;e[0]!==s?(n=Ad(s),e[0]=s,e[1]=n):n=e[1];const o=n;if(!o)return null;let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),e[2]=a):a=e[2];let l;return e[3]!==o.id||e[4]!==i?(l=r.jsx(Jt,{children:r.jsx(Jt.Content,{children:r.jsx(Jt.Body,{children:r.jsx(j.Suspense,{fallback:a,children:r.jsx(a3,{id:o.id,virtualMcpId:i})})})})}),e[3]=o.id,e[4]=i,e[5]=l):l=e[5],l}function a3(t){const e=B.c(9),{id:s,virtualMcpId:i}=t,n=Oe(),{data:o,isLoading:a}=Eg(s);let l;e[0]!==n?(l=()=>n({to:".",search:l3,replace:!0}),e[0]=n,e[1]=l):l=e[1];const c=l;if(a){let u;return e[2]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),e[2]=u):u=e[2],u}if(!o){let u;return e[3]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx("div",{className:"flex-1 flex items-center justify-center text-sm text-muted-foreground",children:"Automation not found"}),e[3]=u):u=e[3],u}let d;return e[4]!==o||e[5]!==s||e[6]!==c||e[7]!==i?(d=r.jsx(n3,{automationId:s,automation:o,virtualMcpId:i,onBack:c}),e[4]=o,e[5]=s,e[6]=c,e[7]=i,e[8]=d):d=e[8],d}function l3(t){return{...t,main:"automations"}}function c3(t){const e=B.c(20),{virtualMcpId:s}=t,i=Oe(),{data:n}=Ig(s),o=n===void 0?[]:n,{create:a}=jr(),[l,c]=j.useState(""),d=l.toLowerCase(),u=o.filter(T=>T.name.toLowerCase().includes(d));let h;e[0]!==i?(h=T=>i({to:".",search:M=>({...M,main:"automation:"+T}),replace:!0}),e[0]=i,e[1]=h):h=e[1];const f=h,m=async()=>{if(a.isPending)return;re("automation_new_clicked",{virtual_mcp_id:s,existing_count:o.length});const T=await a.mutateAsync(Rg(s));f(T.id)},p=Jt,g=Jt,_=Jt;let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=r.jsx(Jt.Title,{children:"Automations"}),e[2]=v):v=e[2];const x=o.length>0&&r.jsx(Mg,{value:l,onChange:c,placeholder:"Search automations...",className:"w-full md:w-[375px]"});let b;e[3]===Symbol.for("react.memo_cache_sentinel")?(b=r.jsx(Dt,{size:14}),e[3]=b):b=e[3];let y;e[4]!==a.isPending||e[5]!==m?(y=r.jsxs(oe,{size:"sm",onClick:m,disabled:a.isPending,children:[b,"New automation"]}),e[4]=a.isPending,e[5]=m,e[6]=y):y=e[6];let V;e[7]!==x||e[8]!==y?(V=r.jsxs("div",{className:"flex flex-col gap-6",children:[v,r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[x,y]})]}),e[7]=x,e[8]=y,e[9]=V):V=e[9];const C=o.length===0?r.jsx("div",{className:"flex items-center justify-center py-20",children:r.jsx(Vi,{image:r.jsx(Ci,{size:48,className:"text-muted-foreground"}),title:"No automations yet",description:"Create your first automation to run this agent on a schedule or in response to events.",actions:r.jsxs(oe,{size:"sm",onClick:m,disabled:a.isPending,children:[r.jsx(Dt,{size:14}),"New automation"]})})}):u.length===0?r.jsx("div",{className:"flex items-center justify-center py-20",children:r.jsx(Vi,{image:r.jsx(Ci,{size:48,className:"text-muted-foreground"}),title:"No automations found",description:`No automations match "${l}"`})}):r.jsx("div",{className:"mt-6 rounded-xl border border-border overflow-hidden",children:u.map(T=>r.jsx(Tg,{automation:T,onClick:()=>f(T.id)},T.id))});let S;e[10]!==C||e[11]!==_.Body||e[12]!==V?(S=r.jsxs(_.Body,{children:[V,C]}),e[10]=C,e[11]=_.Body,e[12]=V,e[13]=S):S=e[13];let w;e[14]!==S||e[15]!==g.Content?(w=r.jsx(g.Content,{children:S}),e[14]=S,e[15]=g.Content,e[16]=w):w=e[16];let k;return e[17]!==p||e[18]!==w?(k=r.jsx(p,{children:w}),e[17]=p,e[18]=w,e[19]=k):k=e[19],k}function d3(t){const e=B.c(3),{virtualMcpId:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),e[0]=i):i=e[0];let n;return e[1]!==s?(n=r.jsx(j.Suspense,{fallback:i,children:r.jsx(c3,{virtualMcpId:s})}),e[1]=s,e[2]=n):n=e[2],n}const ud=j.lazy(()=>hm(()=>import("./project-app-view-CQsZ6NHk.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56])).then(t=>({default:t.AppViewContent})));function h3(t){const e=B.c(44),{taskId:s,virtualMcpId:i}=t;let n;e[0]!==s||e[1]!==i?(n={virtualMcpId:i,taskId:s},e[0]=s,e[1]=i,e[2]=n):n=e[2];const{activeTab:o,layoutTabs:a,expandedTools:l,automationTabParsed:c}=Vu(n);if(Tm(o)){let p;return e[3]!==i?(p=r.jsx(pc,{virtualMcpId:i}),e[3]=i,e[4]=p):p=e[4],p}if(o==="git"){let p;return e[5]!==i?(p=r.jsx(J2,{virtualMcpId:i}),e[5]=i,e[6]=p):p=e[6],p}if(o==="automations"){let p;return e[7]!==i?(p=r.jsx(d3,{virtualMcpId:i}),e[7]=i,e[8]=p):p=e[8],p}if(o==="env"){let p;return e[9]!==i?(p=r.jsx(KC,{virtualMcpId:i}),e[9]=i,e[10]=p):p=e[10],p}if(o==="preview"){let p;return e[11]!==i?(p=r.jsx(NS,{virtualMcpId:i}),e[11]=i,e[12]=p):p=e[12],p}if(c){let p;return e[13]!==o||e[14]!==i?(p=r.jsx(o3,{tabId:o,virtualMcpId:i}),e[13]=o,e[14]=i,e[15]=p):p=e[15],p}let d;e[16]!==o?(d=Rm(o),e[16]=o,e[17]=d):d=e[17];const u=d;if(u){let p;if(e[18]!==l||e[19]!==u.connectionId||e[20]!==u.toolName){let b;e[22]!==u.connectionId||e[23]!==u.toolName?(b=y=>y.appId===u.connectionId&&y.toolName===u.toolName,e[22]=u.connectionId,e[23]=u.toolName,e[24]=b):b=e[24],p=l.find(b),e[18]=l,e[19]=u.connectionId,e[20]=u.toolName,e[21]=p}else p=e[21];const g=p;let _;e[25]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx("div",{className:"h-full w-full flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),e[25]=_):_=e[25];const v=g?.args;let x;return e[26]!==o||e[27]!==u.connectionId||e[28]!==u.toolName||e[29]!==v?(x=r.jsx(j.Suspense,{fallback:_,children:r.jsx(ud,{connectionId:u.connectionId,toolName:u.toolName,args:v},o)}),e[26]=o,e[27]=u.connectionId,e[28]=u.toolName,e[29]=v,e[30]=x):x=e[30],x}let h;if(e[31]!==o||e[32]!==a){let p;e[34]!==o?(p=g=>g.id===o,e[34]=o,e[35]=p):p=e[35],h=a.find(p),e[31]=o,e[32]=a,e[33]=h}else h=e[33];const f=h;if(f){let p;e[36]===Symbol.for("react.memo_cache_sentinel")?(p=r.jsx("div",{className:"h-full w-full flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),e[36]=p):p=e[36];let g;return e[37]!==o||e[38]!==f.id||e[39]!==f.view.appId||e[40]!==f.view.args?(g=r.jsx(j.Suspense,{fallback:p,children:r.jsx(ud,{connectionId:f.view.appId,toolName:f.id,args:f.view.args},o)}),e[37]=o,e[38]=f.id,e[39]=f.view.appId,e[40]=f.view.args,e[41]=g):g=e[41],g}let m;return e[42]!==i?(m=r.jsx(pc,{virtualMcpId:i}),e[42]=i,e[43]=m):m=e[43],m}function u3(t){const e=B.c(7),{children:s,defaultSize:i}=t,[,n]=j.useTransition();let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=Ca.decoChatPanelWidth(),e[0]=o):o=e[0];const[a,l]=Va(o,45),c=i>0&&i<100?a:i;let d;e[1]!==l?(d=f=>n(()=>{f>0&&f<100&&l(f)}),e[1]=l,e[2]=d):d=e[2];const u=d;let h;return e[3]!==s||e[4]!==c||e[5]!==u?(h=r.jsx(ih,{defaultSize:c,minSize:20,collapsible:!0,collapsedSize:0,className:"min-w-0 overflow-hidden bg-sidebar",onResize:u,order:1,children:s}),e[3]=s,e[4]=c,e[5]=u,e[6]=h):h=e[6],h}function f3(t){const e=B.c(31),{virtualMcpId:s,taskId:i,chatOpen:n,mainOpen:o,variant:a,chatContent:l}=t;let c;e[0]!==n||e[1]!==o?(c=dc(n,o),e[0]=n,e[1]=o,e[2]=c):c=e[2];const d=c;let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=Ca.decoChatPanelWidth(),e[3]=u):u=e[3];const[h]=Va(u,45),f=j.useRef(null);let m,p;e[4]!==n||e[5]!==o||e[6]!==h?(m=()=>{const M=f.current;if(!M)return;const I=dc(n,o),E=I.chat>0&&I.chat<100?h:I.chat,N=I.chat>0&&I.chat<100?100-h:I.main;M.setLayout([E,N])},p=[n,o,h],e[4]=n,e[5]=o,e[6]=h,e[7]=m,e[8]=p):(m=e[7],p=e[8]),j.useEffect(m,p);const g=`${s}-${i}`;let _;e[9]===Symbol.for("react.memo_cache_sentinel")?(_={overflow:"visible"},e[9]=_):_=e[9];let v;e[10]!==l||e[11]!==a?(v=l??r.jsx(eu,{variant:a}),e[10]=l,e[11]=a,e[12]=v):v=e[12];let x;e[13]!==v?(x=r.jsx("div",{className:"h-full p-0.5 pt-0.25",children:r.jsx("div",{className:"h-full bg-background rounded-[0.75rem] overflow-hidden card-shadow",children:v})}),e[13]=v,e[14]=x):x=e[14];let b;e[15]!==d.chat||e[16]!==x?(b=r.jsx(u3,{defaultSize:d.chat,children:x}),e[15]=d.chat,e[16]=x,e[17]=b):b=e[17];let y;e[18]===Symbol.for("react.memo_cache_sentinel")?(y=r.jsx(Ap,{className:"bg-sidebar"}),e[18]=y):y=e[18];const V=d.main;let C;e[19]===Symbol.for("react.memo_cache_sentinel")?(C={overflow:"visible"},e[19]=C):C=e[19];let S;e[20]===Symbol.for("react.memo_cache_sentinel")?(S=Y("flex flex-col h-full min-h-0 bg-background overflow-hidden","card-shadow","transition-[border-radius] duration-200 ease-[var(--ease-out-quart)]","rounded-[0.75rem]"),e[20]=S):S=e[20];let w;e[21]!==i||e[22]!==s?(w=r.jsx("div",{className:"h-full p-0.5 pt-0.25",children:r.jsx("div",{className:S,children:r.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:r.jsx(h3,{taskId:i,virtualMcpId:s})})})}),e[21]=i,e[22]=s,e[23]=w):w=e[23];let k;e[24]!==d.main||e[25]!==w?(k=r.jsx(ih,{className:"min-w-0 flex flex-col",order:2,defaultSize:V,style:C,collapsible:!0,collapsedSize:0,minSize:20,children:w}),e[24]=d.main,e[25]=w,e[26]=k):k=e[26];let T;return e[27]!==k||e[28]!==g||e[29]!==b?(T=r.jsxs(Ep,{ref:f,direction:"horizontal",className:"flex-1 min-h-0 pb-1 pr-1 pl-0 pt-0",style:_,children:[b,y,k]},g),e[27]=k,e[28]=g,e[29]=b,e[30]=T):T=e[30],T}const wo="flex size-7 shrink-0 items-center justify-center rounded-md transition-colors",fd="bg-sidebar-accent text-sidebar-foreground",Vo="text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground";function m3(t){const e=B.c(38),{isDecopilot:s,chatOpen:i,toggleChat:n,onNewTask:o}=t,{tasksOpen:a,toggleTasks:l}=Su(),c=!!o;let d;e[0]!==a||e[1]!==l?(d=()=>{re("agent_toolbar_toggled",{button:"tasks",next_state:a?"closed":"open"}),l()},e[0]=a,e[1]=l,e[2]=d):d=e[2];const u=a?fd:Vo;let h;e[3]!==u?(h=Y(wo,u),e[3]=u,e[4]=h):h=e[4];let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=r.jsx(up,{size:16}),e[5]=f):f=e[5];let m;e[6]!==d||e[7]!==h||e[8]!==a?(m=r.jsx(qe,{asChild:!0,children:r.jsx("button",{type:"button",onClick:d,"aria-pressed":a,className:h,children:f})}),e[6]=d,e[7]=h,e[8]=a,e[9]=m):m=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=r.jsx(Ge,{side:"bottom",children:"Tasks"}),e[10]=p):p=e[10];let g;e[11]!==m?(g=r.jsxs(Ye,{delayDuration:300,children:[m,p]}),e[11]=m,e[12]=g):g=e[12];let _;e[13]!==i||e[14]!==s||e[15]!==n?(_=!s&&r.jsxs(Ye,{delayDuration:300,children:[r.jsx(qe,{asChild:!0,children:r.jsx("button",{type:"button",onClick:()=>{re("agent_toolbar_toggled",{button:"chat",next_state:i?"closed":"open"}),n()},"aria-pressed":i,className:Y(wo,i?fd:Vo),children:r.jsx(hp,{size:16})})}),r.jsx(Ge,{side:"bottom",children:"Chat"})]}),e[13]=i,e[14]=s,e[15]=n,e[16]=_):_=e[16];const v=c?"grid-cols-[1fr]":"grid-cols-[0fr]";let x;e[17]!==v?(x=Y("grid transition-[grid-template-columns] duration-200 ease-[var(--ease-out-quart)]",v),e[17]=v,e[18]=x):x=e[18];const b=!c,y=c?0:-1,V=!c,C=c?"translate-x-0 opacity-100":"-translate-x-2 opacity-0";let S;e[19]!==C?(S=Y(wo,Vo,"transition-[transform,opacity] duration-200 ease-[var(--ease-out-quart)] will-change-transform",C),e[19]=C,e[20]=S):S=e[20];let w;e[21]===Symbol.for("react.memo_cache_sentinel")?(w=r.jsx(Ra,{size:16}),e[21]=w):w=e[21];let k;e[22]!==o||e[23]!==b||e[24]!==y||e[25]!==V||e[26]!==S?(k=r.jsx(qe,{asChild:!0,children:r.jsx("button",{type:"button",onClick:o,disabled:b,tabIndex:y,"aria-hidden":V,className:S,children:w})}),e[22]=o,e[23]=b,e[24]=y,e[25]=V,e[26]=S,e[27]=k):k=e[27];let T;e[28]===Symbol.for("react.memo_cache_sentinel")?(T=r.jsx(Ge,{side:"bottom",children:"New task"}),e[28]=T):T=e[28];let M;e[29]!==k?(M=r.jsx("div",{className:"overflow-hidden",children:r.jsxs(Ye,{delayDuration:300,children:[k,T]})}),e[29]=k,e[30]=M):M=e[30];let I;e[31]!==x||e[32]!==M?(I=r.jsx("div",{className:x,children:M}),e[31]=x,e[32]=M,e[33]=I):I=e[33];let E;return e[34]!==I||e[35]!==g||e[36]!==_?(E=r.jsxs(r.Fragment,{children:[g,_,I]}),e[34]=I,e[35]=g,e[36]=_,e[37]=E):E=e[37],E}function p3(t,e,s){if(t.length<=s)return{visible:t,overflow:[]};const i=t.slice(0,s),n=t.slice(s);if(e==null)return{visible:i,overflow:n};if(i.some(h=>h.id===e))return{visible:i,overflow:n};const a=n.findIndex(h=>h.id===e);if(a===-1)return{visible:i,overflow:n};const l=i[i.length-1],c=n[a],d=[...i.slice(0,-1),c],u=[l,...n.slice(0,a),...n.slice(a+1)];return{visible:d,overflow:u}}function g3(t){const e=B.c(13),{title:s,icon:i,active:n,onClick:o}=t,a=n?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground";let l;e[0]!==a?(l=Y("shrink-0 flex items-center gap-1.5 h-8 rounded-md px-2","[transition:background-color_180ms_ease,color_180ms_ease]",a),e[0]=a,e[1]=l):l=e[1];let c;e[2]!==i?(c=r.jsx("span",{className:"flex size-5 items-center justify-center shrink-0",children:r.jsx(_3,{icon:i})}),e[2]=i,e[3]=c):c=e[3];let d;e[4]!==s?(d=r.jsx("span",{className:"whitespace-nowrap text-sm font-medium leading-none",children:s}),e[4]=s,e[5]=d):d=e[5];let u;return e[6]!==n||e[7]!==o||e[8]!==l||e[9]!==c||e[10]!==d||e[11]!==s?(u=r.jsxs("button",{type:"button",onClick:o,"aria-pressed":n,"aria-label":s,className:l,children:[c,d]}),e[6]=n,e[7]=o,e[8]=l,e[9]=c,e[10]=d,e[11]=s,e[12]=u):u=e[12],u}function _3(t){const e=B.c(5),{icon:s}=t;if(s.kind==="component"){const{Component:n}=s;let o;return e[0]!==n?(o=r.jsx(n,{className:"size-4"}),e[0]=n,e[1]=o):o=e[1],o}if(s.kind==="url"){let n;return e[2]!==s.src?(n=r.jsx("img",{src:s.src,alt:"",className:"size-4 rounded-sm object-cover"}),e[2]=s.src,e[3]=n):n=e[3],n}let i;return e[4]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(Gd,{className:"size-4"}),e[4]=i):i=e[4],i}function x3(t){const e=B.c(13),{overflow:s,onSelect:i}=t,[n,o]=j.useState(!1);let a;e[0]!==i?(a=f=>{o(!1),i(f)},e[0]=i,e[1]=a):a=e[1];const l=a;let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx(zs,{asChild:!0,children:r.jsx("button",{type:"button",title:"More tabs","aria-label":"More tabs",className:"shrink-0 flex size-8 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:r.jsx(Wd,{className:"size-4"})})}),e[2]=c):c=e[2];let d;if(e[3]!==l||e[4]!==s){let f;e[6]!==l?(f=m=>r.jsx("li",{children:r.jsxs("button",{type:"button",onClick:()=>l(m.id),className:"w-full flex items-center gap-2 px-3 py-2 rounded-md hover:bg-accent text-sm text-foreground",children:[r.jsx("span",{className:"flex size-5 items-center justify-center shrink-0",children:r.jsx(v3,{icon:m.icon})}),r.jsx("span",{className:"truncate",children:m.title})]})},m.id),e[6]=l,e[7]=f):f=e[7],d=s.map(f),e[3]=l,e[4]=s,e[5]=d}else d=e[5];let u;e[8]!==d?(u=r.jsx(Fs,{align:"end",className:"w-56 p-1",children:r.jsx("ul",{className:"flex flex-col",children:d})}),e[8]=d,e[9]=u):u=e[9];let h;return e[10]!==n||e[11]!==u?(h=r.jsxs(Us,{open:n,onOpenChange:o,children:[c,u]}),e[10]=n,e[11]=u,e[12]=h):h=e[12],h}function v3(t){const e=B.c(5),{icon:s}=t;if(s.kind==="component"){const{Component:n}=s;let o;return e[0]!==n?(o=r.jsx(n,{className:"size-4"}),e[0]=n,e[1]=o):o=e[1],o}if(s.kind==="url"){let n;return e[2]!==s.src?(n=r.jsx("img",{src:s.src,alt:"",className:"size-4 rounded-sm object-cover"}),e[2]=s.src,e[3]=n):n=e[3],n}let i;return e[4]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(Gd,{className:"size-4"}),e[4]=i):i=e[4],i}const b3=6;function y3(t){const e=B.c(20),{virtualMcpId:s,taskId:i}=t,n=Oe();let o;e[0]!==i||e[1]!==s?(o={virtualMcpId:s,taskId:i},e[0]=i,e[1]=s,e[2]=o):o=e[2];const{tabs:a,activeTab:l,mainOpen:c,setActiveTab:d}=Vu(o);let u,h,f,m;if(e[3]!==l||e[4]!==c||e[5]!==n||e[6]!==d||e[7]!==a||e[8]!==s){const _=Mm({activeTab:l,mainOpen:c}),v=C=>C.id==="automations"?_:c&&C.id===l,b=a.find(C=>v(C))?.id??null,{visible:y,overflow:V}=p3(a,b,b3);h=V,u=C=>{const S=a.find(k=>k.id===C),w=b===C&&c;if(re("main_panel_tab_clicked",{virtual_mcp_id:s,tab_id:C,tab_kind:S?.kind??null,was_active:w}),C==="automations"){const k=Dm({activeTab:l,mainOpen:c});n({to:".",search:T=>({...T,main:k}),replace:!0});return}d(C)},f="flex items-center min-w-0 ml-auto gap-0.5",m=y.map(C=>r.jsx(g3,{title:C.title,icon:C.icon,active:v(C),onClick:()=>u(C.id)},C.id)),e[3]=l,e[4]=c,e[5]=n,e[6]=d,e[7]=a,e[8]=s,e[9]=u,e[10]=h,e[11]=f,e[12]=m}else u=e[9],h=e[10],f=e[11],m=e[12];let p;e[13]!==u||e[14]!==h?(p=h.length>0&&r.jsx(x3,{overflow:h,onSelect:u}),e[13]=u,e[14]=h,e[15]=p):p=e[15];let g;return e[16]!==f||e[17]!==m||e[18]!==p?(g=r.jsxs("div",{className:f,children:[m,p]}),e[16]=f,e[17]=m,e[18]=p,e[19]=g):g=e[19],g}function S3(t){const e=B.c(12);let s,i,n,o;e[0]!==t?({className:s,orientation:n,decorative:o,...i}=t,e[0]=t,e[1]=s,e[2]=i,e[3]=n,e[4]=o):(s=e[1],i=e[2],n=e[3],o=e[4]);const a=n===void 0?"horizontal":n,l=o===void 0?!0:o;let c;e[5]!==s?(c=Y("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",s),e[5]=s,e[6]=c):c=e[6];let d;return e[7]!==l||e[8]!==a||e[9]!==i||e[10]!==c?(d=r.jsx(um,{"data-slot":"separator-root",decorative:l,orientation:a,className:c,...i}),e[7]=l,e[8]=a,e[9]=i,e[10]=c,e[11]=d):d=e[11],d}function w3(t){const e=B.c(20),{prNumber:s,disabled:i,send:n}=t;let o;e[0]!==s||e[1]!==n?(o=()=>n($2({prNumber:s})),e[0]=s,e[1]=n,e[2]=o):o=e[2];const a=o;let l;e[3]!==s||e[4]!==n?(l=()=>n(B2({prNumber:s})),e[3]=s,e[4]=n,e[5]=l):l=e[5];const c=l;let d;e[6]!==i||e[7]!==a?(d=r.jsx(oe,{size:"sm",className:"rounded-r-none border-r border-primary-foreground/20",disabled:i,onClick:a,children:"Publish"}),e[6]=i,e[7]=a,e[8]=d):d=e[8];let u;e[9]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(cr,{className:"h-3.5 w-3.5"}),e[9]=u):u=e[9];let h;e[10]!==i?(h=r.jsx(ds,{asChild:!0,children:r.jsx(oe,{size:"sm",className:"rounded-l-none px-2",disabled:i,"aria-label":"More actions",children:u})}),e[10]=i,e[11]=h):h=e[11];let f;e[12]!==c?(f=r.jsx(hs,{align:"end",children:r.jsx(Qe,{onClick:c,children:"Review"})}),e[12]=c,e[13]=f):f=e[13];let m;e[14]!==h||e[15]!==f?(m=r.jsxs(cs,{children:[h,f]}),e[14]=h,e[15]=f,e[16]=m):m=e[16];let p;return e[17]!==d||e[18]!==m?(p=r.jsxs("div",{className:"inline-flex items-stretch rounded-md",children:[d,m]}),e[17]=d,e[18]=m,e[19]=p):p=e[19],p}const V3=new Set(["failure","timed_out","cancelled","action_required"]);function C3(t){return t.status==="completed"&&V3.has(t.conclusion)}function k3(t){return t.status==="queued"||t.status==="in_progress"}function j3(t){const{branchStatus:e,pr:s,checks:i,reviews:n}=t;if(!e)return null;if(e.workingTreeDirty||e.unpushed>0)return{label:"Save changes",action:"commit-and-push"};if(s?.merged)return!!e.headSha&&!!s.headSha&&e.headSha!==s.headSha?{label:"Submit for review",action:"create-pr"}:null;if(e.aheadOfBase>0){if(s&&s.state==="closed"&&!s.merged)return{label:"Reopen",action:"reopen"};if(!s)return{label:"Submit for review",action:"create-pr"};if((n?.mergeableState??"unknown")==="dirty")return{label:`Sync with ${s.base}`,action:"rebase"};const l=i.filter(C3).map(c=>c.name);return l.length>0?{label:"Fix tests",action:"fix-checks",meta:{failingChecks:l}}:i.some(k3)?{label:"Running tests…",disabled:!0}:n?.draft?{label:"Mark ready",action:"mark-ready"}:(n?.unresolvedConversations??0)>0?{label:"Address feedback",action:"resolve-comments"}:n?.missingRequiredApprovals?{label:"Awaiting review",disabled:!0}:{label:"Publish",action:"merge-split"}}return null}function N3(){return Ti().branchStatus}const A3=6e4,E3=3e4;function I3(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Ae(s),n=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==n?(o={method:"get",owner:t.owner,repo:t.repo,pullNumber:n},e[3]=t.owner,e[4]=t.repo,e[5]=n,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:A3,refetchIntervalInBackground:!1,staleTime:E3,select:T3},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ni(l)}function T3(t){const e=Nr(t);if(!e)return null;const s=e.mergeable_state??"unknown",i=!!(e.draft??!1),n=Number(e.review_comments??0),o=s==="blocked"&&n>0?n:0;return{draft:i,mergeableState:s,unresolvedConversations:o,missingRequiredApprovals:s==="blocked"&&o===0}}function R3(t){const e=B.c(38),{virtualMcpId:s}=t,{org:i}=xe(),n=$t(s),{currentBranch:o}=Lt(),a=Cn(),l=n?.metadata?.githubRepo??null,c=N3(),d=l?.connectionId??"",u=l?.owner??"",h=l?.name??"",f=o??null;let m;e[0]!==i.id||e[1]!==d||e[2]!==u||e[3]!==h||e[4]!==f?(m={orgId:i.id,connectionId:d,owner:u,repo:h,branch:f},e[0]=i.id,e[1]=d,e[2]=u,e[3]=h,e[4]=f,e[5]=m):m=e[5];const g=ku(m).data??null,_=l?.connectionId??"",v=l?.owner??"",x=l?.name??"",b=g&&g.state==="open"?g.number:null;let y;e[6]!==i.id||e[7]!==_||e[8]!==v||e[9]!==x||e[10]!==b?(y={orgId:i.id,connectionId:_,owner:v,repo:x,prNumber:b},e[6]=i.id,e[7]=_,e[8]=v,e[9]=x,e[10]=b,e[11]=y):y=e[11];const V=Nu(y),C=l?.connectionId??"",S=l?.owner??"",w=l?.name??"",k=g&&g.state==="open"?g.number:null;let T;e[12]!==i.id||e[13]!==C||e[14]!==S||e[15]!==w||e[16]!==k?(T={orgId:i.id,connectionId:C,owner:S,repo:w,prNumber:k},e[12]=i.id,e[13]=C,e[14]=S,e[15]=w,e[16]=k,e[17]=T):T=e[17];const M=I3(T);if(!l?.connectionId||!o)return null;let I;e[18]!==c||e[19]!==V.data||e[20]!==g||e[21]!==M.data?(I=j3({branchStatus:c,pr:g,checks:V.data??[],reviews:M.data??null}),e[18]=c,e[19]=V.data,e[20]=g,e[21]=M.data,e[22]=I):I=e[22];const E=I;if(!E)return null;let N;e[23]!==a?(N=$=>a.sendMessage({parts:[{type:"text",text:$}]}),e[23]=a,e[24]=N):N=e[24];const A=N,D=a.isStreaming;let L;e[25]!==o||e[26]!==E||e[27]!==D||e[28]!==g||e[29]!==A?(L=$=>{if(!D)switch($){case"commit-and-push":{A(I2({branch:o}));return}case"create-pr":{A(T2({branch:o}));return}case"reopen":{g&&A(R2({prNumber:g.number}));return}case"rebase":{A(M2({branch:o}));return}case"fix-checks":{g&&A(P2({prNumber:g.number,failingChecks:E.meta?.failingChecks??[]}));return}case"mark-ready":{g&&A(L2({prNumber:g.number}));return}case"resolve-comments":{g&&A(O2({prNumber:g.number}));return}case"merge-split":return}},e[25]=o,e[26]=E,e[27]=D,e[28]=g,e[29]=A,e[30]=L):L=e[30];const R=L;let P;e[31]===Symbol.for("react.memo_cache_sentinel")?(P=r.jsx(S3,{orientation:"vertical",className:"mx-2 data-[orientation=vertical]:h-5"}),e[31]=P):P=e[31];const O=g?.number;let z;return e[32]!==E||e[33]!==D||e[34]!==R||e[35]!==A||e[36]!==O?(z=r.jsxs(r.Fragment,{children:[P,r.jsx(M3,{button:E,isStreaming:D,onActivate:R,prNumber:O,send:A})]}),e[32]=E,e[33]=D,e[34]=R,e[35]=A,e[36]=O,e[37]=z):z=e[37],z}function M3(t){const e=B.c(18),{button:s,isStreaming:i}=t,n=!!s.disabled||i,o=i?"Chat is running":null;if(s.action==="merge-split"&&t.prNumber!=null){let u;e[0]!==n||e[1]!==t.prNumber||e[2]!==t.send?(u=r.jsx(w3,{prNumber:t.prNumber,disabled:n,send:t.send}),e[0]=n,e[1]=t.prNumber,e[2]=t.send,e[3]=u):u=e[3];let h;return e[4]!==u||e[5]!==o?(h=r.jsx(md,{label:o,children:u}),e[4]=u,e[5]=o,e[6]=h):h=e[6],h}const a=s.disabled?"outline":"default";let l;e[7]!==s.action||e[8]!==t?(l=()=>t.onActivate(s.action),e[7]=s.action,e[8]=t,e[9]=l):l=e[9];let c;e[10]!==s.label||e[11]!==n||e[12]!==a||e[13]!==l?(c=r.jsx(oe,{size:"sm",variant:a,disabled:n,onClick:l,children:s.label}),e[10]=s.label,e[11]=n,e[12]=a,e[13]=l,e[14]=c):c=e[14];let d;return e[15]!==c||e[16]!==o?(d=r.jsx(md,{label:o,children:c}),e[15]=c,e[16]=o,e[17]=d):d=e[17],d}function md(t){const e=B.c(9),{label:s,children:i}=t;if(!s){let l;return e[0]!==i?(l=r.jsx(r.Fragment,{children:i}),e[0]=i,e[1]=l):l=e[1],l}let n;e[2]!==i?(n=r.jsx(qe,{asChild:!0,children:r.jsx("span",{children:i})}),e[2]=i,e[3]=n):n=e[3];let o;e[4]!==s?(o=r.jsx(Ge,{children:s}),e[4]=s,e[5]=o):o=e[5];let a;return e[6]!==n||e[7]!==o?(a=r.jsx(bi,{children:r.jsxs(Ye,{children:[n,o]})}),e[6]=n,e[7]=o,e[8]=a):a=e[8],a}function D3(t){const e=B.c(2),{virtualMcp:s}=t;if(!!!(s.metadata?.githubRepo??null)?.connectionId)return null;let o;return e[0]!==s.id?(o=r.jsx(Re.Right,{children:r.jsx(R3,{virtualMcpId:s.id})}),e[0]=s.id,e[1]=o):o=e[1],o}const _i=j.createContext(null);function ml(){return j.use(_i)}function pd(t){const e=B.c(8),{children:s,variant:i}=t,{taskId:n}=Lt();let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("div",{className:"flex-1 flex items-center justify-center text-sm text-muted-foreground",children:"Something went wrong loading the chat. Try refreshing."}),e[0]=o):o=e[0];let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=r.jsx(Ee.Skeleton,{}),e[1]=a):a=e[1];let l;e[2]!==s||e[3]!==i?(l=s??r.jsx(eu,{variant:i}),e[2]=s,e[3]=i,e[4]=l):l=e[4];let c;return e[5]!==l||e[6]!==n?(c=r.jsx(ls,{fallback:o,children:r.jsx(j.Suspense,{fallback:a,children:r.jsx(Ee.ActiveTaskProvider,{taskId:n,children:l})})}),e[5]=l,e[6]=n,e[7]=c):c=e[7],c}function gd(t){const e=B.c(3),{onNewTaskRef:s,createNewTask:i}=t;let n;return e[0]!==i||e[1]!==s?(n=()=>(s.current=i,()=>{s.current=null}),e[0]=i,e[1]=s,e[2]=n):n=e[2],j.useLayoutEffect(n),null}function P3(t){const e=B.c(3),{onOpenSidebar:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(pp,{size:20}),e[0]=i):i=e[0];let n;return e[1]!==s?(n=r.jsx("div",{className:"shrink-0 flex items-center justify-between px-3 h-12 bg-background border-b border-border",children:r.jsx("button",{type:"button",onClick:s,className:"flex size-8 items-center justify-center rounded-md text-foreground/60 hover:bg-accent hover:text-foreground transition-colors","aria-label":"Open menu",children:i})}),e[1]=s,e[2]=n):n=e[2],n}function _d(t){const e=B.c(16),{virtualMcpId:s,hasActiveGithubRepo:i,vmMap:n,children:o}=t,{org:a}=xe(),{currentBranch:l}=Lt(),{data:c}=dt.useSession(),d=c?.user?.id,u=d&&l?n?.[d]?.[l]??null:null;let h;e[0]!==u?(h=u?.previewUrl?u.previewUrl.replace(/\/$/,""):null,e[0]=u,e[1]=h):h=e[1];const f=h;let m;e[2]!==a.id?(m={connectionId:yt,orgId:a.id},e[2]=a.id,e[3]=m):m=e[3];const p=Ae(m),{mutate:g}=el(p);let _;e[4]===Symbol.for("react.memo_cache_sentinel")?(_=new Set,e[4]=_):_=e[4];const v=j.useRef(_);let x,b;e[5]!==l||e[6]!==i||e[7]!==g||e[8]!==d||e[9]!==s||e[10]!==n?(x=()=>{i&&d&&l&&(n?.[d]?.[l]||v.current.has(l)||(v.current.add(l),g({virtualMcpId:s,branch:l},{onError:L3})))},b=[i,d,l,n,s,g],e[5]=l,e[6]=i,e[7]=g,e[8]=d,e[9]=s,e[10]=n,e[11]=x,e[12]=b):(x=e[11],b=e[12]),j.useEffect(x,b);let y;return e[13]!==o||e[14]!==f?(y=r.jsx(uS,{daemonBaseUrl:f,children:o}),e[13]=o,e[14]=f,e[15]=y):y=e[15],y}function L3(t){console.error("[auto-start-vm] failed:",t)}function xd(){const t=B.c(106),e=ms(),s=Oe(),{org:i}=xe(),n=fy()?.tasksOpen??!1;wg(i.id);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o={strict:!1},t[0]=o):o=t[0];const a=_r(o),l=a.org??"";let c;t[1]===Symbol.for("react.memo_cache_sentinel")?(c={strict:!1},t[1]=c):c=t[1];const d=ti(c);let u;t[2]!==i.id||t[3]!==d.virtualmcpid?(u=d.virtualmcpid??En(i.id).id,t[2]=i.id,t[3]=d.virtualmcpid,t[4]=u):u=t[4];const h=u;let f;t[5]!==i.id?(f=Aa(i.id),t[5]=i.id,t[6]=f):f=t[6];const m=h===f,p=!m,g=Lg(a.taskId??"",h),_=$t(h),v=_?.metadata?.ui?.layout??null;let x;t[7]!==v?(x=v?{defaultMainView:v.defaultMainView??null,chatDefaultOpen:v.chatDefaultOpen??null}:null,t[7]=v,t[8]=x):x=t[8];const b=x;let y;t[9]!==_?(y=_&&bs(_),t[9]=_,t[10]=y):y=t[10];const V=!!y;let C;t[11]!==p||t[12]!==l||t[13]!==h?(C={virtualMcpId:h,orgSlug:l,isAgentRoute:p},t[11]=p,t[12]=l,t[13]=h,t[14]=C):C=t[14];const S=dy(b,C),{setOpenMobile:w,openMobile:k}=Cr(),T=w,M=j.useRef(null);let I,E;t[15]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{const K=G=>{Md(G)&&G.shiftKey&&G.code==="KeyS"&&!G.repeat&&(G.preventDefault(),M.current?.())};return document.addEventListener("keydown",K),()=>document.removeEventListener("keydown",K)},E=[],t[15]=I,t[16]=E):(I=t[15],E=t[16]),j.useEffect(I,E);const N=h;let A;t[17]!==_||t[18]!==h?(A={virtualMcpId:h,entity:_},t[17]=_,t[18]=h,t[19]=A):A=t[19];const D=A;if(g.status==="creating"||g.status==="loading"){let K;t[20]===Symbol.for("react.memo_cache_sentinel")?(K=r.jsx("div",{className:"flex-1 min-h-0 pr-1.5 pb-1.5 overflow-hidden",children:r.jsxs("div",{className:"flex h-full items-center justify-center bg-background card-shadow rounded-[0.75rem] text-sm text-muted-foreground",children:[r.jsx(Ne,{className:"size-4 animate-spin mr-2"}),"Creating task…"]})}),t[20]=K):K=t[20];let G;return t[21]!==D?(G=r.jsx(_i,{value:D,children:K}),t[21]=D,t[22]=G):G=t[22],G}if(g.status==="error"){let K;t[23]===Symbol.for("react.memo_cache_sentinel")?(K=r.jsx("div",{className:"font-medium",children:"Task unavailable"}),t[23]=K):K=t[23];let G;t[24]!==g.error.message?(G=r.jsx("div",{className:"flex-1 min-h-0 pr-1.5 pb-1.5 overflow-hidden",children:r.jsxs("div",{className:"flex flex-col h-full items-center justify-center gap-2 bg-background card-shadow rounded-[0.75rem] p-8 text-sm",children:[K,r.jsx("div",{className:"text-muted-foreground",children:g.error.message})]})}),t[24]=g.error.message,t[25]=G):G=t[25];let ie;return t[26]!==D||t[27]!==G?(ie=r.jsx(_i,{value:D,children:G}),t[26]=D,t[27]=G,t[28]=ie):ie=t[28],ie}if(!_){let K;t[29]===Symbol.for("react.memo_cache_sentinel")?(K=r.jsx(Bs,{size:48,className:"text-muted-foreground"}),t[29]=K):K=t[29];const G=`The agent "${h}" does not exist in this organization.`;let ie;t[30]!==s||t[31]!==l?(ie=r.jsx(oe,{variant:"outline",onClick:()=>s({to:"/$org",params:{org:l}}),children:"Go to organization home"}),t[30]=s,t[31]=l,t[32]=ie):ie=t[32];let te;t[33]!==G||t[34]!==ie?(te=r.jsx("div",{className:"flex-1 min-h-0 pr-1.5 pb-1.5 overflow-hidden",children:r.jsx("div",{className:"flex flex-col h-full bg-background overflow-hidden card-shadow rounded-[0.75rem]",children:r.jsx(Vi,{image:K,title:"Agent not found",description:G,actions:ie})})}),t[33]=G,t[34]=ie,t[35]=te):te=t[35];let J;return t[36]!==D||t[37]!==te?(J=r.jsx(_i,{value:D,children:te}),t[36]=D,t[37]=te,t[38]=J):J=t[38],J}if(e){let K;t[39]===Symbol.for("react.memo_cache_sentinel")?(K=r.jsx(rg,{className:"sr-only",children:"Navigation"}),t[39]=K):K=t[39];let G;t[40]!==T?(G=r.jsx("div",{className:"w-14 shrink-0 bg-sidebar flex flex-col items-center border-r border-border overflow-y-auto group/sidebar","data-state":"collapsed",children:r.jsx(iy,{onClose:()=>T(!1)})}),t[40]=T,t[41]=G):G=t[41];let ie;t[42]===Symbol.for("react.memo_cache_sentinel")?(ie=r.jsx("div",{className:"flex-1 min-w-0 overflow-hidden",children:r.jsx(iu,{})}),t[42]=ie):ie=t[42];let te;t[43]!==G?(te=r.jsxs(ng,{side:"left",hideCloseButton:!0,className:"w-[calc(100vw-3rem)] sm:max-w-md! p-0",children:[K,r.jsxs("div",{className:"flex h-full",children:[G,ie]})]}),t[43]=G,t[44]=te):te=t[44];let J;t[45]!==k||t[46]!==T||t[47]!==te?(J=r.jsx(og,{open:k,onOpenChange:T,children:te}),t[45]=k,t[46]=T,t[47]=te,t[48]=J):J=t[48];const ae=J,Z=_?.metadata?.vmMap;let de;t[49]!==S.createNewTask?(de=r.jsx(gd,{onNewTaskRef:M,createNewTask:S.createNewTask}),t[49]=S.createNewTask,t[50]=de):de=t[50];let fe;t[51]!==T?(fe=r.jsx(P3,{onOpenSidebar:()=>T(!0)}),t[51]=T,t[52]=fe):fe=t[52];const ye=m?"home":void 0;let ge;t[53]!==ye?(ge=r.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:r.jsx(pd,{variant:ye})}),t[53]=ye,t[54]=ge):ge=t[54];let ce;t[55]!==V||t[56]!==ae||t[57]!==Z||t[58]!==de||t[59]!==fe||t[60]!==ge||t[61]!==h?(ce=r.jsxs(_d,{virtualMcpId:h,hasActiveGithubRepo:V,vmMap:Z,children:[de,fe,ge,ae]}),t[55]=V,t[56]=ae,t[57]=Z,t[58]=de,t[59]=fe,t[60]=ge,t[61]=h,t[62]=ce):ce=t[62];let ue;t[63]!==N||t[64]!==ce?(ue=r.jsx("div",{className:"flex flex-col flex-1 bg-background min-h-0",children:r.jsx(Ee.Provider,{virtualMcpId:N,children:ce},N)}),t[63]=N,t[64]=ce,t[65]=ue):ue=t[65];let be;return t[66]!==D||t[67]!==ue?(be=r.jsx(_i,{value:D,children:ue}),t[66]=D,t[67]=ue,t[68]=be):be=t[68],be}const L=n?void 0:S.createNewTask;let R;t[69]!==m||t[70]!==S.chatOpen||t[71]!==S.toggleChat||t[72]!==L?(R=r.jsx(Re.Toggles,{children:r.jsx(m3,{isDecopilot:m,chatOpen:S.chatOpen,toggleChat:S.toggleChat,onNewTask:L})}),t[69]=m,t[70]=S.chatOpen,t[71]=S.toggleChat,t[72]=L,t[73]=R):R=t[73];let P;t[74]!==m||t[75]!==S.taskId||t[76]!==h?(P=!m&&r.jsx(Re.Tabs,{children:r.jsx(y3,{virtualMcpId:h,taskId:S.taskId})}),t[74]=m,t[75]=S.taskId,t[76]=h,t[77]=P):P=t[77];const O=_?.metadata?.vmMap;let z;t[78]!==_||t[79]!==m?(z=!m&&r.jsx(D3,{virtualMcp:_}),t[78]=_,t[79]=m,t[80]=z):z=t[80];let $;t[81]!==S.createNewTask?($=r.jsx(gd,{onNewTaskRef:M,createNewTask:S.createNewTask}),t[81]=S.createNewTask,t[82]=$):$=t[82];const q=m?"home":void 0;let F;t[83]!==q?(F=r.jsx(pd,{variant:q}),t[83]=q,t[84]=F):F=t[84];let W;t[85]!==S.chatOpen||t[86]!==S.mainOpen||t[87]!==S.taskId||t[88]!==F||t[89]!==h?(W=r.jsx(f3,{virtualMcpId:h,taskId:S.taskId,chatOpen:S.chatOpen,mainOpen:S.mainOpen,chatContent:F}),t[85]=S.chatOpen,t[86]=S.mainOpen,t[87]=S.taskId,t[88]=F,t[89]=h,t[90]=W):W=t[90];let H;t[91]!==V||t[92]!==O||t[93]!==z||t[94]!==$||t[95]!==W||t[96]!==h?(H=r.jsxs(_d,{virtualMcpId:h,hasActiveGithubRepo:V,vmMap:O,children:[z,$,W]}),t[91]=V,t[92]=O,t[93]=z,t[94]=$,t[95]=W,t[96]=h,t[97]=H):H=t[97];let U;t[98]!==N||t[99]!==P||t[100]!==H?(U=r.jsxs(Ee.Provider,{virtualMcpId:N,children:[P,H]},N),t[98]=N,t[99]=P,t[100]=H,t[101]=U):U=t[101];let X;return t[102]!==D||t[103]!==R||t[104]!==U?(X=r.jsxs(_i,{value:D,children:[R,U]}),t[102]=D,t[103]=R,t[104]=U,t[105]=X):X=t[105],X}function Oj(){const t=B.c(5),e=ms();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={"--sidebar-width-icon":"3.5rem"},t[0]=s):s=t[0];let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(sy,{}),t[1]=i):i=t[1];let n;t[2]===Symbol.for("react.memo_cache_sentinel")?(n={background:"transparent",containerType:"inline-size"},t[2]=n):n=t[2];let o;return t[3]!==e?(o=r.jsx(tg,{defaultOpen:!1,children:r.jsx("div",{className:"flex flex-col h-dvh overflow-hidden",children:r.jsxs(sg,{className:"flex-1 bg-sidebar",style:s,children:[i,r.jsx(ig,{className:"flex flex-col",style:n,children:e?r.jsx(j.Suspense,{fallback:r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),children:r.jsx(xd,{})}):r.jsx(j.Suspense,{fallback:r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),children:r.jsx(hy,{children:r.jsxs(Re,{children:[r.jsxs(Re.Header,{children:[r.jsxs(Re.LeftColumn,{children:[r.jsx(Re.Nav,{}),r.jsx(Re.TogglesSlot,{})]}),r.jsx(Re.CenterSlot,{}),r.jsxs(Re.RightColumn,{children:[r.jsx(Re.TabsSlot,{}),r.jsx(Re.RightSlot,{})]})]}),r.jsxs("div",{className:"flex-1 min-h-0 flex flex-row",children:[r.jsx(Ey,{}),r.jsx("div",{className:"flex-1 min-w-0 flex flex-col",children:r.jsx(j.Suspense,{fallback:r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(Ne,{size:20,className:"animate-spin text-muted-foreground"})}),children:r.jsx(xd,{})})})]})]})})})})]})})}),t[3]=e,t[4]=o):o=t[4],o}export{Oj as default,ml as useInsetContext};
|