decocms 3.1.1 → 3.2.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-CxNILHAI.js → AlertCircle-eeQ8IQAG.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-CFrvlSKb.js → ArrowUpRight-Byg2JlTz.js} +1 -1
- package/dist/client/assets/{Check-BeL4GS1_.js → Check-DA5UKh5X.js} +1 -1
- package/dist/client/assets/{CheckCircle-CBRDCM9J.js → CheckCircle-mjn-ZBg3.js} +1 -1
- package/dist/client/assets/{ChevronDown-MTne56XS.js → ChevronDown-CYgGBXvc.js} +1 -1
- package/dist/client/assets/ChevronLeft-BE2hdOnx.js +1 -0
- package/dist/client/assets/{ChevronRight-CvPPvt0o.js → ChevronRight-Bp_pdC8P.js} +1 -1
- package/dist/client/assets/{ChevronUp-YTSuZxrL.js → ChevronUp-BwxnNvDR.js} +1 -1
- package/dist/client/assets/{Container-Bit7n1Sh.js → Container-DZK-zSnO.js} +1 -1
- package/dist/client/assets/{DotsVertical-B4Bc-DLw.js → DotsVertical-L-zHFr4w.js} +1 -1
- package/dist/client/assets/{Eye-Ds4VIJhE.js → Eye-6gmxXOun.js} +1 -1
- package/dist/client/assets/{FilterLines-BFeQ9DcO.js → FilterLines-DaVWBoHw.js} +1 -1
- package/dist/client/assets/{Globe01-BQzG3iWN.js → Globe01-DLq7QB09.js} +1 -1
- package/dist/client/assets/{HardDrive-DTFLQufl.js → HardDrive-UOXMLLuN.js} +1 -1
- package/dist/client/assets/{Key01-4js0dcqW.js → Key01-DQUmqdKK.js} +1 -1
- package/dist/client/assets/{LinkExternal01-BhtjVlM2.js → LinkExternal01-BbkedL4y.js} +1 -1
- package/dist/client/assets/{Monitor01-BVdINEC9.js → Monitor01-me2M7qcF.js} +1 -1
- package/dist/client/assets/{Palette-BesE5Pxh.js → Palette-cwbQQzjc.js} +1 -1
- package/dist/client/assets/{Play-lA-ptqjk.js → Play-D39faotb.js} +1 -1
- package/dist/client/assets/{Plus-qO_BvdHx.js → Plus-CxUOnaMo.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-B128IIDx.js → RefreshCcw01-drWDN7HN.js} +1 -1
- package/dist/client/assets/{SearchMd-BtButnkh.js → SearchMd-Cd3-NscL.js} +1 -1
- package/dist/client/assets/{Settings02-MdBElcG9.js → Settings02-DWxCysLt.js} +1 -1
- package/dist/client/assets/{Shield01-D8p4DW6d.js → Shield01-CgUSh4ss.js} +1 -1
- package/dist/client/assets/{Star01-COGAy9Dv.js → Star01-BCTguvLh.js} +1 -1
- package/dist/client/assets/{Stars01-DTRRtAlI.js → Stars01-CScMgUNS.js} +1 -1
- package/dist/client/assets/{Stars02-BcY_Drly.js → Stars02-DhCmA77R.js} +1 -1
- package/dist/client/assets/{Sun-Bas_PynU.js → Sun-Cl4W5MYc.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-CxmKybBS.js → SwitchHorizontal01-M-IO9U7X.js} +1 -1
- package/dist/client/assets/{Tool01-BkMOx_Zg.js → Tool01-BGfKCaOe.js} +1 -1
- package/dist/client/assets/{Trash01-Bn69e6b9.js → Trash01-BOqsHAki.js} +1 -1
- package/dist/client/assets/{Upload01-CIZcbYFv.js → Upload01-cIFihtD7.js} +1 -1
- package/dist/client/assets/{User01-2zSxOgFX.js → User01-CRsYdqKf.js} +1 -1
- package/dist/client/assets/{Users01-DgModWg5.js → Users01-CwvwFmnT.js} +1 -1
- package/dist/client/assets/{Users03-Cz4uncjJ.js → Users03-Cy6p41F6.js} +1 -1
- package/dist/client/assets/{X-CE3UzM4P.js → X-D4woLNFq.js} +1 -1
- package/dist/client/assets/{XCircle-1-iiLXjU.js → XCircle-CdiDJXb-.js} +1 -1
- package/dist/client/assets/{XClose-g9G_Zn7s.js → XClose-REUNo7hV.js} +1 -1
- package/dist/client/assets/{Zap-C8mTTKvq.js → Zap-mREy1Qov.js} +1 -1
- package/dist/client/assets/ZapSquare-DZf6Sug7.js +1 -0
- package/dist/client/assets/ZoomOut-aDyKTD6y.js +1 -0
- package/dist/client/assets/{access-gate-DgvEg9zV.js → access-gate-CzQMusXf.js} +1 -1
- package/dist/client/assets/accordion-CxUU-7zP.js +1 -0
- package/dist/client/assets/add-section-modal-Le33kmS8.js +1 -0
- package/dist/client/assets/{agent-capabilities-DDgUvP6S.js → agent-capabilities-C24cyovb.js} +1 -1
- package/dist/client/assets/agent-icon-DQY5C0N2.js +1 -0
- package/dist/client/assets/{agent-icons-B5BeKXhV.js → agent-icons-CiX6fHGt.js} +1 -1
- package/dist/client/assets/agents-list-DmjHmKun.js +1 -0
- package/dist/client/assets/{ai-providers-CfrS7pK8.js → ai-providers-mUhUziNN.js} +1 -1
- package/dist/client/assets/{alert-D25zRMkS.js → alert-BbsUklRQ.js} +1 -1
- package/dist/client/assets/{alert-dialog-CTHJKvkc.js → alert-dialog-BPHTzN62.js} +1 -1
- package/dist/client/assets/app-editor-Cv2zA-6I.js +1 -0
- package/dist/client/assets/{auth-catchall-DbQXTRY4.js → auth-catchall-lSq11uBl.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CwF9ktSf.js → auth-split-layout-BCUlxOAp.js} +1 -1
- package/dist/client/assets/{automation-list-row-DgdQ33ky.js → automation-list-row-zUvBCUZa.js} +1 -1
- package/dist/client/assets/{automation-runs-DwVMM_f5.js → automation-runs-v18Lkih8.js} +1 -1
- package/dist/client/assets/automations-Qm0D-6AG.js +1 -0
- package/dist/client/assets/{avatar-CFfnEc-J.js → avatar-C8mqvhp_.js} +1 -1
- package/dist/client/assets/{badge-C7r7dui9.js → badge-aL_u7ZDP.js} +1 -1
- package/dist/client/assets/{brand-context-CFlEXUcG.js → brand-context-CGxwlq0O.js} +1 -1
- package/dist/client/assets/{buckets-DOpWF-IW.js → buckets-DYPtvGJ1.js} +1 -1
- package/dist/client/assets/calendar-DddAMJZc.js +1 -0
- package/dist/client/assets/{capability-load-error-HBMyqEVf.js → capability-load-error-So5ymzsn.js} +1 -1
- package/dist/client/assets/{card-CQeAx3Vx.js → card-BIxqjUba.js} +1 -1
- package/dist/client/assets/{chat-context-CoDmdsVu.js → chat-context-B5R7Bsxn.js} +1 -1
- package/dist/client/assets/{checkbox-BnUvD6mT.js → checkbox-DXKahMoV.js} +1 -1
- package/dist/client/assets/{cli-auth-success-DgBMSypx.js → cli-auth-success-C2saOMke.js} +1 -1
- package/dist/client/assets/collection-detail-D8ggdXLI.js +1 -0
- package/dist/client/assets/{collection-display-button-C8INbai1.js → collection-display-button-DvEoSW0w.js} +1 -1
- package/dist/client/assets/{collection-search-djXmBIPE.js → collection-search-ChQblPf0.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-FUroqPQm.js → collection-table-wrapper-CHFC6KhT.js} +1 -1
- package/dist/client/assets/{collection-tabs-Bs1OSqt5.js → collection-tabs-GHQguzy_.js} +1 -1
- package/dist/client/assets/{collections-CtABKNH_.js → collections-B2PRHYqJ.js} +1 -1
- package/dist/client/assets/{command-BHuJVvxL.js → command-A1tt2dvQ.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-Bgqlrqoq.js → connect-desktop-dialog-CUc_k3J7.js} +1 -1
- package/dist/client/assets/{connection-card-DRDylcCs.js → connection-card-ChcbOLys.js} +1 -1
- package/dist/client/assets/connection-detail-U_5KXkyF.js +1 -0
- package/dist/client/assets/{connection-form-helpers-D5CHE7dE.js → connection-form-helpers--wI2Mdjh.js} +1 -1
- package/dist/client/assets/connections-07oXzLs7.js +1 -0
- package/dist/client/assets/{constants-BYh-snCd.js → constants-BrUmWQ5v.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-0-0bl-bw.js → decopilot-sse-pool-bx3Tzt-N.js} +1 -1
- package/dist/client/assets/dialog-DJ-H5eyi.js +1 -0
- package/dist/client/assets/{domain-settings-Bj0SU3Jh.js → domain-settings-Bj8qY-gX.js} +1 -1
- package/dist/client/assets/{drawer-Dep0gGKV.js → drawer-BDlt-eEN.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CtbTHljl.js → dropdown-menu-D2H5uhoI.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-DFDLPUiJ.js → dynamic-plugin-layout-Cf_TaIUq.js} +1 -1
- package/dist/client/assets/{empty-state-C4k8yJuW.js → empty-state-DxUsOjfR.js} +1 -1
- package/dist/client/assets/{empty-state-AxYPR9mA.js → empty-state-PvmElhTC.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BEWjJFKe.js → extract-connection-data-BVH-NR56.js} +1 -1
- package/dist/client/assets/{features-BAJOu4LV.js → features-CNIUazHE.js} +1 -1
- package/dist/client/assets/file-explorer-B_0gIGYU.js +2 -0
- package/dist/client/assets/{file-type-icon-DdVRbJPB.js → file-type-icon-5-Jlm8ee.js} +1 -1
- package/dist/client/assets/{files-BOX6m6w-.js → files-Dmr-ntT-.js} +1 -1
- package/dist/client/assets/{form-CpQMhVrb.js → form-CO8TZWfS.js} +1 -1
- package/dist/client/assets/{general-DL2gq1lt.js → general-DH2-DqRy.js} +1 -1
- package/dist/client/assets/{generate-id-C_OqT9sT.js → generate-id-5eMpRIJR.js} +1 -1
- package/dist/client/assets/{github-repo-picker-CkY8kpmI.js → github-repo-picker-D1NpZ6ct.js} +1 -1
- package/dist/client/assets/header-tab-button-B5RTsjq3.js +3 -0
- package/dist/client/assets/{hover-card-IdAGrE8c.js → hover-card-B0ZnutE8.js} +1 -1
- package/dist/client/assets/{image-field-CCXEEm_r.js → image-field-DH6NL7As.js} +1 -1
- package/dist/client/assets/{index-DsSC-nYU.js → index--2_kkJgD.js} +1 -1
- package/dist/client/assets/{index-BtsB6V7_.js → index--ipoW5Od.js} +2 -2
- package/dist/client/assets/index-BK9ucwVY.js +11 -0
- package/dist/client/assets/index-BQA4WrEz.js +1 -0
- package/dist/client/assets/{index-BmWH7CJj.js → index-BZB5wdSX.js} +1 -1
- package/dist/client/assets/{index-Bc32gYoS.js → index-C8xgZP7Q.js} +1 -1
- package/dist/client/assets/{index-Clwo7vBK.js → index-CTonnX5C.js} +3 -3
- package/dist/client/assets/{index-A1X2xYA3.js → index-CX5zsV6g.js} +1 -1
- package/dist/client/assets/{index-tFqoM1Ue.js → index-CohPXzOU.js} +1 -1
- package/dist/client/assets/{index-DRtry2B5.js → index-DY-bhBl7.js} +24 -26
- package/dist/client/assets/index-Dd3eFW2j.js +1 -0
- package/dist/client/assets/{index-Br_CKeN5.js → index-Dh_ZP8gM.js} +1 -1
- package/dist/client/assets/{index-BjwVvH1j.js → index-Dj0KvohQ.js} +4 -4
- package/dist/client/assets/index-DzP6PZZ7.css +1 -0
- package/dist/client/assets/index-d4-4-LoF.js +3 -0
- package/dist/client/assets/{index-redirect-D9hGZXDU.js → index-redirect-DcDs3uRh.js} +1 -1
- package/dist/client/assets/{index-D3GsqLC9.js → index-zuFZRdMw.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-zIrc5Qb-.js → infiniteQueryObserver-By84F0-S.js} +1 -1
- package/dist/client/assets/{input-TCcH2B8J.js → input-D7b0qTbD.js} +1 -1
- package/dist/client/assets/{integration-icon-5HuLoYU0.js → integration-icon-CfgTtI5o.js} +1 -1
- package/dist/client/assets/{label-BViApHhU.js → label-CYTFcC5V.js} +1 -1
- package/dist/client/assets/{layout-B9a5IDDQ.js → layout-CPR4jtia.js} +1 -1
- package/dist/client/assets/{login-D3EioMPr.js → login-C3iJJq1l.js} +1 -1
- package/dist/client/assets/{members-CN5s--K8.js → members-C4ocetfC.js} +1 -1
- package/dist/client/assets/monaco-editor-KhKv-sJZ.js +9 -0
- package/dist/client/assets/{monitoring-stats-row-DGR7pZ3H.js → monitoring-stats-row-CKv35kXI.js} +1 -1
- package/dist/client/assets/{oauth-callback-DcFJji4Y.js → oauth-callback-DYj7ZiBe.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-D9t9n8Ym.js → oauth-callback-ai-provider-BGdEvz_Y.js} +1 -1
- package/dist/client/assets/{onboarding-DHTDbj5z.js → onboarding-D6Xk0wL6.js} +1 -1
- package/dist/client/assets/{org-install-CIdRAEm2.js → org-install-CEC4BLF-.js} +1 -1
- package/dist/client/assets/{org-layout-DRc-KmSs.js → org-layout-BE5MLVkw.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-DgmQetHp.js → org-plugin-layout-L5iGkhHt.js} +1 -1
- package/dist/client/assets/{page-seo-form-D5SZyBD6.js → page-seo-form-jxY-H_g3.js} +1 -1
- package/dist/client/assets/page-seo-sheet-DsZP33VR.js +1 -0
- package/dist/client/assets/{pair-Dm3vXKHB.js → pair-BBpXnc-h.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-Bf9odw8A.js → plugin-empty-state-DWClfnpF.js} +1 -1
- package/dist/client/assets/{plugin-header-Cq5KYo9E.js → plugin-header-Z6RQivcP.js} +1 -1
- package/dist/client/assets/{plugin-layout-BkNnTwna.js → plugin-layout-vnnJlQxa.js} +1 -1
- package/dist/client/assets/{popover-B1dASX2L.js → popover-lyccXPhR.js} +1 -1
- package/dist/client/assets/{post-editor-3e4Nt15j.js → post-editor-DxyYIPy4.js} +2 -2
- package/dist/client/assets/{primitives-uPNqrnk9.js → primitives-BJLFwP4M.js} +1 -1
- package/dist/client/assets/{profile-BgHkQW0e.js → profile-D0mq2N64.js} +1 -1
- package/dist/client/assets/project-app-view-Cf5PFYO6.js +1 -0
- package/dist/client/assets/record-editor-CNQSVEjq.js +1 -0
- package/dist/client/assets/registry-Ee2akcS9.js +2 -0
- package/dist/client/assets/{registry-layout-B1Hpl1yP.js → registry-layout-DJdGkFsS.js} +1 -1
- package/dist/client/assets/{require-capability-KE97O8Qd.js → require-capability-l0UYKnJd.js} +1 -1
- package/dist/client/assets/{required-auth-layout-czExuZSc.js → required-auth-layout-BGUftSDY.js} +1 -1
- package/dist/client/assets/{reset-password-BKRGZfbP.js → reset-password-FUpnkHMr.js} +1 -1
- package/dist/client/assets/resizable-DwJvPNj4.js +1 -0
- package/dist/client/assets/roles-BuPsd2Xq.js +1 -0
- package/dist/client/assets/{save-status-CPJd6ss9.js → save-status-QxvffYyD.js} +1 -1
- package/dist/client/assets/schema-form-BdWc4cV5.js +1 -0
- package/dist/client/assets/{scroll-area-DZWAWvpP.js → scroll-area-B_h8lIJ9.js} +2 -2
- package/dist/client/assets/{search-input-CdCRzERo.js → search-input-BKOtoJjA.js} +1 -1
- package/dist/client/assets/{secrets-cR95slO6.js → secrets-Dtlt9ZmS.js} +1 -1
- package/dist/client/assets/{sections-editor-CvNT1WLU.js → sections-editor-Dqu3z5Ot.js} +2 -2
- package/dist/client/assets/{select-DNVrcssU.js → select-Beg_2fXg.js} +1 -1
- package/dist/client/assets/{select-model-B69NuWL6.js → select-model-BMbD_9Ia.js} +1 -1
- package/dist/client/assets/seo-editor-DPjxt-kB.js +1 -0
- package/dist/client/assets/settings-layout-BmGeDfut.js +1 -0
- package/dist/client/assets/{settings-section-Q3UDwB5x.js → settings-section-BTmXhjqn.js} +1 -1
- package/dist/client/assets/{sheet-Du3LaF1v.js → sheet-D-WSQKVa.js} +1 -1
- package/dist/client/assets/{shell-controls-Bk3erCNC.js → shell-controls-Cjwnc3rm.js} +1 -1
- package/dist/client/assets/{shell-layout-D_pe8ifX.js → shell-layout-B5BcGCUv.js} +1 -1
- package/dist/client/assets/{shell-route-loading-BoEMybHy.js → shell-route-loading-CwaZaGaY.js} +1 -1
- package/dist/client/assets/{sidebar-Dd570BWA.js → sidebar-B3SUDWcE.js} +1 -1
- package/dist/client/assets/{skeleton-IVNi55cd.js → skeleton-CFHIS59D.js} +1 -1
- package/dist/client/assets/{sortable.esm-B3QQU5eL.js → sortable.esm-qUS1Ad1E.js} +1 -1
- package/dist/client/assets/{spinner-DYX6X7R4.js → spinner-w0j4pkm6.js} +1 -1
- package/dist/client/assets/{sso-j3NAsCEv.js → sso-BzO1v4AH.js} +1 -1
- package/dist/client/assets/{store-BgMFXMyn.js → store-DDnRAbDj.js} +1 -1
- package/dist/client/assets/store-registry-DdmX5Xjk.js +2 -0
- package/dist/client/assets/{switch-v-IGg8-o.js → switch-DigajlLH.js} +1 -1
- package/dist/client/assets/{tab-id-9wF6NJdU.js → tab-id-Dqk0Iqqp.js} +1 -1
- package/dist/client/assets/{table-DPhKP8io.js → table-CG9TNjwG.js} +1 -1
- package/dist/client/assets/{tabs-DiXWlenI.js → tabs-hJQcRyAi.js} +1 -1
- package/dist/client/assets/{task-status-X6M92gi6.js → task-status-BPOI6tWP.js} +1 -1
- package/dist/client/assets/{textarea-C5Q-gAUC.js → textarea-F1h3gKD-.js} +1 -1
- package/dist/client/assets/{toggle-group-CinhryiV.js → toggle-group-DBo9mYwI.js} +1 -1
- package/dist/client/assets/toolbar-Chbc6IV1.js +1 -0
- package/dist/client/assets/{tools-list-BQckCc_7.js → tools-list-CabDoS9o.js} +1 -1
- package/dist/client/assets/{tooltip-DlPcHg_7.js → tooltip-DR0ou5_h.js} +1 -1
- package/dist/client/assets/{types-CxzjkgWq.js → types-B8jc6i3t.js} +1 -1
- package/dist/client/assets/{use-ai-providers-WePD6A-o.js → use-ai-providers-Crp3aL-d.js} +1 -1
- package/dist/client/assets/{use-automations-BoufmASv.js → use-automations-CvPaoJpy.js} +1 -1
- package/dist/client/assets/{use-capability-Cy5OhZ8q.js → use-capability-C_bdrk_p.js} +1 -1
- package/dist/client/assets/{use-collections-CBTBl02k.js → use-collections-CIhR2Sfk.js} +1 -1
- package/dist/client/assets/{use-connection-ByC-72lH.js → use-connection-B9u8CAro.js} +1 -1
- package/dist/client/assets/{use-copy-CG7aV8Bw.js → use-copy-BQU7kOTS.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-C-9PxkTd.js → use-create-virtual-mcp-B-ZztG0t.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DzWM-CGc.js → use-debounced-autosave-DSkO6_zp.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DRg_9jbq.js → use-delete-connection--aJNKbDc.js} +1 -1
- package/dist/client/assets/{use-file-configs-BZO0VMnL.js → use-file-configs-DpObIFgQ.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-BqDKzW2x.js → use-infinite-scroll-cj_fIBkS.js} +1 -1
- package/dist/client/assets/{use-list-state-BdNzxfM6.js → use-list-state-CJLRzORi.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-BeFY3ScJ.js → use-mcp-prompts-CbFGc10Q.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-G51_uFwc.js → use-mcp-tools-5agNAepF.js} +1 -1
- package/dist/client/assets/{use-members-BPoi4C1A.js → use-members-BxYNXFJP.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CtPEdzh1.js → use-navigate-to-agent-BF3wV5AT.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-DdXOtn0H.js → use-org-auth-client-CXXJeS8t.js} +1 -1
- package/dist/client/assets/{use-org-sso-fN4GsRuW.js → use-org-sso-78wZG6-f.js} +1 -1
- package/dist/client/assets/{use-organization-roles-WXW_5wWn.js → use-organization-roles-8xWgqzTV.js} +1 -1
- package/dist/client/assets/{use-organization-settings-By_UmZEV.js → use-organization-settings-CTFAMDf3.js} +1 -1
- package/dist/client/assets/{use-registry-connections-BkZ2ZOJD.js → use-registry-connections-DLQyW9bq.js} +1 -1
- package/dist/client/assets/{use-secrets-BJelzSB8.js → use-secrets-Cmx_245Q.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DU2Ydnj4.js → use-status-sounds-B-QYeuIF.js} +1 -1
- package/dist/client/assets/{use-view-mode-DogmWo4G.js → use-view-mode-DmcUzuJT.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CT-9keNI.js → use-virtual-mcp-CLwhjRff.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-DiBUJYe_.js +1 -0
- package/dist/client/assets/{useRouterState-CwEmwiBC.js → useRouterState-Dsvmx6NW.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Bu_otJLP.js +1 -0
- package/dist/client/assets/{user-CoJ75n6g.js → user-C_mdefEx.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-Cab9lVhf.js → view-mode-toggle-CBJdrX89.js} +1 -1
- package/dist/client/assets/workflow-Bs2NMxKI.js +1 -0
- package/dist/client/assets/workflow-detail-BovMNGKv.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/ZapSquare-B6OY2f4C.js +0 -1
- package/dist/client/assets/ZoomOut-28hLmjYh.js +0 -1
- package/dist/client/assets/accordion-35QRcX3A.js +0 -1
- package/dist/client/assets/add-section-modal-DrradozH.js +0 -1
- package/dist/client/assets/agent-icon-Cskaw262.js +0 -1
- package/dist/client/assets/agents-list-VFl2m_9Z.js +0 -1
- package/dist/client/assets/app-editor-D4bXXFjO.js +0 -1
- package/dist/client/assets/automations-BEsJQmQT.js +0 -1
- package/dist/client/assets/calendar-DDYw9F8V.js +0 -1
- package/dist/client/assets/collection-detail-pzZ_eH5F.js +0 -1
- package/dist/client/assets/connection-detail-xAj5CM6r.js +0 -1
- package/dist/client/assets/connections-B2094sHk.js +0 -1
- package/dist/client/assets/dialog-B1WfX0fX.js +0 -1
- package/dist/client/assets/file-explorer-CaAsV_yv.js +0 -2
- package/dist/client/assets/file-preview-BGdcimIO.js +0 -1
- package/dist/client/assets/index-D-gelnlt.js +0 -2
- package/dist/client/assets/index-DvwFUL0N.js +0 -1
- package/dist/client/assets/index-NrIASxVs.js +0 -1
- package/dist/client/assets/index-uXid0yMu.css +0 -1
- package/dist/client/assets/monaco-editor-CE4b2z1c.js +0 -19
- package/dist/client/assets/page-seo-sheet-B7uG_k7J.js +0 -1
- package/dist/client/assets/project-app-view-DiTZBc1v.js +0 -1
- package/dist/client/assets/record-editor-jUcC7iQk.js +0 -1
- package/dist/client/assets/registry-gHvWojgu.js +0 -2
- package/dist/client/assets/roles-BGyrSjtm.js +0 -1
- package/dist/client/assets/schema-form-BLcU5y90.js +0 -1
- package/dist/client/assets/seo-editor-BlLr8Anw.js +0 -1
- package/dist/client/assets/settings-layout-JDfHTLLv.js +0 -1
- package/dist/client/assets/store-registry-BMLFpwYx.js +0 -2
- package/dist/client/assets/toolbar-CiwzJ7Ce.js +0 -1
- package/dist/client/assets/useInfiniteQuery-scYJJ_GM.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BDTBkP42.js +0 -1
- package/dist/client/assets/workflow-DmweYSPb.js +0 -1
- package/dist/client/assets/workflow-detail-Ce7Ha6ta.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -107066,7 +107066,7 @@ ${c.stack}`;f.reject($)}else f.resolve(_)}});return d.requestSubject=t,this.prot
|
|
|
107066
107066
|
`);if(r===-1)return;let g=d.subarray(0,r).toString("utf8"),h=d.subarray(r+4),E=g.split(`\r
|
|
107067
107067
|
`,1)[0]??"";if(!/^HTTP\/1\.[01] 101(?:\s|$)/.test(E)){Ky(t,1011,i.upstreamErrorReason);try{c.end()}catch{}return}$=!0,t.data.upstream=c;let v=iXl((x,y)=>{try{if(x===1)t.send(y.toString("utf8"));else if(x===2)t.send(y);else if(x===8){let{code:D,reason:O}=tXl(y);Ky(t,D,O);try{c.end()}catch{}}}catch{}});if(c.removeAllListeners("data"),h.length>0)v(h);c.on("data",(x)=>v(x));for(let x of t.data.pending)try{c.write(dkt(x,!0))}catch{}t.data.pending.length=0})}function p7l(t,i){let u=[`GET ${t} HTTP/1.1`];for(let[l,n]of Object.entries(i))u.push(`${l}: ${n}`);return u.push("",""),u.join(`\r
|
|
107068
107068
|
`)}function Ky(t,i,u){try{if(i!==void 0)t.close(i,u??"");else t.close()}catch{}}function dkt(t,i,u){let l,n;if(typeof t==="string")l=Buffer.from(t,"utf8"),n=1;else if(t instanceof ArrayBuffer)l=Buffer.from(t),n=2;else if(Buffer.isBuffer(t))l=t,n=2;else l=Buffer.from(t),n=2;let f=u??n,c=l.length,d=[];d.push(128|f&15);let $=i?128:0;if(c<126)d.push($|c);else if(c<65536)d.push($|126,c>>8&255,c&255);else d.push($|127,0,0,0,0),d.push(c>>>24&255,c>>>16&255,c>>>8&255,c&255);if(i){let _=fbi(4),r=Buffer.alloc(c);for(let g=0;g<c;g++)r[g]=l[g]^_[g&3];return Buffer.concat([Buffer.from(d),_,r])}return Buffer.concat([Buffer.from(d),l])}function tXl(t){if(t.length<2)return{code:1000,reason:""};return{code:t.readUInt16BE(0),reason:t.subarray(2).toString("utf8")}}function iXl(t){let i=Buffer.alloc(0);return(u)=>{i=i.length===0?u:Buffer.concat([i,u]);while(!0){if(i.length<2)return;let l=i[0],n=i[1],f=l&15,c=(n&128)!==0,d=n&127,$=2;if(d===126){if(i.length<$+2)return;d=i[$]<<8|i[$+1],$+=2}else if(d===127){if(i.length<$+8)return;d=i[$+4]*16777216+(i[$+5]<<16|i[$+6]<<8|i[$+7]),$+=8}let _=null;if(c){if(i.length<$+4)return;_=i.subarray($,$+4),$+=4}if(i.length<$+d)return;let r=i.subarray($,$+d);if(_){let g=Buffer.alloc(d);for(let h=0;h<d;h++)g[h]=r[h]^_[h&3];r=g}i=i.subarray($+d),t(f,r)}}}var o7l=256;var _bi=w(()=>{nbi()});function rbi(t){if(typeof t!=="string"||t.length===0)return null;let i=t.lastIndexOf(":");if(t.startsWith("["))return null;let l=(i>=0?t.slice(0,i):t).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 gbi(t){let i=$bi({maxPendingFrames:t.maxPendingWsFrames??uXl,backlogOverflowReason:"ingress backlog overflow"}),u=Bun.serve({port:t.port,hostname:"127.0.0.1",idleTimeout:0,async fetch(l,n){let f=l.headers.get("host"),c=rbi(f);if(!c)return new Response("not found",{status:404});let d=t.lookupSandboxPort(c);if(!d){if(l.headers.get("upgrade")==="websocket")return new Response("unknown handle",{status:404});return new Response(lXl,{status:503,headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store","Retry-After":"1"}})}if(l.headers.get("upgrade")==="websocket"){let g=new URL(l.url);if(!n.upgrade(l,{data:dbi({port:d,pathQuery:`${g.pathname}${g.search}`,protocols:cbi(l.headers)})}))return new Response("ws upgrade failed",{status:400});return}let $=new URL(l.url),_=`http://127.0.0.1:${d}${$.pathname}${$.search}`,r=new Headers(l.headers);return r.set("host",`127.0.0.1:${d}`),fetch(_,{method:l.method,headers:r,body:l.body,redirect:"manual"})},websocket:{open:i.open,message:i.message,close:i.close}});return{port:u.port??0,async stop(){u.stop(!0)}}}var uXl=256,lXl='<!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 hbi=w(()=>{_bi()});async function Ebi(t=cXl){let i=["decopilot-sandbox","body-offload"],[u,l]=await Promise.all([t.detectClaudeCode().catch(()=>!1),t.detectCodex().catch(()=>!1)]);if(u)i.push("claude-code");if(l)i.push("codex");return i}async function nXl(){try{let{query:t}=await import("@anthropic-ai/claude-agent-sdk"),i=t({prompt:"",options:{maxTurns:1}}),u=await i.accountInfo();return i.return(void 0),Boolean(u.email)}catch{return!1}}async function fXl(){try{let t=Bun.spawn(["codex","--version"],{stdout:"ignore",stderr:"ignore"}),i=setTimeout(()=>t.kill(),1e4),u=await t.exited;return clearTimeout(i),u===0}catch{return!1}}var cXl;var vbi=w(()=>{cXl={detectClaudeCode:nXl,detectCodex:fXl}});import{randomBytes as dXl}from"crypto";import{mkdir as $Xl,readFile as _Xl,writeFile as rXl}from"fs/promises";import{dirname as gXl,join as hXl}from"path";function EXl(t){return hXl(t,"machine-id")}async function wbi(t){let i=EXl(t);try{let n=(await _Xl(i,"utf8")).trim();if(n)return n}catch{}let u=dXl(16).toString("hex");return await $Xl(gXl(i),{recursive:!0}),await rXl(i,u),u}var xbi=()=>{};import{randomBytes as vXl}from"crypto";import{mkdir as wXl}from"fs/promises";import{createServer as xXl}from"net";import{join as eXl}from"path";function ebi(t,i){return Error(`sandbox failed to start: ${t}`,{cause:i})}function yXl(t){if(!(t instanceof Error))return!1;return t.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(t.message)}function DXl(t){if(t instanceof Error){let i=t.cause;if(i instanceof Error&&i.message)return i.message;return t.message}return String(t)}function ybi(t){let i=t.maxSandboxes??20,u=new Map,l=t.pickPort??OXl,n=t.fetchImpl??fetch,f=t.resolvePreviewUrl??((h,E)=>`http://127.0.0.1:${E}`),c=(h)=>{try{t.onEvent?.(h)}catch{}},d=async(h)=>{let E=new AbortController,v=setTimeout(()=>E.abort(),1500);try{let x=await n(`${h}/health`,{signal:E.signal});if(!x.ok)console.warn(`[user-desktop] probe ${h}/health \u2192 ${x.status} (treating as dead)`);return x.ok}catch(x){return console.warn(`[user-desktop] probe ${h}/health failed: ${x instanceof Error?x.message:String(x)} (treating as dead)`),!1}finally{clearTimeout(v)}},$=(h)=>{console.warn(`[user-desktop] evicting dead daemon handle=${h.handle} port=${h.port}`);try{h.process.kill("SIGTERM")}catch{}if(u.get(h.handle)===h)u.delete(h.handle),c({handle:h.handle,phase:"evicted"})},_=new Map;function r(){if(u.size<i)return;let h=[...u.values()].filter((v)=>v.activeDispatchCount===0).sort((v,x)=>v.lastUsedAt-x.lastUsedAt);if(h.length===0){console.warn(`[user-desktop] at cap ${u.size}/${i} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let E=h[0];console.log(`[user-desktop] evicting LRU victim handle=${E.handle} port=${E.port} (cap ${i} reached, size=${u.size})`);try{E.process.kill("SIGTERM")}catch{}u.delete(E.handle),c({handle:E.handle,phase:"evicted"})}let g=async(h)=>{c({handle:h.handle,phase:"spawning"}),r();let E=eXl(t.dataDir,"sandboxes",h.handle);await wXl(E,{recursive:!0}),console.log(`[user-desktop] ensure handle=${h.handle} repo=${h.repo?.cloneUrl??"(none)"} branch=${h.repo?.branch??"(none)"} runtime=${h.workload?.runtime??"(autodetect)"} pm=${h.workload?.packageManager??"(autodetect)"}`);let v=vXl(24).toString("hex"),[x,y]=await Promise.all([l(),l()]);console.log(`[user-desktop] spawn handle=${h.handle} port=${x} devPort=${y} workdir=${E}`);let D=await Promise.resolve(t.spawnDaemon({workdir:E,handle:h.handle,port:x,daemonToken:v,offloadAllowedHosts:h.offloadAllowedHosts??[],offloadAllowSameHostDev:h.offloadAllowSameHostDev??!1,orgFsConfigJson:h.orgFsConfigJson}));try{try{await t.waitForHealth(x)}catch(N){throw ebi("the sandbox didn't come online in time",N)}console.log(`[user-desktop] healthy handle=${h.handle} port=${x} \u2014 posting config`);try{await t.postConfig(x,y,{repo:h.repo,workload:h.workload,operator:h.operator},v)}catch(N){throw ebi(yXl(N)?"configuration timed out":"the sandbox rejected its configuration",N)}}catch(N){console.error(`[user-desktop] sandbox bring-up failed handle=${h.handle} port=${x} (killing daemon):`,N);try{D.kill("SIGKILL")}catch{}throw c({handle:h.handle,phase:"failed",error:DXl(N)}),N}let O=`http://127.0.0.1:${x}`,X=f(h.handle,x);console.log(`[user-desktop] ready handle=${h.handle} port=${x} sandboxApiUrl=${O} previewUrl=${X}`);let J={handle:h.handle,port:x,process:D,sandboxApiUrl:O,previewUrl:X,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:v};if(u.set(h.handle,J),c({handle:h.handle,phase:"ready",port:x,previewUrl:X}),D.exited)D.exited.then(()=>{if(u.get(h.handle)===J)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${h.handle} port=${x} \u2014 removing from cache`),u.delete(h.handle),c({handle:h.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${h.handle} port=${x} (already replaced/removed)`)});return{sandboxApiUrl:O,previewUrl:X,port:x}};return{async ensureSandbox(h){let E=u.get(h.handle);if(E){if(await d(E.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${h.handle} port=${E.port} (alive)`),E.lastUsedAt=Date.now(),{sandboxApiUrl:E.sandboxApiUrl,previewUrl:E.previewUrl,port:E.port};console.warn(`[user-desktop] cache stale handle=${h.handle} port=${E.port} \u2014 respawning`),$(E)}let v=_.get(h.handle);if(v)return console.log(`[user-desktop] joining in-flight ensure handle=${h.handle}`),v;let x=g(h).finally(()=>{_.delete(h.handle)});return _.set(h.handle,x),x},proxyPort(h){let E=u.get(h);if(E)E.lastUsedAt=Date.now();return E?.port??null},getDaemonToken(h){return u.get(h)?.daemonToken??null},hasHandle(h){return u.has(h)||_.has(h)},recordHit(h){let E=u.get(h);if(E)E.lastUsedAt=Date.now()},acquireDispatch(h){let E=u.get(h);if(!E)return()=>{};E.activeDispatchCount+=1;let v=!1;return()=>{if(v)return;v=!0;let x=u.get(h);if(x)x.activeDispatchCount=Math.max(0,x.activeDispatchCount-1)}},listSandboxes(){return[...u.values()]},async deleteSandbox(h){let E=u.get(h);if(!E){console.log(`[user-desktop] delete handle=${h} (not found, no-op)`);return}console.log(`[user-desktop] delete handle=${h} port=${E.port}`);try{E.process.kill("SIGTERM")}catch{}u.delete(h),c({handle:h,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${u.size} sandbox(es)`);for(let h of u.values())try{h.process.kill("SIGTERM")}catch{}u.clear()}}}function OXl(){return new Promise((t,i)=>{let u=xXl();u.unref(),u.on("error",i),u.listen(0,"127.0.0.1",()=>{let l=u.address();if(l&&typeof l==="object"){let n=l.port;u.close(()=>t(n))}else u.close(()=>i(Error("could not allocate port")))})})}var Dbi=()=>{};import{randomUUID as XXl}from"crypto";import{hostname as NXl}from"os";async function Obi(t){let i=NXl()||void 0;t.monitor?.onMachine?.(i??"this machine");let u=kPi(t.dataDir,{outFd:t.logFd,hotReload:t.hotReload}),l=0,n=ybi({dataDir:t.dataDir,resolvePreviewUrl:(D,O)=>l>0?`http://${D}.localhost:${l}`:`http://127.0.0.1:${O}`,spawnDaemon:async(D)=>{let O={DAEMON_BOOT_ID:XXl(),APP_ROOT:D.workdir,PROXY_PORT:String(D.port),DAEMON_TOKEN:D.daemonToken,OFFLOAD_ALLOWED_HOSTS:D.offloadAllowedHosts.join(","),...D.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(D.orgFsConfigJson){let J=await jPi(t.dataDir);if(J)O.ORGFS_CONFIG=D.orgFsConfigJson,O.ORGFS_RCLONE_PATH=J}let X=await u({workdir:D.workdir,env:O,daemonPort:D.port});return{port:D.port,kill:(J)=>X.kill(J),exited:X.exited.then(()=>{return})}},postConfig:async(D,O,X,J)=>{let N={port:O};if(X.workload)N.runtime=X.workload.runtime,N.packageManager={name:X.workload.packageManager,...X.workload.packageManagerPath?{path:X.workload.packageManagerPath}:{}};let T={application:N},Z=th(X.operator??null);if(Z)T.operator=Z;if(X.repo)T.git={repository:{cloneUrl:X.repo.cloneUrl,branch:X.repo.branch},...X.repo.userName&&X.repo.userEmail?{identity:{userName:X.repo.userName,userEmail:X.repo.userEmail}}:{}};await Jy(`http://127.0.0.1:${D}`,J,T)},waitForHealth:async(D)=>{await Vut(`http://127.0.0.1:${D}`)},maxSandboxes:20,onEvent:t.monitor?.onEvent}),f=await gbi({port:t.port,lookupSandboxPort:(D)=>n.proxyPort(D)});l=f.port,console.log(`Local ingress listening on http://127.0.0.1:${f.port} (use http://<handle>.localhost:${f.port}/)`),t.monitor?.onIngress?.(f.port);let c=KPi({provider:n}),d=async()=>{let D=await G3({dataDir:t.dataDir,target:t.clusterBaseUrl});if(!D)throw Object.assign(Error(`Session for ${t.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${t.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return D.accessToken};console.log(`[link-daemon] transport=pull cluster=${t.clusterBaseUrl}`);let $=await wbi(t.dataDir),_=process.env.npm_package_version??"0.0.0",r=await Ebi(),g=nkt({path:`${t.dataDir}/link/outbox.sqlite`}),h=await pGi({clusterBaseUrl:t.clusterBaseUrl,getAccessToken:d,provider:n,outbox:g,controlHandler:c,capabilities:r,machineId:$,cliVersion:_,previewPort:f.port,onConnected:()=>{t.monitor?.onCluster?.("linked"),console.log(`Linked to ${t.clusterBaseUrl} (pull transport)`)}}),E,v=new Promise((D)=>{E=D}),x=!1,y=async()=>{if(x)return;x=!0,console.log(`
|
|
107069
|
-
Shutting down\u2026`);try{await h.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{g.close()}catch{}E(0)};return process.on("SIGINT",()=>void y()),process.on("SIGTERM",()=>void y()),h.closed.then(()=>{if(t.monitor?.onCluster?.("closed"),!x)console.error("Cluster connection closed permanently; exiting."),y()}),{stopped:v,stop:y}}var Xbi=w(()=>{lSt();AK();GPi();zPi();HPi();tbi();fkt();hbi();vbi();xbi();SK();Dbi()});function $kt(t){return t.map((i)=>typeof i==="string"?i:String(i)).join(" ")}var d0t;var _kt=w(()=>{d0t={name:"decocms",version:"3.1.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 fH={};St(fH,{printBanner:()=>UXl,bannerLines:()=>Nbi,BANNER_LINES:()=>$0t,BANNER_GRADIENT:()=>_0t});function TXl(t){let i=Number.parseInt(t.slice(1),16);return[i>>16&255,i>>8&255,i&255]}function Nbi(t){let i=$0t.map((u,l)=>{let[n,f,c]=TXl(_0t[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(t!==void 0)i.push(`\x1B[2m v${t}\x1B[22m`);return i}function UXl(t){console.log("");for(let i of Nbi(t))console.log(i);console.log("")}var $0t,_0t;var yA=w(()=>{$0t=[" \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 "],_0t=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as QXl,Text as Jbi}from"ink";import{jsx as FXl,jsxs as Tbi}from"react/jsx-runtime";function r0t({version:t}){return Tbi(QXl,{flexDirection:"column",marginTop:1,children:[$0t.map((i,u)=>FXl(Jbi,{color:_0t[u],children:i},u)),Tbi(Jbi,{dimColor:!0,children:[" v",t]})]})}var rkt=w(()=>{yA()});var Qbi={};St(Qbi,{subscribeLinkState:()=>Ekt,setMachine:()=>PXl,setLogPath:()=>SXl,setIngress:()=>ZXl,setDaemonError:()=>YXl,setClusterUrl:()=>BXl,setCluster:()=>IXl,pushSandboxEvent:()=>AXl,getLinkState:()=>hkt,applySandboxEvent:()=>Ubi});function Ubi(t,i){let u=new Map(t);if(i.phase==="evicted"||i.phase==="deleted")return u.delete(i.handle),u;let l=u.get(i.handle);return u.set(i.handle,{handle:i.handle,port:i.port??l?.port??null,previewUrl:i.previewUrl??l?.previewUrl??null,status:i.phase,error:i.phase==="failed"?i.error??"failed":null}),u}function Hy(){for(let t of gkt)t()}function hkt(){return id}function Ekt(t){return gkt.add(t),()=>gkt.delete(t)}function IXl(t){id={...id,cluster:t},Hy()}function BXl(t){id={...id,clusterUrl:t},Hy()}function ZXl(t,i){id={...id,ingressPort:t,ingressUrl:i},Hy()}function PXl(t){id={...id,machine:t},Hy()}function YXl(t){id={...id,daemonError:t},Hy()}function SXl(t){id={...id,logPath:t},Hy()}function AXl(t){id={...id,sandboxes:Ubi(id.sandboxes,t)},Hy()}var id,gkt;var vkt=w(()=>{id={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},gkt=new Set});var Fbi={};St(Fbi,{LinkApp:()=>bXl});import{Box as ud,Text as ld}from"ink";import{useSyncExternalStore as kXl}from"react";import{jsx as $1,jsxs as H6}from"react/jsx-runtime";function GXl(t){if(t.status==="ready")return{color:"green",text:"\u25CF Live"};if(t.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${t.error??""}`}}function bXl(){let t=kXl(Ekt,hkt),i=[...t.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return H6(ud,{flexDirection:"column",children:[$1(r0t,{version:d0t.version}),$1(ud,{marginBottom:1,children:$1(ld,{dimColor:!0,children:"\u2500".repeat(80)})}),$1(ud,{children:t.cluster==="linked"?H6(ld,{color:"green",children:["\u2713 Connected to ",t.clusterUrl??"deco"]}):t.cluster==="connecting"?H6(ld,{color:"yellow",children:["\u25CC Connecting to ",t.clusterUrl??"deco","\u2026"]}):H6(ld,{color:"red",children:["\u2717 Disconnected from ",t.clusterUrl??"deco"]})}),$1(ud,{children:t.ingressUrl?H6(ld,{color:"green",children:["\u2713 Serving at ",t.ingressUrl]}):$1(ld,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$1(ud,{marginBottom:1,children:$1(ld,{dimColor:!0,children:`${"Computer".padEnd(16)}${t.machine??"this computer"} \xB7 ${i.length} of ${t.cap} previews`})}),i.length===0?$1(ld,{dimColor:!0,children:"No previews running yet."}):H6(ud,{flexDirection:"column",children:[H6(ud,{children:[$1(ud,{width:g0t.project,flexShrink:0,marginRight:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$1(ud,{width:g0t.status,flexShrink:0,marginRight:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$1(ud,{flexGrow:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),i.map((u)=>{let l=GXl(u);return H6(ud,{children:[$1(ud,{width:g0t.project,flexShrink:0,marginRight:1,children:$1(ld,{wrap:"truncate-end",children:u.handle})}),$1(ud,{width:g0t.status,flexShrink:0,marginRight:1,children:$1(ld,{color:l.color,wrap:"truncate-end",children:l.text})}),$1(ud,{flexGrow:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),t.daemonError?$1(ud,{marginTop:1,children:H6(ld,{color:"red",children:["\u26A0 ",t.daemonError]})}):null,t.logPath?$1(ud,{marginTop:1,children:H6(ld,{dimColor:!0,children:["Logs: ",t.logPath]})}):null]})}var g0t;var Ibi=w(()=>{_kt();rkt();vkt();g0t={project:18,status:14}});var Zbi={};St(Zbi,{runLinkCommand:()=>CXl});import{closeSync as WXl,mkdirSync as jXl,openSync as zXl,writeSync as KXl}from"fs";import{homedir as HXl}from"os";import{join as Bbi}from"path";function RXl(t,i){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(i===void 0)return;try{KXl(i,`${$kt(n)}
|
|
107069
|
+
Shutting down\u2026`);try{await h.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{g.close()}catch{}E(0)};return process.on("SIGINT",()=>void y()),process.on("SIGTERM",()=>void y()),h.closed.then(()=>{if(t.monitor?.onCluster?.("closed"),!x)console.error("Cluster connection closed permanently; exiting."),y()}),{stopped:v,stop:y}}var Xbi=w(()=>{lSt();AK();GPi();zPi();HPi();tbi();fkt();hbi();vbi();xbi();SK();Dbi()});function $kt(t){return t.map((i)=>typeof i==="string"?i:String(i)).join(" ")}var d0t;var _kt=w(()=>{d0t={name:"decocms",version:"3.2.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 fH={};St(fH,{printBanner:()=>UXl,bannerLines:()=>Nbi,BANNER_LINES:()=>$0t,BANNER_GRADIENT:()=>_0t});function TXl(t){let i=Number.parseInt(t.slice(1),16);return[i>>16&255,i>>8&255,i&255]}function Nbi(t){let i=$0t.map((u,l)=>{let[n,f,c]=TXl(_0t[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(t!==void 0)i.push(`\x1B[2m v${t}\x1B[22m`);return i}function UXl(t){console.log("");for(let i of Nbi(t))console.log(i);console.log("")}var $0t,_0t;var yA=w(()=>{$0t=[" \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 "],_0t=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as QXl,Text as Jbi}from"ink";import{jsx as FXl,jsxs as Tbi}from"react/jsx-runtime";function r0t({version:t}){return Tbi(QXl,{flexDirection:"column",marginTop:1,children:[$0t.map((i,u)=>FXl(Jbi,{color:_0t[u],children:i},u)),Tbi(Jbi,{dimColor:!0,children:[" v",t]})]})}var rkt=w(()=>{yA()});var Qbi={};St(Qbi,{subscribeLinkState:()=>Ekt,setMachine:()=>PXl,setLogPath:()=>SXl,setIngress:()=>ZXl,setDaemonError:()=>YXl,setClusterUrl:()=>BXl,setCluster:()=>IXl,pushSandboxEvent:()=>AXl,getLinkState:()=>hkt,applySandboxEvent:()=>Ubi});function Ubi(t,i){let u=new Map(t);if(i.phase==="evicted"||i.phase==="deleted")return u.delete(i.handle),u;let l=u.get(i.handle);return u.set(i.handle,{handle:i.handle,port:i.port??l?.port??null,previewUrl:i.previewUrl??l?.previewUrl??null,status:i.phase,error:i.phase==="failed"?i.error??"failed":null}),u}function Hy(){for(let t of gkt)t()}function hkt(){return id}function Ekt(t){return gkt.add(t),()=>gkt.delete(t)}function IXl(t){id={...id,cluster:t},Hy()}function BXl(t){id={...id,clusterUrl:t},Hy()}function ZXl(t,i){id={...id,ingressPort:t,ingressUrl:i},Hy()}function PXl(t){id={...id,machine:t},Hy()}function YXl(t){id={...id,daemonError:t},Hy()}function SXl(t){id={...id,logPath:t},Hy()}function AXl(t){id={...id,sandboxes:Ubi(id.sandboxes,t)},Hy()}var id,gkt;var vkt=w(()=>{id={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},gkt=new Set});var Fbi={};St(Fbi,{LinkApp:()=>bXl});import{Box as ud,Text as ld}from"ink";import{useSyncExternalStore as kXl}from"react";import{jsx as $1,jsxs as H6}from"react/jsx-runtime";function GXl(t){if(t.status==="ready")return{color:"green",text:"\u25CF Live"};if(t.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${t.error??""}`}}function bXl(){let t=kXl(Ekt,hkt),i=[...t.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return H6(ud,{flexDirection:"column",children:[$1(r0t,{version:d0t.version}),$1(ud,{marginBottom:1,children:$1(ld,{dimColor:!0,children:"\u2500".repeat(80)})}),$1(ud,{children:t.cluster==="linked"?H6(ld,{color:"green",children:["\u2713 Connected to ",t.clusterUrl??"deco"]}):t.cluster==="connecting"?H6(ld,{color:"yellow",children:["\u25CC Connecting to ",t.clusterUrl??"deco","\u2026"]}):H6(ld,{color:"red",children:["\u2717 Disconnected from ",t.clusterUrl??"deco"]})}),$1(ud,{children:t.ingressUrl?H6(ld,{color:"green",children:["\u2713 Serving at ",t.ingressUrl]}):$1(ld,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$1(ud,{marginBottom:1,children:$1(ld,{dimColor:!0,children:`${"Computer".padEnd(16)}${t.machine??"this computer"} \xB7 ${i.length} of ${t.cap} previews`})}),i.length===0?$1(ld,{dimColor:!0,children:"No previews running yet."}):H6(ud,{flexDirection:"column",children:[H6(ud,{children:[$1(ud,{width:g0t.project,flexShrink:0,marginRight:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$1(ud,{width:g0t.status,flexShrink:0,marginRight:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$1(ud,{flexGrow:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),i.map((u)=>{let l=GXl(u);return H6(ud,{children:[$1(ud,{width:g0t.project,flexShrink:0,marginRight:1,children:$1(ld,{wrap:"truncate-end",children:u.handle})}),$1(ud,{width:g0t.status,flexShrink:0,marginRight:1,children:$1(ld,{color:l.color,wrap:"truncate-end",children:l.text})}),$1(ud,{flexGrow:1,children:$1(ld,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),t.daemonError?$1(ud,{marginTop:1,children:H6(ld,{color:"red",children:["\u26A0 ",t.daemonError]})}):null,t.logPath?$1(ud,{marginTop:1,children:H6(ld,{dimColor:!0,children:["Logs: ",t.logPath]})}):null]})}var g0t;var Ibi=w(()=>{_kt();rkt();vkt();g0t={project:18,status:14}});var Zbi={};St(Zbi,{runLinkCommand:()=>CXl});import{closeSync as WXl,mkdirSync as jXl,openSync as zXl,writeSync as KXl}from"fs";import{homedir as HXl}from"os";import{join as Bbi}from"path";function RXl(t,i){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(i===void 0)return;try{KXl(i,`${$kt(n)}
|
|
107070
107070
|
`)}catch{}};return console.log=(...n)=>l(n),console.warn=(...n)=>l(n),console.error=(...n)=>{l(n),t($kt(n))},()=>{console.log=u.log,console.warn=u.warn,console.error=u.error}}async function LXl(t,i){let u;try{u=await fetch(`${t}/api/links/me`,{headers:{authorization:`Bearer ${i}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(u.status===401||u.status===403)throw Error(`Authentication rejected by ${t} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${t}\` and try again.`)}async function CXl(t={}){let i=t.port??5174,u=t.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??Bbi(HXl(),"deco"),l=t.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",n,f;try{let c=await Cut({dataDir:u,intent:"Link",target:l});if(process.env.DECOCMS_LINK_MANAGED!=="1")await LXl(l,c.accessToken);let d;if(t.tui){let{render:_}=await import("ink"),{createElement:r}=await import("react"),{LinkApp:g}=await Promise.resolve().then(() => (Ibi(),Fbi)),{pushSandboxEvent:h,setCluster:E,setClusterUrl:v,setDaemonError:x,setIngress:y,setLogPath:D,setMachine:O}=await Promise.resolve().then(() => (vkt(),Qbi));jXl(u,{recursive:!0});let X=Bbi(u,"link.log");f=zXl(X,"a"),D(X),v(l),E("connecting"),d={onEvent:(J)=>h(J),onIngress:(J)=>y(J,`http://127.0.0.1:${J}`),onCluster:(J)=>E(J),onMachine:(J)=>O(J)},n=RXl(x,f),_(r(g),{patchConsole:!1})}else if(t.banner!==!1){let{printBanner:_}=await Promise.resolve().then(() => (yA(),fH));_(t.version??"0.0.0")}return await(await Obi({port:i,clusterBaseUrl:l,dataDir:u,session:c,monitor:d,logFd:f,hotReload:t.hotReload})).stopped}catch(c){return n?.(),console.error(c instanceof Error?c.message:String(c)),1}finally{if(n?.(),f!==void 0)try{WXl(f)}catch{}}}var Pbi=w(()=>{uSt();Xbi()});var Okt={};St(Okt,{resolveDevLinkClusterUrl:()=>VXl,populateDevLinkToxiProxy:()=>bbi,isDevLinkToxiProxyEnabled:()=>aXl,ensureDevLinkToxiProxy:()=>t9l,buildDevLinkToxiProxyConfig:()=>kbi,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>Sbi,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>Abi});function aXl(t=process.env){return t.DECO_DEV_LINK_TOXIPROXY==="1"}function wkt(t,i){if(!Number.isInteger(t)||t<1||t>65535)throw Error(`${i} must be an integer port in 1..65535`);return t}function kbi(t){let i=new URL(t.serverUrl);if(i.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let u=wkt(t.apiPort,"apiPort"),l=wkt(t.listenPort,"listenPort");if(i.port.length===0)throw Error("serverUrl must include an explicit valid port");let n=wkt(Number.parseInt(i.port,10),"upstreamPort"),f=`http://127.0.0.1:${n}`,c=`http://127.0.0.1:${l}`;return{serviceName:Sbi,proxyName:Abi,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 VXl(t){return t.toxiproxy?.clusterUrl??t.serverUrl}async function xkt(t,i,u){if(t.ok)return;let l=await t.text();throw Error(`ToxiProxy ${i} failed for ${u}: status=${t.status} statusText=${t.statusText} body=${l}`)}function Dkt(t){if(t instanceof Error)return t.name==="Error"?t.message:`${t.name}: ${t.message}`;return String(t)}function Gbi(t){if(!(t instanceof Error))return!1;if(t.name==="TimeoutError")return!0;return Gbi(t.cause)}async function ekt(t,i,u,l){try{return await t(u,l)}catch(n){throw Error(`ToxiProxy ${i} failed for ${u}: ${Dkt(n)}`,{cause:n})}}async function bbi(t,i=fetch){let u=`${t.apiUrl}/reset`,l=await ekt(i,"reset",u,{method:"POST"});await xkt(l,"reset",u);let n=`${t.apiUrl}/populate`,f=await ekt(i,"populate",n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:t.proxyName,listen:t.listen,upstream:t.upstream,enabled:!0}])});await xkt(f,"populate",n)}async function mXl(t,i){let u=`${t.apiUrl}/version`;try{await Nv(async()=>{let l=await ekt(i,"readiness check",u,{method:"GET",signal:AbortSignal.timeout(qXl)});await xkt(l,"readiness check",u)},{maxAttempts:MXl,minTimeout:Ybi,maxTimeout:Ybi,multiplier:1,jitter:0,isRetriable:(l)=>!Gbi(l)})}catch(l){let n=l instanceof zg?l.cause:l;throw Error(`ToxiProxy API did not become ready at ${u}: ${Dkt(n)}`,{cause:n})}}async function oXl(t){if(t===null)return"";return await new Response(t).text()}async function ykt(t,i={}){let u=["docker",...t].join(" "),l=(()=>{try{return Bun.spawn(["docker",...t],{stdout:"ignore",stderr:"pipe"})}catch(d){throw Error(`Docker command failed to start (${u}): ${Dkt(d)}`,{cause:d})}})(),[n,f]=await Promise.all([l.exited,oXl(l.stderr)]);if(n===0||i.ignoreFailure===!0)return;let c=f.trim().length>0?`: ${f.trim()}`:"";throw Error(`Docker command failed (${u}) with exit ${n}${c}`)}async function sXl(t,i){let u=`deco-dev-link-toxiproxy-${t}`;await ykt(["rm","-f",u],{ignoreFailure:!0}),await ykt(["run","--rm","-d","--name",u,"-p",`127.0.0.1:${t}:8474`,"-p",`127.0.0.1:${i}:${i}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function pXl(t,i){let u=`deco-dev-link-toxiproxy-${t}`;await ykt(["rm","-f",u],{ignoreFailure:!0})}async function t9l(t){let i=kbi(t),u=t.startDaemon??sXl,l=t.stopDaemon??(t.startDaemon===void 0?pXl:void 0);await u(t.apiPort,t.listenPort);let n=t.fetchImpl??fetch;try{await mXl(i,n),await bbi(i,n)}catch(f){if(l!==void 0)try{await l(t.apiPort,t.listenPort)}catch{}throw f}return{config:i,stop:async()=>{if(l!==void 0)await l(t.apiPort,t.listenPort)}}}var Sbi="ToxiProxy",Abi="dev_link_studio",MXl=20,Ybi=100,qXl=100;var Xkt=w(()=>{f1()});var Wbi={};St(Wbi,{migrateBetterAuth:()=>Nkt});import{getMigrations as i9l}from"better-auth/db";import{sso as u9l}from"@better-auth/sso";import{organization as l9l}from"@decocms/better-auth/plugins";import{admin as n9l,apiKey as f9l,jwt as c9l,magicLink as d9l,mcp as $9l,openAPI as _9l}from"better-auth/plugins";import{emailOTP as r9l}from"better-auth/plugins/email-otp";async function Nkt(t){let u={database:BK(t||S3()),plugins:[l9l({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),n9l(),f9l(),c9l(),_9l(),$9l({loginPage:"/login"}),u9l(),d9l({sendMagicLink:async()=>{}}),r9l({sendVerificationOTP:async()=>{}})]},{toBeAdded:l,toBeCreated:n,runMigrations:f}=await i9l(u);if(!l.length&&!n.length)return"up to date";return await f(),`${n.length+l.length} table(s) migrated`}var Jkt=w(()=>{X$()});var Tkt={};St(Tkt,{up:()=>g9l,down:()=>h9l});import{sql as R6}from"kysely";async function g9l(t){await t.schema.createTable("connections").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(i)=>i.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(i)=>i.notNull()).addColumn("connectionUrl","text",(i)=>i.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(i)=>i.notNull().defaultTo("active")).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(i)=>i.primaryKey()).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(i)=>i.notNull()).addColumn("hashedKey","text",(i)=>i.notNull().unique()).addColumn("permissions","text",(i)=>i.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(i)=>i.references("user.id").onDelete("set null")).addColumn("connectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("toolName","text",(i)=>i.notNull()).addColumn("allowed","integer",(i)=>i.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(i)=>i.notNull()).addColumn("redirectUris","text",(i)=>i.notNull()).addColumn("grantTypes","text",(i)=>i.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(i)=>i.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(i)=>i.notNull()).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(i)=>i.primaryKey()).addColumn("connectionId","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(i)=>i.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(i)=>i.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(R6`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function h9l(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var jbi=()=>{};var Ukt={};St(Ukt,{up:()=>E9l,down:()=>v9l});import{sql as zbi}from"kysely";async function E9l(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(zbi`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(zbi`CURRENT_TIMESTAMP`)).execute()}async function v9l(t){await t.schema.dropTable("organization_settings").execute()}var Kbi=()=>{};var Qkt={};St(Qkt,{up:()=>w9l,down:()=>x9l});async function w9l(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function x9l(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Fkt={};St(Fkt,{up:()=>e9l,down:()=>y9l});async function e9l(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(i)=>i.notNull()).addColumn("updatedAt","text",(i)=>i.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((i)=>i.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function y9l(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(i)=>i.notNull()).addColumn("updatedAt","text",(i)=>i.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((i)=>i.selectFrom("organization_settings").select(["organizationId",i.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Ikt={};St(Ikt,{up:()=>D9l,down:()=>O9l});async function D9l(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function O9l(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Bkt={};St(Bkt,{up:()=>N9l,down:()=>J9l});import{sql as X9l}from"kysely";async function N9l(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",X9l`text`).execute()}async function J9l(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Hbi=()=>{};var Zkt={};St(Zkt,{up:()=>T9l,down:()=>U9l});async function T9l(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(i)=>i.notNull()).addColumn("tool_name","text",(i)=>i.notNull()).addColumn("input","text",(i)=>i.notNull()).addColumn("output","text",(i)=>i.notNull()).addColumn("is_error","integer",(i)=>i.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(i)=>i.notNull()).addColumn("timestamp","text",(i)=>i.notNull()).addColumn("user_id","text").addColumn("request_id","text",(i)=>i.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function U9l(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var Pkt={};St(Pkt,{up:()=>Q9l,down:()=>F9l});import{sql as cH}from"kysely";async function Q9l(t){await t.schema.createTable("events").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(i)=>i.notNull()).addColumn("source","text",(i)=>i.notNull()).addColumn("specversion","text",(i)=>i.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(i)=>i.notNull()).addColumn("datacontenttype","text",(i)=>i.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(i)=>i.notNull().defaultTo("pending")).addColumn("attempts","integer",(i)=>i.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(cH`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(cH`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(i)=>i.notNull()).addColumn("filter","text").addColumn("enabled","integer",(i)=>i.notNull().defaultTo(1)).addColumn("created_at","text",(i)=>i.notNull().defaultTo(cH`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(cH`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(i)=>i.primaryKey()).addColumn("event_id","text",(i)=>i.notNull()).addColumn("subscription_id","text",(i)=>i.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(i)=>i.notNull().defaultTo("pending")).addColumn("attempts","integer",(i)=>i.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(cH`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function F9l(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var Rbi=()=>{};var Ykt={};St(Ykt,{up:()=>B9l,down:()=>Z9l});import{sql as I9l}from"kysely";async function B9l(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function Z9l(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(i)=>i.references("user.id").onDelete("set null")).addColumn("connectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("toolName","text",(i)=>i.notNull()).addColumn("allowed","integer",(i)=>i.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(i)=>i.notNull().defaultTo(I9l`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Lbi=()=>{};var Skt={};St(Skt,{up:()=>P9l,down:()=>Y9l});import{sql as h0t}from"kysely";async function P9l(t){await t.schema.createTable("gateways").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(i)=>i.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(i)=>i.notNull().defaultTo("active")).addColumn("is_default","integer",(i)=>i.notNull().defaultTo(0)).addColumn("created_at","text",(i)=>i.notNull().defaultTo(h0t`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(h0t`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(i)=>i.primaryKey()).addColumn("gateway_id","text",(i)=>i.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(h0t`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await h0t`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function Y9l(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var Cbi=()=>{};var Akt={};St(Akt,{up:()=>S9l,down:()=>A9l});async function S9l(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function A9l(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var kkt={};St(kkt,{up:()=>k9l,down:()=>G9l});import{sql as E0t}from"kysely";async function k9l(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(i)=>i.notNull().defaultTo("inclusion")).execute(),await E0t`
|
|
107071
107071
|
UPDATE gateways
|
|
107072
107072
|
SET tool_selection_mode = CASE
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t}from"./index-BjwVvH1j.js";const o=({size:e=24,color:a="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"M9 7H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 7.76 3 8.04 3 8.6v10.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 21 4.04 21 4.6 21H9m0 0h6m-6 0V4.6c0-.56 0-.84.109-1.054a1 1 0 0 1 .437-.437C9.76 3 10.04 3 10.6 3h2.8c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C15 3.76 15 4.04 15 4.6V21m0-10h4.4c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C21 11.76 21 12.04 21 12.6v6.8c0 .56 0 .84-.109 1.054a1 1 0 0 1-.437.437C20.24 21 19.96 21 19.4 21H15"}));o.displayName="BarChart10";const c=({size:e=24,color:a="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"m12 21-.1-.15c-.695-1.042-1.042-1.563-1.5-1.94a4 4 0 0 0-1.378-.737C8.453 18 7.827 18 6.575 18H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 16.48 2 15.92 2 14.8V6.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 3 4.08 3 5.2 3h.4c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C12 6.04 12 7.16 12 9.4M12 21V9.4M12 21l.1-.15c.695-1.042 1.042-1.563 1.5-1.94a3.999 3.999 0 0 1 1.378-.737C15.547 18 16.173 18 17.425 18H18.8c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 16.48 22 15.92 22 14.8V6.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 3 19.92 3 18.8 3h-.4c-2.24 0-3.36 0-4.216.436a4 4 0 0 0-1.748 1.748C12 6.04 12 7.16 12 9.4"}));c.displayName="BookOpen01";const n=({size:e=24,color:a="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"m15 18-6-6 6-6"}));n.displayName="ChevronLeft";const i=({size:e=24,color:a="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"M9 2v2m6-2v2M9 20v2m6-2v2m5-13h2m-2 5h2M2 9h2m-2 5h2m4.8 6h6.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C20 17.72 20 16.88 20 15.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C17.72 4 16.88 4 15.2 4H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 6.28 4 7.12 4 8.8v6.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 20 7.12 20 8.8 20Zm1.8-5h2.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C15 14.24 15 13.96 15 13.4v-2.8c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C14.24 9 13.96 9 13.4 9h-2.8c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C9 9.76 9 10.04 9 10.6v2.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C9.76 15 10.04 15 10.6 15Z"}));i.displayName="CpuChip01";const s=({size:e=24,color:a="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"m16 17 5-5m0 0-5-5m5 5H9m0-9H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 21 6.12 21 7.8 21H9"}));s.displayName="LogOut01";const h=({size:e=24,color:a="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"M20.5 7.278 12 12m0 0L3.5 7.278M12 12v9.5m2-.611-1.223.68c-.284.157-.425.236-.575.267a.998.998 0 0 1-.403 0c-.15-.031-.292-.11-.576-.268l-7.4-4.11c-.3-.167-.45-.25-.558-.369a1 1 0 0 1-.215-.364C3 16.573 3 16.401 3 16.06V7.942c0-.343 0-.514.05-.667a1 1 0 0 1 .215-.364c.109-.119.258-.202.558-.368l7.4-4.111c.284-.158.425-.237.576-.267a1 1 0 0 1 .402 0c.15.03.292.11.576.267l7.4 4.11c.3.167.45.25.558.369a1 1 0 0 1 .215.364c.05.153.05.324.05.667V12.5m-13.5-8 9 5M16 18l2 2 4-4"}));h.displayName="PackageCheck";const d=({size:e=24,color:a="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"M3 7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8Z"}),t.createElement("path",{d:"m12 6-4.566 6.227c-.301.41-.452.616-.447.787a.5.5 0 0 0 .193.38c.135.106.39.106.899.106H12V18l4.566-6.227c.301-.41.452-.616.447-.787a.5.5 0 0 0-.193-.38c-.135-.106-.39-.106-.899-.106H12V6Z"}));d.displayName="ZapSquare";export{c as a,d as b,i as c,h as d,o as e,s as i,n};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t}from"./index-BjwVvH1j.js";const i=({size:e=24,color:o="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:o,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"m13 7-1.116-2.231c-.32-.642-.481-.963-.72-1.198a2 2 0 0 0-.748-.462C10.1 3 9.74 3 9.022 3H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 4.52 2 5.08 2 6.2V7m0 0h15.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C22 9.28 22 10.12 22 11.8v4.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C19.72 21 18.88 21 17.2 21H6.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C2 18.72 2 17.88 2 16.2V7Z"}));i.displayName="Folder";const n=({size:e=24,color:o="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:o,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"M3 10.565c0-.574 0-.861.074-1.126a2 2 0 0 1 .318-.65c.163-.22.39-.397.843-.75l6.783-5.275c.351-.273.527-.41.72-.462a1 1 0 0 1 .523 0c.194.052.37.189.721.462l6.783 5.275c.453.353.68.53.843.75.145.195.252.416.318.65.074.265.074.552.074 1.126V17.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C19.48 21 18.92 21 17.8 21H6.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C3 19.48 3 18.92 3 17.8v-7.235Z"}));n.displayName="Home01";const a=({size:e=24,color:o="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:o,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"m21 21-4.35-4.35M11 8v6m-3-3h6m5 0a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z"}));a.displayName="ZoomIn";const c=({size:e=24,color:o="currentColor",...r})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:o,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...r},t.createElement("path",{d:"m21 21-4.35-4.35M8 11h6m5 0a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z"}));c.displayName="ZoomOut";export{n as a,c as b,i,a as n};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as f,aO as Un,e as le,c as Se,j as E,b1 as F,a6 as sn,bd as Fn,bt as Wn,bc as cn,af as qn,bq as Xn,bb as Jn,a7 as Yn}from"./index-BjwVvH1j.js";import{$ as Zn}from"./agent-icon-Cskaw262.js";import{T as Qn,g as et,h as nt,j as un}from"./scroll-area-DZWAWvpP.js";import{i as tt}from"./ChevronRight-CvPPvt0o.js";const Ne=f.createContext(null);Ne.displayName="PanelGroupContext";const $={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Ke=10,re=f.useLayoutEffect,Qe=Un.useId,ot=typeof Qe=="function"?Qe:()=>null;let rt=0;function Ue(n=null){const e=ot(),t=f.useRef(n||e||null);return t.current===null&&(t.current=""+rt++),n??t.current}function dn({children:n,className:e="",collapsedSize:t,collapsible:o,defaultSize:i,forwardedRef:r,id:l,maxSize:a,minSize:s,onCollapse:g,onExpand:y,onResize:u,order:c,style:m,tagName:h="div",...A}){const P=f.useContext(Ne);if(P===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:S,expandPanel:I,getPanelSize:k,getPanelStyle:L,groupId:V,isPanelCollapsed:R,reevaluatePanelConstraints:w,registerPanel:T,resizePanel:Z,unregisterPanel:K}=P,G=Ue(l),D=f.useRef({callbacks:{onCollapse:g,onExpand:y,onResize:u},constraints:{collapsedSize:t,collapsible:o,defaultSize:i,maxSize:a,minSize:s},id:G,idIsFromProps:l!==void 0,order:c});f.useRef({didLogMissingDefaultSizeWarning:!1}),re(()=>{const{callbacks:j,constraints:H}=D.current,O={...H};D.current.id=G,D.current.idIsFromProps=l!==void 0,D.current.order=c,j.onCollapse=g,j.onExpand=y,j.onResize=u,H.collapsedSize=t,H.collapsible=o,H.defaultSize=i,H.maxSize=a,H.minSize=s,(O.collapsedSize!==H.collapsedSize||O.collapsible!==H.collapsible||O.maxSize!==H.maxSize||O.minSize!==H.minSize)&&w(D.current,O)}),re(()=>{const j=D.current;return T(j),()=>{K(j)}},[c,G,T,K]),f.useImperativeHandle(r,()=>({collapse:()=>{S(D.current)},expand:j=>{I(D.current,j)},getId(){return G},getSize(){return k(D.current)},isCollapsed(){return R(D.current)},isExpanded(){return!R(D.current)},resize:j=>{Z(D.current,j)}}),[S,I,k,R,G,Z]);const ne=L(D.current,i);return f.createElement(h,{...A,children:n,className:e,id:G,style:{...ne,...m},[$.groupId]:V,[$.panel]:"",[$.panelCollapsible]:o||void 0,[$.panelId]:G,[$.panelSize]:parseFloat(""+ne.flexGrow).toFixed(1)})}const fn=f.forwardRef((n,e)=>f.createElement(dn,{...n,forwardedRef:e}));dn.displayName="Panel";fn.displayName="forwardRef(Panel)";let Ve=null,Ie=-1,ee=null;function it(n,e){if(e){const t=(e&xn)!==0,o=(e&vn)!==0,i=(e&yn)!==0,r=(e&bn)!==0;if(t)return i?"se-resize":r?"ne-resize":"e-resize";if(o)return i?"sw-resize":r?"nw-resize":"w-resize";if(i)return"s-resize";if(r)return"n-resize"}switch(n){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function lt(){ee!==null&&(document.head.removeChild(ee),Ve=null,ee=null,Ie=-1)}function He(n,e){var t,o;const i=it(n,e);if(Ve!==i){if(Ve=i,ee===null&&(ee=document.createElement("style"),document.head.appendChild(ee)),Ie>=0){var r;(r=ee.sheet)===null||r===void 0||r.removeRule(Ie)}Ie=(t=(o=ee.sheet)===null||o===void 0?void 0:o.insertRule(`*{cursor: ${i} !important;}`))!==null&&t!==void 0?t:-1}}function pn(n){return n.type==="keydown"}function gn(n){return n.type.startsWith("pointer")}function mn(n){return n.type.startsWith("mouse")}function ke(n){if(gn(n)){if(n.isPrimary)return{x:n.clientX,y:n.clientY}}else if(mn(n))return{x:n.clientX,y:n.clientY};return{x:1/0,y:1/0}}function at(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function st(n,e,t){return n.x<e.x+e.width&&n.x+n.width>e.x&&n.y<e.y+e.height&&n.y+n.height>e.y}function ct(n,e){if(n===e)throw new Error("Cannot compare node with itself");const t={a:tn(n),b:tn(e)};let o;for(;t.a.at(-1)===t.b.at(-1);)n=t.a.pop(),e=t.b.pop(),o=n;z(o,"Stacking order can only be calculated for elements with a common ancestor");const i={a:nn(en(t.a)),b:nn(en(t.b))};if(i.a===i.b){const r=o.childNodes,l={a:t.a.at(-1),b:t.b.at(-1)};let a=r.length;for(;a--;){const s=r[a];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(i.a-i.b)}const ut=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function dt(n){var e;const t=getComputedStyle((e=hn(n))!==null&&e!==void 0?e:n).display;return t==="flex"||t==="inline-flex"}function ft(n){const e=getComputedStyle(n);return!!(e.position==="fixed"||e.zIndex!=="auto"&&(e.position!=="static"||dt(n))||+e.opacity<1||"transform"in e&&e.transform!=="none"||"webkitTransform"in e&&e.webkitTransform!=="none"||"mixBlendMode"in e&&e.mixBlendMode!=="normal"||"filter"in e&&e.filter!=="none"||"webkitFilter"in e&&e.webkitFilter!=="none"||"isolation"in e&&e.isolation==="isolate"||ut.test(e.willChange)||e.webkitOverflowScrolling==="touch")}function en(n){let e=n.length;for(;e--;){const t=n[e];if(z(t,"Missing node"),ft(t))return t}return null}function nn(n){return n&&Number(getComputedStyle(n).zIndex)||0}function tn(n){const e=[];for(;n;)e.push(n),n=hn(n);return e}function hn(n){const{parentNode:e}=n;return e&&e instanceof ShadowRoot?e.host:e}const xn=1,vn=2,yn=4,bn=8,pt=at()==="coarse";let q=[],de=!1,oe=new Map,Le=new Map;const be=new Set;function gt(n,e,t,o,i){var r;const{ownerDocument:l}=e,a={direction:t,element:e,hitAreaMargins:o,setResizeHandlerState:i},s=(r=oe.get(l))!==null&&r!==void 0?r:0;return oe.set(l,s+1),be.add(a),Ae(),function(){var y;Le.delete(n),be.delete(a);const u=(y=oe.get(l))!==null&&y!==void 0?y:1;if(oe.set(l,u-1),Ae(),u===1&&oe.delete(l),q.includes(a)){const c=q.indexOf(a);c>=0&&q.splice(c,1),We(),i("up",!0,null)}}}function mt(n){const{target:e}=n,{x:t,y:o}=ke(n);de=!0,Fe({target:e,x:t,y:o}),Ae(),q.length>0&&(Ee("down",n),n.preventDefault(),zn(e)||n.stopImmediatePropagation())}function je(n){const{x:e,y:t}=ke(n);if(de&&n.buttons===0&&(de=!1,Ee("up",n)),!de){const{target:o}=n;Fe({target:o,x:e,y:t})}Ee("move",n),We(),q.length>0&&n.preventDefault()}function Te(n){const{target:e}=n,{x:t,y:o}=ke(n);Le.clear(),de=!1,q.length>0&&(n.preventDefault(),zn(e)||n.stopImmediatePropagation()),Ee("up",n),Fe({target:e,x:t,y:o}),We(),Ae()}function zn(n){let e=n;for(;e;){if(e.hasAttribute($.resizeHandle))return!0;e=e.parentElement}return!1}function Fe({target:n,x:e,y:t}){q.splice(0);let o=null;(n instanceof HTMLElement||n instanceof SVGElement)&&(o=n),be.forEach(i=>{const{element:r,hitAreaMargins:l}=i,a=r.getBoundingClientRect(),{bottom:s,left:g,right:y,top:u}=a,c=pt?l.coarse:l.fine;if(e>=g-c&&e<=y+c&&t>=u-c&&t<=s+c){if(o!==null&&document.contains(o)&&r!==o&&!r.contains(o)&&!o.contains(r)&&ct(o,r)>0){let h=o,A=!1;for(;h&&!h.contains(r);){if(st(h.getBoundingClientRect(),a)){A=!0;break}h=h.parentElement}if(A)return}q.push(i)}})}function Ge(n,e){Le.set(n,e)}function We(){let n=!1,e=!1;q.forEach(o=>{const{direction:i}=o;i==="horizontal"?n=!0:e=!0});let t=0;Le.forEach(o=>{t|=o}),n&&e?He("intersection",t):n?He("horizontal",t):e?He("vertical",t):lt()}let Oe=new AbortController;function Ae(){Oe.abort(),Oe=new AbortController;const n={capture:!0,signal:Oe.signal};be.size&&(de?(q.length>0&&oe.forEach((e,t)=>{const{body:o}=t;e>0&&(o.addEventListener("contextmenu",Te,n),o.addEventListener("pointerleave",je,n),o.addEventListener("pointermove",je,n))}),window.addEventListener("pointerup",Te,n),window.addEventListener("pointercancel",Te,n)):oe.forEach((e,t)=>{const{body:o}=t;e>0&&(o.addEventListener("pointerdown",mt,n),o.addEventListener("pointermove",je,n))}))}function Ee(n,e){be.forEach(t=>{const{setResizeHandlerState:o}=t,i=q.includes(t);o(n,i,e)})}function ht(){const[n,e]=f.useState(0);return f.useCallback(()=>e(t=>t+1),[])}function z(n,e){if(!n)throw console.error(e),Error(e)}function ie(n,e,t=Ke){return n.toFixed(t)===e.toFixed(t)?0:n>e?1:-1}function Q(n,e,t=Ke){return ie(n,e,t)===0}function U(n,e,t){return ie(n,e,t)===0}function xt(n,e,t){if(n.length!==e.length)return!1;for(let o=0;o<n.length;o++){const i=n[o],r=e[o];if(!U(i,r,t))return!1}return!0}function ue({panelConstraints:n,panelIndex:e,size:t}){const o=n[e];z(o!=null,`Panel constraints not found for index ${e}`);let{collapsedSize:i=0,collapsible:r,maxSize:l=100,minSize:a=0}=o;if(ie(t,a)<0)if(r){const s=(i+a)/2;ie(t,s)<0?t=i:t=a}else t=a;return t=Math.min(l,t),t=parseFloat(t.toFixed(Ke)),t}function ve({delta:n,initialLayout:e,panelConstraints:t,pivotIndices:o,prevLayout:i,trigger:r}){if(U(n,0))return e;const l=[...e],[a,s]=o;z(a!=null,"Invalid first pivot index"),z(s!=null,"Invalid second pivot index");let g=0;if(r==="keyboard"){{const u=n<0?s:a,c=t[u];z(c,`Panel constraints not found for index ${u}`);const{collapsedSize:m=0,collapsible:h,minSize:A=0}=c;if(h){const P=e[u];if(z(P!=null,`Previous layout not found for panel index ${u}`),U(P,m)){const S=A-P;ie(S,Math.abs(n))>0&&(n=n<0?0-S:S)}}}{const u=n<0?a:s,c=t[u];z(c,`No panel constraints found for index ${u}`);const{collapsedSize:m=0,collapsible:h,minSize:A=0}=c;if(h){const P=e[u];if(z(P!=null,`Previous layout not found for panel index ${u}`),U(P,A)){const S=P-m;ie(S,Math.abs(n))>0&&(n=n<0?0-S:S)}}}}{const u=n<0?1:-1;let c=n<0?s:a,m=0;for(;;){const A=e[c];z(A!=null,`Previous layout not found for panel index ${c}`);const S=ue({panelConstraints:t,panelIndex:c,size:100})-A;if(m+=S,c+=u,c<0||c>=t.length)break}const h=Math.min(Math.abs(n),Math.abs(m));n=n<0?0-h:h}{let c=n<0?a:s;for(;c>=0&&c<t.length;){const m=Math.abs(n)-Math.abs(g),h=e[c];z(h!=null,`Previous layout not found for panel index ${c}`);const A=h-m,P=ue({panelConstraints:t,panelIndex:c,size:A});if(!U(h,P)&&(g+=h-P,l[c]=P,g.toPrecision(3).localeCompare(Math.abs(n).toPrecision(3),void 0,{numeric:!0})>=0))break;n<0?c--:c++}}if(xt(i,l))return i;{const u=n<0?s:a,c=e[u];z(c!=null,`Previous layout not found for panel index ${u}`);const m=c+g,h=ue({panelConstraints:t,panelIndex:u,size:m});if(l[u]=h,!U(h,m)){let A=m-h,S=n<0?s:a;for(;S>=0&&S<t.length;){const I=l[S];z(I!=null,`Previous layout not found for panel index ${S}`);const k=I+A,L=ue({panelConstraints:t,panelIndex:S,size:k});if(U(I,L)||(A-=L-I,l[S]=L),U(A,0))break;n>0?S--:S++}}}const y=l.reduce((u,c)=>c+u,0);return U(y,100)?l:i}function vt({layout:n,panelsArray:e,pivotIndices:t}){let o=0,i=100,r=0,l=0;const a=t[0];z(a!=null,"No pivot index found"),e.forEach((u,c)=>{const{constraints:m}=u,{maxSize:h=100,minSize:A=0}=m;c===a?(o=A,i=h):(r+=A,l+=h)});const s=Math.min(i,100-r),g=Math.max(o,100-l),y=n[a];return{valueMax:s,valueMin:g,valueNow:y}}function ze(n,e=document){return Array.from(e.querySelectorAll(`[${$.resizeHandleId}][data-panel-group-id="${n}"]`))}function Sn(n,e,t=document){const i=ze(n,t).findIndex(r=>r.getAttribute($.resizeHandleId)===e);return i??null}function Cn(n,e,t){const o=Sn(n,e,t);return o!=null?[o,o+1]:[-1,-1]}function wn(n,e=document){var t;if(e instanceof HTMLElement&&(e==null||(t=e.dataset)===null||t===void 0?void 0:t.panelGroupId)==n)return e;const o=e.querySelector(`[data-panel-group][data-panel-group-id="${n}"]`);return o||null}function _e(n,e=document){const t=e.querySelector(`[${$.resizeHandleId}="${n}"]`);return t||null}function yt(n,e,t,o=document){var i,r,l,a;const s=_e(e,o),g=ze(n,o),y=s?g.indexOf(s):-1,u=(i=(r=t[y])===null||r===void 0?void 0:r.id)!==null&&i!==void 0?i:null,c=(l=(a=t[y+1])===null||a===void 0?void 0:a.id)!==null&&l!==void 0?l:null;return[u,c]}function bt({committedValuesRef:n,eagerValuesRef:e,groupId:t,layout:o,panelDataArray:i,panelGroupElement:r,setLayout:l}){f.useRef({didWarnAboutMissingResizeHandle:!1}),re(()=>{if(!r)return;const a=ze(t,r);for(let s=0;s<i.length-1;s++){const{valueMax:g,valueMin:y,valueNow:u}=vt({layout:o,panelsArray:i,pivotIndices:[s,s+1]}),c=a[s];if(c!=null){const m=i[s];z(m,`No panel data found for index "${s}"`),c.setAttribute("aria-controls",m.id),c.setAttribute("aria-valuemax",""+Math.round(g)),c.setAttribute("aria-valuemin",""+Math.round(y)),c.setAttribute("aria-valuenow",u!=null?""+Math.round(u):"")}}return()=>{a.forEach((s,g)=>{s.removeAttribute("aria-controls"),s.removeAttribute("aria-valuemax"),s.removeAttribute("aria-valuemin"),s.removeAttribute("aria-valuenow")})}},[t,o,i,r]),f.useEffect(()=>{if(!r)return;const a=e.current;z(a,"Eager values not found");const{panelDataArray:s}=a,g=wn(t,r);z(g!=null,`No group found for id "${t}"`);const y=ze(t,r);z(y,`No resize handles found for group id "${t}"`);const u=y.map(c=>{const m=c.getAttribute($.resizeHandleId);z(m,"Resize handle element has no handle id attribute");const[h,A]=yt(t,m,s,r);if(h==null||A==null)return()=>{};const P=S=>{if(!S.defaultPrevented)switch(S.key){case"Enter":{S.preventDefault();const I=s.findIndex(k=>k.id===h);if(I>=0){const k=s[I];z(k,`No panel data found for index ${I}`);const L=o[I],{collapsedSize:V=0,collapsible:R,minSize:w=0}=k.constraints;if(L!=null&&R){const T=ve({delta:U(L,V)?w-V:V-L,initialLayout:o,panelConstraints:s.map(Z=>Z.constraints),pivotIndices:Cn(t,m,r),prevLayout:o,trigger:"keyboard"});o!==T&&l(T)}}break}}};return c.addEventListener("keydown",P),()=>{c.removeEventListener("keydown",P)}});return()=>{u.forEach(c=>c())}},[r,n,e,t,o,i,l])}function on(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}function Pn(n,e){const t=n==="horizontal",{x:o,y:i}=ke(e);return t?o:i}function zt(n,e,t,o,i){const r=t==="horizontal",l=_e(e,i);z(l,`No resize handle element found for id "${e}"`);const a=l.getAttribute($.groupId);z(a,"Resize handle element has no group id attribute");let{initialCursorPosition:s}=o;const g=Pn(t,n),y=wn(a,i);z(y,`No group element found for id "${a}"`);const u=y.getBoundingClientRect(),c=r?u.width:u.height;return(g-s)/c*100}function St(n,e,t,o,i,r){if(pn(n)){const l=t==="horizontal";let a=0;n.shiftKey?a=100:i!=null?a=i:a=10;let s=0;switch(n.key){case"ArrowDown":s=l?0:a;break;case"ArrowLeft":s=l?-a:0;break;case"ArrowRight":s=l?a:0;break;case"ArrowUp":s=l?0:-a;break;case"End":s=100;break;case"Home":s=-100;break}return s}else return o==null?0:zt(n,e,t,o,r)}function Ct({panelDataArray:n}){const e=Array(n.length),t=n.map(r=>r.constraints);let o=0,i=100;for(let r=0;r<n.length;r++){const l=t[r];z(l,`Panel constraints not found for index ${r}`);const{defaultSize:a}=l;a!=null&&(o++,e[r]=a,i-=a)}for(let r=0;r<n.length;r++){const l=t[r];z(l,`Panel constraints not found for index ${r}`);const{defaultSize:a}=l;if(a!=null)continue;const s=n.length-o,g=i/s;o++,e[r]=g,i-=g}return e}function se(n,e,t){e.forEach((o,i)=>{const r=n[i];z(r,`Panel data not found for index ${i}`);const{callbacks:l,constraints:a,id:s}=r,{collapsedSize:g=0,collapsible:y}=a,u=t[s];if(u==null||o!==u){t[s]=o;const{onCollapse:c,onExpand:m,onResize:h}=l;h&&h(o,u),y&&(c||m)&&(m&&(u==null||Q(u,g))&&!Q(o,g)&&m(),c&&(u==null||!Q(u,g))&&Q(o,g)&&c())}})}function Pe(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t])return!1;return!0}function wt({defaultSize:n,dragState:e,layout:t,panelData:o,panelIndex:i,precision:r=3}){const l=t[i];let a;return l==null?a=n!=null?n.toPrecision(r):"1":o.length===1?a="1":a=l.toPrecision(r),{flexBasis:0,flexGrow:a,flexShrink:1,overflow:"hidden",pointerEvents:e!==null?"none":void 0}}function Pt(n,e=10){let t=null;return(...i)=>{t!==null&&clearTimeout(t),t=setTimeout(()=>{n(...i)},e)}}function rn(n){try{if(typeof localStorage<"u")n.getItem=e=>localStorage.getItem(e),n.setItem=(e,t)=>{localStorage.setItem(e,t)};else throw new Error("localStorage not supported in this environment")}catch(e){console.error(e),n.getItem=()=>null,n.setItem=()=>{}}}function In(n){return`react-resizable-panels:${n}`}function An(n){return n.map(e=>{const{constraints:t,id:o,idIsFromProps:i,order:r}=e;return i?o:r?`${r}:${JSON.stringify(t)}`:JSON.stringify(t)}).sort((e,t)=>e.localeCompare(t)).join(",")}function En(n,e){try{const t=In(n),o=e.getItem(t);if(o){const i=JSON.parse(o);if(typeof i=="object"&&i!=null)return i}}catch{}return null}function It(n,e,t){var o,i;const r=(o=En(n,t))!==null&&o!==void 0?o:{},l=An(e);return(i=r[l])!==null&&i!==void 0?i:null}function At(n,e,t,o,i){var r;const l=In(n),a=An(e),s=(r=En(n,i))!==null&&r!==void 0?r:{};s[a]={expandToSizes:Object.fromEntries(t.entries()),layout:o};try{i.setItem(l,JSON.stringify(s))}catch(g){console.error(g)}}function ln({layout:n,panelConstraints:e}){const t=[...n],o=t.reduce((r,l)=>r+l,0);if(t.length!==e.length)throw Error(`Invalid ${e.length} panel layout: ${t.map(r=>`${r}%`).join(", ")}`);if(!U(o,100)&&t.length>0)for(let r=0;r<e.length;r++){const l=t[r];z(l!=null,`No layout data found for index ${r}`);const a=100/o*l;t[r]=a}let i=0;for(let r=0;r<e.length;r++){const l=t[r];z(l!=null,`No layout data found for index ${r}`);const a=ue({panelConstraints:e,panelIndex:r,size:l});l!=a&&(i+=l-a,t[r]=a)}if(!U(i,0))for(let r=0;r<e.length;r++){const l=t[r];z(l!=null,`No layout data found for index ${r}`);const a=l+i,s=ue({panelConstraints:e,panelIndex:r,size:a});if(l!==s&&(i-=s-l,t[r]=s,U(i,0)))break}return t}const Et=100,ye={getItem:n=>(rn(ye),ye.getItem(n)),setItem:(n,e)=>{rn(ye),ye.setItem(n,e)}},an={};function Rn({autoSaveId:n=null,children:e,className:t="",direction:o,forwardedRef:i,id:r=null,onLayout:l=null,keyboardResizeBy:a=null,storage:s=ye,style:g,tagName:y="div",...u}){const c=Ue(r),m=f.useRef(null),[h,A]=f.useState(null),[P,S]=f.useState([]),I=ht(),k=f.useRef({}),L=f.useRef(new Map),V=f.useRef(0),R=f.useRef({autoSaveId:n,direction:o,dragState:h,id:c,keyboardResizeBy:a,onLayout:l,storage:s}),w=f.useRef({layout:P,panelDataArray:[],panelDataArrayChanged:!1});f.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),f.useImperativeHandle(i,()=>({getId:()=>R.current.id,getLayout:()=>{const{layout:d}=w.current;return d},setLayout:d=>{const{onLayout:v}=R.current,{layout:C,panelDataArray:x}=w.current,p=ln({layout:d,panelConstraints:x.map(b=>b.constraints)});on(C,p)||(S(p),w.current.layout=p,v&&v(p),se(x,p,k.current))}}),[]),re(()=>{R.current.autoSaveId=n,R.current.direction=o,R.current.dragState=h,R.current.id=c,R.current.onLayout=l,R.current.storage=s}),bt({committedValuesRef:R,eagerValuesRef:w,groupId:c,layout:P,panelDataArray:w.current.panelDataArray,setLayout:S,panelGroupElement:m.current}),f.useEffect(()=>{const{panelDataArray:d}=w.current;if(n){if(P.length===0||P.length!==d.length)return;let v=an[n];v==null&&(v=Pt(At,Et),an[n]=v);const C=[...d],x=new Map(L.current);v(n,C,x,P,s)}},[n,P,s]),f.useEffect(()=>{});const T=f.useCallback(d=>{const{onLayout:v}=R.current,{layout:C,panelDataArray:x}=w.current;if(d.constraints.collapsible){const p=x.map(J=>J.constraints),{collapsedSize:b=0,panelSize:N,pivotIndices:M}=te(x,d,C);if(z(N!=null,`Panel size not found for panel "${d.id}"`),!Q(N,b)){L.current.set(d.id,N);const Y=ce(x,d)===x.length-1?N-b:b-N,_=ve({delta:Y,initialLayout:C,panelConstraints:p,pivotIndices:M,prevLayout:C,trigger:"imperative-api"});Pe(C,_)||(S(_),w.current.layout=_,v&&v(_),se(x,_,k.current))}}},[]),Z=f.useCallback((d,v)=>{const{onLayout:C}=R.current,{layout:x,panelDataArray:p}=w.current;if(d.constraints.collapsible){const b=p.map(W=>W.constraints),{collapsedSize:N=0,panelSize:M=0,minSize:J=0,pivotIndices:Y}=te(p,d,x),_=v??J;if(Q(M,N)){const W=L.current.get(d.id),he=W!=null&&W>=_?W:_,Me=ce(p,d)===p.length-1?M-he:he-M,B=ve({delta:Me,initialLayout:x,panelConstraints:b,pivotIndices:Y,prevLayout:x,trigger:"imperative-api"});Pe(x,B)||(S(B),w.current.layout=B,C&&C(B),se(p,B,k.current))}}},[]),K=f.useCallback(d=>{const{layout:v,panelDataArray:C}=w.current,{panelSize:x}=te(C,d,v);return z(x!=null,`Panel size not found for panel "${d.id}"`),x},[]),G=f.useCallback((d,v)=>{const{panelDataArray:C}=w.current,x=ce(C,d);return wt({defaultSize:v,dragState:h,layout:P,panelData:C,panelIndex:x})},[h,P]),D=f.useCallback(d=>{const{layout:v,panelDataArray:C}=w.current,{collapsedSize:x=0,collapsible:p,panelSize:b}=te(C,d,v);return z(b!=null,`Panel size not found for panel "${d.id}"`),p===!0&&Q(b,x)},[]),ne=f.useCallback(d=>{const{layout:v,panelDataArray:C}=w.current,{collapsedSize:x=0,collapsible:p,panelSize:b}=te(C,d,v);return z(b!=null,`Panel size not found for panel "${d.id}"`),!p||ie(b,x)>0},[]),j=f.useCallback(d=>{const{panelDataArray:v}=w.current;v.push(d),v.sort((C,x)=>{const p=C.order,b=x.order;return p==null&&b==null?0:p==null?-1:b==null?1:p-b}),w.current.panelDataArrayChanged=!0,I()},[I]);re(()=>{if(w.current.panelDataArrayChanged){w.current.panelDataArrayChanged=!1;const{autoSaveId:d,onLayout:v,storage:C}=R.current,{layout:x,panelDataArray:p}=w.current;let b=null;if(d){const M=It(d,p,C);M&&(L.current=new Map(Object.entries(M.expandToSizes)),b=M.layout)}b==null&&(b=Ct({panelDataArray:p}));const N=ln({layout:b,panelConstraints:p.map(M=>M.constraints)});on(x,N)||(S(N),w.current.layout=N,v&&v(N),se(p,N,k.current))}}),re(()=>{const d=w.current;return()=>{d.layout=[]}},[]);const H=f.useCallback(d=>{let v=!1;const C=m.current;return C&&window.getComputedStyle(C,null).getPropertyValue("direction")==="rtl"&&(v=!0),function(p){p.preventDefault();const b=m.current;if(!b)return()=>null;const{direction:N,dragState:M,id:J,keyboardResizeBy:Y,onLayout:_}=R.current,{layout:W,panelDataArray:he}=w.current,{initialLayout:we}=M??{},Me=Cn(J,d,b);let B=St(p,d,N,M,Y,b);const Ye=N==="horizontal";Ye&&v&&(B=-B);const Bn=he.map(Kn=>Kn.constraints),xe=ve({delta:B,initialLayout:we??W,panelConstraints:Bn,pivotIndices:Me,prevLayout:W,trigger:pn(p)?"keyboard":"mouse-or-touch"}),Ze=!Pe(W,xe);(gn(p)||mn(p))&&V.current!=B&&(V.current=B,!Ze&&B!==0?Ye?Ge(d,B<0?xn:vn):Ge(d,B<0?yn:bn):Ge(d,0)),Ze&&(S(xe),w.current.layout=xe,_&&_(xe),se(he,xe,k.current))}},[]),O=f.useCallback((d,v)=>{const{onLayout:C}=R.current,{layout:x,panelDataArray:p}=w.current,b=p.map(W=>W.constraints),{panelSize:N,pivotIndices:M}=te(p,d,x);z(N!=null,`Panel size not found for panel "${d.id}"`);const Y=ce(p,d)===p.length-1?N-v:v-N,_=ve({delta:Y,initialLayout:x,panelConstraints:b,pivotIndices:M,prevLayout:x,trigger:"imperative-api"});Pe(x,_)||(S(_),w.current.layout=_,C&&C(_),se(p,_,k.current))},[]),fe=f.useCallback((d,v)=>{const{layout:C,panelDataArray:x}=w.current,{collapsedSize:p=0,collapsible:b}=v,{collapsedSize:N=0,collapsible:M,maxSize:J=100,minSize:Y=0}=d.constraints,{panelSize:_}=te(x,d,C);_!=null&&(b&&M&&Q(_,p)?Q(p,N)||O(d,N):_<Y?O(d,Y):_>J&&O(d,J))},[O]),pe=f.useCallback((d,v)=>{const{direction:C}=R.current,{layout:x}=w.current;if(!m.current)return;const p=_e(d,m.current);z(p,`Drag handle element not found for id "${d}"`);const b=Pn(C,v);A({dragHandleId:d,dragHandleRect:p.getBoundingClientRect(),initialCursorPosition:b,initialLayout:x})},[]),ge=f.useCallback(()=>{A(null)},[]),Ce=f.useCallback(d=>{const{panelDataArray:v}=w.current,C=ce(v,d);C>=0&&(v.splice(C,1),delete k.current[d.id],w.current.panelDataArrayChanged=!0,I())},[I]),ae=f.useMemo(()=>({collapsePanel:T,direction:o,dragState:h,expandPanel:Z,getPanelSize:K,getPanelStyle:G,groupId:c,isPanelCollapsed:D,isPanelExpanded:ne,reevaluatePanelConstraints:fe,registerPanel:j,registerResizeHandle:H,resizePanel:O,startDragging:pe,stopDragging:ge,unregisterPanel:Ce,panelGroupElement:m.current}),[T,h,o,Z,K,G,c,D,ne,fe,j,H,O,pe,ge,Ce]),me={display:"flex",flexDirection:o==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return f.createElement(Ne.Provider,{value:ae},f.createElement(y,{...u,children:e,className:t,id:r,ref:m,style:{...me,...g},[$.group]:"",[$.groupDirection]:o,[$.groupId]:c}))}const Nn=f.forwardRef((n,e)=>f.createElement(Rn,{...n,forwardedRef:e}));Rn.displayName="PanelGroup";Nn.displayName="forwardRef(PanelGroup)";function ce(n,e){return n.findIndex(t=>t===e||t.id===e.id)}function te(n,e,t){const o=ce(n,e),r=o===n.length-1?[o-1,o]:[o,o+1],l=t[o];return{...e.constraints,panelSize:l,pivotIndices:r}}function Rt({disabled:n,handleId:e,resizeHandler:t,panelGroupElement:o}){f.useEffect(()=>{if(n||t==null||o==null)return;const i=_e(e,o);if(i==null)return;const r=l=>{if(!l.defaultPrevented)switch(l.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{l.preventDefault(),t(l);break}case"F6":{l.preventDefault();const a=i.getAttribute($.groupId);z(a,`No group element found for id "${a}"`);const s=ze(a,o),g=Sn(a,e,o);z(g!==null,`No resize element found for id "${e}"`);const y=l.shiftKey?g>0?g-1:s.length-1:g+1<s.length?g+1:0;s[y].focus();break}}};return i.addEventListener("keydown",r),()=>{i.removeEventListener("keydown",r)}},[o,n,e,t])}function kn({children:n=null,className:e="",disabled:t=!1,hitAreaMargins:o,id:i,onBlur:r,onClick:l,onDragging:a,onFocus:s,onPointerDown:g,onPointerUp:y,style:u={},tabIndex:c=0,tagName:m="div",...h}){var A,P;const S=f.useRef(null),I=f.useRef({onClick:l,onDragging:a,onPointerDown:g,onPointerUp:y});f.useEffect(()=>{I.current.onClick=l,I.current.onDragging=a,I.current.onPointerDown=g,I.current.onPointerUp=y});const k=f.useContext(Ne);if(k===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:L,groupId:V,registerResizeHandle:R,startDragging:w,stopDragging:T,panelGroupElement:Z}=k,K=Ue(i),[G,D]=f.useState("inactive"),[ne,j]=f.useState(!1),[H,O]=f.useState(null),fe=f.useRef({state:G});re(()=>{fe.current.state=G}),f.useEffect(()=>{if(t)O(null);else{const ae=R(K);O(()=>ae)}},[t,K,R]);const pe=(A=o?.coarse)!==null&&A!==void 0?A:15,ge=(P=o?.fine)!==null&&P!==void 0?P:5;f.useEffect(()=>{if(t||H==null)return;const ae=S.current;z(ae,"Element ref not attached");let me=!1;return gt(K,ae,L,{coarse:pe,fine:ge},(v,C,x)=>{if(!C){D("inactive");return}switch(v){case"down":{D("drag"),me=!1,z(x,'Expected event to be defined for "down" action'),w(K,x);const{onDragging:p,onPointerDown:b}=I.current;p?.(!0),b?.();break}case"move":{const{state:p}=fe.current;me=!0,p!=="drag"&&D("hover"),z(x,'Expected event to be defined for "move" action'),H(x);break}case"up":{D("hover"),T();const{onClick:p,onDragging:b,onPointerUp:N}=I.current;b?.(!1),N?.(),me||p?.();break}}})},[pe,L,t,ge,R,K,H,w,T]),Rt({disabled:t,handleId:K,resizeHandler:H,panelGroupElement:Z});const Ce={touchAction:"none",userSelect:"none"};return f.createElement(m,{...h,children:n,className:e,id:i,onBlur:()=>{j(!1),r?.()},onFocus:()=>{j(!0),s?.()},ref:S,role:"separator",style:{...Ce,...u},tabIndex:c,[$.groupDirection]:L,[$.groupId]:V,[$.resizeHandle]:"",[$.resizeHandleActive]:G==="drag"?"pointer":ne?"keyboard":void 0,[$.resizeHandleEnabled]:!t,[$.resizeHandleId]:K,[$.resizeHandleState]:G})}kn.displayName="PanelResizeHandle";function qt(n){const e=le.c(10);let t,o,i;e[0]!==n?({className:t,ref:i,...o}=n,e[0]=n,e[1]=t,e[2]=o,e[3]=i):(t=e[1],o=e[2],i=e[3]);let r;e[4]!==t?(r=Se("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",t),e[4]=t,e[5]=r):r=e[5];let l;return e[6]!==o||e[7]!==i||e[8]!==r?(l=E.jsx(Nn,{ref:i,"data-slot":"resizable-panel-group",className:r,...o}),e[6]=o,e[7]=i,e[8]=r,e[9]=l):l=e[9],l}function Xt(n){const e=le.c(4);let t;e[0]!==n?({...t}=n,e[0]=n,e[1]=t):t=e[1];let o;return e[2]!==t?(o=E.jsx(fn,{"data-slot":"resizable-panel",...t}),e[2]=t,e[3]=o):o=e[3],o}function Jt(n){const e=le.c(12);let t,o,i;e[0]!==n?({withHandle:i,className:t,...o}=n,e[0]=n,e[1]=t,e[2]=o,e[3]=i):(t=e[1],o=e[2],i=e[3]);let r;e[4]!==t?(r=Se("bg-border focus-visible:ring-ring relative flex w-[0.5px] items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),e[4]=t,e[5]=r):r=e[5];let l;e[6]!==i?(l=i&&E.jsx("div",{className:"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border",children:E.jsx(Zn,{className:"size-2.5"})}),e[6]=i,e[7]=l):l=e[7];let a;return e[8]!==o||e[9]!==r||e[10]!==l?(a=E.jsx(kn,{"data-slot":"resizable-handle",className:r,...o,children:l}),e[8]=o,e[9]=r,e[10]=l,e[11]=a):a=e[11],a}var X="Accordion",Nt=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[qe,kt,Lt]=Wn(X),[$e]=qn(X,[Lt,un]),Xe=un(),Ln=F.forwardRef((n,e)=>{const{type:t,...o}=n,i=o,r=o;return E.jsx(qe.Provider,{scope:n.__scopeAccordion,children:t==="multiple"?E.jsx(Mt,{...r,ref:e}):E.jsx(Dt,{...i,ref:e})})});Ln.displayName=X;var[_n,_t]=$e(X),[$n,$t]=$e(X,{collapsible:!1}),Dt=F.forwardRef((n,e)=>{const{value:t,defaultValue:o,onValueChange:i=()=>{},collapsible:r=!1,...l}=n,[a,s]=cn({prop:t,defaultProp:o??"",onChange:i,caller:X});return E.jsx(_n,{scope:n.__scopeAccordion,value:F.useMemo(()=>a?[a]:[],[a]),onItemOpen:s,onItemClose:F.useCallback(()=>r&&s(""),[r,s]),children:E.jsx($n,{scope:n.__scopeAccordion,collapsible:r,children:E.jsx(Dn,{...l,ref:e})})})}),Mt=F.forwardRef((n,e)=>{const{value:t,defaultValue:o,onValueChange:i=()=>{},...r}=n,[l,a]=cn({prop:t,defaultProp:o??[],onChange:i,caller:X}),s=F.useCallback(y=>a((u=[])=>[...u,y]),[a]),g=F.useCallback(y=>a((u=[])=>u.filter(c=>c!==y)),[a]);return E.jsx(_n,{scope:n.__scopeAccordion,value:l,onItemOpen:s,onItemClose:g,children:E.jsx($n,{scope:n.__scopeAccordion,collapsible:!0,children:E.jsx(Dn,{...r,ref:e})})})}),[Ht,De]=$e(X),Dn=F.forwardRef((n,e)=>{const{__scopeAccordion:t,disabled:o,dir:i,orientation:r="vertical",...l}=n,a=F.useRef(null),s=Xn(a,e),g=kt(t),u=Jn(i)==="ltr",c=Yn(n.onKeyDown,m=>{if(!Nt.includes(m.key))return;const h=m.target,A=g().filter(T=>!T.ref.current?.disabled),P=A.findIndex(T=>T.ref.current===h),S=A.length;if(P===-1)return;m.preventDefault();let I=P;const k=0,L=S-1,V=()=>{I=P+1,I>L&&(I=k)},R=()=>{I=P-1,I<k&&(I=L)};switch(m.key){case"Home":I=k;break;case"End":I=L;break;case"ArrowRight":r==="horizontal"&&(u?V():R());break;case"ArrowDown":r==="vertical"&&V();break;case"ArrowLeft":r==="horizontal"&&(u?R():V());break;case"ArrowUp":r==="vertical"&&R();break}const w=I%S;A[w].ref.current?.focus()});return E.jsx(Ht,{scope:t,disabled:o,direction:i,orientation:r,children:E.jsx(qe.Slot,{scope:t,children:E.jsx(sn.div,{...l,"data-orientation":r,ref:s,onKeyDown:o?void 0:c})})})}),Re="AccordionItem",[jt,Je]=$e(Re),Mn=F.forwardRef((n,e)=>{const{__scopeAccordion:t,value:o,...i}=n,r=De(Re,t),l=_t(Re,t),a=Xe(t),s=Fn(),g=o&&l.value.includes(o)||!1,y=r.disabled||n.disabled;return E.jsx(jt,{scope:t,open:g,disabled:y,triggerId:s,children:E.jsx(et,{"data-orientation":r.orientation,"data-state":Vn(g),...a,...i,ref:e,disabled:y,open:g,onOpenChange:u=>{u?l.onItemOpen(o):l.onItemClose(o)}})})});Mn.displayName=Re;var Hn="AccordionHeader",jn=F.forwardRef((n,e)=>{const{__scopeAccordion:t,...o}=n,i=De(X,t),r=Je(Hn,t);return E.jsx(sn.h3,{"data-orientation":i.orientation,"data-state":Vn(r.open),"data-disabled":r.disabled?"":void 0,...o,ref:e})});jn.displayName=Hn;var Be="AccordionTrigger",Tn=F.forwardRef((n,e)=>{const{__scopeAccordion:t,...o}=n,i=De(X,t),r=Je(Be,t),l=$t(Be,t),a=Xe(t);return E.jsx(qe.ItemSlot,{scope:t,children:E.jsx(Qn,{"aria-disabled":r.open&&!l.collapsible||void 0,"data-orientation":i.orientation,id:r.triggerId,...a,...o,ref:e})})});Tn.displayName=Be;var Gn="AccordionContent",On=F.forwardRef((n,e)=>{const{__scopeAccordion:t,...o}=n,i=De(X,t),r=Je(Gn,t),l=Xe(t);return E.jsx(nt,{role:"region","aria-labelledby":r.triggerId,"data-orientation":i.orientation,...l,...o,ref:e,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...n.style}})});On.displayName=Gn;function Vn(n){return n?"open":"closed"}var Tt=Ln,Gt=Mn,Ot=jn,Vt=Tn,Bt=On;function Yt(n){const e=le.c(4);let t;e[0]!==n?({...t}=n,e[0]=n,e[1]=t):t=e[1];let o;return e[2]!==t?(o=E.jsx(Tt,{"data-slot":"accordion",...t}),e[2]=t,e[3]=o):o=e[3],o}function Zt(n){const e=le.c(8);let t,o;e[0]!==n?({className:t,...o}=n,e[0]=n,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let i;e[3]!==t?(i=Se("border-b last:border-b-0",t),e[3]=t,e[4]=i):i=e[4];let r;return e[5]!==o||e[6]!==i?(r=E.jsx(Gt,{"data-slot":"accordion-item",className:i,...o}),e[5]=o,e[6]=i,e[7]=r):r=e[7],r}function Qt(n){const e=le.c(11);let t,o,i;e[0]!==n?({className:o,children:t,...i}=n,e[0]=n,e[1]=t,e[2]=o,e[3]=i):(t=e[1],o=e[2],i=e[3]);let r;e[4]!==o?(r=Se("focus-visible:border-ring focus-visible:ring-ring/20 flex flex-1 items-center justify-between gap-4 py-4 text-left text-sm font-medium transition-all outline-none hover:bg-accent/50 focus-visible:ring-[2px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-90",o),e[4]=o,e[5]=r):r=e[5];let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l=E.jsx(tt,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 transition-transform duration-200"}),e[6]=l):l=e[6];let a;return e[7]!==t||e[8]!==i||e[9]!==r?(a=E.jsx(Ot,{className:"flex",children:E.jsxs(Vt,{"data-slot":"accordion-trigger",className:r,...i,children:[t,l]})}),e[7]=t,e[8]=i,e[9]=r,e[10]=a):a=e[10],a}function eo(n){const e=le.c(12);let t,o,i;e[0]!==n?({className:o,children:t,...i}=n,e[0]=n,e[1]=t,e[2]=o,e[3]=i):(t=e[1],o=e[2],i=e[3]);let r;e[4]!==o?(r=Se("pt-0 pb-4",o),e[4]=o,e[5]=r):r=e[5];let l;e[6]!==t||e[7]!==r?(l=E.jsx("div",{className:r,children:t}),e[6]=t,e[7]=r,e[8]=l):l=e[8];let a;return e[9]!==i||e[10]!==l?(a=E.jsx(Bt,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...i,children:l}),e[9]=i,e[10]=l,e[11]=a):a=e[11],a}export{Qt as A,Xt as R,eo as a,Yt as b,Zt as c,Jt as d,qt as e};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as D,r as g,j as r,c as H}from"./index-BjwVvH1j.js";import{C as _}from"./agent-icon-Cskaw262.js";import{i as V}from"./SearchMd-BtButnkh.js";import{D as X,a as J,c as K,b as Q}from"./dialog-B1WfX0fX.js";import{I as Y}from"./input-TCcH2B8J.js";import{_ as Z,X as ee,$ as te,a0 as G,G as re}from"./index-DRtry2B5.js";import"./AlertCircle-CxNILHAI.js";import"./Tool01-BkMOx_Zg.js";import"./SwitchHorizontal01-CxmKybBS.js";import"./RefreshCcw01-B128IIDx.js";import"./XCircle-1-iiLXjU.js";import"./ArrowUpRight-CFrvlSKb.js";import"./ZapSquare-B6OY2f4C.js";import"./Users03-Cz4uncjJ.js";import"./CheckCircle-CBRDCM9J.js";import"./Check-BeL4GS1_.js";import"./ChevronDown-MTne56XS.js";import"./ChevronRight-CvPPvt0o.js";import"./ChevronUp-YTSuZxrL.js";import"./DotsVertical-B4Bc-DLw.js";import"./Container-Bit7n1Sh.js";import"./Eye-Ds4VIJhE.js";import"./Globe01-BQzG3iWN.js";import"./FilterLines-BFeQ9DcO.js";import"./ZoomOut-28hLmjYh.js";import"./Star01-COGAy9Dv.js";import"./Palette-BesE5Pxh.js";import"./HardDrive-DTFLQufl.js";import"./Stars02-BcY_Drly.js";import"./Key01-4js0dcqW.js";import"./sheet-Du3LaF1v.js";import"./X-CE3UzM4P.js";import"./LinkExternal01-BhtjVlM2.js";import"./Monitor01-BVdINEC9.js";import"./Sun-Bas_PynU.js";import"./Play-lA-ptqjk.js";import"./Plus-qO_BvdHx.js";import"./Settings02-MdBElcG9.js";import"./Shield01-D8p4DW6d.js";import"./Stars01-DTRRtAlI.js";import"./Trash01-Bn69e6b9.js";import"./Upload01-CIZcbYFv.js";import"./User01-2zSxOgFX.js";import"./Users01-DgModWg5.js";import"./XClose-g9G_Zn7s.js";import"./Zap-C8mTTKvq.js";import"./agent-capabilities-DDgUvP6S.js";import"./pair-Dm3vXKHB.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-DZWAWvpP.js";import"./select-DNVrcssU.js";import"./tooltip-DlPcHg_7.js";import"./use-copy-CG7aV8Bw.js";import"./file-type-icon-DdVRbJPB.js";import"./content-blocks-o63cs2vh.js";import"./types-CxzjkgWq.js";import"./constants-BYh-snCd.js";import"./chat-context-CoDmdsVu.js";import"./tab-id-9wF6NJdU.js";import"./decopilot-sse-pool-0-0bl-bw.js";import"./create-sse-subscription-BS5983N4.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-virtual-mcp-CT-9keNI.js";import"./use-collections-CBTBl02k.js";import"./use-ai-providers-WePD6A-o.js";import"./use-organization-settings-By_UmZEV.js";import"./shell-layout-D_pe8ifX.js";import"./avatar-CFfnEc-J.js";import"./required-auth-layout-czExuZSc.js";import"./useRouterState-CwEmwiBC.js";import"./use-org-sso-fN4GsRuW.js";import"./integration-icon-5HuLoYU0.js";import"./use-navigate-to-agent-CtPEdzh1.js";import"./use-connection-ByC-72lH.js";import"./use-mcp-prompts-BeFY3ScJ.js";import"./form-CpQMhVrb.js";import"./label-BViApHhU.js";import"./spinner-DYX6X7R4.js";import"./drawer-Dep0gGKV.js";import"./collection-search-djXmBIPE.js";import"./tabs-DiXWlenI.js";import"./toggle-group-CinhryiV.js";import"./agent-icons-B5BeKXhV.js";import"./checkbox-BnUvD6mT.js";import"./skeleton-IVNi55cd.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Q3UDwB5x.js";import"./card-CQeAx3Vx.js";import"./connect-desktop-dialog-Bgqlrqoq.js";import"./popover-B1dASX2L.js";import"./command-BHuJVvxL.js";import"./index-DsSC-nYU.js";import"./useInfiniteQuery-scYJJ_GM.js";import"./infiniteQueryObserver-zIrc5Qb-.js";import"./sortable.esm-B3QQU5eL.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-DRDylcCs.js";import"./use-registry-connections-BkZ2ZOJD.js";import"./extract-connection-data-BEWjJFKe.js";import"./generate-id-C_OqT9sT.js";import"./collections-CtABKNH_.js";import"./collection-tabs-Bs1OSqt5.js";import"./badge-C7r7dui9.js";import"./textarea-C5Q-gAUC.js";import"./connection-form-helpers-D5CHE7dE.js";import"./use-infinite-scroll-BqDKzW2x.js";import"./useSuspenseInfiniteQuery-BDTBkP42.js";import"./index-A1X2xYA3.js";import"./dropdown-menu-CtbTHljl.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-BoEMybHy.js";import"./sidebar-Dd570BWA.js";import"./toolbar-CiwzJ7Ce.js";import"./use-create-virtual-mcp-C-9PxkTd.js";import"./github-repo-picker-CkY8kpmI.js";import"./use-mcp-tools-G51_uFwc.js";import"./alert-dialog-CTHJKvkc.js";import"./index-BmWH7CJj.js";import"./use-org-auth-client-DdXOtn0H.js";import"./hover-card-IdAGrE8c.js";import"./task-status-X6M92gi6.js";import"./use-status-sounds-DU2Ydnj4.js";import"./empty-state-AxYPR9mA.js";import"./accordion-35QRcX3A.js";import"./use-capability-Cy5OhZ8q.js";import"./monaco-editor-CE4b2z1c.js";import"./user-CoJ75n6g.js";import"./tools-list-BQckCc_7.js";import"./switch-v-IGg8-o.js";import"./use-debounced-autosave-DzWM-CGc.js";import"./index-D3GsqLC9.js";import"./search-input-CdCRzERo.js";import"./use-secrets-BJelzSB8.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./view-mode-toggle-Cab9lVhf.js";import"./select-model-B69NuWL6.js";import"./use-automations-BoufmASv.js";import"./automation-runs-DwVMM_f5.js";import"./table-DPhKP8io.js";import"./use-members-BPoi4C1A.js";import"./automation-list-row-DgdQ33ky.js";import"./file-preview-BGdcimIO.js";const oe=12,E=new Set,$=new Set;function ie(){for(const l of $)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 $.add(l),()=>{$.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=D.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=D.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 Fr(l){const e=D.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{Fr as AddSectionModal};
|