decocms 3.20.1 → 3.21.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-BiKiI44L.js → AlertCircle-CBwqugJe.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-a9y7JExT.js → ArrowUpRight--24rRsQC.js} +1 -1
- package/dist/client/assets/{Check-BXjvCNRo.js → Check-BEDsGGM_.js} +1 -1
- package/dist/client/assets/{CheckCircle-79umy6UR.js → CheckCircle-CFdIOhwM.js} +1 -1
- package/dist/client/assets/{ChevronDown-DERZQdMP.js → ChevronDown-Y-7MoOW4.js} +1 -1
- package/dist/client/assets/{ChevronLeft-C6IDOOPU.js → ChevronLeft-BSf4mKrR.js} +1 -1
- package/dist/client/assets/{ChevronRight-CBmg3jrn.js → ChevronRight-B1SVpAS5.js} +1 -1
- package/dist/client/assets/{ChevronUp-28KZDFJ3.js → ChevronUp-DooNP946.js} +1 -1
- package/dist/client/assets/{Container-Bmp8f1Hw.js → Container-BcM96X15.js} +1 -1
- package/dist/client/assets/{DotsVertical-BfY2m12a.js → DotsVertical-kVh0UVRo.js} +1 -1
- package/dist/client/assets/{Eye-DNuwjCPP.js → Eye-Bowp4iez.js} +1 -1
- package/dist/client/assets/{FilterLines-0ZErBJ3i.js → FilterLines-DXSEbwW6.js} +1 -1
- package/dist/client/assets/{Globe01-DUsTmpYW.js → Globe01-CF7IqqKh.js} +1 -1
- package/dist/client/assets/{HardDrive-CTInlaSO.js → HardDrive-CPqmzwVB.js} +1 -1
- package/dist/client/assets/{Key01-DhkJOk-2.js → Key01-NY-IsQgy.js} +1 -1
- package/dist/client/assets/{LayoutLeft-C4WMufMy.js → LayoutLeft-BgC7aOjO.js} +1 -1
- package/dist/client/assets/{LinkExternal01-pT0NrKlt.js → LinkExternal01-Cgr3jZjD.js} +1 -1
- package/dist/client/assets/{Monitor01-BqHMMIjb.js → Monitor01-BLzNpHgz.js} +1 -1
- package/dist/client/assets/{Palette-B1alDozW.js → Palette-6N_c4T4_.js} +1 -1
- package/dist/client/assets/{Play--ZCMNFjg.js → Play-B9p1kZpZ.js} +1 -1
- package/dist/client/assets/{Plus-C1rAdUXl.js → Plus-Bymlyq77.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-Bdic4y2D.js → RefreshCcw01-CR5XeXPv.js} +1 -1
- package/dist/client/assets/{SearchMd-BuArn0kO.js → SearchMd-7k7TbMsJ.js} +1 -1
- package/dist/client/assets/{Settings02-CMckE2RK.js → Settings02-DbR-330c.js} +1 -1
- package/dist/client/assets/{Shield01-XGinfl8i.js → Shield01-wwDAi_uJ.js} +1 -1
- package/dist/client/assets/{Star01-lcgisujL.js → Star01-DVebopnN.js} +1 -1
- package/dist/client/assets/{Stars01-CQ0RN6al.js → Stars01-CDcY9WwZ.js} +1 -1
- package/dist/client/assets/{Stars02-bUApAo8o.js → Stars02-YwHPi-7I.js} +1 -1
- package/dist/client/assets/{Sun-BhoXpP-F.js → Sun-DXdRtf6l.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-D9V4WNpS.js → SwitchHorizontal01-Dha4DHjZ.js} +1 -1
- package/dist/client/assets/{Tool01-nw4j5J0X.js → Tool01-BTE6nmQ4.js} +1 -1
- package/dist/client/assets/{Trash01-BoFGJN1_.js → Trash01-B-X6RyaC.js} +1 -1
- package/dist/client/assets/{Upload01-Cmfv30sX.js → Upload01-DsBsPR-L.js} +1 -1
- package/dist/client/assets/{User01-of2DRTwj.js → User01-Y_Kyyfi4.js} +1 -1
- package/dist/client/assets/{Users01-DYI7DwUF.js → Users01-e0FZKqF3.js} +1 -1
- package/dist/client/assets/{Users03-DYjDLJbQ.js → Users03-BwOA6RiF.js} +1 -1
- package/dist/client/assets/{X-DWbNv8Bl.js → X-CeSkzEjM.js} +1 -1
- package/dist/client/assets/{XCircle-DDLSDNYP.js → XCircle-qkpSwHM6.js} +1 -1
- package/dist/client/assets/{XClose-B1Jrn5dt.js → XClose-CodFwf_E.js} +1 -1
- package/dist/client/assets/{Zap-BBs40ZSU.js → Zap-Gvzp-SH3.js} +1 -1
- package/dist/client/assets/{ZapSquare-DfDC54JS.js → ZapSquare-M-fH4MJf.js} +1 -1
- package/dist/client/assets/{ZoomOut-xmLm2dBO.js → ZoomOut-CgCAgEfn.js} +1 -1
- package/dist/client/assets/{access-gate-CZrbf5CL.js → access-gate-yH-Av9gZ.js} +1 -1
- package/dist/client/assets/{accordion-BSz8aiEx.js → accordion-Wptwv3ei.js} +1 -1
- package/dist/client/assets/add-section-modal-C596gc6u.js +1 -0
- package/dist/client/assets/{agent-capabilities-B27hg_M4.js → agent-capabilities-pAj3t6Aa.js} +1 -1
- package/dist/client/assets/{agent-icon-DfM7tMDC.js → agent-icon-BDCTH9NT.js} +1 -1
- package/dist/client/assets/{agent-icons-Bd8x3NUl.js → agent-icons-Jj9QCCT9.js} +1 -1
- package/dist/client/assets/{agents-list-jJ3SCTiq.js → agents-list-DvLskc8Q.js} +1 -1
- package/dist/client/assets/{ai-providers-CvW8VLxj.js → ai-providers-BBIu7ZXT.js} +1 -1
- package/dist/client/assets/{alert-pkP6Ribw.js → alert-C6yRIixe.js} +1 -1
- package/dist/client/assets/{alert-dialog-C4ynNGJF.js → alert-dialog-DPYmMCbT.js} +1 -1
- package/dist/client/assets/app-editor-X4geDaql.js +1 -0
- package/dist/client/assets/{auth-catchall-BORQNXyD.js → auth-catchall-MOPzdxWf.js} +1 -1
- package/dist/client/assets/{auth-split-layout-fc9XAQ3S.js → auth-split-layout-CelS9Z9I.js} +1 -1
- package/dist/client/assets/{automation-list-row-DTxZO-vH.js → automation-list-row-Cscfso-k.js} +1 -1
- package/dist/client/assets/{automation-runs-XPUSkViZ.js → automation-runs-B9tKW-5u.js} +1 -1
- package/dist/client/assets/{automations-BxQFQTdM.js → automations-BmKAo4DY.js} +1 -1
- package/dist/client/assets/{avatar-Cmykl5Hl.js → avatar-CB3_y_zI.js} +1 -1
- package/dist/client/assets/{badge-CYgKxTpF.js → badge-CQybGfxn.js} +1 -1
- package/dist/client/assets/{brand-context-Dg59Sj8x.js → brand-context-BmtDTKSi.js} +1 -1
- package/dist/client/assets/{buckets-Czvp0uyU.js → buckets-BdiAvpJ6.js} +1 -1
- package/dist/client/assets/{calendar-BbdXUff-.js → calendar-BZZJ1lU5.js} +1 -1
- package/dist/client/assets/{capability-load-error-ByfTnmda.js → capability-load-error-BgxjXvkK.js} +1 -1
- package/dist/client/assets/{card-CANcGy5k.js → card-D-5GEcNj.js} +1 -1
- package/dist/client/assets/{chat-context-xuPBtQVH.js → chat-context-CQ8Sv7Z0.js} +1 -1
- package/dist/client/assets/{checkbox-Djxv9Ar7.js → checkbox-B6S6Zp2z.js} +1 -1
- package/dist/client/assets/{cli-auth-success-Cn-VYVl9.js → cli-auth-success-DqylkzZK.js} +1 -1
- package/dist/client/assets/{collection-detail-BDTL3JhR.js → collection-detail-2BYHOr3-.js} +1 -1
- package/dist/client/assets/{collection-display-button-BjlL9Woc.js → collection-display-button-D3QV52tk.js} +1 -1
- package/dist/client/assets/{collection-search-DSz3RDou.js → collection-search-CwRnoUd2.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CFky-DXb.js → collection-table-wrapper-DuBP5O7g.js} +1 -1
- package/dist/client/assets/{collection-tabs-BcYP8buy.js → collection-tabs-BaSPyUXn.js} +1 -1
- package/dist/client/assets/{collections-BVLezaR1.js → collections-CpOrr_Gv.js} +1 -1
- package/dist/client/assets/{command-CnCEvYjS.js → command-DprDJr8i.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-Lo4qdhfs.js → connect-desktop-dialog-Uaj5e58Y.js} +1 -1
- package/dist/client/assets/{connection-card-D82-toy5.js → connection-card-C5qc95C-.js} +1 -1
- package/dist/client/assets/{connection-detail-C_fITaGC.js → connection-detail-ClgTkTr2.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-UH9KShfg.js → connection-form-helpers-DWZPGoQ0.js} +1 -1
- package/dist/client/assets/{connections-sH97qYmC.js → connections-CNnVWMCc.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-C-7QzQnf.js → decopilot-sse-pool-oHmW4h5V.js} +1 -1
- package/dist/client/assets/{dialog-CRbRTRjQ.js → dialog-CxQuymkd.js} +1 -1
- package/dist/client/assets/{domain-settings-Cl33lrry.js → domain-settings-C-5nsb1F.js} +1 -1
- package/dist/client/assets/{drawer-BOb8J64a.js → drawer-Cpdg2y8l.js} +1 -1
- package/dist/client/assets/{dropdown-menu-o8504Ahe.js → dropdown-menu-Kn1KFf_7.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-yJWugNv9.js → dynamic-plugin-layout-m2PVEPiw.js} +1 -1
- package/dist/client/assets/{empty-state-BqjWWsLJ.js → empty-state-B1_qnFui.js} +1 -1
- package/dist/client/assets/{empty-state-iHDXNEBU.js → empty-state-CSC6EQIQ.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Dfy3Qlc3.js → extract-connection-data-DLKFWvUj.js} +1 -1
- package/dist/client/assets/{features-DKmzCIZF.js → features-OWKqeKPc.js} +1 -1
- package/dist/client/assets/{file-explorer-DyPSLDIH.js → file-explorer-cLwV2vYd.js} +1 -1
- package/dist/client/assets/{file-type-icon-C5unlJPE.js → file-type-icon-Bosly9dX.js} +1 -1
- package/dist/client/assets/{files-Dk33oDA1.js → files-DhKSL0bf.js} +1 -1
- package/dist/client/assets/{form-CmvFmoxJ.js → form-BEq77uTF.js} +1 -1
- package/dist/client/assets/{general-3ekLpUOj.js → general-BbVuoj3y.js} +1 -1
- package/dist/client/assets/{generate-id-yESv9K1i.js → generate-id-CpIkXSfl.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BNoPWqQE.js → github-repo-picker-DeZ7XjfM.js} +1 -1
- package/dist/client/assets/header-tab-button-B3Zn4qt-.js +5 -0
- package/dist/client/assets/{hover-card-Clt-L-5u.js → hover-card-CiGu2Rc9.js} +1 -1
- package/dist/client/assets/{image-field-fSOsfNOS.js → image-field-KXYbIIcm.js} +1 -1
- package/dist/client/assets/{index-qOg3Rq1i.js → index-0wo9R-KN.js} +1 -1
- package/dist/client/assets/{index-beoEt2Qf.js → index-1x-cRIHB.js} +1 -1
- package/dist/client/assets/{index-B5koQSO_.js → index-4wfPgw7r.js} +1 -1
- package/dist/client/assets/{index-v-4yPWk5.js → index-B7vG9XMB.js} +3 -3
- package/dist/client/assets/{index-CBptA12o.js → index-BxXPz7Bo.js} +1 -1
- package/dist/client/assets/index-C4D2JWLP.css +1 -0
- package/dist/client/assets/{index-Dcy4qvFS.js → index-CByCDOy2.js} +1 -1
- package/dist/client/assets/{index-oVaThiKb.js → index-CLB6WU0x.js} +1 -1
- package/dist/client/assets/{index-dQSPhEbP.js → index-CVKiAO9w.js} +1 -1
- package/dist/client/assets/{index-tnP0ll1b.js → index-CYhCrWAi.js} +28 -28
- package/dist/client/assets/{index-I3812Vft.js → index-CgnnAE8X.js} +1 -1
- package/dist/client/assets/{index-B-dwfQaO.js → index-CtCvHbuC.js} +1 -1
- package/dist/client/assets/{index-DL_YJ_kc.js → index-D54pKkTb.js} +1 -1
- package/dist/client/assets/{index-CgVH5Gsy.js → index-DLL1noOh.js} +1 -1
- package/dist/client/assets/{index-RZpEFxBX.js → index-DbKaISqA.js} +1 -1
- package/dist/client/assets/{index-redirect-BvT5beZX.js → index-redirect-SPQ5XDqE.js} +1 -1
- package/dist/client/assets/{index-C5VM3lmZ.js → index-z3J3f1Ar.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-C1PO3LYQ.js → infiniteQueryObserver-COC30QjI.js} +1 -1
- package/dist/client/assets/{input-DMJCExP6.js → input-BlbFVhmY.js} +1 -1
- package/dist/client/assets/{integration-icon-CCk0_Shy.js → integration-icon-DV694Bxd.js} +1 -1
- package/dist/client/assets/{label-Cydnpuha.js → label-DusmHQMe.js} +1 -1
- package/dist/client/assets/{layout-CYzkZYWN.js → layout-CSvam0IG.js} +1 -1
- package/dist/client/assets/{login-C8gbPZ_q.js → login-BDEm2zEc.js} +1 -1
- package/dist/client/assets/{members-eOFmKnk2.js → members-Bomx0Sn5.js} +1 -1
- package/dist/client/assets/{monaco-editor-B1jmgnr2.js → monaco-editor-DkKdkwZa.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-Bhd7otxG.js → monitoring-stats-row-CX_8bt9_.js} +1 -1
- package/dist/client/assets/{oauth-callback-D_OMww7o.js → oauth-callback-CgtlvaLv.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-BrH5KwkX.js → oauth-callback-ai-provider-BYMLI4dT.js} +1 -1
- package/dist/client/assets/{onboarding-x5rgQZTE.js → onboarding-BF9j6YV8.js} +1 -1
- package/dist/client/assets/{org-install-DztqscE_.js → org-install-DGQXekU8.js} +1 -1
- package/dist/client/assets/{org-layout-Djy749Lv.js → org-layout-bYdeQW0W.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-CL51Q8mZ.js → org-plugin-layout-CM3JP6B6.js} +1 -1
- package/dist/client/assets/page-seo-form-DFQzldH7.js +1 -0
- package/dist/client/assets/page-seo-sheet-CPW3cnfl.js +1 -0
- package/dist/client/assets/{pair-q0PU9j8x.js → pair-B6RPc276.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-KoGMJ4Fp.js → plugin-empty-state-C4jzTlPx.js} +1 -1
- package/dist/client/assets/{plugin-header-CDllrFVE.js → plugin-header-CVstxVuf.js} +1 -1
- package/dist/client/assets/{plugin-layout-D37luZoZ.js → plugin-layout-CNVxRIAq.js} +1 -1
- package/dist/client/assets/{popover-BGH6hpUr.js → popover-k1SAuM8F.js} +1 -1
- package/dist/client/assets/{post-editor-DqWr1-HF.js → post-editor-CBrNSYLu.js} +1 -1
- package/dist/client/assets/{primitives-ZaZwVc6Z.js → primitives-BSCmh5I1.js} +1 -1
- package/dist/client/assets/{profile-D9QM6SPx.js → profile-BQ5pYJ22.js} +1 -1
- package/dist/client/assets/{project-app-view-DFa2dXeb.js → project-app-view-v4OZRUM9.js} +1 -1
- package/dist/client/assets/record-editor-OCeUQc_J.js +1 -0
- package/dist/client/assets/registry-CnAAEzHT.js +2 -0
- package/dist/client/assets/{registry-layout-B5ue7X7K.js → registry-layout-DBMQThih.js} +1 -1
- package/dist/client/assets/{require-capability-B6a3uwXa.js → require-capability-DSMbLiZI.js} +1 -1
- package/dist/client/assets/{required-auth-layout-eILzytQh.js → required-auth-layout-D9SRhJSc.js} +1 -1
- package/dist/client/assets/{reset-password-CVi0Kz7H.js → reset-password-C9Ln3Zoi.js} +1 -1
- package/dist/client/assets/{resizable-CJjEyhK7.js → resizable-Ba9LvnO6.js} +1 -1
- package/dist/client/assets/{roles-kJnY_8Mm.js → roles-NETfFBX2.js} +1 -1
- package/dist/client/assets/save-referenced-block-gIsmpl0Z.js +1 -0
- package/dist/client/assets/{save-status-kbN5j4dY.js → save-status-DYfqaiw8.js} +1 -1
- package/dist/client/assets/schema-form-DrlyaJpj.js +1 -0
- package/dist/client/assets/{scroll-area-CIVwHWtS.js → scroll-area-DYol0Grn.js} +1 -1
- package/dist/client/assets/{search-input-BC9i8QlA.js → search-input-nVygL8OB.js} +1 -1
- package/dist/client/assets/{secrets-DtXQgObn.js → secrets-B4fzmsTc.js} +1 -1
- package/dist/client/assets/sections-editor-QyxhsS1_.js +2 -0
- package/dist/client/assets/{select-BjY8Jgav.js → select-B4unS8Yd.js} +1 -1
- package/dist/client/assets/{select-model-DOn11Z7b.js → select-model-CKy0zqKb.js} +1 -1
- package/dist/client/assets/{seo-editor-CaNd-azV.js → seo-editor-BdEjBqlb.js} +1 -1
- package/dist/client/assets/{settings-layout-DRTOSi2K.js → settings-layout-DuBEt8Gq.js} +1 -1
- package/dist/client/assets/{settings-section-DyB2NAPA.js → settings-section-B1XnnsKo.js} +1 -1
- package/dist/client/assets/{sheet-DruC4GtE.js → sheet-BBAkMmdU.js} +1 -1
- package/dist/client/assets/{shell-controls-BEBIH-Ax.js → shell-controls-CpJ33jvP.js} +1 -1
- package/dist/client/assets/{shell-layout-eEtSpk5j.js → shell-layout-ZMa83VsB.js} +1 -1
- package/dist/client/assets/{shell-route-loading-BcsrhQn7.js → shell-route-loading-DSUwFCkI.js} +1 -1
- package/dist/client/assets/{sidebar-CYu-6Gzi.js → sidebar-D5sx4cw7.js} +1 -1
- package/dist/client/assets/{skeleton-DK2Fokh_.js → skeleton-DSWxpPIh.js} +1 -1
- package/dist/client/assets/{sortable.esm-1IzLCE3w.js → sortable.esm-DuiWwZfa.js} +1 -1
- package/dist/client/assets/{spinner-BggGXeYI.js → spinner-DmCMgGSO.js} +1 -1
- package/dist/client/assets/{sso-ic1miYKl.js → sso-DUBJz_x2.js} +1 -1
- package/dist/client/assets/{store-C4tNTNi1.js → store-DYDE6pHq.js} +1 -1
- package/dist/client/assets/store-registry-D8gFa-sw.js +2 -0
- package/dist/client/assets/{switch-DRq3hJSo.js → switch-kJsDxWvb.js} +1 -1
- package/dist/client/assets/{tab-id-BJeBBzov.js → tab-id-Bmckb_ZN.js} +1 -1
- package/dist/client/assets/{table-D3XdCvZp.js → table-Cx2A_sz5.js} +1 -1
- package/dist/client/assets/{tabs-aQunvyGd.js → tabs-B-z6K-Df.js} +1 -1
- package/dist/client/assets/{task-status-CbuV-3eP.js → task-status-C-gQCQz-.js} +1 -1
- package/dist/client/assets/{textarea-CEsBzC6t.js → textarea-WpZ6d3aj.js} +1 -1
- package/dist/client/assets/{toggle-group-v0racvq3.js → toggle-group-CS6geM2v.js} +1 -1
- package/dist/client/assets/{toolbar-QrhbD1LQ.js → toolbar-B7mbC32u.js} +1 -1
- package/dist/client/assets/{tools-list-Dw6j-mti.js → tools-list-Cv15T5e5.js} +1 -1
- package/dist/client/assets/{tooltip-DvNlo5ri.js → tooltip-CwxdEfJN.js} +1 -1
- package/dist/client/assets/{types-COwjtZM8.js → types-akMlG6_N.js} +1 -1
- package/dist/client/assets/{use-ai-providers-BKDhxtFe.js → use-ai-providers-DQ_Lg3nK.js} +1 -1
- package/dist/client/assets/{use-automations-DMOY10H-.js → use-automations-DycGy3r5.js} +1 -1
- package/dist/client/assets/{use-capability-DGmhThV5.js → use-capability-BhXqmGDG.js} +1 -1
- package/dist/client/assets/{use-collections-d0NY3CF9.js → use-collections-BsA9K23E.js} +1 -1
- package/dist/client/assets/{use-connection-Dz8syqkL.js → use-connection-CJ6MBogv.js} +1 -1
- package/dist/client/assets/{use-copy-Qm5PoymQ.js → use-copy-BcPxqPQz.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CakwJE5T.js → use-create-virtual-mcp-pvfszp3d.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-C_jxuSEe.js → use-debounced-autosave-DhKjGFFk.js} +1 -1
- package/dist/client/assets/{use-delete-connection-Bb_kkkS5.js → use-delete-connection-CtnxdJxw.js} +1 -1
- package/dist/client/assets/{use-file-configs-BVh0-t8s.js → use-file-configs-2gqpEUPc.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-DbJV2aWp.js → use-infinite-scroll-Dq4LQvGA.js} +1 -1
- package/dist/client/assets/{use-list-state-BRMBUjOm.js → use-list-state-Jee6I2EQ.js} +1 -1
- package/dist/client/assets/{use-mcp-client-DR6PB45n.js → use-mcp-client-G3uFjg07.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-BKDHmEg_.js → use-mcp-prompts-oto_asve.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BrZjJ9zc.js → use-mcp-tools-CHLE0GCH.js} +1 -1
- package/dist/client/assets/{use-members-BQ26-EKO.js → use-members-DX3EwEQX.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-COvK7v8V.js → use-navigate-to-agent-CzNZ7f2D.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-6-YfaYzt.js → use-org-auth-client-HBznaAU-.js} +1 -1
- package/dist/client/assets/{use-org-sso-Bc6Fs-WH.js → use-org-sso-bBdDyUxO.js} +1 -1
- package/dist/client/assets/{use-organization-roles-Kv2MIjXn.js → use-organization-roles-DfBql3U5.js} +1 -1
- package/dist/client/assets/{use-organization-settings-C_PFgE7g.js → use-organization-settings-nE3QaAmY.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Fz6Tqm1j.js → use-registry-connections-Bf4QfKOn.js} +1 -1
- package/dist/client/assets/{use-secrets-CmzHGX24.js → use-secrets-CMSnZcAo.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DadivPgy.js → use-status-sounds-DpH3cDkD.js} +1 -1
- package/dist/client/assets/{use-view-mode-BTRVa00m.js → use-view-mode-YX6kaXqJ.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-Cxb5tpje.js → use-virtual-mcp-DLclk59A.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BYCGnaMl.js +1 -0
- package/dist/client/assets/{useRouterState-BMTgOPTS.js → useRouterState-VGJ_ztuJ.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CttlyQrq.js +1 -0
- package/dist/client/assets/{user-DxLdHnQg.js → user-CvuJ8gsu.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-D7zEkHxC.js → view-mode-toggle-Bd-KjzIY.js} +1 -1
- package/dist/client/assets/{workflow-CqwIhtK4.js → workflow-BiwkeemM.js} +1 -1
- package/dist/client/assets/workflow-detail-BES81Spk.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/add-section-modal-VNTyTVJJ.js +0 -1
- package/dist/client/assets/app-editor-tM5L8LeY.js +0 -1
- package/dist/client/assets/header-tab-button-Dcs0BcqM.js +0 -5
- package/dist/client/assets/index-BgFgIfs8.css +0 -1
- package/dist/client/assets/page-seo-form-CbAafkHJ.js +0 -1
- package/dist/client/assets/page-seo-sheet-pHFDJAAc.js +0 -1
- package/dist/client/assets/record-editor-B-SAraV7.js +0 -1
- package/dist/client/assets/registry-C5dC17io.js +0 -2
- package/dist/client/assets/schema-form-DSVAzke8.js +0 -1
- package/dist/client/assets/sections-editor-B053UCeS.js +0 -2
- package/dist/client/assets/store-registry-B_3NSYXE.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Bj28n6ln.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DT54Ek4w.js +0 -1
- package/dist/client/assets/workflow-detail-ktTAfCXV.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,e as m,a0 as h}from"./index-
|
|
1
|
+
import{r as o,e as m,a0 as h}from"./index-B7vG9XMB.js";import{p as R,q as I}from"./question-004-sINsf4GQ.js";import{d as y,D as S}from"./decopilot-sse-pool-oHmW4h5V.js";const b=()=>0;function D(s){const{orgSlug:e,taskId:r,enabled:t=!0,onStep:n,onFinish:u,onTaskStatus:f}=s,l=o.useRef({taskId:r,onStep:n,onFinish:u,onTaskStatus:f});l.current={taskId:r,onStep:n,onFinish:u,onTaskStatus:f};const i=o.useRef(null),p=o.useRef(t),d=o.useRef(e);(!i.current||p.current!==t||d.current!==e)&&(p.current=t,d.current=e,i.current=E=>{if(!t||!e)return()=>{};const k=T=>{let a;try{a=JSON.parse(T.data)}catch{return}const c=l.current;if(!(c.taskId&&a.subject!==c.taskId)){switch(a.type){case S.STEP:c.onStep?.(a);break;case S.FINISH:c.onFinish?.(a);break;case S.THREAD_STATUS:c.onTaskStatus?.(a);break}E()}};return y.subscribe(e,k)}),o.useSyncExternalStore(i.current,b,b)}const O=new Set(["completed","failed","requires_action"]);function U(s){const e=m.c(5),[r]=h();let t;e[0]!==r?(t=u=>{r.enableSounds&&O.has(u.data.status)&&R(I.dataUri).catch(_)},e[0]=r,e[1]=t):t=e[1];let n;e[2]!==s||e[3]!==t?(n={orgSlug:s,onTaskStatus:t},e[2]=s,e[3]=t,e[4]=n):n=e[4],D(n)}function _(s){console.warn("[status-sounds] playback failed:",s)}export{U as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as p,r as f}from"./index-
|
|
1
|
+
import{e as p,r as f}from"./index-B7vG9XMB.js";import{u as w}from"./tooltip-CwxdEfJN.js";function S(m,M){const e=p.c(12),u=M===void 0?"cards":M,o=w(),b=f.useRef(o),s=m?`deco-view-mode-${m}`:"deco-view-mode";let i;e[0]!==u||e[1]!==s?(i=()=>{const r=globalThis.localStorage?.getItem(s);return r==="cards"||r==="table"?r:u},e[0]=u,e[1]=s,e[2]=i):i=e[2];const[t,g]=f.useState(i);let l;e[3]!==s?(l=r=>{g(r),globalThis.localStorage?.setItem(s,r)},e[3]=s,e[4]=l):l=e[4];const d=l;let c,a;e[5]!==o||e[6]!==t?(c=()=>{!b.current&&o&&t==="table"&&g("cards"),b.current=o},a=[o,t],e[5]=o,e[6]=t,e[7]=c,e[8]=a):(c=e[7],a=e[8]),f.useEffect(c,a);let n;return e[9]!==d||e[10]!==t?(n=[t,d],e[9]=d,e[10]=t,e[11]=n):n=e[11],n}export{S as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as a,q as d,aO as p,n as P}from"./index-
|
|
1
|
+
import{e as a,q as d,aO as p,n as P}from"./index-B7vG9XMB.js";import{b as L,a as S,u as V,c as _}from"./use-collections-BsA9K23E.js";import{S as g,u as I}from"./use-mcp-client-G3uFjg07.js";function v(s){const t=a.c(5);let e;t[0]!==s?(e=s===void 0?{}:s,t[0]=s,t[1]=e):e=t[1];const n=e,{org:i}=d();let o;t[2]!==i.id||t[3]!==i.slug?(o={connectionId:g,orgId:i.id,orgSlug:i.slug},t[2]=i.id,t[3]=i.slug,t[4]=o):o=t[4];const l=I(o);return L(i.id,"VIRTUAL_MCP",l,n)}function R(s,t,e){return _(s,"VIRTUAL_MCP",t??void 0,e)}function b(s){const t=a.c(3),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);return V(e.id,"VIRTUAL_MCP",s??void 0,i)}function E(s){const t=a.c(15),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);let o,l,c;t[3]!==s||t[4]!==e.id?(o=[...s].sort(),c=P,l=p.virtualMcpLastUsed(e.id,o),t[3]=s,t[4]=e.id,t[5]=o,t[6]=l,t[7]=c):(o=t[5],l=t[6],c=t[7]);const C=o.length>0;let u;t[8]!==i||t[9]!==o?(u=async()=>{const M=(await i.callTool({name:"VIRTUAL_MCP_LAST_USED_LIST",arguments:{ids:o}})).structuredContent??{items:[]},f=new Map;for(const m of M.items)f.set(m.id,m);return f},t[8]=i,t[9]=o,t[10]=u):u=t[10];let r;return t[11]!==l||t[12]!==C||t[13]!==u?(r={queryKey:l,enabled:C,staleTime:3e4,queryFn:u},t[11]=l,t[12]=C,t[13]=u,t[14]=r):r=t[14],c(r)}function $(){const s=a.c(3),{org:t}=d();let e;s[0]!==t.id||s[1]!==t.slug?(e={connectionId:g,orgId:t.id,orgSlug:t.slug},s[0]=t.id,s[1]=t.slug,s[2]=e):e=s[2];const n=I(e);return S(t.id,"VIRTUAL_MCP",n)}export{v as a,$ as b,E as c,b as u,R as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as u}from"./infiniteQueryObserver-COC30QjI.js";import{cE as i}from"./index-B7vG9XMB.js";function t(e,r){return i(e,u,r)}export{t as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bo as s,r as c,bR as a,bS as i}from"./index-
|
|
1
|
+
import{bo as s,r as c,bR as a,bS as i}from"./index-B7vG9XMB.js";function S(r){const n=s({warn:r?.router===void 0}),t=r?.router||n,u=c.useRef(void 0);return a(t.stores.__store,e=>{if(r?.select){if(r.structuralSharing??t.options.defaultStructuralSharing){const o=i(u.current,r.select(e));return u.current=o,o}return r.select(e)}return e})}export{S as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as s}from"./infiniteQueryObserver-COC30QjI.js";import{cE as u,aF as n}from"./index-B7vG9XMB.js";function a(r,e){return u({...r,enabled:!0,suspense:!0,throwOnError:n},s,e)}export{a as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as S,q as b,n as C,K as k,c as y,j as t}from"./index-
|
|
1
|
+
import{e as S,q as b,n as C,K as k,c as y,j as t}from"./index-B7vG9XMB.js";import{A as E}from"./avatar-CB3_y_zI.js";import{S as A,u as _}from"./use-mcp-client-G3uFjg07.js";function q(m){const e=S.c(12),{org:u}=b();let x;e[0]!==u.id||e[1]!==u.slug?(x={connectionId:A,orgId:u.id,orgSlug:u.slug},e[0]=u.id,e[1]=u.slug,e[2]=x):x=e[2];const g=_(x);let d;e[3]!==m?(d=k.user(m),e[3]=m,e[4]=d):d=e[4];let s;e[5]!==g||e[6]!==m?(s=async()=>{const c=await g.callTool({name:"USER_GET",arguments:{id:m}});return(c.structuredContent??c).user},e[5]=g,e[6]=m,e[7]=s):s=e[7];const l=!!m;let o;return e[8]!==d||e[9]!==s||e[10]!==l?(o={queryKey:d,queryFn:s,staleTime:3e5,retry:1,enabled:l},e[8]=d,e[9]=s,e[10]=l,e[11]=o):o=e[11],C(o)}function R(m){const e=S.c(36),{id:u,size:x,showEmail:g,avatarOnly:d,className:s}=m,l=x===void 0?"xs":x,o=g===void 0?!1:g,c=d===void 0?!1:d,{data:r,isLoading:w,isError:U}=q(u);if(w){let a;e[0]!==s?(a=y("flex items-center gap-2",s),e[0]=s,e[1]=a):a=e[1];let i;e[2]!==l?(i=t.jsx(E.Skeleton,{shape:"circle",size:l}),e[2]=l,e[3]=i):i=e[3];let n;e[4]!==c||e[5]!==o?(n=!c&&t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),o&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"})]}),e[4]=c,e[5]=o,e[6]=n):n=e[6];let f;return e[7]!==a||e[8]!==i||e[9]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[7]=a,e[8]=i,e[9]=n,e[10]=f):f=e[10],f}if(U||!r){let a;e[11]!==s?(a=y("flex items-center gap-2",s),e[11]=s,e[12]=a):a=e[12];let i;e[13]!==l?(i=t.jsx(E,{shape:"circle",size:l,fallback:"?",muted:!0}),e[13]=l,e[14]=i):i=e[14];let n;e[15]!==c?(n=!c&&t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[15]=c,e[16]=n):n=e[16];let f;return e[17]!==a||e[18]!==i||e[19]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[17]=a,e[18]=i,e[19]=n,e[20]=f):f=e[20],f}let p;e[21]!==s?(p=y("flex items-center gap-2",s),e[21]=s,e[22]=p):p=e[22];const N=r.image??void 0;let v;e[23]!==l||e[24]!==N||e[25]!==r.name?(v=t.jsx(E,{shape:"circle",size:l,url:N,fallback:r.name}),e[23]=l,e[24]=N,e[25]=r.name,e[26]=v):v=e[26];let j;e[27]!==c||e[28]!==o||e[29]!==r.email||e[30]!==r.name?(j=!c&&t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"text-sm font-medium",children:r.name}),o&&t.jsx("div",{className:"text-xs text-muted-foreground",children:r.email})]}),e[27]=c,e[28]=o,e[29]=r.email,e[30]=r.name,e[31]=j):j=e[31];let h;return e[32]!==p||e[33]!==v||e[34]!==j?(h=t.jsxs("div",{className:p,children:[v,j]}),e[32]=p,e[33]=v,e[34]=j,e[35]=h):h=e[35],h}export{R as U};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as k,r as C,c as x,j as i}from"./index-
|
|
1
|
+
import{e as k,r as C,c as x,j as i}from"./index-B7vG9XMB.js";import{b as I,T as P,a as L}from"./tooltip-CwxdEfJN.js";const M={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function B(S){const e=k.c(27),{value:s,onValueChange:y,options:o,size:R,fullWidth:E,className:z}=S,V=R===void 0?"sm":R,u=E===void 0?!1:E;let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=[],e[0]=b):b=e[0];const _=C.useRef(b);let g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g={left:0,width:0,opacity:0},e[1]=g):g=e[1];const[f,W]=C.useState(g);let h,p;e[2]!==o||e[3]!==s?(h=()=>{const t=o.findIndex(j=>j.value===s),m=_.current[t];m&&W({left:m.offsetLeft,width:m.offsetWidth,opacity:1})},p=[s,o],e[2]=o,e[3]=s,e[4]=h,e[5]=p):(h=e[4],p=e[5]),C.useEffect(h,p);const d=M[V];let n;e[6]!==z?(n=x("relative flex gap-0 bg-muted rounded-lg",z),e[6]=z,e[7]=n):n=e[7];let l;e[8]!==d||e[9]!==u||e[10]!==y||e[11]!==o||e[12]!==s?(l=o.map((t,m)=>{const j=i.jsxs("button",{ref:$=>{_.current[m]=$},type:"button",onClick:()=>y(t.value),className:x("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",u?"flex-1 h-12 px-4":d.button,!u&&t.label?"px-3":""),children:[i.jsx("span",{className:x("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",d.icon,s===t.value?"text-foreground":"text-muted-foreground"),children:t.icon}),t.label&&i.jsx("span",{className:x("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===t.value?"text-foreground":"text-muted-foreground"),children:t.label})]},t.value);return t.tooltip?i.jsxs(I,{children:[i.jsx(P,{asChild:!0,children:j}),i.jsx(L,{side:"bottom",children:t.tooltip})]},t.value):j}),e[8]=d,e[9]=u,e[10]=y,e[11]=o,e[12]=s,e[13]=l):l=e[13];const w=u?"h-12":d.button;let a;e[14]!==w?(a=x("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),e[14]=w,e[15]=a):a=e[15];const N=`${f.left}px`,T=`${f.width}px`;let r;e[16]!==f.opacity||e[17]!==N||e[18]!==T?(r={left:N,width:T,opacity:f.opacity},e[16]=f.opacity,e[17]=N,e[18]=T,e[19]=r):r=e[19];let c;e[20]!==a||e[21]!==r?(c=i.jsx("div",{className:a,style:r}),e[20]=a,e[21]=r,e[22]=c):c=e[22];let v;return e[23]!==c||e[24]!==n||e[25]!==l?(v=i.jsxs("div",{className:n,children:[l,c]}),e[23]=c,e[24]=n,e[25]=l,e[26]=v):v=e[26],v}export{B as V};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as oe,j as t,B as Ce,f as Be,b as ct,q as ze,r as dt,o as Le,G as mt,a as pt,K as Fe,ea as Ke,dx as ut}from"./index-v-4yPWk5.js";import{u as qe,S as Ve}from"./use-mcp-client-DR6PB45n.js";import{B as ft,g as Me}from"./generate-id-yESv9K1i.js";import{C as Ge}from"./collection-display-button-BjlL9Woc.js";import{C as ht}from"./collection-search-DSz3RDou.js";import{C as gt}from"./card-CANcGy5k.js";import{I as Qe}from"./integration-icon-CCk0_Shy.js";import{D as He,a as Je,b as Ye,c as O}from"./dropdown-menu-o8504Ahe.js";import{s as Xe,a as Ze}from"./Eye-DNuwjCPP.js";import{i as et}from"./DotsVertical-BfY2m12a.js";import{i as tt}from"./Tool01-nw4j5J0X.js";import{s as st}from"./Trash01-BoFGJN1_.js";import{C as xt}from"./collection-table-wrapper-CFky-DXb.js";import{E as Ue}from"./empty-state-BqjWWsLJ.js";import{n as We}from"./Stars02-bUApAo8o.js";import{U as jt}from"./user-DxLdHnQg.js";import{E as it}from"./empty-state-iHDXNEBU.js";import{u as Ct}from"./use-list-state-BRMBUjOm.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-C4ynNGJF.js";import{a as It,b as At}from"./use-collections-d0NY3CF9.js";import{a as Tt}from"./use-connection-Dz8syqkL.js";import{s as Et}from"./Plus-C1rAdUXl.js";import{a as Ot}from"./layout-CYzkZYWN.js";import{P as je}from"./index-B5koQSO_.js";import"./collections-BVLezaR1.js";import"./SwitchHorizontal01-D9V4WNpS.js";import"./Check-BXjvCNRo.js";import"./tooltip-DvNlo5ri.js";import"./view-mode-toggle-D7zEkHxC.js";import"./badge-CYgKxTpF.js";import"./SearchMd-BuArn0kO.js";import"./Container-Bmp8f1Hw.js";import"./agent-icon-DfM7tMDC.js";import"./AlertCircle-BiKiI44L.js";import"./RefreshCcw01-Bdic4y2D.js";import"./XCircle-DDLSDNYP.js";import"./ArrowUpRight-a9y7JExT.js";import"./ZapSquare-DfDC54JS.js";import"./Users03-DYjDLJbQ.js";import"./CheckCircle-79umy6UR.js";import"./ChevronDown-DERZQdMP.js";import"./ChevronLeft-C6IDOOPU.js";import"./ChevronRight-CBmg3jrn.js";import"./ChevronUp-28KZDFJ3.js";import"./ZoomOut-xmLm2dBO.js";import"./Globe01-DUsTmpYW.js";import"./FilterLines-0ZErBJ3i.js";import"./Star01-lcgisujL.js";import"./Palette-B1alDozW.js";import"./HardDrive-CTInlaSO.js";import"./Key01-DhkJOk-2.js";import"./LayoutLeft-C4WMufMy.js";import"./LinkExternal01-pT0NrKlt.js";import"./Monitor01-BqHMMIjb.js";import"./Sun-BhoXpP-F.js";import"./Play--ZCMNFjg.js";import"./Settings02-CMckE2RK.js";import"./Shield01-XGinfl8i.js";import"./Stars01-CQ0RN6al.js";import"./Upload01-Cmfv30sX.js";import"./User01-of2DRTwj.js";import"./Users01-DYI7DwUF.js";import"./XClose-B1Jrn5dt.js";import"./X-DWbNv8Bl.js";import"./Zap-BBs40ZSU.js";import"./table-D3XdCvZp.js";import"./avatar-Cmykl5Hl.js";import"./use-view-mode-BTRVa00m.js";import"./sidebar-CYu-6Gzi.js";import"./sheet-DruC4GtE.js";function $t(i,e){const s=i.properties||{};for(const n in s){const c=s[n];if(c&&c.type==="string"&&(c.format==="url"||c.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function kt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let c;e[0]!==s||e[1]!==l?(c=$t(l,s),e[0]=s,e[1]=l,e[2]=c):c=e[2];const r=c,u=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let d;e[3]!==n?(d=n&&Object.keys(n).length>0,e[3]=n,e[4]=d):d=e[4];const o=d;let p;e[5]!==r||e[6]!==s.title?(p=t.jsx(Qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let m;e[8]!==s.title?(m=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=m):m=e[9];const f=u||"No description";let a;e[10]!==f?(a=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:f}),e[10]=f,e[11]=a):a=e[11];let v;e[12]!==m||e[13]!==a?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[m,a]}),e[12]=m,e[13]=a,e[14]=v):v=e[14];let y;e[15]!==p||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[p,v]}),e[15]=p,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Kt,onMouseDown:Ft,children:t.jsxs(He,{children:[t.jsx(Je,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(et,{size:20})})}),t.jsxs(Ye,{align:"end",onClick:zt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(Xe,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(tt,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(st,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function zt(i){return i.stopPropagation()}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}const Mt=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Ut(i){return Object.keys(i).find(e=>Mt.includes(e.toLowerCase()))}function ot(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Wt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:c,sortKey:r,sortDirection:u,onSort:d,actions:o,onItemClick:p,headerActions:m,emptyState:f,readOnly:a,columns:v,hideToolbar:y,sortableFields:b}=i,x=u===void 0?"asc":u,g=d===void 0?Vt:d;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const h=$,T=p===void 0?qt:p,E=m===void 0?null:m,N=f===void 0?null:f,k=a===void 0?!1:a,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(Bt).filter(A=>!P||P.includes(A.id)).map(Rt):ot(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ge,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==h||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==c||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(kt,{item:A,schema:l,readOnly:k,actions:h})},A.id))})}):t.jsx(xt,{columns:Ht(j,l,P,h),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}),e[13]=h,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=c,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Rt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function Bt(i){return i.sortable!==!1}function qt(){}function Vt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(He,{children:[t.jsx(Je,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(et,{size:20})})}),t.jsxs(Ye,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(Xe,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(tt,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(st,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function nt(i){const e=i.type;return Array.isArray(e)?e.every(s=>nt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Qt(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const p=s[o];return p&&nt(p)}),n=Ut(s),c=[],r=new Set;n&&l.includes(n)&&(c.push(n),r.add(n));const u=["title","description","updated_at","updated_by"];for(const o of u)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));const d=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,p)=>o.localeCompare(p));for(const o of d)c.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));return c.map(o=>{const p=s[o],m=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:f=>{const a=f[o];return t.jsx(Qe,{icon:a,name:f.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(a)})},sortable:m,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx(jt,{id:String(a),size:"xs"}):"—"},sortable:m,cellClassName:"max-w-[250px]"}:p?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx("span",{className:"block truncate max-w-full",children:new Date(a).toLocaleDateString()}):"—"},sortable:m,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(a)})},sortable:m,cellClassName:"max-w-[200px]"}})}function Ht(i,e,s,l){const n=i||Qt(e,s);return n.some(u=>u.id==="actions")?n:Object.keys(l).length>0?[...n,Gt(l)]:n}function Jt(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:c}=i,r=n.name,u=n.schema??ft,d=n.hasCreateTool,o=n.hasUpdateTool,p=n.hasDeleteTool,m=Be(),{data:f}=ct.useSession(),a=f?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=qe(g),h=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!d&&!o&&!p;let ne;e[14]!==b||e[15]!==r||e[16]!==m||e[17]!==c||e[18]!==l?(ne=C=>{if(c){c(C);return}m({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=m,e[17]=c,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==h.create||e[21]!==a?(re=async C=>{const xe=new Date().toISOString();await h.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:a,updated_by:a})},e[20]=h.create,e[21]=a,e[22]=re):re=e[22];const be=re,[F,ve]=dt.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const rt=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==d?(M=d&&{duplicate:be},e[27]=be,e[28]=d,e[29]=M):M=e[29];let U;e[30]!==p?(U=p&&{delete:rt},e[30]=p,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==h.delete||e[37]!==F?(ce=async()=>{F&&(await h.delete.mutateAsync(F.id),ve(null))},e[36]=h.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==h.create||e[40]!==b||e[41]!==r||e[42]!==d||e[43]!==m||e[44]!==l||e[45]!==a?(de=async()=>{if(!d){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:a,updated_by:a};try{const ke=await h.create.mutateAsync(xe);m({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=h.create,e[40]=b,e[41]=r,e[42]=d,e[43]=m,e[44]=l,e[45]=a,e[46]=de):de=e[46];const we=de;let me;e[47]!==u?(me=ot(u),e[47]=u,e[48]=me):me=e[48];const Se=me,lt=(I?.length??0)>0,at=d&&!lt&&!N;let pe;e[49]!==h.create||e[50]!==we||e[51]!==d?(pe=d?t.jsxs(Ce,{onClick:we,size:"sm",disabled:h.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),h.create.isPending?"Creating...":"Create"]}):null,e[49]=h.create,e[50]=we,e[51]=d,e[52]=pe):pe=e[52];const ue=pe,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(Ge,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let q;e[65]!==ue||e[66]!==d?(q=d&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=d,e[67]=q):q=e[67];let V;e[68]!==B||e[69]!==q?(V=t.jsxs("div",{className:"flex items-center gap-2",children:[B,q]}),e[68]=B,e[69]=q,e[70]=V):V=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=at?ue:void 0;let H;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(H=t.jsx(it,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=H):H=e[78];let J;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==u||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Wt,{hideToolbar:!0,data:G,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:H})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=u,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==V||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[V,J]}),e[93]=V,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let X;e[98]!==Oe?(X=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=X):X=e[99];let Z;e[100]!==h.delete.isPending?(Z=t.jsx(vt,{disabled:h.delete.isPending,children:"Cancel"}),e[100]=h.delete.isPending,e[101]=Z):Z=e[101];const $e=h.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==h.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:h.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=h.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==Z||e[107]!==ee?(te=t.jsxs(Pt,{children:[Z,ee]}),e[106]=Z,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==X||e[110]!==te?(se=t.jsxs(_t,{children:[X,te]}),e[109]=X,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==Y||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,Y,ie]}),e[115]=W,e[116]=Y,e[117]=ie,e[118]=ge):ge=e[118],ge}function Yt(){const i=oe.c(13),{org:e,project:s}=ze(),l=mt();let n;i[0]!==e.id||i[1]!==e.slug?(n={connectionId:Ve,orgId:e.id,orgSlug:e.slug},i[0]=e.id,i[1]=e.slug,i[2]=n):n=i[2];const c=qe(n);let r;i[3]!==c||i[4]!==s?(r=async p=>{const m=s.enabledPlugins??[];if(m.includes(p))return;const f=[...m,p],a=await c.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.id,data:{metadata:{enabled_plugins:f}}}});return a.structuredContent??a},i[3]=c,i[4]=s,i[5]=r):r=i[5];let u;i[6]!==e.id||i[7]!==s||i[8]!==l?(u=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[6]=e.id,i[7]=s,i[8]=l,i[9]=u):u=i[9];let d;return i[10]!==r||i[11]!==u?(d={mutationFn:r,onSuccess:u,onError:Xt},i[10]=r,i[11]=u,i[12]=d):d=i[12],pt(d)}function Xt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function Zt(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:c}=i,r=Yt();let u;e[0]!==r||e[1]!==s?(u=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=u):u=e[2];const d=u,o=c??null,p=r.isPending?"Enabling…":"Enable plugin";let m;e[3]!==r.isPending||e[4]!==d||e[5]!==p?(m=t.jsx(Ce,{onClick:d,disabled:r.isPending,children:p}),e[3]=r.isPending,e[4]=d,e[5]=p,e[6]=m):m=e[6];let f;return e[7]!==n||e[8]!==o||e[9]!==m||e[10]!==l?(f=t.jsx(it,{image:o,title:l,description:n,actions:m}),e[7]=n,e[8]=o,e[9]=m,e[10]=l,e[11]=f):f=e[11],f}const es={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function Ci(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(Zt,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(ut,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Jt,{connectionId:Ve,org:e.slug,activeCollection:es,onItemClick:c=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:c.id}})})})})}export{Ci as default};
|
|
1
|
+
import{e as oe,j as t,B as Ce,f as Be,b as ct,q as ze,r as dt,o as Le,G as mt,a as pt,K as Fe,ea as Ke,dx as ut}from"./index-B7vG9XMB.js";import{u as qe,S as Ve}from"./use-mcp-client-G3uFjg07.js";import{B as ft,g as Me}from"./generate-id-CpIkXSfl.js";import{C as Ge}from"./collection-display-button-D3QV52tk.js";import{C as ht}from"./collection-search-CwRnoUd2.js";import{C as gt}from"./card-D-5GEcNj.js";import{I as Qe}from"./integration-icon-DV694Bxd.js";import{D as He,a as Je,b as Ye,c as O}from"./dropdown-menu-Kn1KFf_7.js";import{s as Xe,a as Ze}from"./Eye-Bowp4iez.js";import{i as et}from"./DotsVertical-kVh0UVRo.js";import{i as tt}from"./Tool01-BTE6nmQ4.js";import{s as st}from"./Trash01-B-X6RyaC.js";import{C as xt}from"./collection-table-wrapper-DuBP5O7g.js";import{E as Ue}from"./empty-state-B1_qnFui.js";import{n as We}from"./Stars02-YwHPi-7I.js";import{U as jt}from"./user-CvuJ8gsu.js";import{E as it}from"./empty-state-CSC6EQIQ.js";import{u as Ct}from"./use-list-state-Jee6I2EQ.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-DPYmMCbT.js";import{a as It,b as At}from"./use-collections-BsA9K23E.js";import{a as Tt}from"./use-connection-CJ6MBogv.js";import{s as Et}from"./Plus-Bymlyq77.js";import{a as Ot}from"./layout-CSvam0IG.js";import{P as je}from"./index-4wfPgw7r.js";import"./collections-CpOrr_Gv.js";import"./SwitchHorizontal01-Dha4DHjZ.js";import"./Check-BEDsGGM_.js";import"./tooltip-CwxdEfJN.js";import"./view-mode-toggle-Bd-KjzIY.js";import"./badge-CQybGfxn.js";import"./SearchMd-7k7TbMsJ.js";import"./Container-BcM96X15.js";import"./agent-icon-BDCTH9NT.js";import"./AlertCircle-CBwqugJe.js";import"./RefreshCcw01-CR5XeXPv.js";import"./XCircle-qkpSwHM6.js";import"./ArrowUpRight--24rRsQC.js";import"./ZapSquare-M-fH4MJf.js";import"./Users03-BwOA6RiF.js";import"./CheckCircle-CFdIOhwM.js";import"./ChevronDown-Y-7MoOW4.js";import"./ChevronLeft-BSf4mKrR.js";import"./ChevronRight-B1SVpAS5.js";import"./ChevronUp-DooNP946.js";import"./ZoomOut-CgCAgEfn.js";import"./Globe01-CF7IqqKh.js";import"./FilterLines-DXSEbwW6.js";import"./Star01-DVebopnN.js";import"./Palette-6N_c4T4_.js";import"./HardDrive-CPqmzwVB.js";import"./Key01-NY-IsQgy.js";import"./LayoutLeft-BgC7aOjO.js";import"./LinkExternal01-Cgr3jZjD.js";import"./Monitor01-BLzNpHgz.js";import"./Sun-DXdRtf6l.js";import"./Play-B9p1kZpZ.js";import"./Settings02-DbR-330c.js";import"./Shield01-wwDAi_uJ.js";import"./Stars01-CDcY9WwZ.js";import"./Upload01-DsBsPR-L.js";import"./User01-Y_Kyyfi4.js";import"./Users01-e0FZKqF3.js";import"./XClose-CodFwf_E.js";import"./X-CeSkzEjM.js";import"./Zap-Gvzp-SH3.js";import"./table-Cx2A_sz5.js";import"./avatar-CB3_y_zI.js";import"./use-view-mode-YX6kaXqJ.js";import"./sidebar-D5sx4cw7.js";import"./sheet-BBAkMmdU.js";function $t(i,e){const s=i.properties||{};for(const n in s){const c=s[n];if(c&&c.type==="string"&&(c.format==="url"||c.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function kt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let c;e[0]!==s||e[1]!==l?(c=$t(l,s),e[0]=s,e[1]=l,e[2]=c):c=e[2];const r=c,u=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let d;e[3]!==n?(d=n&&Object.keys(n).length>0,e[3]=n,e[4]=d):d=e[4];const o=d;let p;e[5]!==r||e[6]!==s.title?(p=t.jsx(Qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let m;e[8]!==s.title?(m=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=m):m=e[9];const f=u||"No description";let a;e[10]!==f?(a=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:f}),e[10]=f,e[11]=a):a=e[11];let v;e[12]!==m||e[13]!==a?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[m,a]}),e[12]=m,e[13]=a,e[14]=v):v=e[14];let y;e[15]!==p||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[p,v]}),e[15]=p,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Kt,onMouseDown:Ft,children:t.jsxs(He,{children:[t.jsx(Je,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(et,{size:20})})}),t.jsxs(Ye,{align:"end",onClick:zt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(Xe,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(tt,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(st,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function zt(i){return i.stopPropagation()}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}const Mt=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Ut(i){return Object.keys(i).find(e=>Mt.includes(e.toLowerCase()))}function ot(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Wt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:c,sortKey:r,sortDirection:u,onSort:d,actions:o,onItemClick:p,headerActions:m,emptyState:f,readOnly:a,columns:v,hideToolbar:y,sortableFields:b}=i,x=u===void 0?"asc":u,g=d===void 0?Vt:d;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const h=$,T=p===void 0?qt:p,E=m===void 0?null:m,N=f===void 0?null:f,k=a===void 0?!1:a,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(Bt).filter(A=>!P||P.includes(A.id)).map(Rt):ot(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ge,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==h||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==c||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(kt,{item:A,schema:l,readOnly:k,actions:h})},A.id))})}):t.jsx(xt,{columns:Ht(j,l,P,h),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}),e[13]=h,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=c,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Rt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function Bt(i){return i.sortable!==!1}function qt(){}function Vt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(He,{children:[t.jsx(Je,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(et,{size:20})})}),t.jsxs(Ye,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(Xe,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(tt,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(st,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function nt(i){const e=i.type;return Array.isArray(e)?e.every(s=>nt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Qt(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const p=s[o];return p&&nt(p)}),n=Ut(s),c=[],r=new Set;n&&l.includes(n)&&(c.push(n),r.add(n));const u=["title","description","updated_at","updated_by"];for(const o of u)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));const d=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,p)=>o.localeCompare(p));for(const o of d)c.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));return c.map(o=>{const p=s[o],m=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:f=>{const a=f[o];return t.jsx(Qe,{icon:a,name:f.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(a)})},sortable:m,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx(jt,{id:String(a),size:"xs"}):"—"},sortable:m,cellClassName:"max-w-[250px]"}:p?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx("span",{className:"block truncate max-w-full",children:new Date(a).toLocaleDateString()}):"—"},sortable:m,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(a)})},sortable:m,cellClassName:"max-w-[200px]"}})}function Ht(i,e,s,l){const n=i||Qt(e,s);return n.some(u=>u.id==="actions")?n:Object.keys(l).length>0?[...n,Gt(l)]:n}function Jt(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:c}=i,r=n.name,u=n.schema??ft,d=n.hasCreateTool,o=n.hasUpdateTool,p=n.hasDeleteTool,m=Be(),{data:f}=ct.useSession(),a=f?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=qe(g),h=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!d&&!o&&!p;let ne;e[14]!==b||e[15]!==r||e[16]!==m||e[17]!==c||e[18]!==l?(ne=C=>{if(c){c(C);return}m({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=m,e[17]=c,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==h.create||e[21]!==a?(re=async C=>{const xe=new Date().toISOString();await h.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:a,updated_by:a})},e[20]=h.create,e[21]=a,e[22]=re):re=e[22];const be=re,[F,ve]=dt.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const rt=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==d?(M=d&&{duplicate:be},e[27]=be,e[28]=d,e[29]=M):M=e[29];let U;e[30]!==p?(U=p&&{delete:rt},e[30]=p,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==h.delete||e[37]!==F?(ce=async()=>{F&&(await h.delete.mutateAsync(F.id),ve(null))},e[36]=h.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==h.create||e[40]!==b||e[41]!==r||e[42]!==d||e[43]!==m||e[44]!==l||e[45]!==a?(de=async()=>{if(!d){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:a,updated_by:a};try{const ke=await h.create.mutateAsync(xe);m({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=h.create,e[40]=b,e[41]=r,e[42]=d,e[43]=m,e[44]=l,e[45]=a,e[46]=de):de=e[46];const we=de;let me;e[47]!==u?(me=ot(u),e[47]=u,e[48]=me):me=e[48];const Se=me,lt=(I?.length??0)>0,at=d&&!lt&&!N;let pe;e[49]!==h.create||e[50]!==we||e[51]!==d?(pe=d?t.jsxs(Ce,{onClick:we,size:"sm",disabled:h.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),h.create.isPending?"Creating...":"Create"]}):null,e[49]=h.create,e[50]=we,e[51]=d,e[52]=pe):pe=e[52];const ue=pe,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(Ge,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let q;e[65]!==ue||e[66]!==d?(q=d&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=d,e[67]=q):q=e[67];let V;e[68]!==B||e[69]!==q?(V=t.jsxs("div",{className:"flex items-center gap-2",children:[B,q]}),e[68]=B,e[69]=q,e[70]=V):V=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=at?ue:void 0;let H;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(H=t.jsx(it,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=H):H=e[78];let J;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==u||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Wt,{hideToolbar:!0,data:G,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:H})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=u,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==V||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[V,J]}),e[93]=V,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let X;e[98]!==Oe?(X=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=X):X=e[99];let Z;e[100]!==h.delete.isPending?(Z=t.jsx(vt,{disabled:h.delete.isPending,children:"Cancel"}),e[100]=h.delete.isPending,e[101]=Z):Z=e[101];const $e=h.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==h.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:h.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=h.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==Z||e[107]!==ee?(te=t.jsxs(Pt,{children:[Z,ee]}),e[106]=Z,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==X||e[110]!==te?(se=t.jsxs(_t,{children:[X,te]}),e[109]=X,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==Y||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,Y,ie]}),e[115]=W,e[116]=Y,e[117]=ie,e[118]=ge):ge=e[118],ge}function Yt(){const i=oe.c(13),{org:e,project:s}=ze(),l=mt();let n;i[0]!==e.id||i[1]!==e.slug?(n={connectionId:Ve,orgId:e.id,orgSlug:e.slug},i[0]=e.id,i[1]=e.slug,i[2]=n):n=i[2];const c=qe(n);let r;i[3]!==c||i[4]!==s?(r=async p=>{const m=s.enabledPlugins??[];if(m.includes(p))return;const f=[...m,p],a=await c.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.id,data:{metadata:{enabled_plugins:f}}}});return a.structuredContent??a},i[3]=c,i[4]=s,i[5]=r):r=i[5];let u;i[6]!==e.id||i[7]!==s||i[8]!==l?(u=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[6]=e.id,i[7]=s,i[8]=l,i[9]=u):u=i[9];let d;return i[10]!==r||i[11]!==u?(d={mutationFn:r,onSuccess:u,onError:Xt},i[10]=r,i[11]=u,i[12]=d):d=i[12],pt(d)}function Xt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function Zt(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:c}=i,r=Yt();let u;e[0]!==r||e[1]!==s?(u=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=u):u=e[2];const d=u,o=c??null,p=r.isPending?"Enabling…":"Enable plugin";let m;e[3]!==r.isPending||e[4]!==d||e[5]!==p?(m=t.jsx(Ce,{onClick:d,disabled:r.isPending,children:p}),e[3]=r.isPending,e[4]=d,e[5]=p,e[6]=m):m=e[6];let f;return e[7]!==n||e[8]!==o||e[9]!==m||e[10]!==l?(f=t.jsx(it,{image:o,title:l,description:n,actions:m}),e[7]=n,e[8]=o,e[9]=m,e[10]=l,e[11]=f):f=e[11],f}const es={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function Ci(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(Zt,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(ut,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Jt,{connectionId:Ve,org:e.slug,activeCollection:es,onItemClick:c=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:c.id}})})})})}export{Ci as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as s,g as l,j as o,l as a,E as n,r as c}from"./index-B7vG9XMB.js";import{a as f}from"./index-0wo9R-KN.js";import"./index-CLB6WU0x.js";import"./use-mcp-client-G3uFjg07.js";import"./collections-CpOrr_Gv.js";import"./index-DbKaISqA.js";import"./use-virtual-mcp-DLclk59A.js";import"./use-collections-BsA9K23E.js";import"./monaco-editor-DkKdkwZa.js";import"./index-DLL1noOh.js";import"./spinner-DmCMgGSO.js";import"./resizable-Ba9LvnO6.js";import"./ZoomOut-CgCAgEfn.js";import"./badge-CQybGfxn.js";import"./select-B4unS8Yd.js";import"./tooltip-CwxdEfJN.js";import"./Check-BEDsGGM_.js";import"./ChevronDown-Y-7MoOW4.js";import"./ChevronUp-DooNP946.js";import"./view-mode-toggle-Bd-KjzIY.js";import"./agent-icon-BDCTH9NT.js";import"./AlertCircle-CBwqugJe.js";import"./Tool01-BTE6nmQ4.js";import"./SwitchHorizontal01-Dha4DHjZ.js";import"./RefreshCcw01-CR5XeXPv.js";import"./XCircle-qkpSwHM6.js";import"./ArrowUpRight--24rRsQC.js";import"./ZapSquare-M-fH4MJf.js";import"./Users03-BwOA6RiF.js";import"./CheckCircle-CFdIOhwM.js";import"./ChevronLeft-BSf4mKrR.js";import"./ChevronRight-B1SVpAS5.js";import"./DotsVertical-kVh0UVRo.js";import"./Container-BcM96X15.js";import"./Eye-Bowp4iez.js";import"./Globe01-CF7IqqKh.js";import"./FilterLines-DXSEbwW6.js";import"./Star01-DVebopnN.js";import"./Palette-6N_c4T4_.js";import"./HardDrive-CPqmzwVB.js";import"./Stars02-YwHPi-7I.js";import"./Key01-NY-IsQgy.js";import"./LayoutLeft-BgC7aOjO.js";import"./LinkExternal01-Cgr3jZjD.js";import"./Monitor01-BLzNpHgz.js";import"./Sun-DXdRtf6l.js";import"./Play-B9p1kZpZ.js";import"./Plus-Bymlyq77.js";import"./SearchMd-7k7TbMsJ.js";import"./Settings02-DbR-330c.js";import"./Shield01-wwDAi_uJ.js";import"./Stars01-CDcY9WwZ.js";import"./Trash01-B-X6RyaC.js";import"./Upload01-DsBsPR-L.js";import"./User01-Y_Kyyfi4.js";import"./Users01-e0FZKqF3.js";import"./XClose-CodFwf_E.js";import"./X-CeSkzEjM.js";import"./Zap-Gvzp-SH3.js";import"./layout-CSvam0IG.js";import"./index-4wfPgw7r.js";import"./sidebar-D5sx4cw7.js";import"./sheet-BBAkMmdU.js";import"./use-connection-CJ6MBogv.js";import"./use-mcp-tools-CHLE0GCH.js";import"./dialog-CxQuymkd.js";import"./scroll-area-DYol0Grn.js";import"./index-D54pKkTb.js";import"./hover-card-CiGu2Rc9.js";import"./dropdown-menu-Kn1KFf_7.js";import"./integration-icon-DV694Bxd.js";import"./accordion-Wptwv3ei.js";import"./index-CVKiAO9w.js";import"./empty-state-B1_qnFui.js";import"./create-sse-subscription-BS5983N4.js";import"./input-BlbFVhmY.js";function Bt(){const t=s.c(4);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={from:"/shell/$org/settings/workflows/$itemId"},t[0]=r):r=t[0];const{itemId:e}=l(r);let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(a,{size:32,className:"animate-spin text-muted-foreground"})}),t[1]=i):i=t[1];const p=decodeURIComponent(e);let m;return t[2]!==p?(m=o.jsx(n,{children:o.jsx(c.Suspense,{fallback:i,children:o.jsx(f,{itemId:p})})}),t[2]=p,t[3]=m):m=t[3],m}export{Bt as default};
|
package/dist/client/index.html
CHANGED
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
44
44
|
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
45
45
|
<meta name="apple-mobile-web-app-title" content="deco Studio" />
|
|
46
|
-
<script type="module" crossorigin src="/assets/index-
|
|
47
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
46
|
+
<script type="module" crossorigin src="/assets/index-B7vG9XMB.js"></script>
|
|
47
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C4D2JWLP.css">
|
|
48
48
|
</head>
|
|
49
49
|
<body>
|
|
50
50
|
<div id="root"></div>
|
package/dist/server/cli.js
CHANGED
|
@@ -104702,7 +104702,7 @@ ${c.stack}`;f.reject(d)}else f.resolve(_)}});return $.requestSubject=i,this.prot
|
|
|
104702
104702
|
`);if(g===-1)return;let h=$.subarray(0,g).toString("utf8"),E=$.subarray(g+4),v=h.split(`\r
|
|
104703
104703
|
`,1)[0]??"";if(!/^HTTP\/1\.[01] 101(?:\s|$)/.test(v)){q8(i,1011,t.upstreamErrorReason);try{c.end()}catch{}return}d=!0,i.data.upstream=c;let r=C9l((x,O)=>{try{if(x===1)i.send(O.toString("utf8"));else if(x===2)i.send(O);else if(x===8){let{code:y,reason:X}=L9l(O);q8(i,y,X);try{c.end()}catch{}}}catch{}});if(c.removeAllListeners("data"),E.length>0)r(E);c.on("data",(x)=>r(x));for(let x of i.data.pending)try{c.write(Nki(x,!0))}catch{}i.data.pending.length=0})}function R9l(i,t){let u=[`GET ${i} HTTP/1.1`];for(let[l,n]of Object.entries(t))u.push(`${l}: ${n}`);return u.push("",""),u.join(`\r
|
|
104704
104704
|
`)}function q8(i,t,u){try{if(t!==void 0)i.close(t,u??"");else i.close()}catch{}}function Nki(i,t,u){let l,n;if(typeof i==="string")l=Buffer.from(i,"utf8"),n=1;else if(i instanceof ArrayBuffer)l=Buffer.from(i),n=2;else if(Buffer.isBuffer(i))l=i,n=2;else l=Buffer.from(i),n=2;let f=u??n,c=l.length,$=[];$.push(128|f&15);let d=t?128:0;if(c<126)$.push(d|c);else if(c<65536)$.push(d|126,c>>8&255,c&255);else $.push(d|127,0,0,0,0),$.push(c>>>24&255,c>>>16&255,c>>>8&255,c&255);let _=t?4:0,g=Buffer.allocUnsafe($.length+_+c),h=0;for(let E=0;E<$.length;E++)g[h++]=$[E];if(t){let E=QSt(4);g[h++]=E[0],g[h++]=E[1],g[h++]=E[2],g[h++]=E[3];for(let v=0;v<c;v++)g[h++]=l[v]^E[v&3]}else l.copy(g,h);return g}function L9l(i){if(i.length<2)return{code:1000,reason:""};return{code:i.readUInt16BE(0),reason:i.subarray(2).toString("utf8")}}function C9l(i){let t=Buffer.alloc(0);return(u)=>{t=t.length===0?u:Buffer.concat([t,u]);while(!0){if(t.length<2)return;let l=t[0],n=t[1],f=l&15,c=(n&128)!==0,$=n&127,d=2;if($===126){if(t.length<d+2)return;$=t[d]<<8|t[d+1],d+=2}else if($===127){if(t.length<d+8)return;$=t[d+4]*16777216+(t[d+5]<<16|t[d+6]<<8|t[d+7]),d+=8}let _=null;if(c){if(t.length<d+4)return;_=t.subarray(d,d+4),d+=4}if(t.length<d+$)return;let g=t.subarray(d,d+$);if(_){let h=Buffer.alloc($);for(let E=0;E<$;E++)h[E]=g[E]^_[E&3];g=h}t=t.subarray(d+$),i(f,g)}}}var K9l=256;var ASt=w(()=>{BSt()});function WSt(i){if(typeof i!=="string"||i.length===0)return null;let t=i.lastIndexOf(":");if(i.startsWith("["))return null;let l=(t>=0?i.slice(0,t):i).replace(/\.$/,"").toLowerCase(),n=".localhost";if(!l.endsWith(n))return null;let f=l.slice(0,-n.length);if(f.length===0)return null;if(f.includes("."))return null;return f}async function kSt(i){let t=GSt({maxPendingFrames:i.maxPendingWsFrames??e9l,backlogOverflowReason:"ingress backlog overflow"}),u=Bun.serve({port:i.port,hostname:"127.0.0.1",idleTimeout:0,async fetch(l,n){let f=l.headers.get("host"),c=WSt(f);if(!c)return new Response("not found",{status:404});let $=i.lookupSandboxPort(c);if(!$){if(l.headers.get("upgrade")==="websocket")return new Response("unknown handle",{status:404});return new Response(M9l,{status:503,headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store","Retry-After":"1"}})}if(l.headers.get("upgrade")==="websocket"){let h=new URL(l.url);if(!n.upgrade(l,{data:PSt({port:$,pathQuery:`${h.pathname}${h.search}`,protocols:YSt(l.headers)})}))return new Response("ws upgrade failed",{status:400});return}let d=new URL(l.url),_=`http://127.0.0.1:${$}${d.pathname}${d.search}`,g=new Headers(l.headers);return g.set("host",`127.0.0.1:${$}`),fetch(_,{method:l.method,headers:g,body:l.body,redirect:"manual"})},websocket:{open:t.open,message:t.message,close:t.close}});return{port:u.port??0,async stop(){u.stop(!0)}}}var e9l=256,M9l='<!DOCTYPE html><html><head><meta charset="utf-8"><title>Connecting\u2026</title><style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#fafafa;color:#555}div{text-align:center;max-width:420px;padding:24px}h3{margin:0 0 8px}p{margin:0;font-size:14px;color:#999;line-height:1.5}</style></head><body><div><h3>Connecting to sandbox\u2026</h3><p>Waiting for the local sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>';var jSt=w(()=>{ASt()});async function Jki(i=s9l){let t=["decopilot-sandbox","body-offload"],[u,l]=await Promise.all([i.detectClaudeCode().catch(()=>!1),i.detectCodex().catch(()=>!1)]);if(u)t.push("claude-code");if(l)t.push("codex");return t}function V9l(i){return q9l.filter((t)=>!i.includes(t))}function a9l(i,t){let u=t.filter((l)=>!i.includes(l));return i.push(...u),u}function SSt(i,t={}){let u=t.detect??(()=>Jki()),l=setInterval(()=>{if(V9l(i).length===0)return;u().then((n)=>{let f=a9l(i,n);if(f.length>0)t.onChange?.(f)}).catch(()=>{})},t.intervalMs??60000);return l.unref?.(),()=>clearInterval(l)}async function m9l(){try{let{query:i}=await import("@anthropic-ai/claude-agent-sdk"),t=i({prompt:"",options:{maxTurns:1}}),u=await t.accountInfo();return t.return(void 0),Boolean(u.email)}catch{return!1}}async function o9l(){try{let i=Bun.spawn(["codex","--version"],{stdout:"ignore",stderr:"ignore"}),t=setTimeout(()=>i.kill(),1e4),u=await i.exited;return clearTimeout(t),u===0}catch{return!1}}var q9l,s9l;var zSt=w(()=>{q9l=["claude-code","codex"];s9l={detectClaudeCode:m9l,detectCodex:o9l}});import{randomBytes as p9l}from"crypto";import{mkdir as iNl,readFile as tNl,writeFile as uNl}from"fs/promises";import{dirname as lNl,join as nNl}from"path";function fNl(i){return nNl(i,"machine-id")}async function bSt(i){let t=fNl(i);try{let n=(await tNl(t,"utf8")).trim();if(n)return n}catch{}let u=p9l(16).toString("hex");return await iNl(lNl(t),{recursive:!0}),await uNl(t,u),u}var KSt=()=>{};import{randomBytes as cNl}from"crypto";import{mkdir as $Nl}from"fs/promises";import{createServer as dNl}from"net";import{join as _Nl}from"path";function HSt(i,t){return Error(`sandbox failed to start: ${i}`,{cause:t})}function gNl(i){if(!(i instanceof Error))return!1;return i.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(i.message)}function hNl(i){if(i instanceof Error){let t=i.cause;if(t instanceof Error&&t.message)return t.message;return i.message}return String(i)}function RSt(i){let t=i.maxSandboxes??20,u=new Map,l=i.pickPort??ENl,n=i.fetchImpl??fetch,f=i.resolvePreviewUrl??((E,v)=>`http://127.0.0.1:${v}`),c=(E)=>{try{i.onEvent?.(E)}catch{}},$=async(E)=>{let v=new AbortController,r=setTimeout(()=>v.abort(),1500);try{let x=await n(`${E}/health`,{signal:v.signal});if(!x.ok)console.warn(`[user-desktop] probe ${E}/health \u2192 ${x.status} (treating as dead)`);return x.ok}catch(x){return console.warn(`[user-desktop] probe ${E}/health failed: ${x instanceof Error?x.message:String(x)} (treating as dead)`),!1}finally{clearTimeout(r)}},d=(E)=>{console.warn(`[user-desktop] evicting dead daemon handle=${E.handle} port=${E.port}`);try{E.process.kill("SIGTERM")}catch{}if(u.get(E.handle)===E)u.delete(E.handle),c({handle:E.handle,phase:"evicted"})},_=new Map;function g(){if(u.size<t)return;let E=[...u.values()].filter((r)=>r.activeDispatchCount===0).sort((r,x)=>r.lastUsedAt-x.lastUsedAt);if(E.length===0){console.warn(`[user-desktop] at cap ${u.size}/${t} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let v=E[0];console.log(`[user-desktop] evicting LRU victim handle=${v.handle} port=${v.port} (cap ${t} reached, size=${u.size})`);try{v.process.kill("SIGTERM")}catch{}u.delete(v.handle),c({handle:v.handle,phase:"evicted"})}let h=async(E)=>{c({handle:E.handle,phase:"spawning"}),g();let v=_Nl(i.dataDir,"sandboxes",E.handle);await $Nl(v,{recursive:!0}),console.log(`[user-desktop] ensure handle=${E.handle} repo=${E.repo?.cloneUrl??"(none)"} branch=${E.repo?.branch??"(none)"} runtime=${E.workload?.runtime??"(autodetect)"} pm=${E.workload?.packageManager??"(autodetect)"}`);let r=cNl(24).toString("hex"),[x,O]=await Promise.all([l(),l()]);console.log(`[user-desktop] spawn handle=${E.handle} port=${x} devPort=${O} workdir=${v}`);let y=await Promise.resolve(i.spawnDaemon({workdir:v,handle:E.handle,port:x,daemonToken:r,offloadAllowedHosts:E.offloadAllowedHosts??[],offloadAllowSameHostDev:E.offloadAllowSameHostDev??!1,orgFsConfigJson:E.orgFsConfigJson}));try{try{await i.waitForHealth(x)}catch(J){throw HSt("the sandbox didn't come online in time",J)}console.log(`[user-desktop] healthy handle=${E.handle} port=${x} \u2014 posting config`);try{await i.postConfig(x,O,{repo:E.repo,workload:E.workload,operator:E.operator},r)}catch(J){throw HSt(gNl(J)?"configuration timed out":"the sandbox rejected its configuration",J)}}catch(J){console.error(`[user-desktop] sandbox bring-up failed handle=${E.handle} port=${x} (killing daemon):`,J);try{y.kill("SIGKILL")}catch{}throw c({handle:E.handle,phase:"failed",error:hNl(J)}),J}let X=`http://127.0.0.1:${x}`,N=f(E.handle,x);console.log(`[user-desktop] ready handle=${E.handle} port=${x} sandboxApiUrl=${X} previewUrl=${N}`);let U={handle:E.handle,port:x,process:y,sandboxApiUrl:X,previewUrl:N,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:r};if(u.set(E.handle,U),c({handle:E.handle,phase:"ready",port:x,previewUrl:N}),y.exited)y.exited.then(()=>{if(u.get(E.handle)===U)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${E.handle} port=${x} \u2014 removing from cache`),u.delete(E.handle),c({handle:E.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${E.handle} port=${x} (already replaced/removed)`)});return{sandboxApiUrl:X,previewUrl:N,port:x}};return{async ensureSandbox(E){let v=u.get(E.handle);if(v){if(await $(v.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${E.handle} port=${v.port} (alive)`),v.lastUsedAt=Date.now(),{sandboxApiUrl:v.sandboxApiUrl,previewUrl:v.previewUrl,port:v.port};console.warn(`[user-desktop] cache stale handle=${E.handle} port=${v.port} \u2014 respawning`),d(v)}let r=_.get(E.handle);if(r)return console.log(`[user-desktop] joining in-flight ensure handle=${E.handle}`),r;let x=h(E).finally(()=>{_.delete(E.handle)});return _.set(E.handle,x),x},proxyPort(E){let v=u.get(E);if(v)v.lastUsedAt=Date.now();return v?.port??null},getDaemonToken(E){return u.get(E)?.daemonToken??null},hasHandle(E){return u.has(E)||_.has(E)},recordHit(E){let v=u.get(E);if(v)v.lastUsedAt=Date.now()},acquireDispatch(E){let v=u.get(E);if(!v)return()=>{};v.activeDispatchCount+=1;let r=!1;return()=>{if(r)return;r=!0;let x=u.get(E);if(x)x.activeDispatchCount=Math.max(0,x.activeDispatchCount-1)}},listSandboxes(){return[...u.values()]},async deleteSandbox(E){let v=u.get(E);if(!v){console.log(`[user-desktop] delete handle=${E} (not found, no-op)`);return}console.log(`[user-desktop] delete handle=${E} port=${v.port}`);try{v.process.kill("SIGTERM")}catch{}u.delete(E),c({handle:E,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${u.size} sandbox(es)`);for(let E of u.values())try{E.process.kill("SIGTERM")}catch{}u.clear()}}}function ENl(){return new Promise((i,t)=>{let u=dNl();u.unref(),u.on("error",t),u.listen(0,"127.0.0.1",()=>{let l=u.address();if(l&&typeof l==="object"){let n=l.port;u.close(()=>i(n))}else u.close(()=>t(Error("could not allocate port")))})})}var LSt=()=>{};import{randomUUID as vNl}from"crypto";import{hostname as rNl}from"os";async function CSt(i){let t=rNl()||void 0;i.monitor?.onMachine?.(t??"this machine");let u=fGt(i.dataDir,{outFd:i.logFd,perSandboxLog:i.perSandboxLogs,hotReload:i.hotReload}),l=0,n=RSt({dataDir:i.dataDir,resolvePreviewUrl:(N,U)=>l>0?`http://${N}.localhost:${l}`:`http://127.0.0.1:${U}`,spawnDaemon:async(N)=>{let U={DAEMON_BOOT_ID:vNl(),APP_ROOT:N.workdir,PROXY_PORT:String(N.port),DAEMON_TOKEN:N.daemonToken,OFFLOAD_ALLOWED_HOSTS:N.offloadAllowedHosts.join(","),...N.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(N.orgFsConfigJson){let T=await _Gt(i.dataDir);if(T)U.ORGFS_CONFIG=N.orgFsConfigJson,U.ORGFS_RCLONE_PATH=T}let J=await u({workdir:N.workdir,env:U,daemonPort:N.port});return{port:N.port,kill:(T)=>J.kill(T),exited:J.exited.then(()=>{return})}},postConfig:async(N,U,J,T)=>{let Q={port:U};if(J.workload)Q.runtime=J.workload.runtime,Q.packageManager={name:J.workload.packageManager,...J.workload.packageManagerPath?{path:J.workload.packageManagerPath}:{}};let B={application:Q},P=p6(J.operator??null);if(P)B.operator=P;if(J.repo)B.git={repository:{cloneUrl:J.repo.cloneUrl,branch:J.repo.branch},...J.repo.userName&&J.repo.userEmail?{identity:{userName:J.repo.userName,userEmail:J.repo.userEmail}}:{}};await Q8(`http://127.0.0.1:${N}`,T,B)},waitForHealth:async(N)=>{await lli(`http://127.0.0.1:${N}`)},maxSandboxes:20,onEvent:i.monitor?.onEvent}),f=await kSt({port:i.port,lookupSandboxPort:(N)=>n.proxyPort(N)});l=f.port,console.log(`Local ingress listening on http://127.0.0.1:${f.port} (use http://<handle>.localhost:${f.port}/)`),i.monitor?.onIngress?.(f.port);let c=hGt({provider:n}),$=async()=>{let N=await Sw({dataDir:i.dataDir,target:i.clusterBaseUrl});if(!N)throw Object.assign(Error(`Session for ${i.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${i.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return N.accessToken};console.log(`[link-daemon] transport=pull cluster=${i.clusterBaseUrl}`);let d=await bSt(i.dataDir),_=process.env.npm_package_version??"0.0.0",g=await Jki(),h=SSt(g,{onChange:(N)=>{console.log(`[link-daemon] capabilities detected: +${N.join(",")} (now: ${g.join(",")})`)}}),E=Oki({path:`${i.dataDir}/link/outbox.sqlite`}),v=()=>{},r=await USt({clusterBaseUrl:i.clusterBaseUrl,getAccessToken:$,provider:n,outbox:E,controlHandler:c,capabilities:g,machineId:d,cliVersion:_,previewPort:f.port,onConnected:()=>{i.monitor?.onCluster?.("linked"),console.log(`Linked to ${i.clusterBaseUrl} (pull transport)`)},onShutdown:()=>v()}),x,O=new Promise((N)=>{x=N}),y=!1,X=async()=>{if(y)return;y=!0,console.log(`
|
|
104705
|
-
Shutting down\u2026`),h();try{await r.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{E.close()}catch{}x(0)};return process.on("SIGINT",()=>void X()),process.on("SIGTERM",()=>void X()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms link` to reconnect."),X()},r.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!y)console.error("Cluster connection closed permanently; exiting."),X()}),{stopped:O,stop:X}}var eSt=w(()=>{xAi();RH();cGt();gGt();EGt();FSt();yki();jSt();zSt();KSt();HH();LSt()});function Uki(i){return i.map((t)=>typeof t==="string"?t:String(t)).join(" ")}var w0i;var Fki=w(()=>{w0i={name:"decocms",version:"3.20.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.2.141","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.80","@ai-sdk/google":"^3.0.80","@ai-sdk/openai":"^3.0.65","@anthropic-ai/sdk":"^0.96.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.17.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@openrouter/ai-sdk-provider":"^2.9.0","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.193","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.191","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var vR={};Ai(vR,{printBanner:()=>DNl,bannerLines:()=>MSt,BANNER_LINES:()=>x0i,BANNER_GRADIENT:()=>D0i});function xNl(i){let t=Number.parseInt(i.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function MSt(i){let t=x0i.map((u,l)=>{let[n,f,c]=xNl(D0i[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(i!==void 0)t.push(`\x1B[2m v${i}\x1B[22m`);return t}function DNl(i){console.log("");for(let t of MSt(i))console.log(t);console.log("")}var x0i,D0i;var PW=w(()=>{x0i=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],D0i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as ONl,Text as qSt}from"ink";import{jsx as yNl,jsxs as VSt}from"react/jsx-runtime";function O0i({version:i}){return VSt(ONl,{flexDirection:"column",marginTop:1,children:[x0i.map((t,u)=>yNl(qSt,{color:D0i[u],children:t},u)),VSt(qSt,{dimColor:!0,children:[" v",i]})]})}var Tki=w(()=>{PW()});var mSt={};Ai(mSt,{subscribeLinkState:()=>Bki,setMachine:()=>UNl,setLogPath:()=>TNl,setIngress:()=>JNl,setDaemonError:()=>FNl,setClusterUrl:()=>NNl,setCluster:()=>XNl,pushSandboxEvent:()=>INl,getLinkState:()=>Zki,applySandboxEvent:()=>aSt});function aSt(i,t){let u=new Map(i);if(t.phase==="evicted"||t.phase==="deleted")return u.delete(t.handle),u;let l=u.get(t.handle);return u.set(t.handle,{handle:t.handle,port:t.port??l?.port??null,previewUrl:t.previewUrl??l?.previewUrl??null,status:t.phase,error:t.phase==="failed"?t.error??"failed":null}),u}function V8(){for(let i of Iki)i()}function Zki(){return i$}function Bki(i){return Iki.add(i),()=>Iki.delete(i)}function XNl(i){i$={...i$,cluster:i},V8()}function NNl(i){i$={...i$,clusterUrl:i},V8()}function JNl(i,t){i$={...i$,ingressPort:i,ingressUrl:t},V8()}function UNl(i){i$={...i$,machine:i},V8()}function FNl(i){i$={...i$,daemonError:i},V8()}function TNl(i){i$={...i$,logPath:i},V8()}function INl(i){i$={...i$,sandboxes:aSt(i$.sandboxes,i)},V8()}var i$,Iki;var Qki=w(()=>{i$={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},Iki=new Set});var oSt={};Ai(oSt,{LinkApp:()=>QNl});import{Box as t$,Text as u$}from"ink";import{useSyncExternalStore as ZNl}from"react";import{jsx as $f,jsxs as RE}from"react/jsx-runtime";function BNl(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function QNl(){let i=ZNl(Bki,Zki),t=[...i.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return RE(t$,{flexDirection:"column",children:[$f(O0i,{version:w0i.version}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:"\u2500".repeat(80)})}),$f(t$,{children:i.cluster==="linked"?RE(u$,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?RE(u$,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):RE(u$,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),$f(t$,{children:i.ingressUrl?RE(u$,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):$f(u$,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${t.length} of ${i.cap} previews`})}),t.length===0?$f(u$,{dimColor:!0,children:"No previews running yet."}):RE(t$,{flexDirection:"column",children:[RE(t$,{children:[$f(t$,{width:y0i.project,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$f(t$,{width:y0i.status,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),t.map((u)=>{let l=BNl(u);return RE(t$,{children:[$f(t$,{width:y0i.project,flexShrink:0,marginRight:1,children:$f(u$,{wrap:"truncate-end",children:u.handle})}),$f(t$,{width:y0i.status,flexShrink:0,marginRight:1,children:$f(u$,{color:l.color,wrap:"truncate-end",children:l.text})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),i.daemonError?$f(t$,{marginTop:1,children:RE(u$,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?$f(t$,{marginTop:1,children:RE(u$,{dimColor:!0,children:["Logs: ",i.logPath]})}):null]})}var y0i;var sSt=w(()=>{Fki();Tki();Qki();y0i={project:18,status:14}});var izt={};Ai(izt,{runLinkCommand:()=>SNl});import{closeSync as YNl,mkdirSync as PNl,openSync as GNl,writeSync as ANl}from"fs";import{homedir as WNl}from"os";import{join as pSt}from"path";function kNl(i,t){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(t===void 0)return;try{ANl(t,`${Uki(n)}
|
|
104705
|
+
Shutting down\u2026`),h();try{await r.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{E.close()}catch{}x(0)};return process.on("SIGINT",()=>void X()),process.on("SIGTERM",()=>void X()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms link` to reconnect."),X()},r.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!y)console.error("Cluster connection closed permanently; exiting."),X()}),{stopped:O,stop:X}}var eSt=w(()=>{xAi();RH();cGt();gGt();EGt();FSt();yki();jSt();zSt();KSt();HH();LSt()});function Uki(i){return i.map((t)=>typeof t==="string"?t:String(t)).join(" ")}var w0i;var Fki=w(()=>{w0i={name:"decocms",version:"3.21.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.2.141","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.80","@ai-sdk/google":"^3.0.80","@ai-sdk/openai":"^3.0.65","@anthropic-ai/sdk":"^0.96.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.17.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@openrouter/ai-sdk-provider":"^2.9.0","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.193","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.191","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var vR={};Ai(vR,{printBanner:()=>DNl,bannerLines:()=>MSt,BANNER_LINES:()=>x0i,BANNER_GRADIENT:()=>D0i});function xNl(i){let t=Number.parseInt(i.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function MSt(i){let t=x0i.map((u,l)=>{let[n,f,c]=xNl(D0i[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(i!==void 0)t.push(`\x1B[2m v${i}\x1B[22m`);return t}function DNl(i){console.log("");for(let t of MSt(i))console.log(t);console.log("")}var x0i,D0i;var PW=w(()=>{x0i=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],D0i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as ONl,Text as qSt}from"ink";import{jsx as yNl,jsxs as VSt}from"react/jsx-runtime";function O0i({version:i}){return VSt(ONl,{flexDirection:"column",marginTop:1,children:[x0i.map((t,u)=>yNl(qSt,{color:D0i[u],children:t},u)),VSt(qSt,{dimColor:!0,children:[" v",i]})]})}var Tki=w(()=>{PW()});var mSt={};Ai(mSt,{subscribeLinkState:()=>Bki,setMachine:()=>UNl,setLogPath:()=>TNl,setIngress:()=>JNl,setDaemonError:()=>FNl,setClusterUrl:()=>NNl,setCluster:()=>XNl,pushSandboxEvent:()=>INl,getLinkState:()=>Zki,applySandboxEvent:()=>aSt});function aSt(i,t){let u=new Map(i);if(t.phase==="evicted"||t.phase==="deleted")return u.delete(t.handle),u;let l=u.get(t.handle);return u.set(t.handle,{handle:t.handle,port:t.port??l?.port??null,previewUrl:t.previewUrl??l?.previewUrl??null,status:t.phase,error:t.phase==="failed"?t.error??"failed":null}),u}function V8(){for(let i of Iki)i()}function Zki(){return i$}function Bki(i){return Iki.add(i),()=>Iki.delete(i)}function XNl(i){i$={...i$,cluster:i},V8()}function NNl(i){i$={...i$,clusterUrl:i},V8()}function JNl(i,t){i$={...i$,ingressPort:i,ingressUrl:t},V8()}function UNl(i){i$={...i$,machine:i},V8()}function FNl(i){i$={...i$,daemonError:i},V8()}function TNl(i){i$={...i$,logPath:i},V8()}function INl(i){i$={...i$,sandboxes:aSt(i$.sandboxes,i)},V8()}var i$,Iki;var Qki=w(()=>{i$={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},Iki=new Set});var oSt={};Ai(oSt,{LinkApp:()=>QNl});import{Box as t$,Text as u$}from"ink";import{useSyncExternalStore as ZNl}from"react";import{jsx as $f,jsxs as RE}from"react/jsx-runtime";function BNl(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function QNl(){let i=ZNl(Bki,Zki),t=[...i.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return RE(t$,{flexDirection:"column",children:[$f(O0i,{version:w0i.version}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:"\u2500".repeat(80)})}),$f(t$,{children:i.cluster==="linked"?RE(u$,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?RE(u$,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):RE(u$,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),$f(t$,{children:i.ingressUrl?RE(u$,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):$f(u$,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${t.length} of ${i.cap} previews`})}),t.length===0?$f(u$,{dimColor:!0,children:"No previews running yet."}):RE(t$,{flexDirection:"column",children:[RE(t$,{children:[$f(t$,{width:y0i.project,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$f(t$,{width:y0i.status,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),t.map((u)=>{let l=BNl(u);return RE(t$,{children:[$f(t$,{width:y0i.project,flexShrink:0,marginRight:1,children:$f(u$,{wrap:"truncate-end",children:u.handle})}),$f(t$,{width:y0i.status,flexShrink:0,marginRight:1,children:$f(u$,{color:l.color,wrap:"truncate-end",children:l.text})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),i.daemonError?$f(t$,{marginTop:1,children:RE(u$,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?$f(t$,{marginTop:1,children:RE(u$,{dimColor:!0,children:["Logs: ",i.logPath]})}):null]})}var y0i;var sSt=w(()=>{Fki();Tki();Qki();y0i={project:18,status:14}});var izt={};Ai(izt,{runLinkCommand:()=>SNl});import{closeSync as YNl,mkdirSync as PNl,openSync as GNl,writeSync as ANl}from"fs";import{homedir as WNl}from"os";import{join as pSt}from"path";function kNl(i,t){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(t===void 0)return;try{ANl(t,`${Uki(n)}
|
|
104706
104706
|
`)}catch{}};return console.log=(...n)=>l(n),console.warn=(...n)=>l(n),console.error=(...n)=>{l(n),i(Uki(n))},()=>{console.log=u.log,console.warn=u.warn,console.error=u.error}}async function jNl(i,t){let u;try{u=await fetch(`${i}/api/links/me`,{headers:{authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(u.status===401||u.status===403)throw Error(`Authentication rejected by ${i} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${i}\` and try again.`)}async function SNl(i={}){let t=i.port??5174,u=i.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??pSt(WNl(),"deco"),l=i.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",n,f;try{let c=await pui({dataDir:u,intent:"Link",target:l});if(process.env.DECOCMS_LINK_MANAGED!=="1")await jNl(l,c.accessToken);let $;if(i.tui){let{render:g}=await import("ink"),{createElement:h}=await import("react"),{LinkApp:E}=await Promise.resolve().then(() => (sSt(),oSt)),{pushSandboxEvent:v,setCluster:r,setClusterUrl:x,setDaemonError:O,setIngress:y,setLogPath:X,setMachine:N}=await Promise.resolve().then(() => (Qki(),mSt));PNl(u,{recursive:!0});let U=pSt(u,"link.log");f=GNl(U,"w"),X(U),x(l),r("connecting"),$={onEvent:(J)=>v(J),onIngress:(J)=>y(J,`http://127.0.0.1:${J}`),onCluster:(J)=>r(J),onMachine:(J)=>N(J)},n=kNl(O,f),g(h(E),{patchConsole:!1})}else if(i.banner!==!1){let{printBanner:g}=await Promise.resolve().then(() => (PW(),vR));g(i.version??"0.0.0")}let d=process.env.DECOCMS_LINK_MANAGED!=="1";return await(await CSt({port:t,clusterBaseUrl:l,dataDir:u,session:c,monitor:$,logFd:f,perSandboxLogs:d,hotReload:i.hotReload})).stopped}catch(c){return n?.(),console.error(c instanceof Error?c.message:String(c)),1}finally{if(n?.(),f!==void 0)try{YNl(f)}catch{}}}var tzt=w(()=>{wAi();eSt()});var kki={};Ai(kki,{resolveDevLinkClusterUrl:()=>HNl,populateDevLinkToxiProxy:()=>$zt,isDevLinkToxiProxyEnabled:()=>KNl,ensureDevLinkToxiProxy:()=>MNl,buildDevLinkToxiProxyConfig:()=>fzt,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>lzt,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>nzt});function KNl(i=process.env){return i.DECO_DEV_LINK_TOXIPROXY==="1"}function Yki(i,t){if(!Number.isInteger(i)||i<1||i>65535)throw Error(`${t} must be an integer port in 1..65535`);return i}function fzt(i){let t=new URL(i.serverUrl);if(t.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let u=Yki(i.apiPort,"apiPort"),l=Yki(i.listenPort,"listenPort");if(t.port.length===0)throw Error("serverUrl must include an explicit valid port");let n=Yki(Number.parseInt(t.port,10),"upstreamPort"),f=`http://127.0.0.1:${n}`,c=`http://127.0.0.1:${l}`;return{serviceName:lzt,proxyName:nzt,apiUrl:`http://127.0.0.1:${u}`,listen:`0.0.0.0:${l}`,upstream:`host.docker.internal:${n}`,publicTargetUrl:f,clusterUrl:c,logLine:`[dev-link-toxiproxy] ready: ${c} -> ${f}`}}function HNl(i){return i.toxiproxy?.clusterUrl??i.serverUrl}async function Pki(i,t,u){if(i.ok)return;let l=await i.text();throw Error(`ToxiProxy ${t} failed for ${u}: status=${i.status} statusText=${i.statusText} body=${l}`)}function Wki(i){if(i instanceof Error)return i.name==="Error"?i.message:`${i.name}: ${i.message}`;return String(i)}function czt(i){if(!(i instanceof Error))return!1;if(i.name==="TimeoutError")return!0;return czt(i.cause)}async function Gki(i,t,u,l){try{return await i(u,l)}catch(n){throw Error(`ToxiProxy ${t} failed for ${u}: ${Wki(n)}`,{cause:n})}}async function $zt(i,t=fetch){let u=`${i.apiUrl}/reset`,l=await Gki(t,"reset",u,{method:"POST"});await Pki(l,"reset",u);let n=`${i.apiUrl}/populate`,f=await Gki(t,"populate",n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:i.proxyName,listen:i.listen,upstream:i.upstream,enabled:!0}])});await Pki(f,"populate",n)}async function RNl(i,t){let u=`${i.apiUrl}/version`;try{await U3(async()=>{let l=await Gki(t,"readiness check",u,{method:"GET",signal:AbortSignal.timeout(bNl)});await Pki(l,"readiness check",u)},{maxAttempts:zNl,minTimeout:uzt,maxTimeout:uzt,multiplier:1,jitter:0,isRetriable:(l)=>!czt(l)})}catch(l){let n=l instanceof Tg?l.cause:l;throw Error(`ToxiProxy API did not become ready at ${u}: ${Wki(n)}`,{cause:n})}}async function LNl(i){if(i===null)return"";return await new Response(i).text()}async function Aki(i,t={}){let u=["docker",...i].join(" "),l=(()=>{try{return Bun.spawn(["docker",...i],{stdout:"ignore",stderr:"pipe"})}catch($){throw Error(`Docker command failed to start (${u}): ${Wki($)}`,{cause:$})}})(),[n,f]=await Promise.all([l.exited,LNl(l.stderr)]);if(n===0||t.ignoreFailure===!0)return;let c=f.trim().length>0?`: ${f.trim()}`:"";throw Error(`Docker command failed (${u}) with exit ${n}${c}`)}async function CNl(i,t){let u=`deco-dev-link-toxiproxy-${i}`;await Aki(["rm","-f",u],{ignoreFailure:!0}),await Aki(["run","--rm","-d","--name",u,"-p",`127.0.0.1:${i}:8474`,"-p",`127.0.0.1:${t}:${t}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function eNl(i,t){let u=`deco-dev-link-toxiproxy-${i}`;await Aki(["rm","-f",u],{ignoreFailure:!0})}async function MNl(i){let t=fzt(i),u=i.startDaemon??CNl,l=i.stopDaemon??(i.startDaemon===void 0?eNl:void 0);await u(i.apiPort,i.listenPort);let n=i.fetchImpl??fetch;try{await RNl(t,n),await $zt(t,n)}catch(f){if(l!==void 0)try{await l(i.apiPort,i.listenPort)}catch{}throw f}return{config:t,stop:async()=>{if(l!==void 0)await l(i.apiPort,i.listenPort)}}}var lzt="ToxiProxy",nzt="dev_link_studio",zNl=20,uzt=100,bNl=100;var jki=w(()=>{H1()});var dzt={};Ai(dzt,{migrateBetterAuth:()=>Ski});import{getMigrations as qNl}from"better-auth/db";import{sso as VNl}from"@better-auth/sso";import{organization as aNl}from"@decocms/better-auth/plugins";import{admin as mNl,apiKey as oNl,jwt as sNl,magicLink as pNl,mcp as iJl,openAPI as tJl}from"better-auth/plugins";import{emailOTP as uJl}from"better-auth/plugins/email-otp";async function Ski(i){let u={database:jH(i||Aw()),plugins:[aNl({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),mNl(),oNl(),sNl(),tJl(),iJl({loginPage:"/login"}),VNl(),pNl({sendMagicLink:async()=>{}}),uJl({sendVerificationOTP:async()=>{}})]},{toBeAdded:l,toBeCreated:n,runMigrations:f}=await qNl(u);if(!l.length&&!n.length)return"up to date";return await f(),`${n.length+l.length} table(s) migrated`}var zki=w(()=>{j$()});var bki={};Ai(bki,{up:()=>lJl,down:()=>nJl});import{sql as LE}from"kysely";async function lJl(i){await i.schema.createTable("connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(t)=>t.notNull()).addColumn("connectionUrl","text",(t)=>t.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("api_keys").addColumn("id","text",(t)=>t.primaryKey()).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("hashedKey","text",(t)=>t.notNull().unique()).addColumn("permissions","text",(t)=>t.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("audit_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createTable("oauth_clients").addColumn("id","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(t)=>t.notNull()).addColumn("redirectUris","text",(t)=>t.notNull()).addColumn("grantTypes","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_authorization_codes").addColumn("code","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(t)=>t.notNull()).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("downstream_tokens").addColumn("id","text",(t)=>t.primaryKey()).addColumn("connectionId","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(t)=>t.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(t)=>t.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(LE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function nJl(i){await i.schema.dropTable("downstream_tokens").execute(),await i.schema.dropTable("oauth_refresh_tokens").execute(),await i.schema.dropTable("oauth_authorization_codes").execute(),await i.schema.dropTable("oauth_clients").execute(),await i.schema.dropTable("audit_logs").execute(),await i.schema.dropTable("api_keys").execute(),await i.schema.dropTable("connections").execute()}var _zt=()=>{};var Kki={};Ai(Kki,{up:()=>fJl,down:()=>cJl});import{sql as gzt}from"kysely";async function fJl(i){await i.schema.createTable("organization_settings").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(gzt`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(gzt`CURRENT_TIMESTAMP`)).execute()}async function cJl(i){await i.schema.dropTable("organization_settings").execute()}var hzt=()=>{};var Hki={};Ai(Hki,{up:()=>$Jl,down:()=>dJl});async function $Jl(i){await i.schema.alterTable("connections").renameColumn("name","title").execute(),await i.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await i.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await i.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await i.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await i.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await i.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await i.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await i.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await i.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await i.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await i.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function dJl(i){await i.schema.alterTable("connections").renameColumn("title","name").execute(),await i.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await i.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await i.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await i.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await i.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await i.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await i.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await i.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await i.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await i.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await i.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Rki={};Ai(Rki,{up:()=>_Jl,down:()=>gJl});async function _Jl(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function gJl(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId",t.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Lki={};Ai(Lki,{up:()=>hJl,down:()=>EJl});async function hJl(i){await i.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await i.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function EJl(i){await i.schema.alterTable("connections").dropColumn("configuration_state").execute(),await i.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Cki={};Ai(Cki,{up:()=>rJl,down:()=>wJl});import{sql as vJl}from"kysely";async function rJl(i){await i.schema.alterTable("organization_settings").addColumn("sidebar_items",vJl`text`).execute()}async function wJl(i){await i.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Ezt=()=>{};var eki={};Ai(eki,{up:()=>xJl,down:()=>DJl});async function xJl(i){await i.schema.createTable("monitoring_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(t)=>t.notNull()).addColumn("tool_name","text",(t)=>t.notNull()).addColumn("input","text",(t)=>t.notNull()).addColumn("output","text",(t)=>t.notNull()).addColumn("is_error","integer",(t)=>t.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(t)=>t.notNull()).addColumn("timestamp","text",(t)=>t.notNull()).addColumn("user_id","text").addColumn("request_id","text",(t)=>t.notNull()).execute(),await i.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function DJl(i){await i.schema.dropIndex("monitoring_logs_is_error").execute(),await i.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await i.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await i.schema.dropTable("monitoring_logs").execute()}var Mki={};Ai(Mki,{up:()=>OJl,down:()=>yJl});import{sql as rR}from"kysely";async function OJl(i){await i.schema.createTable("events").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(t)=>t.notNull()).addColumn("source","text",(t)=>t.notNull()).addColumn("specversion","text",(t)=>t.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(t)=>t.notNull()).addColumn("datacontenttype","text",(t)=>t.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(rR`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(rR`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_subscriptions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(t)=>t.notNull()).addColumn("filter","text").addColumn("enabled","integer",(t)=>t.notNull().defaultTo(1)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(rR`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(rR`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_deliveries").addColumn("id","text",(t)=>t.primaryKey()).addColumn("event_id","text",(t)=>t.notNull()).addColumn("subscription_id","text",(t)=>t.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(rR`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await i.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await i.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await i.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await i.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await i.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await i.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await i.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await i.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await i.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function yJl(i){await i.schema.dropIndex("idx_deliveries_retry").execute(),await i.schema.dropIndex("idx_deliveries_subscription_status").execute(),await i.schema.dropIndex("idx_deliveries_event").execute(),await i.schema.dropIndex("idx_subscriptions_unique").execute(),await i.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await i.schema.dropIndex("idx_subscriptions_type").execute(),await i.schema.dropIndex("idx_subscriptions_connection").execute(),await i.schema.dropIndex("idx_events_retry").execute(),await i.schema.dropIndex("idx_events_type").execute(),await i.schema.dropIndex("idx_events_source").execute(),await i.schema.dropIndex("idx_events_org_status").execute(),await i.schema.dropTable("event_deliveries").execute(),await i.schema.dropTable("event_subscriptions").execute(),await i.schema.dropTable("events").execute()}var vzt=()=>{};var qki={};Ai(qki,{up:()=>NJl,down:()=>JJl});import{sql as XJl}from"kysely";async function NJl(i){await i.schema.dropTable("audit_logs").ifExists().execute()}async function JJl(i){await i.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(XJl`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var rzt=()=>{};var Vki={};Ai(Vki,{up:()=>UJl,down:()=>FJl});import{sql as X0i}from"kysely";async function UJl(i){await i.schema.createTable("gateways").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(t)=>t.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("is_default","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(X0i`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(X0i`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await i.schema.createTable("gateway_connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("gateway_id","text",(t)=>t.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(X0i`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await i.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await X0i`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(i),await i.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function FJl(i){await i.schema.dropIndex("idx_gateway_connections_unique").execute(),await i.schema.dropIndex("idx_gateway_connections_connection").execute(),await i.schema.dropIndex("idx_gateway_connections_gateway").execute(),await i.schema.dropIndex("idx_gateways_default_per_org").execute(),await i.schema.dropIndex("idx_gateways_org_status").execute(),await i.schema.dropIndex("idx_gateways_org").execute(),await i.schema.dropTable("gateway_connections").execute(),await i.schema.dropTable("gateways").execute()}var wzt=()=>{};var aki={};Ai(aki,{up:()=>TJl,down:()=>IJl});async function TJl(i){await i.schema.alterTable("gateways").addColumn("icon","text").execute()}async function IJl(i){await i.schema.alterTable("gateways").dropColumn("icon").execute()}var mki={};Ai(mki,{up:()=>ZJl,down:()=>BJl});import{sql as N0i}from"kysely";async function ZJl(i){await i.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(t)=>t.notNull().defaultTo("inclusion")).execute(),await N0i`
|
|
104707
104707
|
UPDATE gateways
|
|
104708
104708
|
SET tool_selection_mode = CASE
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as $,r as g,j as r,c as H}from"./index-v-4yPWk5.js";import{D as _}from"./agent-icon-DfM7tMDC.js";import{i as V}from"./SearchMd-BuArn0kO.js";import{D as X,a as J,c as K,b as Q}from"./dialog-CRbRTRjQ.js";import{I as Y}from"./input-DMJCExP6.js";import{_ as Z,X as ee,$ as te,a0 as G,G as re}from"./index-tnP0ll1b.js";import"./AlertCircle-BiKiI44L.js";import"./Tool01-nw4j5J0X.js";import"./SwitchHorizontal01-D9V4WNpS.js";import"./RefreshCcw01-Bdic4y2D.js";import"./XCircle-DDLSDNYP.js";import"./ArrowUpRight-a9y7JExT.js";import"./ZapSquare-DfDC54JS.js";import"./Users03-DYjDLJbQ.js";import"./CheckCircle-79umy6UR.js";import"./Check-BXjvCNRo.js";import"./ChevronDown-DERZQdMP.js";import"./ChevronLeft-C6IDOOPU.js";import"./ChevronRight-CBmg3jrn.js";import"./ChevronUp-28KZDFJ3.js";import"./DotsVertical-BfY2m12a.js";import"./Container-Bmp8f1Hw.js";import"./Eye-DNuwjCPP.js";import"./ZoomOut-xmLm2dBO.js";import"./Globe01-DUsTmpYW.js";import"./FilterLines-0ZErBJ3i.js";import"./Star01-lcgisujL.js";import"./Palette-B1alDozW.js";import"./HardDrive-CTInlaSO.js";import"./Stars02-bUApAo8o.js";import"./Key01-DhkJOk-2.js";import"./LayoutLeft-C4WMufMy.js";import"./LinkExternal01-pT0NrKlt.js";import"./Monitor01-BqHMMIjb.js";import"./Sun-BhoXpP-F.js";import"./Play--ZCMNFjg.js";import"./Plus-C1rAdUXl.js";import"./Settings02-CMckE2RK.js";import"./Shield01-XGinfl8i.js";import"./Stars01-CQ0RN6al.js";import"./Trash01-BoFGJN1_.js";import"./Upload01-Cmfv30sX.js";import"./User01-of2DRTwj.js";import"./Users01-DYI7DwUF.js";import"./XClose-B1Jrn5dt.js";import"./X-DWbNv8Bl.js";import"./Zap-BBs40ZSU.js";import"./agent-capabilities-B27hg_M4.js";import"./chat-context-xuPBtQVH.js";import"./tab-id-BJeBBzov.js";import"./use-mcp-client-DR6PB45n.js";import"./decopilot-sse-pool-C-7QzQnf.js";import"./create-sse-subscription-BS5983N4.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-virtual-mcp-Cxb5tpje.js";import"./use-collections-d0NY3CF9.js";import"./use-ai-providers-BKDhxtFe.js";import"./use-organization-settings-C_PFgE7g.js";import"./pair-q0PU9j8x.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-CIVwHWtS.js";import"./select-BjY8Jgav.js";import"./tooltip-DvNlo5ri.js";import"./use-copy-Qm5PoymQ.js";import"./file-type-icon-C5unlJPE.js";import"./content-blocks-o63cs2vh.js";import"./types-COwjtZM8.js";import"./shell-layout-eEtSpk5j.js";import"./avatar-Cmykl5Hl.js";import"./required-auth-layout-eILzytQh.js";import"./useRouterState-BMTgOPTS.js";import"./use-org-sso-Bc6Fs-WH.js";import"./integration-icon-CCk0_Shy.js";import"./use-navigate-to-agent-COvK7v8V.js";import"./use-connection-Dz8syqkL.js";import"./use-mcp-prompts-BKDHmEg_.js";import"./form-CmvFmoxJ.js";import"./label-Cydnpuha.js";import"./spinner-BggGXeYI.js";import"./drawer-BOb8J64a.js";import"./collection-search-DSz3RDou.js";import"./tabs-aQunvyGd.js";import"./toggle-group-v0racvq3.js";import"./connect-desktop-dialog-Lo4qdhfs.js";import"./agent-icons-Bd8x3NUl.js";import"./checkbox-Djxv9Ar7.js";import"./skeleton-DK2Fokh_.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-DyB2NAPA.js";import"./card-CANcGy5k.js";import"./popover-BGH6hpUr.js";import"./command-CnCEvYjS.js";import"./index-C5VM3lmZ.js";import"./useInfiniteQuery-Bj28n6ln.js";import"./infiniteQueryObserver-C1PO3LYQ.js";import"./sortable.esm-1IzLCE3w.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-D82-toy5.js";import"./use-registry-connections-Fz6Tqm1j.js";import"./extract-connection-data-Dfy3Qlc3.js";import"./generate-id-yESv9K1i.js";import"./collections-BVLezaR1.js";import"./collection-tabs-BcYP8buy.js";import"./badge-CYgKxTpF.js";import"./textarea-CEsBzC6t.js";import"./connection-form-helpers-UH9KShfg.js";import"./use-infinite-scroll-DbJV2aWp.js";import"./useSuspenseInfiniteQuery-DT54Ek4w.js";import"./index-DL_YJ_kc.js";import"./dropdown-menu-o8504Ahe.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-BcsrhQn7.js";import"./sidebar-CYu-6Gzi.js";import"./sheet-DruC4GtE.js";import"./toolbar-QrhbD1LQ.js";import"./use-create-virtual-mcp-CakwJE5T.js";import"./github-repo-picker-BNoPWqQE.js";import"./use-mcp-tools-BrZjJ9zc.js";import"./alert-dialog-C4ynNGJF.js";import"./index-dQSPhEbP.js";import"./use-org-auth-client-6-YfaYzt.js";import"./hover-card-Clt-L-5u.js";import"./task-status-CbuV-3eP.js";import"./use-status-sounds-DadivPgy.js";import"./empty-state-iHDXNEBU.js";import"./resizable-CJjEyhK7.js";import"./use-capability-DGmhThV5.js";import"./header-tab-button-Dcs0BcqM.js";import"./index-CgVH5Gsy.js";import"./user-DxLdHnQg.js";import"./tools-list-Dw6j-mti.js";import"./switch-DRq3hJSo.js";import"./use-debounced-autosave-C_jxuSEe.js";import"./index-B5koQSO_.js";import"./search-input-BC9i8QlA.js";import"./use-secrets-CmzHGX24.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-BSz8aiEx.js";import"./view-mode-toggle-D7zEkHxC.js";import"./select-model-DOn11Z7b.js";import"./use-automations-DMOY10H-.js";import"./monaco-editor-B1jmgnr2.js";import"./automation-runs-XPUSkViZ.js";import"./table-D3XdCvZp.js";import"./use-members-BQ26-EKO.js";import"./automation-list-row-DTxZO-vH.js";const oe=12,E=new Set,D=new Set;function ie(){for(const l of D)l()}function se(l){return E.has(l)?!0:E.size>=oe?!1:(E.add(l),!0)}function F(l){E.delete(l)&&ie()}function le(l){return D.add(l),()=>{D.delete(l)}}function me(l,e){const t=g.useRef(!1),[v,n]=g.useState(!1),m=g.useRef(null),p=g.useRef(null),i=g.useRef(null),o=g.useRef(l);o.current=l;const[x]=g.useState(()=>{const s=()=>{i.current?.(),i.current=null},c=()=>t.current?!0:se(e)?(t.current=!0,n(!0),s(),!0):!1;return f=>{if(p.current=f,m.current&&(m.current.disconnect(),m.current=null),s(),!f){t.current&&(F(e),t.current=!1,n(!1));return}queueMicrotask(()=>{if(p.current!==f)return;const a=new IntersectionObserver(u=>{if(u[0]?.isIntersecting??!1){!c()&&!i.current&&(i.current=le(()=>{p.current===f&&c()}));return}s(),t.current&&(F(e),t.current=!1,n(!1))},{root:o.current.current,rootMargin:"160px 0px"});a.observe(f),m.current=a})}});return{ref:x,iframeActive:v}}function ne(l){const e=$.c(8),{previewUrl:t,title:v,scrollRootRef:n,slotId:m}=l,{ref:p,iframeActive:i}=me(n,m),[o,x]=g.useState(!1);let s;e[0]!==i||e[1]!==o||e[2]!==t||e[3]!==v?(s=i?r.jsxs(r.Fragment,{children:[!o&&r.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-muted/40",children:r.jsx(_,{className:"h-8 w-8 animate-pulse text-muted-foreground/40"})}),r.jsx("iframe",{src:t,title:`Preview ${v}`,sandbox:"allow-scripts allow-same-origin",referrerPolicy:"no-referrer",className:"pointer-events-none h-[200%] w-[200%] origin-top-left scale-50 border-0 bg-white",tabIndex:-1,onLoad:()=>x(!0)})]}):r.jsx("div",{className:"flex h-full items-center justify-center",children:r.jsx(_,{className:"h-8 w-8 text-muted-foreground/30"})}),e[0]=i,e[1]=o,e[2]=t,e[3]=v,e[4]=s):s=e[4];let c;return e[5]!==p||e[6]!==s?(c=r.jsx("div",{ref:p,className:"relative aspect-[16/10] w-full overflow-hidden bg-muted/40",children:s}),e[5]=p,e[6]=s,e[7]=c):c=e[7],c}function pe(l){const e=$.c(26),{entry:t,previewUrl:v,scrollRootRef:n,onSelect:m}=l,p=t.isSavedBlock&&"border-global-section/35 hover:bg-global-section/8";let i;e[0]!==p?(i=H("group flex flex-col overflow-hidden rounded-lg border bg-card text-left transition-colors","hover:border-primary/40 hover:bg-accent/30",p),e[0]=p,e[1]=i):i=e[1];let o;e[2]!==t.resolveType||e[3]!==t.title||e[4]!==v||e[5]!==n?(o=r.jsx(ne,{previewUrl:v,title:t.title,scrollRootRef:n,slotId:t.resolveType}),e[2]=t.resolveType,e[3]=t.title,e[4]=v,e[5]=n,e[6]=o):o=e[6];let x;e[7]!==t.isSavedBlock?(x=t.isSavedBlock?{color:re}:void 0,e[7]=t.isSavedBlock,e[8]=x):x=e[8];let s;e[9]!==x?(s=r.jsx(_,{className:"h-4 w-4 shrink-0",style:x}),e[9]=x,e[10]=s):s=e[10];let c;e[11]!==t.title?(c=r.jsx("p",{className:"truncate text-sm font-medium",children:t.title}),e[11]=t.title,e[12]=c):c=e[12];let f;e[13]!==t.description?(f=t.description&&r.jsx("p",{className:"truncate text-xs text-muted-foreground",children:t.description}),e[13]=t.description,e[14]=f):f=e[14];let a;e[15]!==c||e[16]!==f?(a=r.jsxs("div",{className:"min-w-0 flex-1",children:[c,f]}),e[15]=c,e[16]=f,e[17]=a):a=e[17];let u;e[18]!==s||e[19]!==a?(u=r.jsxs("div",{className:"flex items-center gap-2 border-t px-3 py-2.5",children:[s,a]}),e[18]=s,e[19]=a,e[20]=u):u=e[20];let h;return e[21]!==m||e[22]!==i||e[23]!==o||e[24]!==u?(h=r.jsxs("button",{type:"button",onClick:m,className:i,children:[o,u]}),e[21]=m,e[22]=i,e[23]=o,e[24]=u,e[25]=h):h=e[25],h}function Jr(l){const e=$.c(41),{open:t,onOpenChange:v,meta:n,decofile:m,previewBaseUrl:p,onSelect:i}=l,[o,x]=g.useState(""),[s,c]=g.useState(t),f=g.useRef(null);t!==s&&(c(t),t&&x(""));let a,u,h,b,S,j,N,y,w,R,C;if(e[0]!==m||e[1]!==n||e[2]!==v||e[3]!==i||e[4]!==t||e[5]!==p||e[6]!==o){const U=t&&n&&m?Z(n,m):[],M=n?ee(n):"",z=m?te(m):void 0,W=new Map;if(t&&M)for(const d of U)W.set(d.resolveType,G(p,M,d.previewBlock,z));const A=o.trim().toLowerCase(),q=A?U.filter(d=>d.title.toLowerCase().includes(A)||d.resolveType.toLowerCase().includes(A)||d.description?.toLowerCase().includes(A)):U;u=X,R=t,C=v,a=J,N="top-3 right-3",y="flex h-[90vh] max-h-[90vh] w-[96vw] max-w-[96vw] sm:max-w-[96vw] flex-col gap-0 overflow-hidden p-0";let O;e[18]===Symbol.for("react.memo_cache_sentinel")?(O=r.jsx(K,{children:"Add section"}),e[18]=O):O=e[18];let k;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=r.jsx(V,{size:14,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),e[19]=k):k=e[19];let B;e[20]===Symbol.for("react.memo_cache_sentinel")?(B=d=>x(d.target.value),e[20]=B):B=e[20],e[21]!==o?(w=r.jsxs(Q,{className:"shrink-0 border-b px-4 py-3 text-left",children:[O,r.jsxs("div",{className:"relative pt-2",children:[k,r.jsx(Y,{value:o,onChange:B,placeholder:"Search sections...",className:"h-9 pl-8"})]})]}),e[21]=o,e[22]=w):w=e[22],S=f,j="min-h-0 flex-1 overflow-y-auto",h="p-4",b=q.length===0?r.jsx("p",{className:"py-8 text-center text-sm text-muted-foreground",children:"No sections found."}):r.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:q.map(d=>r.jsx(pe,{entry:d,scrollRootRef:f,previewUrl:W.get(d.resolveType)??G(p,M,d.previewBlock,z),onSelect:()=>i(d)},d.resolveType))}),e[0]=m,e[1]=n,e[2]=v,e[3]=i,e[4]=t,e[5]=p,e[6]=o,e[7]=a,e[8]=u,e[9]=h,e[10]=b,e[11]=S,e[12]=j,e[13]=N,e[14]=y,e[15]=w,e[16]=R,e[17]=C}else a=e[7],u=e[8],h=e[9],b=e[10],S=e[11],j=e[12],N=e[13],y=e[14],w=e[15],R=e[16],C=e[17];let T;e[23]!==h||e[24]!==b?(T=r.jsx("div",{className:h,children:b}),e[23]=h,e[24]=b,e[25]=T):T=e[25];let I;e[26]!==T||e[27]!==S||e[28]!==j?(I=r.jsx("div",{ref:S,className:j,children:T}),e[26]=T,e[27]=S,e[28]=j,e[29]=I):I=e[29];let L;e[30]!==a||e[31]!==I||e[32]!==N||e[33]!==y||e[34]!==w?(L=r.jsxs(a,{closeButtonClassName:N,className:y,children:[w,I]}),e[30]=a,e[31]=I,e[32]=N,e[33]=y,e[34]=w,e[35]=L):L=e[35];let P;return e[36]!==u||e[37]!==L||e[38]!==R||e[39]!==C?(P=r.jsx(u,{open:R,onOpenChange:C,children:L}),e[36]=u,e[37]=L,e[38]=R,e[39]=C,e[40]=P):P=e[40],P}export{Jr as AddSectionModal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as M,r as S,j as o,l as q}from"./index-v-4yPWk5.js";import{S as G}from"./scroll-area-CIVwHWtS.js";import{j as H,a4 as J,d as Q}from"./index-tnP0ll1b.js";import{S as U}from"./schema-form-DSVAzke8.js";import{S as W}from"./save-status-kbN5j4dY.js";import"./select-BjY8Jgav.js";import"./tooltip-DvNlo5ri.js";import"./Check-BXjvCNRo.js";import"./ChevronDown-DERZQdMP.js";import"./ChevronUp-28KZDFJ3.js";import"./agent-capabilities-B27hg_M4.js";import"./chat-context-xuPBtQVH.js";import"./tab-id-BJeBBzov.js";import"./use-mcp-client-DR6PB45n.js";import"./decopilot-sse-pool-C-7QzQnf.js";import"./create-sse-subscription-BS5983N4.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-virtual-mcp-Cxb5tpje.js";import"./use-collections-d0NY3CF9.js";import"./use-ai-providers-BKDhxtFe.js";import"./use-organization-settings-C_PFgE7g.js";import"./pair-q0PU9j8x.js";import"./agent-icon-DfM7tMDC.js";import"./AlertCircle-BiKiI44L.js";import"./Tool01-nw4j5J0X.js";import"./SwitchHorizontal01-D9V4WNpS.js";import"./RefreshCcw01-Bdic4y2D.js";import"./XCircle-DDLSDNYP.js";import"./ArrowUpRight-a9y7JExT.js";import"./ZapSquare-DfDC54JS.js";import"./Users03-DYjDLJbQ.js";import"./CheckCircle-79umy6UR.js";import"./ChevronLeft-C6IDOOPU.js";import"./ChevronRight-CBmg3jrn.js";import"./DotsVertical-BfY2m12a.js";import"./Container-Bmp8f1Hw.js";import"./Eye-DNuwjCPP.js";import"./ZoomOut-xmLm2dBO.js";import"./Globe01-DUsTmpYW.js";import"./FilterLines-0ZErBJ3i.js";import"./Star01-lcgisujL.js";import"./Palette-B1alDozW.js";import"./HardDrive-CTInlaSO.js";import"./Stars02-bUApAo8o.js";import"./Key01-DhkJOk-2.js";import"./LayoutLeft-C4WMufMy.js";import"./LinkExternal01-pT0NrKlt.js";import"./Monitor01-BqHMMIjb.js";import"./Sun-BhoXpP-F.js";import"./Play--ZCMNFjg.js";import"./Plus-C1rAdUXl.js";import"./SearchMd-BuArn0kO.js";import"./Settings02-CMckE2RK.js";import"./Shield01-XGinfl8i.js";import"./Stars01-CQ0RN6al.js";import"./Trash01-BoFGJN1_.js";import"./Upload01-Cmfv30sX.js";import"./User01-of2DRTwj.js";import"./Users01-DYI7DwUF.js";import"./XClose-B1Jrn5dt.js";import"./X-DWbNv8Bl.js";import"./Zap-BBs40ZSU.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-Qm5PoymQ.js";import"./file-type-icon-C5unlJPE.js";import"./dialog-CRbRTRjQ.js";import"./content-blocks-o63cs2vh.js";import"./types-COwjtZM8.js";import"./shell-layout-eEtSpk5j.js";import"./avatar-Cmykl5Hl.js";import"./required-auth-layout-eILzytQh.js";import"./useRouterState-BMTgOPTS.js";import"./use-org-sso-Bc6Fs-WH.js";import"./integration-icon-CCk0_Shy.js";import"./use-navigate-to-agent-COvK7v8V.js";import"./use-connection-Dz8syqkL.js";import"./use-mcp-prompts-BKDHmEg_.js";import"./form-CmvFmoxJ.js";import"./label-Cydnpuha.js";import"./input-DMJCExP6.js";import"./spinner-BggGXeYI.js";import"./drawer-BOb8J64a.js";import"./collection-search-DSz3RDou.js";import"./tabs-aQunvyGd.js";import"./toggle-group-v0racvq3.js";import"./connect-desktop-dialog-Lo4qdhfs.js";import"./agent-icons-Bd8x3NUl.js";import"./checkbox-Djxv9Ar7.js";import"./skeleton-DK2Fokh_.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-DyB2NAPA.js";import"./card-CANcGy5k.js";import"./popover-BGH6hpUr.js";import"./command-CnCEvYjS.js";import"./index-C5VM3lmZ.js";import"./useInfiniteQuery-Bj28n6ln.js";import"./infiniteQueryObserver-C1PO3LYQ.js";import"./sortable.esm-1IzLCE3w.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-D82-toy5.js";import"./use-registry-connections-Fz6Tqm1j.js";import"./extract-connection-data-Dfy3Qlc3.js";import"./generate-id-yESv9K1i.js";import"./collections-BVLezaR1.js";import"./collection-tabs-BcYP8buy.js";import"./badge-CYgKxTpF.js";import"./textarea-CEsBzC6t.js";import"./connection-form-helpers-UH9KShfg.js";import"./use-infinite-scroll-DbJV2aWp.js";import"./useSuspenseInfiniteQuery-DT54Ek4w.js";import"./index-DL_YJ_kc.js";import"./dropdown-menu-o8504Ahe.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-BcsrhQn7.js";import"./sidebar-CYu-6Gzi.js";import"./sheet-DruC4GtE.js";import"./toolbar-QrhbD1LQ.js";import"./use-create-virtual-mcp-CakwJE5T.js";import"./github-repo-picker-BNoPWqQE.js";import"./use-mcp-tools-BrZjJ9zc.js";import"./alert-dialog-C4ynNGJF.js";import"./index-dQSPhEbP.js";import"./use-org-auth-client-6-YfaYzt.js";import"./hover-card-Clt-L-5u.js";import"./task-status-CbuV-3eP.js";import"./use-status-sounds-DadivPgy.js";import"./empty-state-iHDXNEBU.js";import"./resizable-CJjEyhK7.js";import"./use-capability-DGmhThV5.js";import"./header-tab-button-Dcs0BcqM.js";import"./index-CgVH5Gsy.js";import"./user-DxLdHnQg.js";import"./tools-list-Dw6j-mti.js";import"./switch-DRq3hJSo.js";import"./use-debounced-autosave-C_jxuSEe.js";import"./index-B5koQSO_.js";import"./search-input-BC9i8QlA.js";import"./use-secrets-CmzHGX24.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-BSz8aiEx.js";import"./view-mode-toggle-D7zEkHxC.js";import"./select-model-DOn11Z7b.js";import"./use-automations-DMOY10H-.js";import"./monaco-editor-B1jmgnr2.js";import"./automation-runs-XPUSkViZ.js";import"./table-D3XdCvZp.js";import"./use-members-BQ26-EKO.js";import"./automation-list-row-DTxZO-vH.js";import"./calendar-BbdXUff-.js";import"./image-field-fSOsfNOS.js";import"./use-file-configs-BVh0-t8s.js";function qo(g){const t=M.c(38),{orgSlug:N,virtualMcpId:_,branch:k,blockKey:r,block:i,meta:m,title:E,excludeFields:n,schemaPending:C}=g,P=C===void 0?!1:C,e=typeof i?.__resolveType=="string"?i.__resolveType:"";let d;if(t[0]!==n||t[1]!==m||t[2]!==e){const c=e?H(e,m):null;d=c&&n?.length?{...c,properties:Object.fromEntries(Object.entries(c.properties??{}).filter(y=>{const[I]=y;return!n.includes(I)}))}:c,t[0]=n,t[1]=m,t[2]=e,t[3]=d}else d=t[3];const f=d;let u;t[4]!==i||t[5]!==r||t[6]!==m||t[7]!==E?(u=E??(i?J(r,i,m):r),t[4]=i,t[5]=r,t[6]=m,t[7]=E,t[8]=u):u=t[8];const B=u;let x;t[9]!==k||t[10]!==N||t[11]!==_?(x={orgSlug:N,virtualMcpId:_,branch:k},t[9]=k,t[10]=N,t[11]=_,t[12]=x):x=t[12];const{save:K,isPending:R}=Q(x),[A,L]=S.useState(r),[z,O]=S.useState(null),[V,D]=S.useState(0);let h;t[13]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[13]=h):h=t[13];const[w,$]=S.useState(h);A!==r&&(L(r),O(null),D(X),$([]));let v;t[14]!==i?(v=i??{},t[14]=i,t[15]=v):v=t[15];const F=z??v;let b;t[16]!==r||t[17]!==e||t[18]!==K?(b=c=>{const y=c;O(y),K(r,{...y,__resolveType:e})},t[16]=r,t[17]=e,t[18]=K,t[19]=b):b=t[19];const T=b;let p;t[20]!==B?(p=o.jsx("span",{className:"text-sm font-medium",children:B}),t[20]=B,t[21]=p):p=t[21];let s;t[22]!==R?(s=o.jsx(W,{isPending:R,isError:!1}),t[22]=R,t[23]=s):s=t[23];let l;t[24]!==p||t[25]!==s?(l=o.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[p,s]}),t[24]=p,t[25]=s,t[26]=l):l=t[26];let a;t[27]!==r||t[28]!==w||t[29]!==F||t[30]!==V||t[31]!==T||t[32]!==f||t[33]!==P?(a=o.jsx(G,{className:"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:f?o.jsx(U,{schema:f,value:F,onChange:T,basePath:"",breadcrumbPath:w,onBreadcrumbChange:$},`${r}:${V}`):P?o.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[o.jsx(q,{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."})})})}),t[27]=r,t[28]=w,t[29]=F,t[30]=V,t[31]=T,t[32]=f,t[33]=P,t[34]=a):a=t[34];let j;return t[35]!==l||t[36]!==a?(j=o.jsxs("div",{className:"flex h-full flex-col",children:[l,a]}),t[35]=l,t[36]=a,t[37]=j):j=t[37],j}function X(g){return g+1}export{qo as AppEditor};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{e as y,r as v,j as o,B as W,C as we,c as ee,q as C,G as ce,a as G,K as M,n as X,b6 as xe,o as re,a0 as ge,l as ye}from"./index-v-4yPWk5.js";import{D as je,a as ke,b as be,c as ie}from"./dropdown-menu-o8504Ahe.js";import{b as A,T as B,a as K}from"./tooltip-DvNlo5ri.js";import{i as ve}from"./Check-BXjvCNRo.js";import{a as Se}from"./Eye-DNuwjCPP.js";import{n as Z}from"./Globe01-DUsTmpYW.js";import{e as $e,f as Te,i as Ee,b as Me}from"./ZoomOut-xmLm2dBO.js";import{i as Ce}from"./LayoutLeft-C4WMufMy.js";import{n as Ne}from"./LinkExternal01-pT0NrKlt.js";import{S as Q}from"./skeleton-DK2Fokh_.js";import{l as De,F as Fe}from"./index-CgVH5Gsy.js";import{F as Pe,M as Ue}from"./file-type-icon-C5unlJPE.js";const wt=1e4,ze=3;function J(s){return s.trim()?(s.startsWith("/")?s:`/${s}`).replace(/\/+/g,"/"):"/"}function te(s){return s.startsWith("/")?s.slice(1):s}function Y(s){return s.trim()?s.startsWith("/")?s:`/${s}`:"/"}function Oe(s){const e=Y(s);if(e==="/")return"/";const t=e.split("/").filter(Boolean);return t.pop(),t.length===0?"/":`/${t.join("/")}`}function xt(s,e){const t=e.replace(/^\/+|\/+$/g,"");return Y(t?`${s==="/"?"":s}/${t}`:s)}function gt(s,e){return e==="directory"?s:Oe(s)}function yt(s){const e=s.trim();return e?e.includes("/")||e.includes("\\")||e.includes("..")||e.includes("\0")?"Name cannot contain /, \\, or ..":e.startsWith(".")?"Name cannot start with a dot":null:"Name is required"}function _e(s){const e=te(s);return e?e.split("/").filter(Boolean).length:0}function jt(s,e,t,n=!1){return{files:[...new Set([...s,...t.files])],directories:[...new Set([...e,...t.directories??[]])],truncated:n||!!t.truncated}}function kt(s,e){return _e(s)>ze&&!e.has(s)}function bt(s,e,t=[]){const n=te(s);if(e.includes(n)||t.includes(n))return!0;if(!n)return!1;const r=`${n}/`;return e.some(i=>i.startsWith(r))||t.some(i=>i.startsWith(r))}function vt(s){const e=te(s),t=".deco/blocks/";if(!e.startsWith(t)||!e.endsWith(".json"))return null;const n=e.slice(t.length,-5);try{return decodeURIComponent(n)}catch{return n}}function Re(s){if(!s)return"plaintext";const e=s.toLowerCase();return e.endsWith(".tsx")||e.endsWith(".ts")?"typescript":e.endsWith(".jsx")||e.endsWith(".js")||e.endsWith(".mjs")||e.endsWith(".cjs")?"javascript":e.endsWith(".json")?"json":e.endsWith(".md")||e.endsWith(".mdx")?"markdown":e.endsWith(".css")?"css":e.endsWith(".scss")?"scss":e.endsWith(".html")?"html":e.endsWith(".yaml")||e.endsWith(".yml")?"yaml":e.endsWith(".xml")||e.endsWith(".svg")?"xml":e.endsWith(".py")?"python":e.endsWith(".sql")?"sql":e.endsWith(".sh")?"shell":"plaintext"}function St(s){const e=J(s).split("/").filter(Boolean),t=["/"];let n="";for(const r of e.slice(0,-1))n+=`/${r}`,t.push(n);return t}function $t(s,e=[]){const t={children:[]},n=i=>{const d=J(i).split("/").filter(Boolean);let c=t,l="";for(const f of d){l+=`/${f}`;let u=c.children.find(m=>m.name===f);u?u.kind==="file"&&(u.kind="directory"):(u={name:f,path:l,kind:"directory",children:[]},c.children.push(u)),c=u}};for(const i of s){const d=J(i).split("/").filter(Boolean);let c=t,l="";d.forEach((f,u)=>{l+=`/${f}`;const m=u===d.length-1;let x=c.children.find(k=>k.name===f);x||(x={name:f,path:l,kind:m?"file":"directory",children:[]},c.children.push(x)),c=x})}for(const i of e)n(Y(i));const r=i=>{i.sort((a,d)=>a.kind!==d.kind?a.kind==="directory"?-1:1:a.name.localeCompare(d.name));for(const a of i)a.children.length>0&&r(a.children)};return r(t.children),t.children}function We(s,e,t=0){const n=[];for(const r of s)r.name!==".gitkeep"&&(n.push({node:r,depth:t}),r.kind==="directory"&&r.children.length>0&&e.has(r.path)&&n.push(...We(r.children,e,t+1)));return n}function Tt(s){return s.split(`
|
|
2
|
-
`).map(e=>{const t=e.match(/^\d+\t(.*)/);return t?t[1]:e}).join(`
|
|
3
|
-
`)}function Le(s){const e=y.c(53),{readUrl:t,editor:n,downloadName:r,trailing:i}=s,[a,d]=v.useState(!1);let c;e[0]!==t?(c=new URL(t,window.location.origin).toString(),e[0]=t,e[1]=c):c=e[1];const l=c;let f;e[2]!==l?(f=()=>{navigator.clipboard.writeText(l),d(!0),window.setTimeout(()=>d(!1),1500)},e[2]=l,e[3]=f):f=e[3];const u=f;let m;e[4]!==n?(m=n.deckDetected&&o.jsxs(A,{children:[o.jsx(B,{asChild:!0,children:o.jsx(W,{variant:n.railOpen?"secondary":"ghost",size:"icon","aria-label":n.railOpen?"Hide slide list":"Show slide list",onClick:()=>n.setRailOpen(!n.railOpen),children:o.jsx(Ce,{size:14})})}),o.jsx(K,{side:"bottom",children:n.railOpen?"Hide slide list":"Show slide list"})]}),e[4]=n,e[5]=m):m=e[5];let x;e[6]!==l?(x=()=>window.open(l,"_blank","noopener"),e[6]=l,e[7]=x):x=e[7];let k;e[8]!==l?(k=o.jsx("span",{className:"truncate",children:l}),e[8]=l,e[9]=k):k=e[9];let b;e[10]!==l||e[11]!==x||e[12]!==k?(b=o.jsx("button",{type:"button",onClick:x,className:"flex min-w-0 flex-1 items-center rounded-md px-2 py-1 text-left text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",title:l,children:k}),e[10]=l,e[11]=x,e[12]=k,e[13]=b):b=e[13];let g;e[14]!==n.agentUpdated||e[15]!==n.reload?(g=n.agentUpdated&&o.jsxs(A,{children:[o.jsx(B,{asChild:!0,children:o.jsxs(W,{variant:"outline",size:"sm",className:"h-7 gap-1 text-xs",onClick:n.reload,children:[o.jsx(we,{size:12}),"Agent updated — reload"]})}),o.jsx(K,{side:"bottom",children:"The agent rewrote this deck while you were editing. Reloading discards unsaved differences."})]}),e[14]=n.agentUpdated,e[15]=n.reload,e[16]=g):g=e[16];let j;e[17]!==n.saving?(j=n.saving&&o.jsx("span",{className:"px-1 text-xs text-muted-foreground",children:"Saving…"}),e[17]=n.saving,e[18]=j):j=e[18];let S;e[19]!==n?(S=n.deckDetected&&n.writable&&o.jsxs(A,{children:[o.jsx(B,{asChild:!0,children:o.jsx(W,{variant:n.editMode?"secondary":"ghost",size:"icon","aria-label":n.editMode?"Done editing":"Edit inline",className:ee(n.editMode&&"text-primary"),onClick:()=>n.setEditMode(!n.editMode),children:o.jsx($e,{size:14})})}),o.jsx(K,{side:"bottom",children:n.editMode?"Done editing":"Edit inline (text, reorder, delete)"})]}),e[19]=n,e[20]=S):S=e[20];let E;e[21]!==l||e[22]!==r||e[23]!==n.deckDetected?(E=n.deckDetected?o.jsxs(je,{children:[o.jsx(ke,{asChild:!0,children:o.jsx(W,{variant:"ghost",size:"icon","aria-label":"Download",children:o.jsx(Z,{size:14})})}),o.jsxs(be,{align:"end",children:[o.jsxs(ie,{onClick:()=>window.open(`${l}#print`,"_blank","noopener"),children:[o.jsx(Te,{size:14}),"Export as PDF"]}),o.jsx(ie,{asChild:!0,children:o.jsxs("a",{href:l,download:r,children:[o.jsx(Ee,{size:14}),"Download HTML"]})})]})]}):o.jsxs(A,{children:[o.jsx(B,{asChild:!0,children:o.jsx(W,{variant:"ghost",size:"icon","aria-label":"Download",asChild:!0,children:o.jsx("a",{href:l,download:r,children:o.jsx(Z,{size:14})})})}),o.jsx(K,{side:"bottom",children:"Download"})]}),e[21]=l,e[22]=r,e[23]=n.deckDetected,e[24]=E):E=e[24];let F;e[25]!==a?(F=a?o.jsx(ve,{size:14}):o.jsx(Se,{size:14}),e[25]=a,e[26]=F):F=e[26];let P;e[27]!==u||e[28]!==F?(P=o.jsx(B,{asChild:!0,children:o.jsx(W,{variant:"ghost",size:"icon","aria-label":"Copy URL",onClick:u,children:F})}),e[27]=u,e[28]=F,e[29]=P):P=e[29];const V=a?"Copied":"Copy URL";let p;e[30]!==V?(p=o.jsx(K,{side:"bottom",children:V}),e[30]=V,e[31]=p):p=e[31];let U;e[32]!==P||e[33]!==p?(U=o.jsxs(A,{children:[P,p]}),e[32]=P,e[33]=p,e[34]=U):U=e[34];let N;e[35]!==l?(N=()=>window.open(l,"_blank","noopener"),e[35]=l,e[36]=N):N=e[36];let $;e[37]===Symbol.for("react.memo_cache_sentinel")?($=o.jsx(Ne,{size:14}),e[37]=$):$=e[37];let T;e[38]!==N?(T=o.jsx(B,{asChild:!0,children:o.jsx(W,{variant:"ghost",size:"icon","aria-label":"Open in new tab",onClick:N,children:$})}),e[38]=N,e[39]=T):T=e[39];let I;e[40]===Symbol.for("react.memo_cache_sentinel")?(I=o.jsx(K,{side:"bottom",children:"Open in new tab"}),e[40]=I):I=e[40];let z;e[41]!==T?(z=o.jsxs(A,{children:[T,I]}),e[41]=T,e[42]=z):z=e[42];let O;return e[43]!==E||e[44]!==U||e[45]!==z||e[46]!==m||e[47]!==b||e[48]!==g||e[49]!==j||e[50]!==S||e[51]!==i?(O=o.jsxs("div",{className:"flex h-9 shrink-0 items-center gap-1 border-b border-border/60 px-2",children:[m,b,g,j,S,E,U,z,i]}),e[43]=E,e[44]=U,e[45]=z,e[46]=m,e[47]=b,e[48]=g,e[49]=j,e[50]=S,e[51]=i,e[52]=O):O=e[52],O}function qe(s){return s.contentHash??`${s.size}-${s.updatedAt}`}function D(s,e,t,n){const r=new URLSearchParams(n).toString();return`/api/${encodeURIComponent(s)}/fs/${encodeURIComponent(e)}/${t}${r?`?${r}`:""}`}async function q(s,e){const t=await fetch(s,e);if(!t.ok){let n="";try{n=(await t.json()).error??""}catch{}throw new Error(n||`HTTP ${t.status}`)}return t}function Et(s,e){const t=y.c(11),{org:n}=C();let r;t[0]!==n.id||t[1]!==e||t[2]!==s?(r=M.orgFsList(n.id,s,e),t[0]=n.id,t[1]=e,t[2]=s,t[3]=r):r=t[3];let i;t[4]!==n.slug||t[5]!==e||t[6]!==s?(i=async()=>(await(await q(D(n.slug,s,"list",{path:e}))).json()).entries.toSorted(Ie),t[4]=n.slug,t[5]=e,t[6]=s,t[7]=i):i=t[7];let a;return t[8]!==r||t[9]!==i?(a={queryKey:r,placeholderData:xe,queryFn:i},t[8]=r,t[9]=i,t[10]=a):a=t[10],X(a)}function Ie(s,e){return s.kind!==e.kind?s.kind==="dir"?-1:1:s.path.localeCompare(e.path)}function Mt(s,e,t){const n=y.c(15),{org:r}=C();let i;n[0]!==r.id||n[1]!==e||n[2]!==s?(i=M.orgFsStat(r.id,s??"",e),n[0]=r.id,n[1]=e,n[2]=s,n[3]=i):i=n[3];const a=s!==null;let d;n[4]!==t?(d=t?.refetchIntervalWhenAbsent?f=>f.state.data?!1:t.refetchIntervalWhenAbsent??!1:void 0,n[4]=t,n[5]=d):d=n[5];let c;n[6]!==r.slug||n[7]!==e||n[8]!==s?(c=async()=>{const f=await fetch(D(r.slug,s??"","stat",{path:e}));if(f.status===404)return null;if(!f.ok)throw new Error(`HTTP ${f.status}`);return(await f.json()).entry},n[6]=r.slug,n[7]=e,n[8]=s,n[9]=c):c=n[9];let l;return n[10]!==i||n[11]!==a||n[12]!==d||n[13]!==c?(l={queryKey:i,enabled:a,refetchInterval:d,queryFn:c},n[10]=i,n[11]=a,n[12]=d,n[13]=c,n[14]=l):l=n[14],X(l)}function Ct(s){const e=y.c(9),{org:t}=C();let n;e[0]!==t.id||e[1]!==s?(n=M.orgFsUsage(t.id,s),e[0]=t.id,e[1]=s,e[2]=n):n=e[2];let r;e[3]!==t.slug||e[4]!==s?(r=async()=>await(await q(D(t.slug,s,"usage"))).json(),e[3]=t.slug,e[4]=s,e[5]=r):r=e[5];let i;return e[6]!==n||e[7]!==r?(i={queryKey:n,queryFn:r},e[6]=n,e[7]=r,e[8]=i):i=e[8],X(i)}function Nt(s){const e=y.c(8),t=60,{org:n}=C();let r;e[0]!==n.id?(r=M.orgFsRecent(n.id),e[0]=n.id,e[1]=r):r=e[1];let i;e[2]!==t||e[3]!==n.slug?(i=async()=>(await(await q(`/api/${encodeURIComponent(n.slug)}/fs/recent?limit=${t}`)).json()).entries,e[2]=t,e[3]=n.slug,e[4]=i):i=e[4];let a;return e[5]!==r||e[6]!==i?(a={queryKey:r,queryFn:i},e[5]=r,e[6]=i,e[7]=a):a=e[7],X(a)}function Dt(){const s=y.c(7),{org:e}=C();let t;s[0]!==e.id?(t=M.orgFsPublicSets(e.id),s[0]=e.id,s[1]=t):t=s[1];let n;s[2]!==e.slug?(n=async()=>(await(await q(`/api/${encodeURIComponent(e.slug)}/fs/public-sets`)).json()).sets,s[2]=e.slug,s[3]=n):n=s[3];let r;return s[4]!==t||s[5]!==n?(r={queryKey:t,staleTime:3e5,queryFn:n},s[4]=t,s[5]=n,s[6]=r):r=s[6],X(r)}function Ft(s){const e=y.c(3),{org:t}=C();let n;return e[0]!==t.slug||e[1]!==s?(n=r=>D(t.slug,s,"read",{path:r}),e[0]=t.slug,e[1]=s,e[2]=n):n=e[2],n}function Pt(){const s=y.c(2),{org:e}=C();let t;return s[0]!==e.slug?(t=(n,r)=>D(e.slug,n,"read",{path:r}),s[0]=e.slug,s[1]=t):t=s[1],t}function Ae(s){const e=y.c(3),{org:t}=C();let n;return e[0]!==t||e[1]!==s?(n={mutationFn:async r=>(await(await q(D(t.slug,s,"file",{path:r.path}),{method:"PUT",headers:{"content-type":r.contentType??"text/html; charset=utf-8"},body:r.body})).json()).entry},e[0]=t,e[1]=s,e[2]=n):n=e[2],G(n)}function Ut(s){const e=y.c(26),{org:t}=C(),n=ce();let r;e[0]!==t||e[1]!==n||e[2]!==s?(r=()=>{n.invalidateQueries({queryKey:M.orgFsVolume(t.id,s)}),n.invalidateQueries({queryKey:M.orgFsRecent(t.id)})},e[0]=t,e[1]=n,e[2]=s,e[3]=r):r=e[3];const i=r;let a;e[4]!==t||e[5]!==s?(a=async g=>{for(const j of g.files){const S=g.dir?`${g.dir}/${j.name}`:j.name;await q(D(t.slug,s,"file",{path:S}),{method:"PUT",headers:{"content-type":j.type||"application/octet-stream"},body:j})}},e[4]=t,e[5]=s,e[6]=a):a=e[6];let d;e[7]!==i||e[8]!==a?(d={mutationFn:a,onSettled:i},e[7]=i,e[8]=a,e[9]=d):d=e[9];const c=G(d);let l;e[10]!==t||e[11]!==s?(l=async g=>{await q(D(t.slug,s,"dir",{path:g}),{method:"POST"})},e[10]=t,e[11]=s,e[12]=l):l=e[12];let f;e[13]!==i||e[14]!==l?(f={mutationFn:l,onSuccess:i},e[13]=i,e[14]=l,e[15]=f):f=e[15];const u=G(f);let m;e[16]!==t||e[17]!==s?(m=async g=>{await q(D(t.slug,s,"file",{path:g}),{method:"DELETE"})},e[16]=t,e[17]=s,e[18]=m):m=e[18];let x;e[19]!==i||e[20]!==m?(x={mutationFn:m,onSuccess:i},e[19]=i,e[20]=m,e[21]=x):x=e[21];const k=G(x);let b;return e[22]!==u||e[23]!==k||e[24]!==c?(b={upload:c,mkdir:u,remove:k},e[22]=u,e[23]=k,e[24]=c,e[25]=b):b=e[25],b}const H=1;function Be(s){if(typeof s!="object"||s===null||s.v!==H||s.source!=="deck-viewer")return null;const e=s;return e.type==="ready"||e.type==="state"||e.type==="op"&&typeof e.opId=="string"&&e.op?e:null}class L extends Error{constructor(e,t){super(e),this.code=t,this.name="DeckOpError"}code}function de(s){return[...s.children].filter(e=>!/^(TEMPLATE|SCRIPT|STYLE)$/.test(e.tagName))}function Ke(s){const t=new DOMParser().parseFromString(s,"text/html").querySelector("deck-viewer");return t?de(t).length:null}function He(s,e){const t=new DOMParser().parseFromString(s,"text/html"),n=t.querySelector("deck-viewer");if(!n)throw new L("no <deck-viewer> element in source","no-viewer");const r=de(n),i=e.kind==="move"?e.from:e.at,a=r[i];if(!a)throw new L(`slide index ${i} out of range (${r.length})`,"stale-index");switch(e.kind){case"remove":{if(r.length<=1)throw new L("cannot remove the last slide","bad-op");a.remove();break}case"duplicate":{const c=a.cloneNode(!0);c.removeAttribute("id");for(const l of c.querySelectorAll("[id]"))l.removeAttribute("id");a.after(c);break}case"move":{if(e.to<0||e.to>=r.length)throw new L(`move target ${e.to} out of range`,"stale-index");if(e.to!==e.from){const c=e.to<e.from?r[e.to]:r[e.to].nextSibling;n.insertBefore(a,c)}break}case"set-attr":{if(!/^[a-zA-Z][\w-]*$/.test(e.name))throw new L(`invalid attribute name: ${e.name}`,"bad-op");a.setAttribute(e.name,e.value);break}case"remove-attr":{a.removeAttribute(e.name);break}case"replace":{const l=new DOMParser().parseFromString(e.html,"text/html").body.firstElementChild;if(!l)throw new L("replace html has no root element","bad-op");a.replaceWith(t.importNode(l,!0));break}default:throw new L(`unknown op kind: ${e.kind}`,"bad-op")}return`${s.trimStart().toLowerCase().startsWith("<!doctype")?`<!DOCTYPE html>
|
|
4
|
-
`:""}${t.documentElement.outerHTML}
|
|
5
|
-
`}const oe="home",Xe=400,Ve=800;function Qe(s){const e=s.savePath!==void 0,{org:t}=C(),n=ce(),r=Ae(oe),[i,a]=v.useState(!1),[d,c]=v.useState(!1),[l,f]=v.useState(!1),[u,m]=v.useState(!1),[x,k]=v.useState(!1),[b,g]=v.useState(!1),[j,S]=v.useState(null),[E,F]=v.useState(null),[P,V]=v.useState(0),[p]=v.useState(()=>({iframe:null,source:null,queue:Promise.resolve(),saveTimer:null,selfMarkers:new Set})),U=i||b||x,N=()=>{s.savePath!==void 0&&(n.invalidateQueries({queryKey:M.orgFsStat(t.id,oe,s.savePath)}),n.invalidateQueries({queryKey:M.orgFsRecent(t.id)}))},$=h=>{p.iframe?.contentWindow?.postMessage(h,"*")},T=()=>{p.source=null,m(!1),E&&S(E),V(h=>h+1),N()};s.statMarker!==E&&(F(s.statMarker),s.statMarker!==null&&(j===null?S(s.statMarker):p.selfMarkers.has(s.statMarker)||s.statMarker!==j&&(U?m(!0):(p.source=null,S(s.statMarker)))));const I=async()=>{p.saveTimer=null;const h=p.source;if(h===null){g(!1);return}k(!0);try{const w=await r.mutateAsync({path:s.savePath,body:h});p.selfMarkers.add(qe(w)),N()}catch(w){console.error("[deck-editor] save failed",w),re.error("Couldn't save deck edits — reloading the preview."),_.current.reload()}finally{k(!1),g(!1)}},z=h=>{g(!0),p.saveTimer&&clearTimeout(p.saveTimer),p.saveTimer=setTimeout(()=>{_.current.flushSave()},h)},O=(h,w,R)=>{$({v:H,type:"ack",opId:h,ok:w,error:R})},se=async h=>{if(!e){O(h.opId,!1,"read-only preview");return}try{if(p.source===null){const R=await fetch(s.readUrl,{credentials:"include"});if(!R.ok)throw new Error(`HTTP ${R.status}`);p.source=await R.text()}const w=Ke(p.source);if(w===null||w!==h.witness.childCount)throw new L(`slide count drifted (source ${w}, iframe ${h.witness.childCount})`,"stale-index");p.source=He(p.source,h.op),O(h.opId,!0),z(h.op.kind==="replace"?Ve:Xe)}catch(w){console.error("[deck-editor] op failed",h.op,w),O(h.opId,!1,w instanceof Error?w.message:String(w)),re.error("That edit couldn't be saved — reloading the preview."),_.current.reload()}},ne=h=>{if(!p.iframe||h.source!==p.iframe.contentWindow)return;const w=Be(h.data);if(w){if(w.type==="ready"){c(!0),_.current.editMode?$({v:H,type:"set-edit-mode",enabled:!0}):_.current.railOpen&&$({v:H,type:"set-rail",open:!0});return}w.type==="op"&&(p.queue=p.queue.then(()=>_.current.handleOp(w)).catch(()=>{}))}},_=v.useRef({onMessage:ne,handleOp:se,flushSave:I,reload:T,editMode:i,railOpen:l});_.current={onMessage:ne,handleOp:se,flushSave:I,reload:T,editMode:i,railOpen:l};const[ue]=v.useState(()=>{let h=null;return w=>{if(w){p.iframe=w;const R=pe=>_.current.onMessage(pe);window.addEventListener("message",R),h=()=>window.removeEventListener("message",R)}else h?.(),h=null,p.iframe=null}}),me=h=>{f(h),$({v:H,type:"set-rail",open:h})},he=h=>{a(h),$({v:H,type:"set-edit-mode",enabled:h}),h&&f(!0),!h&&u&&!b&&!x&&T()};return{iframeRef:ue,deckDetected:d,writable:e,displayedMarker:j===null?null:`${j}.${P}`,editMode:i,setEditMode:he,railOpen:l,setRailOpen:me,saving:x,agentUpdated:u,reload:T,postToIframe:$}}const Ge=300;function zt({readUrl:s,marker:e,title:t,savePath:n,trailing:r}){const i=Qe({readUrl:s,statMarker:e,savePath:n}),[a,d]=v.useState(null);if(i.displayedMarker===null)return null;const c=s.includes("?")?"&":"?",l=`${s}${c}v=${encodeURIComponent(i.displayedMarker)}`,f=a===l;return o.jsxs("div",{className:"flex h-full w-full flex-col bg-background",children:[o.jsx(Le,{readUrl:s,editor:i,downloadName:t.split("/").pop()??t,trailing:r}),o.jsx("div",{className:"relative flex-1",children:o.jsx("iframe",{ref:i.iframeRef,src:l,onLoad:()=>d(l),sandbox:"allow-scripts",className:ee("absolute inset-0 block h-full w-full bg-white","transition-opacity ease-out",f?"opacity-100":"opacity-0"),style:{transitionDuration:`${Ge}ms`},title:t},l)})]})}De.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.0/min/vs"}});function Ye(s){const e=y.c(11),{value:t,filename:n}=s,[r]=ge(),i=r.theme==="dark"||r.theme==="system"&&typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches;let a;e[0]!==n?(a=Re(n),e[0]=n,e[1]=a):a=e[1];const d=i?"vs-dark":"light";let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(ye,{size:20,className:"animate-spin text-muted-foreground"})}),e[2]=c):c=e[2];let l,f;e[3]===Symbol.for("react.memo_cache_sentinel")?(l={enabled:!1},f={top:12,bottom:12},e[3]=l,e[4]=f):(l=e[3],f=e[4]);let u;e[5]===Symbol.for("react.memo_cache_sentinel")?(u={readOnly:!0,domReadOnly:!0,fontSize:13,scrollBeyondLastLine:!1,automaticLayout:!0,lineNumbersMinChars:3,wordWrap:"on",minimap:l,padding:f,renderLineHighlight:"none",scrollbar:{vertical:"auto",horizontal:"auto",verticalScrollbarSize:8,horizontalScrollbarSize:8}},e[5]=u):u=e[5];let m;return e[6]!==n||e[7]!==a||e[8]!==d||e[9]!==t?(m=o.jsx(Fe,{path:n,language:a,value:t,theme:d,loading:c,options:u},n),e[6]=n,e[7]=a,e[8]=d,e[9]=t,e[10]=m):m=e[10],m}function Ze(s){return s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/(1024*1024)).toFixed(1)} MB`}const Je=new Set(["png","jpg","jpeg","gif","webp","svg","avif"]),et=new Set(["txt","json","csv","tsv","log","yaml","yml","xml","toml","ts","tsx","js","jsx","py","rb","go","rs","java","sh","sql"]),le=2*1024*1024;function tt(s,e){const t=s.split(".").pop()?.toLowerCase()??"";return Je.has(t)?"image":t==="pdf"?"pdf":t==="html"||t==="htm"?"html":t==="md"||t==="markdown"?e<=le?"markdown":"download":et.has(t)&&e<=le?"text":"download"}function st(){const s=y.c(2);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(Q,{className:"h-6 w-2/3"}),s[0]=e):e=s[0];let t;return s[1]===Symbol.for("react.memo_cache_sentinel")?(t=o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsxs("div",{className:"flex w-3/4 max-w-md flex-col gap-3 p-6",children:[e,o.jsxs("div",{className:"flex flex-col gap-1.5",children:[o.jsx(Q,{className:"h-3 w-full"}),o.jsx(Q,{className:"h-3 w-5/6"}),o.jsx(Q,{className:"h-3 w-2/3"})]})]})}),s[1]=t):t=s[1],t}function fe(s){const e=y.c(20),{file:t,note:n}=s;let r;e[0]!==t.filename?(r=o.jsx(Pe,{filename:t.filename,className:"h-12 w-10"}),e[0]=t.filename,e[1]=r):r=e[1];let i;e[2]!==t.filename?(i=o.jsx("span",{className:"text-sm font-medium text-foreground",children:t.filename}),e[2]=t.filename,e[3]=i):i=e[3];let a;e[4]!==t.size?(a=Ze(t.size),e[4]=t.size,e[5]=a):a=e[5];const d=n?` · ${n}`:"";let c;e[6]!==a||e[7]!==d?(c=o.jsxs("span",{className:"text-xs text-muted-foreground",children:[a,d]}),e[6]=a,e[7]=d,e[8]=c):c=e[8];let l;e[9]!==i||e[10]!==c?(l=o.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[i,c]}),e[9]=i,e[10]=c,e[11]=l):l=e[11];let f;e[12]===Symbol.for("react.memo_cache_sentinel")?(f=o.jsx(Z,{size:14}),e[12]=f):f=e[12];let u;e[13]!==t.downloadUrl||e[14]!==t.filename?(u=o.jsx(W,{asChild:!0,variant:"outline",size:"sm",children:o.jsxs("a",{href:t.downloadUrl,download:t.filename,children:[f,"Download"]})}),e[13]=t.downloadUrl,e[14]=t.filename,e[15]=u):u=e[15];let m;return e[16]!==r||e[17]!==l||e[18]!==u?(m=o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsxs("div",{className:"flex flex-col items-center gap-3 rounded-xl border border-border bg-muted/30 px-10 py-8",children:[r,l,u]})}),e[16]=r,e[17]=l,e[18]=u,e[19]=m):m=e[19],m}function ae(s){const e=y.c(16),{file:t,markdown:n}=s;let r;e[0]!==t.downloadUrl?(r=M.fileText(t.downloadUrl),e[0]=t.downloadUrl,e[1]=r):r=e[1];let i;e[2]!==t.downloadUrl?(i=async()=>{const u=await fetch(t.downloadUrl,{credentials:"include"});if(!u.ok)throw new Error(`fetch failed: ${u.status}`);return u.text()},e[2]=t.downloadUrl,e[3]=i):i=e[3];let a;e[4]!==r||e[5]!==i?(a={queryKey:r,queryFn:i,staleTime:6e4,retry:!1},e[4]=r,e[5]=i,e[6]=a):a=e[6];const{data:d,isPending:c,isError:l}=X(a);if(c){let u;return e[7]===Symbol.for("react.memo_cache_sentinel")?(u=o.jsx(st,{}),e[7]=u):u=e[7],u}if(l||d===void 0){let u;return e[8]!==t?(u=o.jsx(fe,{file:t,note:"preview unavailable"}),e[8]=t,e[9]=u):u=e[9],u}if(n){const u=`file-preview-${t.key}`;let m;return e[10]!==d||e[11]!==u?(m=o.jsx("div",{className:"h-full overflow-y-auto",children:o.jsx("div",{className:"prose prose-sm dark:prose-invert mx-auto max-w-3xl px-6 py-6",children:o.jsx(Ue,{id:u,text:d})})}),e[10]=d,e[11]=u,e[12]=m):m=e[12],m}let f;return e[13]!==d||e[14]!==t.filename?(f=o.jsx(Ye,{value:d,filename:t.filename}),e[13]=d,e[14]=t.filename,e[15]=f):f=e[15],f}function Ot(s){const e=y.c(15),{file:t}=s;switch(tt(t.filename,t.size)){case"image":{let r;return e[0]!==t.downloadUrl||e[1]!==t.filename?(r=o.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-auto bg-muted/30 p-4",children:o.jsx("img",{src:t.downloadUrl,alt:t.filename,className:"max-h-full max-w-full rounded-lg object-contain"})}),e[0]=t.downloadUrl,e[1]=t.filename,e[2]=r):r=e[2],r}case"pdf":{let r;return e[3]!==t.downloadUrl||e[4]!==t.filename?(r=o.jsx("iframe",{src:t.downloadUrl,title:t.filename,className:"block h-full w-full bg-white"}),e[3]=t.downloadUrl,e[4]=t.filename,e[5]=r):r=e[5],r}case"html":{let r;return e[6]!==t.downloadUrl||e[7]!==t.filename?(r=o.jsx("iframe",{src:t.downloadUrl,title:t.filename,sandbox:"allow-scripts",className:"block h-full w-full bg-white"}),e[6]=t.downloadUrl,e[7]=t.filename,e[8]=r):r=e[8],r}case"markdown":{let r;return e[9]!==t?(r=o.jsx(ae,{file:t,markdown:!0}),e[9]=t,e[10]=r):r=e[10],r}case"text":{let r;return e[11]!==t?(r=o.jsx(ae,{file:t,markdown:!1}),e[11]=t,e[12]=r):r=e[12],r}default:{let r;return e[13]!==t?(r=o.jsx(fe,{file:t}),e[13]=t,e[14]=r):r=e[14],r}}}function _t(s){const e=y.c(13),{title:t,icon:n,active:r,onClick:i}=s,a=r?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground";let d;e[0]!==a?(d=ee("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]=d):d=e[1];let c;e[2]!==n?(c=o.jsx("span",{className:"flex size-5 items-center justify-center shrink-0",children:o.jsx(nt,{icon:n})}),e[2]=n,e[3]=c):c=e[3];let l;e[4]!==t?(l=o.jsx("span",{className:"whitespace-nowrap text-sm font-medium leading-none",children:t}),e[4]=t,e[5]=l):l=e[5];let f;return e[6]!==r||e[7]!==i||e[8]!==d||e[9]!==c||e[10]!==l||e[11]!==t?(f=o.jsxs("button",{type:"button",onClick:i,"aria-pressed":r,"aria-label":t,className:d,children:[c,l]}),e[6]=r,e[7]=i,e[8]=d,e[9]=c,e[10]=l,e[11]=t,e[12]=f):f=e[12],f}function nt(s){const e=y.c(5),{icon:t}=s;if(t.kind==="component"){const{Component:r}=t;let i;return e[0]!==r?(i=o.jsx(r,{className:"size-4"}),e[0]=r,e[1]=i):i=e[1],i}if(t.kind==="url"){let r;return e[2]!==t.src?(r=o.jsx("img",{src:t.src,alt:"",className:"size-4 rounded-sm object-cover"}),e[2]=t.src,e[3]=r):r=e[3],r}let n;return e[4]===Symbol.for("react.memo_cache_sentinel")?(n=o.jsx(Me,{className:"size-4"}),e[4]=n):n=e[4],n}export{vt as A,jt as B,ze as E,st as F,zt as H,Ot as a,Ft as b,_t as c,Pt as d,qe as e,Ze as f,Re as g,Et as h,Ut as i,Nt as j,Dt as k,Ct as l,wt as m,St as n,$t as o,We as p,gt as q,Y as r,kt as s,te as t,Mt as u,Tt as v,yt as w,Oe as x,xt as y,bt as z};
|