decocms 4.19.0 → 4.20.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-DqWzXDUR.js → AlertCircle-fvueL_xF.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-B4zChy7e.js → ArrowUpRight-B8e_kS_o.js} +1 -1
- package/dist/client/assets/{CheckCircle-NrwNIgHK.js → CheckCircle-BuLolNoz.js} +1 -1
- package/dist/client/assets/{ChevronDown-_pPSgRSR.js → ChevronDown-BVhPkusr.js} +1 -1
- package/dist/client/assets/{ChevronRight-IN_BxWua.js → ChevronRight-DWJre8x6.js} +1 -1
- package/dist/client/assets/{ChevronUp-CQKegx6l.js → ChevronUp-BQEvRgGj.js} +1 -1
- package/dist/client/assets/{DotsVertical-CEXmp4oq.js → DotsVertical-CizsKw_f.js} +1 -1
- package/dist/client/assets/{Eye-kkkoDRYl.js → Eye-Bs5kJbQj.js} +1 -1
- package/dist/client/assets/{FilterLines-C_rJjK1a.js → FilterLines-DkyirgNq.js} +1 -1
- package/dist/client/assets/{Globe01-CEqJW_21.js → Globe01-1Duj5nc9.js} +1 -1
- package/dist/client/assets/{Globe04-Dax549LN.js → Globe04-B_PFHoFA.js} +1 -1
- package/dist/client/assets/{HardDrive-DaD3GK-3.js → HardDrive-yFfC5xm0.js} +1 -1
- package/dist/client/assets/{Key01-C3dxJi0P.js → Key01-yELEs55d.js} +1 -1
- package/dist/client/assets/{LayoutLeft-Db7_kcOn.js → LayoutLeft-B8v8VnhF.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Kkv2Ef0P.js → LinkExternal01-BeBfH4UH.js} +1 -1
- package/dist/client/assets/{Monitor01-jndNo0GY.js → Monitor01-I5w2u5cl.js} +1 -1
- package/dist/client/assets/{Palette-Dd3HcFjj.js → Palette-2k0LGtWY.js} +1 -1
- package/dist/client/assets/{Play-CgVBDy0W.js → Play-DBtiZA8s.js} +1 -1
- package/dist/client/assets/{Plus-DhtEZZJk.js → Plus-PibSsVpf.js} +1 -1
- package/dist/client/assets/{SearchLg-n9_4xvk9.js → SearchLg-BRTezKss.js} +1 -1
- package/dist/client/assets/{SearchMd-BFU297sk.js → SearchMd-BTNnGyy3.js} +1 -1
- package/dist/client/assets/{Settings02-Jqzd_Apx.js → Settings02-CY97oanA.js} +1 -1
- package/dist/client/assets/{Shield01-IsI9HFUg.js → Shield01-BoUN_OZ6.js} +1 -1
- package/dist/client/assets/{Star01-0x7lq8nt.js → Star01-BZduijjB.js} +1 -1
- package/dist/client/assets/{Stars01-Dik_zqIV.js → Stars01-Bu0HCLHG.js} +1 -1
- package/dist/client/assets/{Stars02-CBTp9xAc.js → Stars02-6klFcI-2.js} +1 -1
- package/dist/client/assets/{Sun-C2LO610R.js → Sun-DUxMw-A7.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-CE1-3OyF.js → SwitchHorizontal01-B6UmJSYs.js} +1 -1
- package/dist/client/assets/{Tool01-C-ZblGMW.js → Tool01-BFAevrF8.js} +1 -1
- package/dist/client/assets/{Trash01-B7X1NSHS.js → Trash01-D0QRAqOQ.js} +1 -1
- package/dist/client/assets/{Upload01-D2ad940u.js → Upload01-EuHXdv3V.js} +1 -1
- package/dist/client/assets/{User01-C2nHawg3.js → User01-D9eWwQIs.js} +1 -1
- package/dist/client/assets/{Users01-DzLGVfMb.js → Users01-BUauqBZ_.js} +1 -1
- package/dist/client/assets/{Users03-CRUY_vEX.js → Users03-2JfQbsor.js} +1 -1
- package/dist/client/assets/{X-Cz1vP6U2.js → X-EWTzHhAB.js} +1 -1
- package/dist/client/assets/{XCircle-B_a4NCnT.js → XCircle-CMWDGWoe.js} +1 -1
- package/dist/client/assets/{XClose-DX6qelPQ.js → XClose-C70SByPL.js} +1 -1
- package/dist/client/assets/{Zap-Bv8k1Wjv.js → Zap-DmRAdzHA.js} +1 -1
- package/dist/client/assets/{ZapSquare-BzXuDiSC.js → ZapSquare-m8-tAjqY.js} +1 -1
- package/dist/client/assets/{ZoomOut-DojgF8wZ.js → ZoomOut-DuR5hATb.js} +1 -1
- package/dist/client/assets/{access-gate-PtDEBNlP.js → access-gate-ChyViNer.js} +1 -1
- package/dist/client/assets/{add-section-modal-DCUTjbOf.js → add-section-modal-DcsSdNbI.js} +1 -1
- package/dist/client/assets/agent-capabilities-CkTBI47V.js +1 -0
- package/dist/client/assets/{agent-icon-B5-0f-JN.js → agent-icon-Ccnm2Z0l.js} +1 -1
- package/dist/client/assets/{agents-list-TkdnK28r.js → agents-list-D0Q_shBE.js} +1 -1
- package/dist/client/assets/{ai-providers-DygNA8cc.js → ai-providers-hZ3nXBVp.js} +1 -1
- package/dist/client/assets/{alert-C6BZnq0L.js → alert-Bmu4uI4E.js} +1 -1
- package/dist/client/assets/{alert-dialog-2j8p9c6M.js → alert-dialog-DKYTVxoF.js} +1 -1
- package/dist/client/assets/app-editor-fkZD1psx.js +1 -0
- package/dist/client/assets/{auth-C61sP0gz.js → auth-C57-53QJ.js} +1 -1
- package/dist/client/assets/{auth-catchall-Dt0f1BH0.js → auth-catchall-BVQ8GPnj.js} +1 -1
- package/dist/client/assets/{auth-entry-aOa1qH8U.js → auth-entry-WJnHhFOb.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CbJYBzn3.js → auth-split-layout-BFacVy-k.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-CBM8XaQl.js → authenticate-and-persist-oauth-BbxvPh9z.js} +1 -1
- package/dist/client/assets/{automation-list-row-DuXb8PGF.js → automation-list-row-Cc5bWN7g.js} +1 -1
- package/dist/client/assets/{automation-runs-Z1WsaYCj.js → automation-runs-DuN_PRlY.js} +1 -1
- package/dist/client/assets/{automations-4681koMf.js → automations-DCF7YXMN.js} +1 -1
- package/dist/client/assets/{avatar-Pl9aKL8h.js → avatar-BGR3mJWX.js} +1 -1
- package/dist/client/assets/{badge-Jr15fHY9.js → badge-CNzuslYc.js} +1 -1
- package/dist/client/assets/{block-document-BGZhcqak.js → block-document-Rs_-uqbx.js} +1 -1
- package/dist/client/assets/{brand-context-CrI1ZP52.js → brand-context-n3bkkIxn.js} +1 -1
- package/dist/client/assets/{breadcrumb-kNzyi-JO.js → breadcrumb-F3ceHoA_.js} +1 -1
- package/dist/client/assets/{buckets-QoHB0YxZ.js → buckets-CzK9FfCk.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-CCYOorjR.js → bulk-category-panel-BOlV-PNB.js} +1 -1
- package/dist/client/assets/{capability-load-error-C6KyAzzd.js → capability-load-error-BaU1mfmp.js} +1 -1
- package/dist/client/assets/{card-BnEXyuL4.js → card-uar-Llj6.js} +1 -1
- package/dist/client/assets/{category-editor-DC29cCQ-.js → category-editor-CyjkVV-t.js} +1 -1
- package/dist/client/assets/{chat-context-NN3m2t6z.js → chat-context-B_GYpd-x.js} +1 -1
- package/dist/client/assets/{checkbox-sE4LKrmm.js → checkbox-Cg59Apn_.js} +1 -1
- package/dist/client/assets/{cli-auth-success-C6i1lgCe.js → cli-auth-success-CV8Pj6nQ.js} +1 -1
- package/dist/client/assets/{collection-detail-DWUhhSHA.js → collection-detail-CF0aFOQI.js} +1 -1
- package/dist/client/assets/{collection-display-button-rZ5k1h-t.js → collection-display-button-D7jPH2Sp.js} +1 -1
- package/dist/client/assets/{collection-search-Co1M3K46.js → collection-search-DNMU9xiK.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-NGTVTiBL.js → collection-table-wrapper-Bs64o1w1.js} +1 -1
- package/dist/client/assets/{collection-tabs-C3IP9t9r.js → collection-tabs-HTuG7m53.js} +1 -1
- package/dist/client/assets/{command-DpfxIz21.js → command-CKwwwdwL.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-BTCQo56v.js → commerce-onboarding-D8R4jMaG.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-k5X3zcX6.js → connect-desktop-dialog-B1Uehm8B.js} +1 -1
- package/dist/client/assets/{connection-card-BHHY6mXw.js → connection-card-ONV47foE.js} +1 -1
- package/dist/client/assets/{connection-detail-DC7p6Wma.js → connection-detail-Cahx3A1M.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-DyI3VX2f.js → connection-form-helpers-D0x_dljo.js} +1 -1
- package/dist/client/assets/{connections-DZokqAex.js → connections-DK_BYS2j.js} +1 -1
- package/dist/client/assets/{decopilot-2KtBn2SF.js → decopilot-CD0oVGNq.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-CSDJAG4Z.js → decopilot-sse-pool-BffyZvt0.js} +1 -1
- package/dist/client/assets/{dialog-f6FDqur-.js → dialog-Bn-SsN7r.js} +1 -1
- package/dist/client/assets/{domain-settings-DDNFmyje.js → domain-settings-DS5rL2Da.js} +1 -1
- package/dist/client/assets/{drawer-BqZy3pnI.js → drawer-Dl8ZduZ1.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CW-W6SxE.js → dropdown-menu-6y2uMgMG.js} +1 -1
- package/dist/client/assets/{empty-state-ClGS_X4B.js → empty-state-BTvy620M.js} +1 -1
- package/dist/client/assets/{extract-connection-data-WzBn60Vi.js → extract-connection-data-BjKYuwWP.js} +1 -1
- package/dist/client/assets/file-explorer-E8quHWZ_.js +2 -0
- package/dist/client/assets/{file-type-icon-CFvwmOVW.js → file-type-icon-CE2B9xOu.js} +1 -1
- package/dist/client/assets/{files-DxM65yuu.js → files-B2DjojBx.js} +1 -1
- package/dist/client/assets/{form-DXYr28uO.js → form-idiAJ3cQ.js} +1 -1
- package/dist/client/assets/{general-CBbSN7Qj.js → general-romn3an0.js} +1 -1
- package/dist/client/assets/{github-repo-picker-CI8T39Kp.js → github-repo-picker-DW4v1O0K.js} +1 -1
- package/dist/client/assets/{hooks-DnS8g0Dd.js → hooks-DnMUYEJm.js} +1 -1
- package/dist/client/assets/{index-B6OueM36.js → index-2ClMIr_f.js} +1 -1
- package/dist/client/assets/index-B1I1Oi0g.css +1 -0
- package/dist/client/assets/{index-CYMcVHWw.js → index-BKl9EaBX.js} +3 -3
- package/dist/client/assets/{index-D9ZKkElD.js → index-BnRPTHOV.js} +2 -2
- package/dist/client/assets/{index-xZRfgSTb.js → index-C1Yz9IVw.js} +1 -1
- package/dist/client/assets/{index-CnZ1aBOu.js → index-CAJbosoK.js} +1 -1
- package/dist/client/assets/{index-B7Cla0Rs.js → index-CwF0iCh9.js} +1 -1
- package/dist/client/assets/{index-CvLQpPTF.js → index-Czx85elG.js} +1 -1
- package/dist/client/assets/index-DVGV6Z39.js +513 -0
- package/dist/client/assets/{index-DUDe2tGa.js → index-D_qKXidH.js} +1 -1
- package/dist/client/assets/index-DtiYz6rd.js +1 -0
- package/dist/client/assets/{index-CdPCdjUw.js → index-Dwo8qrSo.js} +1 -1
- package/dist/client/assets/{index-CMqN1SXf.js → index-cUCo7bOt.js} +1 -1
- package/dist/client/assets/{index-DALInuWN.js → index-o2f1Qtp0.js} +1 -1
- package/dist/client/assets/{index-redirect-zhJc7dp0.js → index-redirect-D0TsDJ0J.js} +1 -1
- package/dist/client/assets/{input-DwWemHJ1.js → input-BOAhqJfl.js} +1 -1
- package/dist/client/assets/{integration-icon-E5mS2SlS.js → integration-icon-De8oIkAM.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-CpAn99B_.js → invite-member-dialog-DcCkNb6R.js} +1 -1
- package/dist/client/assets/{label-DdUk4u0o.js → label-M7D3mHbo.js} +1 -1
- package/dist/client/assets/library-tab-BcGl3LL0.js +7 -0
- package/dist/client/assets/{login-17IwQKac.js → login-B-lg9zHi.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Cnegkj2M.js → mcp-oauth-Bqh2iXyU.js} +1 -1
- package/dist/client/assets/{members-DIkYZd7w.js → members-Cn3yJYEX.js} +1 -1
- package/dist/client/assets/{monaco-editor-ikjIQEAV.js → monaco-editor-Dt-aMMVv.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-BWwjCNJz.js → monitoring-stats-row-DBPwRip-.js} +1 -1
- package/dist/client/assets/{oauth-callback-70fNx-6T.js → oauth-callback-DfQUfAPE.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-BC3Y5MrS.js → oauth-callback-ai-provider-DHQn7UxH.js} +1 -1
- package/dist/client/assets/{onboarding-CE7EqSXC.js → onboarding-gVSii3nG.js} +1 -1
- package/dist/client/assets/{org-install-uPhTVYkw.js → org-install-DBIkIw4n.js} +1 -1
- package/dist/client/assets/{org-layout-CKnxnGZd.js → org-layout-_amBV8qk.js} +1 -1
- package/dist/client/assets/{organization-choice-CsVCjejS.js → organization-choice-C65_8mn-.js} +1 -1
- package/dist/client/assets/{page-seo-form-Dg1KQ3g_.js → page-seo-form-DF10hR6Z.js} +1 -1
- package/dist/client/assets/page-seo-sheet-CAWUwbED.js +1 -0
- package/dist/client/assets/{popover-2-GkjBJ0.js → popover-CXVI9zcY.js} +1 -1
- package/dist/client/assets/{post-editor-C3t0TOWW.js → post-editor-CmP4kwPp.js} +1 -1
- package/dist/client/assets/{primitives-DOE7kIfs.js → primitives-CXKpY77J.js} +1 -1
- package/dist/client/assets/{profile-CcgH3XCC.js → profile-BKgW7-eE.js} +1 -1
- package/dist/client/assets/project-app-view-B4d3nv0r.js +1 -0
- package/dist/client/assets/record-editor-BtCsIEuv.js +1 -0
- package/dist/client/assets/registry-CKIr4RjN.js +2 -0
- package/dist/client/assets/{registry-layout-C7ZryEtY.js → registry-layout-CjFD6LVz.js} +1 -1
- package/dist/client/assets/{require-capability-BPGxAg3y.js → require-capability-BfQmAGBA.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DXgc1Ltu.js → required-auth-layout-DItbqeb4.js} +1 -1
- package/dist/client/assets/{reset-password-CcYxIdFP.js → reset-password-I6F4qQIK.js} +1 -1
- package/dist/client/assets/{roles-wZ72NHQa.js → roles-DbR6jIl5.js} +1 -1
- package/dist/client/assets/{scroll-area-CMa-aD4N.js → scroll-area-B04opuPz.js} +1 -1
- package/dist/client/assets/{search-input-Dj0HkQZt.js → search-input-Cm1y4rxU.js} +1 -1
- package/dist/client/assets/{secrets-DqING2II.js → secrets-DAl_Wdxf.js} +1 -1
- package/dist/client/assets/{sections-editor-D0LpkmFh.js → sections-editor-DW7wEDL4.js} +1 -1
- package/dist/client/assets/{select-C2StEpwh.js → select-Cwfs7iaB.js} +1 -1
- package/dist/client/assets/{select-model-eY_CT1Qg.js → select-model-C_jz2BLZ.js} +1 -1
- package/dist/client/assets/{seo-editor-BAM3rMJv.js → seo-editor-bTH7AI1_.js} +1 -1
- package/dist/client/assets/{settings-layout-CPLfG6gj.js → settings-layout-B4_cfywb.js} +1 -1
- package/dist/client/assets/{settings-section-BmlRdNTz.js → settings-section-B6QUzH-0.js} +1 -1
- package/dist/client/assets/{sheet-CgzMKh0f.js → sheet-CU9kLnB6.js} +1 -1
- package/dist/client/assets/{shell-controls-CANTX0eb.js → shell-controls-Duj4feK-.js} +1 -1
- package/dist/client/assets/{shell-layout-CIXVHe2F.js → shell-layout-DUO_iA4i.js} +1 -1
- package/dist/client/assets/{sidebar-BQuqWYGQ.js → sidebar-BrFBmcgg.js} +1 -1
- package/dist/client/assets/{skeleton-BF3iQVVp.js → skeleton-C4BeMI87.js} +1 -1
- package/dist/client/assets/{sso-BI7A24Cz.js → sso-DTQut84V.js} +1 -1
- package/dist/client/assets/{store-CySLA0vQ.js → store-FdYKISpn.js} +1 -1
- package/dist/client/assets/store-registry-BLt82Ml-.js +2 -0
- package/dist/client/assets/{studio-tools-BqQ-Smve.js → studio-tools-CSRFF36j.js} +1 -1
- package/dist/client/assets/{switch-KtkMcjzw.js → switch-B-7u58O2.js} +1 -1
- package/dist/client/assets/tab-id-CLpu897Q.js +1 -0
- package/dist/client/assets/{table-tjxHRzFS.js → table-DuYXo-3u.js} +1 -1
- package/dist/client/assets/{tabs-CEIlnIej.js → tabs-C4g2MzIZ.js} +1 -1
- package/dist/client/assets/{task-row-BkZVc0Tr.js → task-row-wmR0M6xG.js} +1 -1
- package/dist/client/assets/{task-status-B1zEZqAO.js → task-status-DrPYL0wv.js} +1 -1
- package/dist/client/assets/{textarea-lc685IWg.js → textarea-0R2PUdzR.js} +1 -1
- package/dist/client/assets/{toggle-group-BYEsD9DI.js → toggle-group-C6LCxibS.js} +1 -1
- package/dist/client/assets/{toolbar-BR6wg8B-.js → toolbar-NzP3bIos.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-Xl4ohERV.js → toolbar-icon-button-DP-ERd9P.js} +1 -1
- package/dist/client/assets/{tools-list-DbpSLLRM.js → tools-list-Bh4EyiYf.js} +1 -1
- package/dist/client/assets/{tooltip-McXLWTPz.js → tooltip--S3w6lli.js} +1 -1
- package/dist/client/assets/{types-BOhW2BE0.js → types-BBgTtKoT.js} +1 -1
- package/dist/client/assets/{use-ai-providers-B5HMF84U.js → use-ai-providers-3hRiq9_3.js} +1 -1
- package/dist/client/assets/{use-automations-BOjQm1nK.js → use-automations-Djl_cGl_.js} +1 -1
- package/dist/client/assets/{use-capability-B9ec6oA8.js → use-capability-CwOpVM9e.js} +1 -1
- package/dist/client/assets/{use-clock-tick-uMJM3oVw.js → use-clock-tick-CkDkvL_z.js} +1 -1
- package/dist/client/assets/{use-collections-CHWIIHiV.js → use-collections-BJeRHXQ8.js} +1 -1
- package/dist/client/assets/{use-connection-DLKQF7-d.js → use-connection-J4P7z5LH.js} +1 -1
- package/dist/client/assets/{use-copy-ChjuO6_W.js → use-copy-Bop0FG2T.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-v5u-DGb9.js → use-create-virtual-mcp-B1FMXx2o.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-BOTrmpJV.js → use-debounced-autosave-DUoyIh6J.js} +1 -1
- package/dist/client/assets/{use-debounced-value-BanthsaI.js → use-debounced-value-CyR2-wj_.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-DvCiaHsi.js → use-decopilot-events-HaKMG4Bv.js} +1 -1
- package/dist/client/assets/{use-delete-connection-xsPEpzXk.js → use-delete-connection-62qkg1sQ.js} +1 -1
- package/dist/client/assets/{use-file-configs-DK5EcF0h.js → use-file-configs-D0sQJaoO.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-B7V1qqUY.js → use-infinite-scroll-CA7I5BYA.js} +1 -1
- package/dist/client/assets/{use-join-requests-DicqewBD.js → use-join-requests-BDixGjz3.js} +1 -1
- package/dist/client/assets/{use-mcp-client-BziAkYj-.js → use-mcp-client-BCHJCFx3.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-C_XRVyjB.js → use-mcp-prompts-CJSX4NOe.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-QBgVd6YA.js → use-mcp-tools-B35odQSn.js} +1 -1
- package/dist/client/assets/{use-members-BgQRcESa.js → use-members-CXuC_SPQ.js} +1 -1
- package/dist/client/assets/{use-mobile-97pXY1F0.js → use-mobile-DU6KNVMW.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CSxxwjpJ.js → use-navigate-to-agent-S-0TjswQ.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-BU8kOWFN.js → use-org-auth-client-CjO_tYkz.js} +1 -1
- package/dist/client/assets/{use-org-sso-BJsyDDZl.js → use-org-sso-DZajVFLk.js} +1 -1
- package/dist/client/assets/{use-organization-roles-B7WILiV8.js → use-organization-roles-D9RukcGZ.js} +1 -1
- package/dist/client/assets/{use-organization-settings-B43Cj5Hj.js → use-organization-settings-b-TmfHXN.js} +1 -1
- package/dist/client/assets/{use-registry-connections-BWxqfZbH.js → use-registry-connections-EOJMhrOu.js} +1 -1
- package/dist/client/assets/{use-secrets-CZTDfEwM.js → use-secrets-CKNnHXc_.js} +1 -1
- package/dist/client/assets/{use-status-sounds-BUJZW1Jb.js → use-status-sounds-ChnvWprY.js} +1 -1
- package/dist/client/assets/{use-view-mode-CT55-NKh.js → use-view-mode-ieA6nZlk.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-C4Xd_y6Q.js → use-virtual-mcp-BJXS5t1N.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-lZCTtdY-.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-B7_e3nrE.js +1 -0
- package/dist/client/assets/{useSuspenseQueries-CfBDbADT.js → useSuspenseQueries-J_BLn57E.js} +1 -1
- package/dist/client/assets/{variant-calendar-Cf8nfgjf.js → variant-calendar-DQgC5-M3.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-OFvHx7jr.js → view-mode-toggle-B-tfHZAv.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +1 -1
- package/dist/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/agent-capabilities-CcN8Ptst.js +0 -1
- package/dist/client/assets/app-editor-C7SjHnqK.js +0 -1
- package/dist/client/assets/file-explorer-XUOPVc3C.js +0 -2
- package/dist/client/assets/index-Cnn6tTYH.css +0 -1
- package/dist/client/assets/index-D8IdFl20.js +0 -513
- package/dist/client/assets/index-DrZYyJ5z.js +0 -1
- package/dist/client/assets/library-tab-CyVH7w12.js +0 -7
- package/dist/client/assets/page-seo-sheet-DyoOKmPk.js +0 -1
- package/dist/client/assets/project-app-view-DiaJ3SRN.js +0 -1
- package/dist/client/assets/record-editor-Bl--2nUb.js +0 -1
- package/dist/client/assets/registry-DVWbo72y.js +0 -2
- package/dist/client/assets/store-registry-qU0j1KBA.js +0 -2
- package/dist/client/assets/tab-id-DPNwWMUY.js +0 -1
- package/dist/client/assets/useInfiniteQuery-CF9B6LPz.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Cw5GGS4G.js +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{G as y,k as m,K as C,r as _,v as A}from"./index-CYMcVHWw.js";import{u as S}from"./studio-tools-BqQ-Smve.js";import{u as w}from"./use-ai-providers-B5HMF84U.js";const u=new Map;function G(){const{org:e}=y(),t=S(),n=w(),o=n.find(a=>a.providerId==="deco"),{data:c,isLoading:r,refetch:l,isFetching:f}=m({queryKey:C.aiProviderCredits(e.id,"deco"),enabled:!!o,staleTime:6e4,queryFn:async()=>{try{return await t.call("AI_PROVIDER_CREDITS",{providerId:"deco"})}catch{return null}}}),s=c?.balanceCents??null,h=s!=null?s/100:null,d=_.useRef(new Map);if(s!=null){const a=u.get(e.id);d.current.get(e.id)&&a!=null&&s>a&&A("credits_topped_up_detected",{organization_id:e.id,delta_cents:s-a,previous_balance_cents:a,new_balance_cents:s}),u.set(e.id,s),d.current.set(e.id,!0)}const p=!!o,g=s!=null&&s>0,v=s!=null&&s===0,b=s!=null&&s===200,I=n.length>0&&n.every(a=>a.providerId==="deco");return{hasDecoKey:p,decoKeyId:o?.id??null,balanceCents:s,balanceDollars:h,hasCredits:g,isZeroBalance:v,isInitialFreeCredit:b,hasOnlyDecoProvider:I,isLoading:r,isFetching:f,refetch:l}}function i(e){const t=e?.metadata?.githubRepo;if(!t?.url)return{status:"none"};const n=t.connectionId;return!!n&&!!e?.connections?.some(r=>r.connection_id===n)?{status:"attached",repo:t,connectionId:n}:!!n||t.installationId!=null?{status:"detached",repo:t}:{status:"public-clone",repo:t}}function x(e){const t=i(e);return t.status==="attached"||t.status==="public-clone"?t.repo:null}function B(e){if(typeof e!="object"||e===null)return!1;const n=e.githubRepo?.url;return typeof n=="string"&&n.length>0}function E(e){return i(e).status==="attached"}function H(e){const t=i(e).status;return t==="attached"||t==="detached"}function F(e){const t=new Set;for(const n of e??[]){const o=n.metadata?.liveAgentId;typeof o=="string"&&o&&t.add(n.id)}return t}function T(e,t){if(!e)return null;const n=e.metadata?.liveAgentId;if(typeof n=="string"&&n)return{mode:"dev",targetId:n};const o=(t??[]).find(c=>c.metadata?.liveAgentId===e.id);return o?{mode:"live",targetId:o.id}:null}function j(e){return e.online?e.capabilities.includes("claude-code")||e.capabilities.includes("codex"):!1}export{x as a,E as b,B as c,H as d,T as f,F as g,j as h,i as r,G as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as ge,r as w,j as o,l as ye,t as ue,i as Se}from"./index-CYMcVHWw.js";import{i as je}from"./ChevronRight-IN_BxWua.js";import{S as ke}from"./scroll-area-CMa-aD4N.js";import{A as _e}from"./add-section-modal-DCUTjbOf.js";import{ap as Be,aq as we,ar as Ae,j as Ne,k as Re,as as Ce,Y as Ee,at as Ke,ac as Te}from"./index-D8IdFl20.js";import"./agent-icon-B5-0f-JN.js";import"./AlertCircle-DqWzXDUR.js";import"./Tool01-C-ZblGMW.js";import"./SwitchHorizontal01-CE1-3OyF.js";import"./Settings02-Jqzd_Apx.js";import"./XCircle-B_a4NCnT.js";import"./ArrowUpRight-B4zChy7e.js";import"./ZapSquare-BzXuDiSC.js";import"./Users03-CRUY_vEX.js";import"./CheckCircle-NrwNIgHK.js";import"./ChevronUp-CQKegx6l.js";import"./ChevronDown-_pPSgRSR.js";import"./DotsVertical-CEXmp4oq.js";import"./Stars02-CBTp9xAc.js";import"./Eye-kkkoDRYl.js";import"./ZoomOut-DojgF8wZ.js";import"./Globe01-CEqJW_21.js";import"./FilterLines-C_rJjK1a.js";import"./Star01-0x7lq8nt.js";import"./Globe04-Dax549LN.js";import"./HardDrive-DaD3GK-3.js";import"./Key01-C3dxJi0P.js";import"./LayoutLeft-Db7_kcOn.js";import"./LinkExternal01-Kkv2Ef0P.js";import"./Monitor01-jndNo0GY.js";import"./Sun-C2LO610R.js";import"./Palette-Dd3HcFjj.js";import"./Play-CgVBDy0W.js";import"./Plus-DhtEZZJk.js";import"./SearchLg-n9_4xvk9.js";import"./SearchMd-BFU297sk.js";import"./Shield01-IsI9HFUg.js";import"./Stars01-Dik_zqIV.js";import"./Trash01-B7X1NSHS.js";import"./Upload01-D2ad940u.js";import"./User01-C2nHawg3.js";import"./Users01-DzLGVfMb.js";import"./XClose-DX6qelPQ.js";import"./X-Cz1vP6U2.js";import"./Zap-Bv8k1Wjv.js";import"./use-clock-tick-uMJM3oVw.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-ChjuO6_W.js";import"./tooltip-McXLWTPz.js";import"./file-type-icon-CFvwmOVW.js";import"./dialog-f6FDqur-.js";import"./use-mobile-97pXY1F0.js";import"./tab-id-DPNwWMUY.js";import"./content-blocks-o63cs2vh.js";import"./types-BOhW2BE0.js";import"./use-mcp-client-BziAkYj-.js";import"./auth-C61sP0gz.js";import"./chat-context-NN3m2t6z.js";import"./hooks-DnS8g0Dd.js";import"./decopilot-sse-pool-CSDJAG4Z.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./use-virtual-mcp-C4Xd_y6Q.js";import"./use-collections-CHWIIHiV.js";import"./use-ai-providers-B5HMF84U.js";import"./studio-tools-BqQ-Smve.js";import"./use-decopilot-events-DvCiaHsi.js";import"./use-organization-settings-B43Cj5Hj.js";import"./shell-layout-CIXVHe2F.js";import"./avatar-Pl9aKL8h.js";import"./alert-dialog-2j8p9c6M.js";import"./required-auth-layout-DXgc1Ltu.js";import"./use-org-sso-BJsyDDZl.js";import"./sheet-CgzMKh0f.js";import"./integration-icon-E5mS2SlS.js";import"./use-navigate-to-agent-CSxxwjpJ.js";import"./use-connection-DLKQF7-d.js";import"./use-mcp-prompts-C_XRVyjB.js";import"./form-DXYr28uO.js";import"./label-DdUk4u0o.js";import"./input-DwWemHJ1.js";import"./select-C2StEpwh.js";import"./library-tab-CyVH7w12.js";import"./drawer-BqZy3pnI.js";import"./collection-search-Co1M3K46.js";import"./tabs-CEIlnIej.js";import"./toggle-group-BYEsD9DI.js";import"./agent-capabilities-CcN8Ptst.js";import"./connect-desktop-dialog-k5X3zcX6.js";import"./decopilot-2KtBn2SF.js";import"./checkbox-sE4LKrmm.js";import"./skeleton-BF3iQVVp.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-BmlRdNTz.js";import"./card-BnEXyuL4.js";import"./popover-2-GkjBJ0.js";import"./command-DpfxIz21.js";import"./index-B7Cla0Rs.js";import"./useInfiniteQuery-CF9B6LPz.js";import"./use-infinite-scroll-B7V1qqUY.js";import"./index-D9ZKkElD.js";import"./toolbar-BR6wg8B-.js";import"./use-debounced-value-BanthsaI.js";import"./dropdown-menu-CW-W6SxE.js";import"./textarea-lc685IWg.js";import"./index-CnZ1aBOu.js";import"./question-004-sINsf4GQ.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-BHHY6mXw.js";import"./use-registry-connections-BWxqfZbH.js";import"./extract-connection-data-WzBn60Vi.js";import"./collection-tabs-C3IP9t9r.js";import"./badge-Jr15fHY9.js";import"./connection-form-helpers-DyI3VX2f.js";import"./authenticate-and-persist-oauth-CBM8XaQl.js";import"./mcp-oauth-Cnegkj2M.js";import"./useSuspenseInfiniteQuery-Cw5GGS4G.js";import"./task-row-BkZVc0Tr.js";import"./task-status-B1zEZqAO.js";import"./use-status-sounds-BUJZW1Jb.js";import"./empty-state-ClGS_X4B.js";import"./use-mcp-tools-QBgVd6YA.js";import"./use-capability-B9ec6oA8.js";import"./tools-list-DbpSLLRM.js";import"./switch-KtkMcjzw.js";import"./use-debounced-autosave-BOTrmpJV.js";import"./index-CMqN1SXf.js";import"./sidebar-BQuqWYGQ.js";import"./search-input-Dj0HkQZt.js";import"./github-repo-picker-CI8T39Kp.js";import"./github-installations-DzN1UQ4x.js";import"./use-secrets-CZTDfEwM.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./toolbar-icon-button-Xl4ohERV.js";import"./automation-runs-Z1WsaYCj.js";import"./table-tjxHRzFS.js";import"./use-members-BgQRcESa.js";import"./use-org-auth-client-BU8kOWFN.js";import"./use-automations-BOjQm1nK.js";import"./use-file-configs-DK5EcF0h.js";import"./monaco-editor-ikjIQEAV.js";import"./select-model-eY_CT1Qg.js";import"./automation-list-row-DuXb8PGF.js";function $e(l,e){const m=(l.title||l.resolveType.split("/").pop()||"").replace(/\.(tsx?|jsx?)$/,"").replace(/[^A-Za-z0-9_-]/g,""),f=/^[A-Za-z]/.test(m)&&m.length>0?m:"Section",a=Be(e,f);return{blockKey:a,data:{__resolveType:l.resolveType,name:a}}}function gr(l){const e=ge.c(77),{orgSlug:m,virtualMcpId:f,branch:a,blockKey:i,block:n,meta:s,decofile:c,title:D,excludeFields:H,schemaPending:ae,previewBaseUrl:ne}=l,Y=ae===void 0?!1:ae,u=ne===void 0?null:ne,x=typeof n?.__resolveType=="string"?n.__resolveType:"";let R;e[0]!==H||e[1]!==s||e[2]!==x?(R=we(x,s,H),e[0]=H,e[1]=s,e[2]=x,e[3]=R):R=e[3];const h=R;let C;e[4]!==h?(C=!!h&&Object.keys(h.properties??{}).length>0,e[4]=h,e[5]=C):C=e[5];const G=C;let E;e[6]!==n||e[7]!==i||e[8]!==s||e[9]!==D?(E=D??(n?Ae(i,n,s):i),e[6]=n,e[7]=i,e[8]=s,e[9]=D,e[10]=E):E=e[10];const v=E;let K;e[11]!==a||e[12]!==m||e[13]!==f?(K={orgSlug:m,virtualMcpId:f,branch:a},e[11]=a,e[12]=m,e[13]=f,e[14]=K):K=e[14];const{save:b,flush:J,isPending:Q}=Ne(K);let T;e[15]!==a||e[16]!==m||e[17]!==f?(T={orgSlug:m,virtualMcpId:f,branch:a},e[15]=a,e[16]=m,e[17]=f,e[18]=T):T=e[18];const W=Re(T);let $;e[19]!==b?($=Ee((t,r)=>b(t,r)),e[19]=b,e[20]=$):$=e[20];const X=$,[he,xe]=w.useState(i),[ee,ce]=w.useState(null),[te,de]=w.useState(0);let F;e[21]===Symbol.for("react.memo_cache_sentinel")?(F=[],e[21]=F):F=e[21];const[p,fe]=w.useState(F),[oe,re]=w.useState(!1),P=w.useRef(null);he!==i&&(xe(i),ce(null),de(Pe),fe([]));let O;e[22]!==n?(O=n??{},e[22]=n,e[23]=O):O=e[23];const ie=O;let g;e[24]!==ee?(g=ee??{},e[24]=ee,e[25]=g):g=e[25];let q;e[26]!==ie||e[27]!==g?(q={...ie,...g},e[26]=ie,e[27]=g,e[28]=q):q=e[28];const se=q;let z;e[29]!==i||e[30]!==x||e[31]!==b?(z=t=>{const r=t;ce(r),b(i,{...r,__resolveType:x})},e[29]=i,e[30]=x,e[31]=b,e[32]=z):z=e[32];const me=z;let L;e[33]===Symbol.for("react.memo_cache_sentinel")?(L=t=>{fe(t)},e[33]=L):L=e[33];const pe=L;let V;e[34]!==c||e[35]!==J||e[36]!==W?(V=async(t,r)=>{try{const{blockKey:d,data:N}=$e(t,c);await W.mutateAsync({blockKey:d,data:N}),ue.success(`Created section "${d}"`),r({__resolveType:d}),J()}catch(d){const N=d,be=N instanceof Error?N.message:"Could not add section";throw ue.error(be),N}},e[34]=c,e[35]=J,e[36]=W,e[37]=V):V=e[37];const y=V;let I;e[38]===Symbol.for("react.memo_cache_sentinel")?(I=t=>{P.current=t.append,re(!0)},e[38]=I):I=e[38];const ve=I;let U;e[39]!==y?(U=async t=>{const r=P.current;if(r)try{await y(t,d=>{r(d),re(!1),P.current=null})}catch{}},e[39]=y,e[40]=U):U=e[40];const le=U;let M;e[41]!==p||e[42]!==v?(M=p.length>0?[v,...p]:[],e[41]=p,e[42]=v,e[43]=M):M=e[43];const A=M;let S;e[44]!==p||e[45]!==A||e[46]!==v?(S=A.length>0?o.jsx("nav",{"aria-label":"Editing breadcrumb",className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:A.map((t,r)=>{const d=r===A.length-1;return o.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[r>0&&o.jsx(je,{className:"size-3 shrink-0 text-muted-foreground/60"}),o.jsx("button",{type:"button",onClick:()=>{pe(r===0?[]:Ce(p,r)),de(Fe)},title:t,className:ye("min-w-0 truncate rounded-md px-1 py-0.5 text-left transition-colors",d?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:t})]},`${t}-${r}`)})}):o.jsx("span",{className:"text-sm font-medium",children:v}),e[44]=p,e[45]=A,e[46]=v,e[47]=S):S=e[47];let j;e[48]!==Q?(j=o.jsx(Ke,{isPending:Q,isError:!1}),e[48]=Q,e[49]=j):j=e[49];let k;e[50]!==S||e[51]!==j?(k=o.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[S,j]}),e[50]=S,e[51]=j,e[52]=k):k=e[52];let _;e[53]!==i||e[54]!==p||e[55]!==c||e[56]!==se||e[57]!==te||e[58]!==y||e[59]!==me||e[60]!==G||e[61]!==s||e[62]!==u||e[63]!==X||e[64]!==h||e[65]!==Y?(_=o.jsx(ke,{className:"min-h-0 min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:o.jsx("div",{className:"px-6 py-6",children:o.jsx("div",{className:"mx-auto max-w-xl",children:G?o.jsx(Te,{schema:h,value:se,onChange:me,basePath:"",breadcrumbPath:p,onBreadcrumbChange:pe,decofile:c,meta:s,onSaveReferencedBlock:X,previewBaseUrl:u,onAddSectionItem:y,onRequestAddSection:ve},`${i}:${te}`):Y?o.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[o.jsx(Se,{size:16,className:"animate-spin"}),"Loading app schema…"]}):o.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:"No editable schema found for this app."})})})}),e[53]=i,e[54]=p,e[55]=c,e[56]=se,e[57]=te,e[58]=y,e[59]=me,e[60]=G,e[61]=s,e[62]=u,e[63]=X,e[64]=h,e[65]=Y,e[66]=_):_=e[66];let B;e[67]!==oe||e[68]!==c||e[69]!==le||e[70]!==s||e[71]!==u?(B=u&&o.jsx(_e,{open:oe,onOpenChange:t=>{re(t),t||(P.current=null)},meta:s,decofile:c,previewBaseUrl:u,onSelect:t=>{le(t)}}),e[67]=oe,e[68]=c,e[69]=le,e[70]=s,e[71]=u,e[72]=B):B=e[72];let Z;return e[73]!==k||e[74]!==_||e[75]!==B?(Z=o.jsxs("div",{className:"flex h-full flex-col",children:[k,_,B]}),e[73]=k,e[74]=_,e[75]=B,e[76]=Z):Z=e[76],Z}function Fe(l){return l+1}function Pe(l){return l+1}export{gr as AppEditor};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as Z,r as u,j as r,i as ie,B as he,dY as Mt,a4 as Dt,aa as se,dZ as Rt,d_ as Pt,d$ as Et,e0 as kt,bL as Tt,e1 as Ot,e2 as qe,a6 as At,e3 as Lt,e4 as Ft,e5 as It,e6 as $t,e7 as _t,e8 as zt,e9 as Wt,ea as Gt,eb as Kt,l as ae,m as Bt,t as W,K as $e}from"./index-CYMcVHWw.js";import{F as Vt,l as Ut}from"./index-CnZ1aBOu.js";import{i as qt,aA as Qt,aB as Ht,aC as ue,aD as Xt,Y as _e}from"./agent-icon-B5-0f-JN.js";import{a as Yt}from"./Tool01-C-ZblGMW.js";import{s as Jt}from"./XClose-DX6qelPQ.js";import{S as Zt}from"./scroll-area-CMa-aD4N.js";import{T as ze,a as We,b as Ge}from"./tooltip-McXLWTPz.js";import{f as en,a as tn,b as nn,c as rn,d as on,e as sn,A as an,g as ln}from"./alert-dialog-2j8p9c6M.js";import{u as cn}from"./chat-context-NN3m2t6z.js";import{b as dn}from"./shell-layout-CIXVHe2F.js";import{am as fe,an as Ke,ao as un}from"./index-D8IdFl20.js";import{a as fn,b as mn,c as pn,D as xn,d as hn,e as gn}from"./dialog-f6FDqur-.js";import{I as Be}from"./input-DwWemHJ1.js";import{t as vn}from"./ChevronDown-_pPSgRSR.js";import{i as yn}from"./ChevronRight-IN_BxWua.js";import{a as Cn}from"./ZoomOut-DojgF8wZ.js";import{E as wn,v as Ve,w as Ce,x as bn,y as jn,z as Nn,A as V,C as me,g as we,D as be,G as Sn,I as Mn,J as je,K as pe,M as Ne,N as Dn,O as Rn}from"./index-D9ZKkElD.js";import"./AlertCircle-DqWzXDUR.js";import"./SwitchHorizontal01-CE1-3OyF.js";import"./Settings02-Jqzd_Apx.js";import"./XCircle-B_a4NCnT.js";import"./ArrowUpRight-B4zChy7e.js";import"./ZapSquare-BzXuDiSC.js";import"./Users03-CRUY_vEX.js";import"./CheckCircle-NrwNIgHK.js";import"./ChevronUp-CQKegx6l.js";import"./DotsVertical-CEXmp4oq.js";import"./Stars02-CBTp9xAc.js";import"./Eye-kkkoDRYl.js";import"./Globe01-CEqJW_21.js";import"./FilterLines-C_rJjK1a.js";import"./Star01-0x7lq8nt.js";import"./Globe04-Dax549LN.js";import"./HardDrive-DaD3GK-3.js";import"./Key01-C3dxJi0P.js";import"./LayoutLeft-Db7_kcOn.js";import"./LinkExternal01-Kkv2Ef0P.js";import"./Monitor01-jndNo0GY.js";import"./Sun-C2LO610R.js";import"./Palette-Dd3HcFjj.js";import"./Play-CgVBDy0W.js";import"./Plus-DhtEZZJk.js";import"./SearchLg-n9_4xvk9.js";import"./SearchMd-BFU297sk.js";import"./Shield01-IsI9HFUg.js";import"./Stars01-Dik_zqIV.js";import"./Trash01-B7X1NSHS.js";import"./Upload01-D2ad940u.js";import"./User01-C2nHawg3.js";import"./Users01-DzLGVfMb.js";import"./X-Cz1vP6U2.js";import"./Zap-Bv8k1Wjv.js";import"./use-clock-tick-uMJM3oVw.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-ChjuO6_W.js";import"./file-type-icon-CFvwmOVW.js";import"./use-mobile-97pXY1F0.js";import"./tab-id-DPNwWMUY.js";import"./content-blocks-o63cs2vh.js";import"./types-BOhW2BE0.js";import"./use-mcp-client-BziAkYj-.js";import"./auth-C61sP0gz.js";import"./hooks-DnS8g0Dd.js";import"./decopilot-sse-pool-CSDJAG4Z.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./studio-tools-BqQ-Smve.js";import"./sheet-CgzMKh0f.js";import"./integration-icon-E5mS2SlS.js";import"./use-virtual-mcp-C4Xd_y6Q.js";import"./use-collections-CHWIIHiV.js";import"./use-navigate-to-agent-CSxxwjpJ.js";import"./use-connection-DLKQF7-d.js";import"./use-mcp-prompts-C_XRVyjB.js";import"./form-DXYr28uO.js";import"./label-DdUk4u0o.js";import"./select-C2StEpwh.js";import"./use-ai-providers-B5HMF84U.js";import"./use-decopilot-events-DvCiaHsi.js";import"./use-organization-settings-B43Cj5Hj.js";import"./avatar-Pl9aKL8h.js";import"./required-auth-layout-DXgc1Ltu.js";import"./use-org-sso-BJsyDDZl.js";import"./library-tab-CyVH7w12.js";import"./drawer-BqZy3pnI.js";import"./collection-search-Co1M3K46.js";import"./tabs-CEIlnIej.js";import"./toggle-group-BYEsD9DI.js";import"./agent-capabilities-CcN8Ptst.js";import"./connect-desktop-dialog-k5X3zcX6.js";import"./decopilot-2KtBn2SF.js";import"./checkbox-sE4LKrmm.js";import"./skeleton-BF3iQVVp.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-BmlRdNTz.js";import"./card-BnEXyuL4.js";import"./popover-2-GkjBJ0.js";import"./command-DpfxIz21.js";import"./index-B7Cla0Rs.js";import"./useInfiniteQuery-CF9B6LPz.js";import"./use-infinite-scroll-B7V1qqUY.js";import"./dropdown-menu-CW-W6SxE.js";import"./question-004-sINsf4GQ.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-BHHY6mXw.js";import"./use-registry-connections-BWxqfZbH.js";import"./extract-connection-data-WzBn60Vi.js";import"./collection-tabs-C3IP9t9r.js";import"./badge-Jr15fHY9.js";import"./textarea-lc685IWg.js";import"./connection-form-helpers-DyI3VX2f.js";import"./authenticate-and-persist-oauth-CBM8XaQl.js";import"./mcp-oauth-Cnegkj2M.js";import"./useSuspenseInfiniteQuery-Cw5GGS4G.js";import"./task-row-BkZVc0Tr.js";import"./task-status-B1zEZqAO.js";import"./use-status-sounds-BUJZW1Jb.js";import"./empty-state-ClGS_X4B.js";import"./toolbar-BR6wg8B-.js";import"./use-mcp-tools-QBgVd6YA.js";import"./use-capability-B9ec6oA8.js";import"./tools-list-DbpSLLRM.js";import"./switch-KtkMcjzw.js";import"./use-debounced-autosave-BOTrmpJV.js";import"./index-CMqN1SXf.js";import"./sidebar-BQuqWYGQ.js";import"./search-input-Dj0HkQZt.js";import"./github-repo-picker-CI8T39Kp.js";import"./use-debounced-value-BanthsaI.js";import"./github-installations-DzN1UQ4x.js";import"./use-secrets-CZTDfEwM.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./toolbar-icon-button-Xl4ohERV.js";import"./automation-runs-Z1WsaYCj.js";import"./table-tjxHRzFS.js";import"./use-members-BgQRcESa.js";import"./use-org-auth-client-BU8kOWFN.js";import"./use-automations-BOjQm1nK.js";import"./use-file-configs-DK5EcF0h.js";import"./monaco-editor-ikjIQEAV.js";import"./select-model-eY_CT1Qg.js";import"./automation-list-row-DuXb8PGF.js";const Pn={"new-file":{title:"New File",description:"Enter a name for the new file.",submit:"Create",placeholder:"filename.ts"},"new-folder":{title:"New Folder",description:"Enter a name for the new folder.",submit:"Create",placeholder:"folder-name"},rename:{title:"Rename",description:"Enter a new name for this item.",submit:"Rename",placeholder:"new-name"}};function En(i){const e=Z.c(51),{open:s,mode:a,initialName:c,parentLabel:m,isPending:x,onSubmit:p,onOpenChange:g}=i,M=c===void 0?"":c,d=x===void 0?!1:x,[h,y]=u.useState(M),[B,U]=u.useState(s),C=Pn[a];s!==B&&(U(s),s&&y(M));let I;e[0]!==d||e[1]!==g?(I=_=>{!_&&!d&&g(!1)},e[0]=d,e[1]=g,e[2]=I):I=e[2];const H=I;let q;e[3]!==d||e[4]!==h||e[5]!==p?(q=async _=>{_.preventDefault();const K=h.trim();!K||d||await p(K)},e[3]=d,e[4]=h,e[5]=p,e[6]=q):q=e[6];const Q=q;let $;e[7]!==C.title?($=r.jsx(fn,{children:C.title}),e[7]=C.title,e[8]=$):$=e[8];let T;e[9]!==C.description?(T=r.jsx(mn,{children:C.description}),e[9]=C.description,e[10]=T):T=e[10];let G;e[11]!==$||e[12]!==T?(G=r.jsxs(pn,{children:[$,T]}),e[11]=$,e[12]=T,e[13]=G):G=e[13];let O;e[14]!==m?(O=m&&r.jsxs("div",{className:"space-y-1.5",children:[r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Location"}),r.jsx(Be,{value:m,readOnly:!0,disabled:!0,className:"font-mono text-xs"})]}),e[14]=m,e[15]=O):O=e[15];let A;e[16]===Symbol.for("react.memo_cache_sentinel")?(A=r.jsx("label",{htmlFor:"file-explorer-name",className:"text-xs font-medium text-muted-foreground",children:"Name"}),e[16]=A):A=e[16];let R;e[17]===Symbol.for("react.memo_cache_sentinel")?(R=_=>y(_.target.value),e[17]=R):R=e[17];let P;e[18]!==C.placeholder||e[19]!==d||e[20]!==h?(P=r.jsxs("div",{className:"space-y-1.5",children:[A,r.jsx(Be,{id:"file-explorer-name",value:h,onChange:R,placeholder:C.placeholder,autoFocus:!0,disabled:d})]}),e[18]=C.placeholder,e[19]=d,e[20]=h,e[21]=P):P=e[21];let j;e[22]!==P||e[23]!==O?(j=r.jsxs("div",{className:"space-y-4 py-4",children:[O,P]}),e[22]=P,e[23]=O,e[24]=j):j=e[24];let N;e[25]!==g?(N=()=>g(!1),e[25]=g,e[26]=N):N=e[26];let E;e[27]!==d||e[28]!==N?(E=r.jsx(he,{type:"button",variant:"outline",onClick:N,disabled:d,children:"Cancel"}),e[27]=d,e[28]=N,e[29]=E):E=e[29];let k;e[30]!==d||e[31]!==h?(k=!h.trim()||d,e[30]=d,e[31]=h,e[32]=k):k=e[32];let w;e[33]!==C.submit||e[34]!==d?(w=d?r.jsxs(r.Fragment,{children:[r.jsx(ie,{size:14,className:"animate-spin"}),"Saving…"]}):C.submit,e[33]=C.submit,e[34]=d,e[35]=w):w=e[35];let L;e[36]!==k||e[37]!==w?(L=r.jsx(he,{type:"submit",disabled:k,children:w}),e[36]=k,e[37]=w,e[38]=L):L=e[38];let b;e[39]!==E||e[40]!==L?(b=r.jsxs(xn,{children:[E,L]}),e[39]=E,e[40]=L,e[41]=b):b=e[41];let S;e[42]!==Q||e[43]!==j||e[44]!==b||e[45]!==G?(S=r.jsx(hn,{className:"sm:max-w-md",children:r.jsxs("form",{onSubmit:Q,children:[G,j,b]})}),e[42]=Q,e[43]=j,e[44]=b,e[45]=G,e[46]=S):S=e[46];let z;return e[47]!==H||e[48]!==s||e[49]!==S?(z=r.jsx(gn,{open:s,onOpenChange:H,children:S}),e[47]=H,e[48]=s,e[49]=S,e[50]=z):z=e[50],z}var Me="ContextMenu",[kn]=At(Me,[qe]),F=qe(),[Tn,Qe]=kn(Me),He=i=>{const{__scopeContextMenu:e,children:s,onOpenChange:a,dir:c,modal:m=!0}=i,[x,p]=u.useState(!1),g=F(e),M=Tt(a),d=u.useCallback(h=>{p(h),M(h)},[M]);return r.jsx(Tn,{scope:e,open:x,onOpenChange:d,modal:m,children:r.jsx(Ot,{...g,dir:c,open:x,onOpenChange:d,modal:m,children:s})})};He.displayName=Me;var Xe="ContextMenuTrigger",Ye=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,disabled:a=!1,...c}=i,m=Qe(Xe,s),x=F(s),p=u.useRef({x:0,y:0}),g=u.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...p.current})}),M=u.useRef(0),d=u.useCallback(()=>window.clearTimeout(M.current),[]),h=y=>{p.current={x:y.clientX,y:y.clientY},m.onOpenChange(!0)};return u.useEffect(()=>d,[d]),u.useEffect(()=>{a&&d()},[a,d]),r.jsxs(r.Fragment,{children:[r.jsx(Mt,{...x,virtualRef:g}),r.jsx(Dt.span,{"data-state":m.open?"open":"closed","data-disabled":a?"":void 0,...c,ref:e,style:{WebkitTouchCallout:"none",...i.style},onContextMenu:a?i.onContextMenu:se(i.onContextMenu,y=>{d(),h(y),y.preventDefault()}),onPointerDown:a?i.onPointerDown:se(i.onPointerDown,xe(y=>{d(),M.current=window.setTimeout(()=>h(y),700)})),onPointerMove:a?i.onPointerMove:se(i.onPointerMove,xe(d)),onPointerCancel:a?i.onPointerCancel:se(i.onPointerCancel,xe(d)),onPointerUp:a?i.onPointerUp:se(i.onPointerUp,xe(d))})]})});Ye.displayName=Xe;var On="ContextMenuPortal",Je=i=>{const{__scopeContextMenu:e,...s}=i,a=F(e);return r.jsx(Et,{...a,...s})};Je.displayName=On;var Ze="ContextMenuContent",et=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=Qe(Ze,s),m=F(s),x=u.useRef(!1);return r.jsx(kt,{...m,...a,ref:e,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:p=>{i.onCloseAutoFocus?.(p),!p.defaultPrevented&&x.current&&p.preventDefault(),x.current=!1},onInteractOutside:p=>{i.onInteractOutside?.(p),!p.defaultPrevented&&!c.modal&&(x.current=!0)},style:{...i.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)"}})});et.displayName=Ze;var An="ContextMenuGroup",Ln=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(Lt,{...c,...a,ref:e})});Ln.displayName=An;var Fn="ContextMenuLabel",In=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(Ft,{...c,...a,ref:e})});In.displayName=Fn;var $n="ContextMenuItem",tt=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(Rt,{...c,...a,ref:e})});tt.displayName=$n;var _n="ContextMenuCheckboxItem",zn=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(It,{...c,...a,ref:e})});zn.displayName=_n;var Wn="ContextMenuRadioGroup",Gn=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx($t,{...c,...a,ref:e})});Gn.displayName=Wn;var Kn="ContextMenuRadioItem",Bn=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(_t,{...c,...a,ref:e})});Bn.displayName=Kn;var Vn="ContextMenuItemIndicator",Un=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(zt,{...c,...a,ref:e})});Un.displayName=Vn;var qn="ContextMenuSeparator",nt=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(Pt,{...c,...a,ref:e})});nt.displayName=qn;var Qn="ContextMenuArrow",Hn=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(Wt,{...c,...a,ref:e})});Hn.displayName=Qn;var Xn="ContextMenuSubTrigger",Yn=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(Gt,{...c,...a,ref:e})});Yn.displayName=Xn;var Jn="ContextMenuSubContent",Zn=u.forwardRef((i,e)=>{const{__scopeContextMenu:s,...a}=i,c=F(s);return r.jsx(Kt,{...c,...a,ref:e,style:{...i.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)"}})});Zn.displayName=Jn;function xe(i){return e=>e.pointerType!=="mouse"?i(e):void 0}var er=He,tr=Ye,nr=Je,rr=et,or=tt,sr=nt;function ir(i){const e=Z.c(4);let s;e[0]!==i?({...s}=i,e[0]=i,e[1]=s):s=e[1];let a;return e[2]!==s?(a=r.jsx(er,{"data-slot":"context-menu",...s}),e[2]=s,e[3]=a):a=e[3],a}function ar(i){const e=Z.c(4);let s;e[0]!==i?({...s}=i,e[0]=i,e[1]=s):s=e[1];let a;return e[2]!==s?(a=r.jsx(tr,{"data-slot":"context-menu-trigger",...s}),e[2]=s,e[3]=a):a=e[3],a}function lr(i){const e=Z.c(8);let s,a;e[0]!==i?({className:s,...a}=i,e[0]=i,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let c;e[3]!==s?(c=ae("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]=c):c=e[4];let m;return e[5]!==a||e[6]!==c?(m=r.jsx(nr,{children:r.jsx(rr,{"data-slot":"context-menu-content",className:c,...a})}),e[5]=a,e[6]=c,e[7]=m):m=e[7],m}function te(i){const e=Z.c(12);let s,a,c,m;e[0]!==i?({className:s,inset:a,variant:m,...c}=i,e[0]=i,e[1]=s,e[2]=a,e[3]=c,e[4]=m):(s=e[1],a=e[2],c=e[3],m=e[4]);const x=m===void 0?"default":m;let p;e[5]!==s?(p=ae("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]=p):p=e[6];let g;return e[7]!==a||e[8]!==c||e[9]!==p||e[10]!==x?(g=r.jsx(or,{"data-slot":"context-menu-item","data-inset":a,"data-variant":x,className:p,...c}),e[7]=a,e[8]=c,e[9]=p,e[10]=x,e[11]=g):g=e[11],g}function Ue(i){const e=Z.c(8);let s,a;e[0]!==i?({className:s,...a}=i,e[0]=i,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let c;e[3]!==s?(c=ae("bg-border -mx-1 my-1 h-px",s),e[3]=s,e[4]=c):c=e[4];let m;return e[5]!==a||e[6]!==c?(m=r.jsx(sr,{"data-slot":"context-menu-separator",className:c,...a}),e[5]=a,e[6]=c,e[7]=m):m=e[7],m}const cr="#d9a441";function dr(i){const e=Z.c(45),{node:s,depth:a,isExpanded:c,isSelected:m,isLoading:x,fileVisual:p,onOpen:g,onSelect:M,onNewFile:d,onNewFolder:h,onCopyPath:y,onCopyRelativePath:B,onRename:U,onDelete:C}=i,I=x===void 0?!1:x,H=s.kind==="directory",{Icon:q,color:Q}=p,$=m&&"bg-accent";let T;e[0]!==$?(T=ae("flex w-full items-center gap-1.5 px-2 py-1.5 text-left text-[13px] hover:bg-accent transition-colors",$),e[0]=$,e[1]=T):T=e[1];const G=`${a*14+8}px`;let O;e[2]!==G?(O={paddingLeft:G},e[2]=G,e[3]=O):O=e[3];let A;e[4]!==g||e[5]!==M?(A=()=>{M(),g()},e[4]=g,e[5]=M,e[6]=A):A=e[6];let R;e[7]!==q||e[8]!==Q||e[9]!==H||e[10]!==c||e[11]!==I?(R=H?r.jsxs(r.Fragment,{children:[I?r.jsx(ie,{size:14,className:"shrink-0 animate-spin text-muted-foreground"}):c?r.jsx(vn,{size:14,className:"shrink-0 text-muted-foreground"}):r.jsx(yn,{size:14,className:"shrink-0 text-muted-foreground"}),r.jsx(Cn,{size:16,className:"shrink-0",style:{color:cr}})]}):r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"w-3.5 shrink-0"}),r.jsx(q,{size:16,className:"shrink-0",style:{color:Q}})]}),e[7]=q,e[8]=Q,e[9]=H,e[10]=c,e[11]=I,e[12]=R):R=e[12];let P;e[13]!==s.name?(P=r.jsx("span",{className:"truncate",children:s.name}),e[13]=s.name,e[14]=P):P=e[14];let j;e[15]!==T||e[16]!==O||e[17]!==A||e[18]!==R||e[19]!==P?(j=r.jsx(ar,{asChild:!0,children:r.jsxs("button",{type:"button",className:T,style:O,onClick:A,children:[R,P]})}),e[15]=T,e[16]=O,e[17]=A,e[18]=R,e[19]=P,e[20]=j):j=e[20];let N;e[21]!==d?(N=r.jsx(te,{onSelect:d,children:"New File"}),e[21]=d,e[22]=N):N=e[22];let E;e[23]!==h?(E=r.jsx(te,{onSelect:h,children:"New Folder"}),e[23]=h,e[24]=E):E=e[24];let k;e[25]===Symbol.for("react.memo_cache_sentinel")?(k=r.jsx(Ue,{}),e[25]=k):k=e[25];let w;e[26]!==y?(w=r.jsx(te,{onSelect:y,children:"Copy Path"}),e[26]=y,e[27]=w):w=e[27];let L;e[28]!==B?(L=r.jsx(te,{onSelect:B,children:"Copy Relative Path"}),e[28]=B,e[29]=L):L=e[29];let b;e[30]===Symbol.for("react.memo_cache_sentinel")?(b=r.jsx(Ue,{}),e[30]=b):b=e[30];let S;e[31]!==U?(S=r.jsx(te,{onSelect:U,children:"Rename"}),e[31]=U,e[32]=S):S=e[32];let z;e[33]!==C?(z=r.jsx(te,{variant:"destructive",onSelect:C,children:"Delete"}),e[33]=C,e[34]=z):z=e[34];let _;e[35]!==N||e[36]!==E||e[37]!==w||e[38]!==L||e[39]!==S||e[40]!==z?(_=r.jsxs(lr,{className:"w-52",children:[N,E,k,w,L,b,S,z]}),e[35]=N,e[36]=E,e[37]=w,e[38]=L,e[39]=S,e[40]=z,e[41]=_):_=e[41];let K;return e[42]!==_||e[43]!==j?(K=r.jsxs(ir,{children:[j,_]}),e[42]=_,e[43]=j,e[44]=K):K=e[44],K}Ut.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.0/min/vs"}});function Se(i,e,s,a){return`/api/${i}/sandbox/${encodeURIComponent(e)}/${encodeURIComponent(s)}/${a}`}function ur(i){const e=V(i);return!e||e.includes("..")||e.includes("\\")?!1:e.startsWith(".deco/blocks/")||!e.startsWith("/")&&!e.includes("://")}const fr="#94a3b8";function mr(i){const e=i.toLowerCase();return e.endsWith(".tsx")||e.endsWith(".ts")?{Icon:ue,color:"#3b82f6"}:e.endsWith(".jsx")||e.endsWith(".js")||e.endsWith(".mjs")||e.endsWith(".cjs")?{Icon:ue,color:"#d9a441"}:e.endsWith(".json")?{Icon:Xt,color:"#cb9b3f"}:e.endsWith(".css")||e.endsWith(".scss")?{Icon:ue,color:"#06b6d4"}:e.endsWith(".html")||e.endsWith(".xml")?{Icon:ue,color:"#f97316"}:/\.(png|jpe?g|gif|webp|avif|ico|svg)$/.test(e)?{Icon:Yt,color:"#a855f7"}:e.endsWith(".md")||e.endsWith(".mdx")?{Icon:_e,color:"#64748b"}:{Icon:_e,color:fr}}function Hs({orgSlug:i,virtualMcpId:e,branch:s,openPath:a}){const[c,m]=u.useState({files:[],directories:[],truncated:!1}),{files:x,directories:p}=c,[g,M]=u.useState(new Set),[d,h]=u.useState(null),[y,B]=u.useState(null),[U,C]=u.useState([]),[I,H]=u.useState(""),[q,Q]=u.useState(!1),[$,T]=u.useState(!1),[,G]=u.useState(new Set),[O,A]=u.useState(new Set),R=u.useRef(0),P=u.useRef(null),j=u.useRef(new Set),N=u.useRef(new Map);function E(t){G(n=>{const o=typeof t=="function"?t(n):t;return j.current=o,o})}const[k,w]=u.useState(new Map),L=u.useRef(null),[b,S]=u.useState(null),{sendMessage:z}=cn(),{setChatOpen:_}=dn(),K=Bt(),[D,X]=u.useState(null),[Y,ge]=u.useState(null),[ne,le]=u.useState(!1);async function re(t,n){const o=await fetch(Se(i,e,s,t),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n)});if(!o.ok){const l=await o.json().catch(()=>({}));throw new Error(l.error??`Request failed (${o.status})`)}return o.json()}async function ce(){K.invalidateQueries({queryKey:Ke(i,e,s)})}function De(t,n){navigator.clipboard.writeText(n).then(()=>W.success(`${t} copied`),()=>W.error(`Failed to copy ${t.toLowerCase()}`))}function rt(t){const n=Dn(t);if(!n)return;const o=`${i}/${e}/${s}`;K.setQueryData($e.decofile(o),l=>{if(!l)return l;const{[n]:f,...v}=l;return v}),K.invalidateQueries({queryKey:$e.liveMeta(o)})}function ot(t){const n=t.kind==="file"?[t.path]:x.filter(o=>o.startsWith(".deco/blocks/")).map(o=>me(o)).filter(o=>o===t.path||o.startsWith(`${t.path}/`));for(const o of n)rt(o)}function st(t){const n=me(t);return U.filter(o=>{if(o!==n&&!o.startsWith(`${n}/`))return!1;const l=k.get(o);return!!(l?.loaded&&l.editorValue!==l.savedContent)})}function Re(t){C(n=>n.map(o=>t(o)).filter(o=>o!==null)),h(n=>n&&t(n)),w(n=>{const o=new Map;for(const[l,f]of n){const v=t(l);v&&o.set(v,f)}return o}),B(n=>{if(!n)return n;const o=t(n.path);return o?o===n.path?n:{...n,path:o,name:o.split("/").pop()??o}:null})}function it(t){const n=me(t);B(o=>o&&(o.path===n||o.path.startsWith(`${n}/`)?null:o)),Re(o=>o===n||o.startsWith(`${n}/`)?null:o)}async function at(t){if(!D)return;const n=pe(D.parentDir,t);if(Ne(n,x,p))throw new Error(`"${t}" already exists`);await re("write",{path:V(n),content:""}),await oe(),await ce(),X(null),ve(n)}async function lt(t){if(!D)return;const n=pe(D.parentDir,t);if(Ne(n,x,p))throw new Error(`"${t}" already exists`);const o=V(n);await re("mkdir",{path:o}),m(l=>({...l,directories:l.directories.includes(o)?l.directories:[...l.directories,o]})),await oe(),await ce(),X(null),M(l=>{const f=new Set(l);for(const v of Ce(n))f.add(v);return f.add(n),f}),B({name:t,path:n,kind:"directory",children:[]})}async function ct(t){if(!D)return;const n=D.node.path,o=je(n),l=pe(o,t);if(l===n){X(null);return}if(Ne(l,x,p))throw new Error(`"${t}" already exists`);await re("rename",{from:V(n),to:V(l)}),Re(f=>f===n?l:f.startsWith(`${n}/`)?pe(l,f.slice(n.length+1)):f),await oe(),await ce(),X(null)}async function dt(t){le(!0);try{await re("unlink",{path:V(t.path),recursive:t.kind==="directory"}),ot(t),it(t.path),await oe(),await ce(),ge(null),W.success(`Deleted "${t.name}"`)}catch(n){W.error(n instanceof Error?n.message:"Delete failed")}finally{le(!1)}}async function ut(t){const n=Mn(t);if(n){W.error(n);return}le(!0);try{D?.mode==="new-file"?(await at(t),W.success(`Created "${t}"`)):D?.mode==="new-folder"?(await lt(t),W.success(`Created folder "${t}"`)):D?.mode==="rename"&&(await ct(t),W.success(`Renamed to "${t}"`))}catch(o){W.error(o instanceof Error?o.message:"Operation failed")}finally{le(!1)}}const Pe=u.useRef(!1);Pe.current||(Pe.current=!0,P.current=oe());const[ft,mt]=u.useState(null);if(a&&a!==ft){mt(a);const t=a;queueMicrotask(()=>{ur(t)&&ve(t).catch(n=>{W.error(n instanceof Error?n.message:"Failed to open file")})})}async function Ee(t){const n=await re("glob",t);return{files:n.files??[],directories:n.directories??[],truncated:n.truncated}}function ke(t,n,o){if(o!==R.current)return!1;let l=!1;return m(f=>{const v=n?Rn(f.files,f.directories,t,f.truncated):{files:t.files,directories:t.directories??[],truncated:!!t.truncated};return l=!!v.truncated,{files:v.files,directories:v.directories,truncated:l}}),l&&W.warning("File list truncated — some files may be hidden"),l}async function pt(t){const n=N.current.get(t);if(n)return n;const o=R.current,l=(async()=>{const f=await Ee({pattern:"**/*",path:V(t),limit:Ve}),v=ke(f,!0,o);return!v&&o===R.current&&E(J=>{const de=new Set(J);return de.add(t),de}),v})();N.current.set(t,l);try{return await l}finally{N.current.delete(t)}}async function Te(t){if(!be(t,j.current))return!1;A(n=>new Set(n).add(t));try{return await pt(t)}finally{A(n=>{const o=new Set(n);return o.delete(t),o})}}async function xt(t){const n=new Set(j.current);for(const o of Ce(t)){if(!be(o,n))continue;if(await Te(o))throw new Error("Folder listing truncated — expand again to load more");n.add(o)}}async function oe(){const t=++R.current;N.current.clear(),Q(!0),E(new Set),M(new Set),A(new Set);try{const n=await Ee({pattern:"**/*",limit:Ve,maxDepth:wn});ke(n,!1,t),T(!0)}catch{$&&W.error("Failed to refresh file tree")}finally{Q(!1)}}async function Oe(t){if(!k.get(t)?.loaded){w(o=>{const l=new Map(o);return l.set(t,{savedContent:"",editorValue:"",loaded:!1}),l});try{const o=await fetch(Se(i,e,s,"read"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:V(t),full:!0})});if(!o.ok)return;const l=await o.json(),f=Sn(l.content??"");w(v=>{const J=new Map(v);return J.set(t,{savedContent:f,editorValue:f,loaded:!0}),J})}catch{}}}async function ht(t,n){try{const o=await fetch(Se(i,e,s,"write"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:V(t),content:n})});if(!o.ok){fe("file save failed",{path:t,status:o.status});return}fe("file saved via sandbox /write",{path:t}),K.invalidateQueries({queryKey:Ke(i,e,s)});try{const l=await un(i,e,s);fe("git status after save",l)}catch(l){fe("git status after save failed",{path:t,error:l instanceof Error?l.message:String(l)})}w(l=>{const f=new Map(l),v=f.get(t);return v&&f.set(t,{...v,savedContent:n}),f})}catch{}}function gt(t){h(t),B({name:t.split("/").pop()??t,path:t,kind:"file",children:[]}),S(null),U.includes(t)||C(n=>[...n,t]),Oe(t)}function vt(t){C(n=>{const o=n.filter(l=>l!==t);return d===t&&h(o[o.length-1]??null),o}),w(n=>{const o=new Map(n);return o.delete(t),o})}function Ae(t){M(n=>{const o=new Set(n);return o.has(t)?o.delete(t):o.add(t),o})}async function yt(t){if(be(t,j.current))try{if(await Te(t))return}catch(n){W.error(n instanceof Error?n.message:"Failed to load folder");return}Ae(t)}async function Ct(t,n){if(n){Ae(t);return}await yt(t)}async function ve(t){await P.current,await xt(t);const n=Ce(t);M(o=>{const l=new Set(o);for(const f of n)l.add(f);return l}),gt(t)}function wt(){return y?.kind==="directory"?y.path:y?.kind==="file"?je(y.path):d?je(d):"/"}function Le(t){const n=wt();X({mode:t,parentDir:n,node:{name:"",path:n,kind:"directory",children:[]}})}const bt=bn(x,p),Fe=jn(bt,g),Ie=I?Fe.filter(t=>t.node.name.toLowerCase().includes(I.toLowerCase())):Fe,ee=d?k.get(d):null,jt=ee?.loaded&&ee.editorValue!==ee.savedContent,ye=Y?st(Y.path):[],Nt=(t,n)=>{L.current=t,t.addCommand(n.KeyMod.CtrlCmd|n.KeyCode.KeyS,async()=>{if(!d)return;const o=t.getValue();await ht(d,o)}),t.addCommand(n.KeyMod.CtrlCmd|n.KeyCode.KeyK,()=>{const o=t.getSelection(),l=t.getModel();if(!o||!l||!d)return;const f=l.getValueInRange(o);S({filePath:d,lineStart:o.startLineNumber,lineEnd:o.endLineNumber,selectedCode:f})})};function St(t){if(!b)return;const n=[`The user selected code in the file explorer and asked: **"${t.trim()}"**`,"",`**File:** \`${b.filePath}\``,`**Lines:** ${b.lineStart}–${b.lineEnd}`];if(b.selectedCode){const o=we(b.filePath),l=b.selectedCode.replace(/```/g,"`` `");n.push("","**Selected code:**","```"+o,l,"```")}n.push("","Please read the source file, locate the code, and apply the requested change."),_(!0),z({parts:[{type:"text",text:n.join(`
|
|
2
|
-
`)}]}),S(null)}return q&&!$?r.jsx("div",{className:"flex items-center justify-center h-full w-full",children:r.jsx(ie,{size:20,className:"animate-spin text-muted-foreground"})}):r.jsxs("div",{className:"flex h-full w-full overflow-hidden",children:[r.jsxs("div",{className:"w-64 shrink-0 border-r flex flex-col overflow-hidden",children:[r.jsxs("div",{className:"flex items-center gap-1 p-2 border-b",children:[r.jsxs("div",{className:"relative min-w-0 flex-1",children:[r.jsx(qt,{size:14,className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground"}),r.jsx("input",{type:"text",value:I,onChange:t=>H(t.target.value),placeholder:"Search files...","aria-label":"Search files",className:"w-full rounded-md border border-input bg-transparent pl-7 pr-2 py-1.5 text-xs outline-none placeholder:text-muted-foreground focus:ring-1 focus:ring-ring"})]}),r.jsxs(ze,{children:[r.jsx(We,{asChild:!0,children:r.jsx(he,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":"New file",onClick:()=>Le("new-file"),children:r.jsx(Qt,{size:14})})}),r.jsx(Ge,{side:"bottom",children:"New file"})]}),r.jsxs(ze,{children:[r.jsx(We,{asChild:!0,children:r.jsx(he,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":"New folder",onClick:()=>Le("new-folder"),children:r.jsx(Ht,{size:14})})}),r.jsx(Ge,{side:"bottom",children:"New folder"})]})]}),r.jsx(Zt,{className:"flex-1",children:r.jsxs("div",{className:"py-1",children:[Ie.map(t=>{const{node:n,depth:o}=t,l=n.kind==="directory",f=g.has(n.path),v=y?.path===n.path,J=Nn(n.path,n.kind),de=l&&O.has(n.path);return r.jsx(dr,{node:n,depth:o,isExpanded:f,isSelected:v,isLoading:de,fileVisual:mr(n.name),onSelect:()=>B(n),onOpen:()=>{l?Ct(n.path,f):ve(n.path)},onNewFile:()=>X({mode:"new-file",node:n,parentDir:J}),onNewFolder:()=>X({mode:"new-folder",node:n,parentDir:J}),onCopyPath:()=>De("Path",me(n.path)),onCopyRelativePath:()=>De("Relative path",V(n.path)),onRename:()=>X({mode:"rename",node:n,parentDir:J}),onDelete:()=>ge(n)},n.path)}),$&&Ie.length===0&&r.jsx("div",{className:"px-3 py-4 text-center text-xs text-muted-foreground",children:I?`No files match "${I}"`:"No files found"})]})})]}),r.jsxs("div",{className:"relative flex-1 flex flex-col overflow-hidden",children:[U.length>0&&r.jsx("div",{className:"flex items-center border-b overflow-x-auto shrink-0",children:U.map(t=>{const n=k.get(t),o=n?.loaded&&n.editorValue!==n.savedContent,l=d===t,f=t.split("/").pop()??t;return r.jsxs("div",{className:ae("flex items-center gap-1 px-3 py-1.5 text-xs border-r cursor-pointer transition-colors",l?"bg-background text-foreground":"bg-muted/50 text-muted-foreground hover:bg-accent"),onClick:()=>{h(t),Oe(t)},onKeyDown:()=>{},role:"tab",tabIndex:0,"aria-selected":l,children:[r.jsx("span",{className:"truncate max-w-32",children:f}),o&&r.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-foreground/60 shrink-0"}),r.jsx("button",{type:"button",className:"ml-1 rounded p-0.5 hover:bg-accent-foreground/10",onClick:v=>{v.stopPropagation(),vt(t)},children:r.jsx(Jt,{size:12})})]},t)})}),b&&r.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 z-20 mt-2",style:{width:"360px"},children:r.jsxs("form",{className:"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:t=>{t.preventDefault();const o=t.currentTarget.elements.namedItem("askAiInput");o.value.trim()&&St(o.value)},children:[r.jsx("input",{name:"askAiInput",autoFocus:!0,type:"text",placeholder:"Ask the AI...",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground",onKeyDown:t=>{t.stopPropagation(),t.key==="Escape"&&S(null)}}),r.jsx("button",{type:"submit",className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-foreground text-background transition-opacity",title:"Send",children: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"})]})})]})}),r.jsx("div",{className:"flex-1 overflow-hidden",children:d&&ee?.loaded?r.jsx(Vt,{language:we(d),theme:document.documentElement.classList.contains("dark")?"vs-dark":"light",value:ee.editorValue,path:d,onChange:t=>{const n=d;n&&w(o=>{const l=new Map(o),f=l.get(n);return f&&l.set(n,{...f,editorValue:t??""}),l})},onMount:Nt,loading:r.jsx("div",{className:"flex items-center justify-center h-full w-full",children:r.jsx(ie,{size:20,className:"animate-spin text-muted-foreground"})}),options:{fontSize:13,scrollBeyondLastLine:!1,automaticLayout:!0,lineNumbersMinChars:2,wordWrap:"on",minimap:{enabled:!1},padding:{top:12,bottom:12},scrollbar:{vertical:"auto",horizontal:"auto",verticalScrollbarSize:8,horizontalScrollbarSize:8}}},d):d&&!ee?.loaded?r.jsx("div",{className:"flex items-center justify-center h-full w-full",children:r.jsx(ie,{size:20,className:"animate-spin text-muted-foreground"})}):r.jsx("div",{className:"flex items-center justify-center h-full w-full text-sm text-muted-foreground",children:"Select a file to edit"})}),d&&r.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-t text-[11px] text-muted-foreground shrink-0",children:[r.jsx("span",{className:"truncate",children:d}),r.jsxs("span",{children:[jt?"Modified":"Saved"," ·"," ",we(d)]})]})]}),r.jsx(En,{open:D!==null,mode:D?.mode??"new-file",initialName:D?.mode==="rename"?D.node.name:"",parentLabel:D&&D.mode!=="rename"?D.parentDir==="/"?"/":V(D.parentDir):void 0,isPending:ne,onSubmit:ut,onOpenChange:t=>{!t&&!ne&&X(null)}}),r.jsx(en,{open:Y!==null,onOpenChange:t=>{!t&&!ne&&ge(null)},children:r.jsxs(tn,{children:[r.jsxs(nn,{children:[r.jsxs(rn,{children:["Delete ",Y?.kind==="directory"?"folder":"file","?"]}),r.jsxs(on,{children:["This will permanently delete"," ",r.jsx("span",{className:"font-mono",children:Y?.name}),Y?.kind==="directory"?" and everything inside it.":".",ye.length>0&&r.jsxs(r.Fragment,{children:[" ",ye.length===1?"One open file has unsaved changes that will be lost.":`${ye.length} open files have unsaved changes that will be lost.`]})]})]}),r.jsxs(sn,{children:[r.jsx(an,{disabled:ne,children:"Cancel"}),r.jsx(ln,{disabled:ne||!Y,onClick:t=>{t.preventDefault(),Y&&dt(Y)},children:"Delete"})]})]})})]})}export{Hs as FileExplorer};
|