decocms 3.30.0 → 3.30.1
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-C2JPSNIc.js → AlertCircle-BQLR7I4E.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-Dtm-fMoi.js → ArrowUpRight-DSaWSvAP.js} +1 -1
- package/dist/client/assets/{Check-CJuLJZRg.js → Check-DCDpfG7m.js} +1 -1
- package/dist/client/assets/{CheckCircle-B1gk6AbW.js → CheckCircle-BBK-3Pzt.js} +1 -1
- package/dist/client/assets/{ChevronDown-BbO00aHm.js → ChevronDown-BD0G-h2k.js} +1 -1
- package/dist/client/assets/{ChevronLeft-CyC6kPhn.js → ChevronLeft-DtP_Ayjz.js} +1 -1
- package/dist/client/assets/{ChevronRight-D4rmSZYg.js → ChevronRight-DUzhuedZ.js} +1 -1
- package/dist/client/assets/{ChevronUp-DC9Fz2he.js → ChevronUp-D5M0geM5.js} +1 -1
- package/dist/client/assets/{Container-Ck07PAMh.js → Container-Catp9d2q.js} +1 -1
- package/dist/client/assets/{DotsVertical-DVI2JfBT.js → DotsVertical-Dok1GVxI.js} +1 -1
- package/dist/client/assets/{Eye-8SpX7ax1.js → Eye-Dmik5hYP.js} +1 -1
- package/dist/client/assets/{FilterLines-DXoB5fi6.js → FilterLines-C37LaXJ1.js} +1 -1
- package/dist/client/assets/{Globe01-_Gozs0-K.js → Globe01-D1c-3J9t.js} +1 -1
- package/dist/client/assets/{HardDrive-D6YFkngp.js → HardDrive-C1vRZoAn.js} +1 -1
- package/dist/client/assets/{Key01-DtPyr_d4.js → Key01-CdveS1HN.js} +1 -1
- package/dist/client/assets/{LayoutLeft-zPlWqXYO.js → LayoutLeft-Bfxz6P9F.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CMKC3Ppc.js → LinkExternal01-CxEkPs1F.js} +1 -1
- package/dist/client/assets/{Monitor01-Dg9LYm9U.js → Monitor01-Bkoa3Nbe.js} +1 -1
- package/dist/client/assets/{Palette-DvOu8iad.js → Palette-C74Da44y.js} +1 -1
- package/dist/client/assets/{Play-BGgNLf1z.js → Play-BERjgeke.js} +1 -1
- package/dist/client/assets/{Plus-D3Yt_klI.js → Plus-CdvauR8B.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-De11YcWY.js → RefreshCcw01-4ELQWtuB.js} +1 -1
- package/dist/client/assets/{SearchMd-CkwYmYFX.js → SearchMd-DvX2rzEB.js} +1 -1
- package/dist/client/assets/{Settings02-RkWi-oHt.js → Settings02-Cqwfv4FN.js} +1 -1
- package/dist/client/assets/{Shield01-BkzImfUK.js → Shield01-6id4oLiZ.js} +1 -1
- package/dist/client/assets/{Star01-CROTt7h-.js → Star01--MeVNqbA.js} +1 -1
- package/dist/client/assets/{Stars01-BZ01dqEy.js → Stars01-C2BTpZeS.js} +1 -1
- package/dist/client/assets/{Stars02-Bb_Lb3Iw.js → Stars02-D6zEAnUT.js} +1 -1
- package/dist/client/assets/{Sun--jg0YyzU.js → Sun-BGVsB7Cm.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-uOesGvrj.js → SwitchHorizontal01-DC97OO23.js} +1 -1
- package/dist/client/assets/{Tool01-CHRhaVsB.js → Tool01-DQ4cTbeu.js} +1 -1
- package/dist/client/assets/{Trash01-D9jT6VSX.js → Trash01-Biurgfq6.js} +1 -1
- package/dist/client/assets/{Upload01-B6COGlQo.js → Upload01-B-0o1yeU.js} +1 -1
- package/dist/client/assets/{User01-CWJ4O2R8.js → User01-CZ5ejYDg.js} +1 -1
- package/dist/client/assets/{Users01-Bsb338aB.js → Users01-CKNLJr4G.js} +1 -1
- package/dist/client/assets/{Users03-BZnIYCM1.js → Users03-CA9cu5qb.js} +1 -1
- package/dist/client/assets/{X-CH7nrxK3.js → X-DlMQL-XM.js} +1 -1
- package/dist/client/assets/{XCircle-DSNLgcsz.js → XCircle-G0WrPq0g.js} +1 -1
- package/dist/client/assets/{XClose-B2Xxw9ZV.js → XClose-LNW85JIs.js} +1 -1
- package/dist/client/assets/{Zap-CtPT7vkQ.js → Zap-CbtV6Vvm.js} +1 -1
- package/dist/client/assets/{ZapSquare-B7LKxpnQ.js → ZapSquare-C9LhFrIW.js} +1 -1
- package/dist/client/assets/{ZoomOut-BhGMK1ir.js → ZoomOut-CImzlj9g.js} +1 -1
- package/dist/client/assets/{access-gate-CBfdxByI.js → access-gate-DR0BZ9Yv.js} +1 -1
- package/dist/client/assets/{accordion-CMUFrLXB.js → accordion-CiWkTYYE.js} +1 -1
- package/dist/client/assets/add-section-modal-Dv2cxIh1.js +1 -0
- package/dist/client/assets/{agent-capabilities-v4Rwjpb1.js → agent-capabilities-l_XcUqX-.js} +1 -1
- package/dist/client/assets/{agent-icon-BL0Zyuef.js → agent-icon-CjlB-XbA.js} +1 -1
- package/dist/client/assets/{agent-icons-AMlXFz_9.js → agent-icons-COjGtXRX.js} +1 -1
- package/dist/client/assets/{agents-list-D6JCtAI6.js → agents-list-BbpQy40q.js} +1 -1
- package/dist/client/assets/ai-providers-YKtufrsd.js +1 -0
- package/dist/client/assets/{alert-Br2JNJoK.js → alert-DUOzDLz2.js} +1 -1
- package/dist/client/assets/{alert-dialog-DzLqwXYd.js → alert-dialog-ZB1-0uWA.js} +1 -1
- package/dist/client/assets/app-editor-CFm4rW9v.js +1 -0
- package/dist/client/assets/{auth-catchall-Bh2wbrjs.js → auth-catchall-p-9cQrp4.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CKbPPfx6.js → auth-split-layout-DCQZj1x8.js} +1 -1
- package/dist/client/assets/{automation-list-row-6z14sJQm.js → automation-list-row-1QBzAyda.js} +1 -1
- package/dist/client/assets/{automation-runs-DAMwdbwt.js → automation-runs-CbXniThO.js} +1 -1
- package/dist/client/assets/{automations-oTAQWsS7.js → automations-DXbm14M-.js} +1 -1
- package/dist/client/assets/{avatar-BL6j7EM4.js → avatar-DdrKHW7Q.js} +1 -1
- package/dist/client/assets/{badge-Cc4XouWa.js → badge-GxV01_sa.js} +1 -1
- package/dist/client/assets/{brand-context-BCHQoNph.js → brand-context-CckU9jvo.js} +1 -1
- package/dist/client/assets/{buckets-CLBLkzZh.js → buckets-BXxpFWbP.js} +1 -1
- package/dist/client/assets/{calendar-DXmim9-f.js → calendar-ndWEDvWe.js} +1 -1
- package/dist/client/assets/{capability-load-error-S5ghjE3y.js → capability-load-error-C1lcmzPk.js} +1 -1
- package/dist/client/assets/{card-OOIE0uKL.js → card-B7vNztnP.js} +1 -1
- package/dist/client/assets/{chat-context-C10uFg_9.js → chat-context-Dr8mURNn.js} +1 -1
- package/dist/client/assets/{checkbox-EJ-FS6-O.js → checkbox-CvlqSsv8.js} +1 -1
- package/dist/client/assets/{cli-auth-success-BYusj1Yo.js → cli-auth-success-DbBnzJkW.js} +1 -1
- package/dist/client/assets/collection-detail-dh1JPTkf.js +1 -0
- package/dist/client/assets/{collection-display-button-B9EwJigp.js → collection-display-button-ByiFEfVE.js} +1 -1
- package/dist/client/assets/{collection-search-CVFFSy0S.js → collection-search-B62hBYcH.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-C1Fi6DAM.js → collection-table-wrapper-p305Tve_.js} +1 -1
- package/dist/client/assets/{collection-tabs-CArtFM6T.js → collection-tabs-BoWbncvo.js} +1 -1
- package/dist/client/assets/{collections-BMUil3in.js → collections-BU-b7Qnp.js} +1 -1
- package/dist/client/assets/{command-BeSVNuhP.js → command-DeymMKPH.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-nMepiraO.js → connect-desktop-dialog-B6fCPmnk.js} +1 -1
- package/dist/client/assets/{connection-card-BAVVkgt5.js → connection-card-BdHs3sI8.js} +1 -1
- package/dist/client/assets/{connection-detail-BTh_x2Hu.js → connection-detail-1bfT9skO.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-C7w-EHHd.js → connection-form-helpers-Cl8WE-Wv.js} +1 -1
- package/dist/client/assets/{connections-CrTg-ish.js → connections-CQfywKkf.js} +1 -1
- package/dist/client/assets/decopilot-sse-pool-TF6jERkV.js +1 -0
- package/dist/client/assets/{dialog-DlK91HiY.js → dialog-Bug5LYvY.js} +1 -1
- package/dist/client/assets/{domain-settings-B7UAGOxI.js → domain-settings-CiVW_jUc.js} +1 -1
- package/dist/client/assets/{drawer-We__DvM1.js → drawer-Ckfnpw8I.js} +1 -1
- package/dist/client/assets/{dropdown-menu-9oUOEimm.js → dropdown-menu-CggnBdjt.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-D7rRlhnh.js → dynamic-plugin-layout-yS0CT9hK.js} +1 -1
- package/dist/client/assets/{empty-state-CwB2rEHC.js → empty-state-C6yeON6c.js} +1 -1
- package/dist/client/assets/{empty-state-DWre-pls.js → empty-state-DtTBbW_W.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Deygnaxj.js → extract-connection-data-BR7VTC2M.js} +1 -1
- package/dist/client/assets/{features-C1SyNqJm.js → features-fQ1ChqbW.js} +1 -1
- package/dist/client/assets/file-explorer-Bpe6MxXV.js +2 -0
- package/dist/client/assets/{file-type-icon-g69R8oLw.js → file-type-icon-Dg4vNCbL.js} +1 -1
- package/dist/client/assets/{files-C6FoCY_v.js → files-C7GL35WM.js} +1 -1
- package/dist/client/assets/{form-8fnZRdSd.js → form-Bkkvnz-_.js} +1 -1
- package/dist/client/assets/{general-XtW1kUDP.js → general-T2AFh9Ye.js} +1 -1
- package/dist/client/assets/{generate-id-DHU56BsF.js → generate-id-DfnWKozM.js} +1 -1
- package/dist/client/assets/github-repo-picker-BKJVsWG6.js +4 -0
- package/dist/client/assets/{header-tab-button-B8CWwAih.js → header-tab-button-CfuW1KOG.js} +1 -1
- package/dist/client/assets/{hover-card-DwcwURxp.js → hover-card-7wnR4X6J.js} +1 -1
- package/dist/client/assets/{image-field-DmhpoXrw.js → image-field-DsnvgvCV.js} +1 -1
- package/dist/client/assets/{index-C2l1dIiW.js → index-BD68Poau.js} +1 -1
- package/dist/client/assets/{index-CFHtQMhz.js → index-BDwe75Ed.js} +2 -2
- package/dist/client/assets/{index-DnaxJsHb.js → index-BL9vKovB.js} +4 -4
- package/dist/client/assets/{index-DxEUOQQs.js → index-BjoOIgbb.js} +3 -3
- package/dist/client/assets/{index-BATH3mQn.js → index-C6AFi5aI.js} +1 -1
- package/dist/client/assets/{index-C5kgHpFv.js → index-CCldjkHi.js} +1 -1
- package/dist/client/assets/{index-ZOhZPSgS.js → index-CV7TX6uY.js} +1 -1
- package/dist/client/assets/{index-oexgDee9.js → index-C_NDVGp1.js} +1 -1
- package/dist/client/assets/index-CoS-DNLH.js +1 -0
- package/dist/client/assets/{index-BZ_pIRwf.js → index-CvubZqsl.js} +1 -1
- package/dist/client/assets/index-DHXKcvHJ.js +1 -0
- package/dist/client/assets/{index-PvfjkUpw.js → index-Dow8MSuu.js} +1 -1
- package/dist/client/assets/{index-DBE0AwRo.js → index-K-cFrJme.js} +1 -1
- package/dist/client/assets/{index-Daxt8Oww.js → index-M8U0QO9V.js} +1 -1
- package/dist/client/assets/{index-redirect-HOxoe50M.js → index-redirect-CDKs11B5.js} +1 -1
- package/dist/client/assets/{index-Cxw5N6xu.js → index-uM9cBeAz.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-_wx8vha2.js → infiniteQueryObserver-DjRZQa58.js} +1 -1
- package/dist/client/assets/{input-CzgGcI3V.js → input-CAytkUdm.js} +1 -1
- package/dist/client/assets/{integration-icon-TXgAkIpf.js → integration-icon-BxZqCPgY.js} +1 -1
- package/dist/client/assets/{label-Bz4-Isgq.js → label-_bcDhrPn.js} +1 -1
- package/dist/client/assets/{layout-CJmh1JYB.js → layout-D6JyUu-W.js} +1 -1
- package/dist/client/assets/{login-CqLFGKun.js → login-D_Y894-5.js} +1 -1
- package/dist/client/assets/{members-CkjIPrxM.js → members-BiZDHDwm.js} +1 -1
- package/dist/client/assets/{monaco-editor-H7pARgsv.js → monaco-editor-DR1buwuA.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-DS1hvbdH.js → monitoring-stats-row-BH1n8Qao.js} +1 -1
- package/dist/client/assets/{oauth-callback-HUP2iLBH.js → oauth-callback-Bwrh5dBF.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Dd9lClDY.js → oauth-callback-ai-provider-DnFWhV-5.js} +1 -1
- package/dist/client/assets/{onboarding-CkoQ7XPG.js → onboarding-0pY55b33.js} +1 -1
- package/dist/client/assets/{org-install-BXFenQeY.js → org-install-CfS-9owX.js} +1 -1
- package/dist/client/assets/{org-layout-CWtH4lkJ.js → org-layout-WjhxFhVG.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-3y1WMApX.js → org-plugin-layout-CBd88Pps.js} +1 -1
- package/dist/client/assets/{page-seo-form-S_9vd5c_.js → page-seo-form-DA-M0CRU.js} +1 -1
- package/dist/client/assets/page-seo-sheet-BGJM5zp7.js +1 -0
- package/dist/client/assets/{pair-Dqpt4Jli.js → pair-rWOsLIRO.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-LQMx4SEB.js → plugin-empty-state-BC-cPjsG.js} +1 -1
- package/dist/client/assets/{plugin-header-BZ1oWLb9.js → plugin-header-CZ1sX2n9.js} +1 -1
- package/dist/client/assets/{plugin-layout-BY7Ar40U.js → plugin-layout-egGFGy3C.js} +1 -1
- package/dist/client/assets/{popover-7ZV_x738.js → popover-H1IIsqsO.js} +1 -1
- package/dist/client/assets/{post-editor-CbtQkJeo.js → post-editor-D8Amc377.js} +1 -1
- package/dist/client/assets/{primitives-B1fkoae3.js → primitives-DXNs_riQ.js} +1 -1
- package/dist/client/assets/{profile-BIgGVZDN.js → profile-jQNt2qst.js} +1 -1
- package/dist/client/assets/project-app-view-CByPW7cJ.js +1 -0
- package/dist/client/assets/record-editor-BoDJjFQA.js +1 -0
- package/dist/client/assets/registry-aermVrqm.js +2 -0
- package/dist/client/assets/{registry-layout-Bp8ThmJv.js → registry-layout-CC29q8fz.js} +1 -1
- package/dist/client/assets/{require-capability-Cu6FsDEP.js → require-capability-g-UPmpGK.js} +1 -1
- package/dist/client/assets/{required-auth-layout-s-nnIbb3.js → required-auth-layout-B5sViZsY.js} +1 -1
- package/dist/client/assets/{reset-password-BfEM853p.js → reset-password-BC3ZM7w0.js} +1 -1
- package/dist/client/assets/{resizable-D2JXsfXz.js → resizable-DaIe2JEk.js} +1 -1
- package/dist/client/assets/{roles-cALq3Qwx.js → roles-C5M6mJ4v.js} +1 -1
- package/dist/client/assets/save-referenced-block-BLu5E_fA.js +1 -0
- package/dist/client/assets/{save-status-BcFNfyWL.js → save-status-DaG-SHKI.js} +1 -1
- package/dist/client/assets/{schema-form-B407z7tS.js → schema-form-BBSGBJV6.js} +1 -1
- package/dist/client/assets/{scroll-area-ChPJ-NEF.js → scroll-area-7dB1B4gR.js} +1 -1
- package/dist/client/assets/{search-input-Cray-A1q.js → search-input-DwwxFJsd.js} +1 -1
- package/dist/client/assets/{secrets-CSi3922A.js → secrets-BVqejBQE.js} +1 -1
- package/dist/client/assets/{sections-editor-Dn33QM0Q.js → sections-editor-B1P_XWwE.js} +1 -1
- package/dist/client/assets/{select-BhUuCBjD.js → select-Dn6Da_1F.js} +1 -1
- package/dist/client/assets/{select-model-C941S1nf.js → select-model-W59Bilmt.js} +1 -1
- package/dist/client/assets/seo-editor-CBSOqlcM.js +1 -0
- package/dist/client/assets/settings-layout-DypT7z1u.js +1 -0
- package/dist/client/assets/{settings-section-BmqyawBS.js → settings-section-BkgYqxH8.js} +1 -1
- package/dist/client/assets/{sheet-Devtg9cX.js → sheet-CxiAY8T5.js} +1 -1
- package/dist/client/assets/{shell-controls-3zx-sXr7.js → shell-controls-rZ6L5v7J.js} +1 -1
- package/dist/client/assets/{shell-layout-DRNHZhhH.js → shell-layout-B5B3hmRp.js} +1 -1
- package/dist/client/assets/{shell-route-loading-CDKyU1Jg.js → shell-route-loading-BURh1jIH.js} +1 -1
- package/dist/client/assets/{sidebar-D_Yb-5nE.js → sidebar-CIJpOENy.js} +1 -1
- package/dist/client/assets/{skeleton-DU4Yk3QQ.js → skeleton-B0e2OkSv.js} +1 -1
- package/dist/client/assets/{sortable.esm-DLnTPF68.js → sortable.esm-B6-kJBUo.js} +1 -1
- package/dist/client/assets/{spinner-DJudGYoz.js → spinner-C2ljLkNd.js} +1 -1
- package/dist/client/assets/{sso-Bc1ESWi6.js → sso-DutRn6kP.js} +1 -1
- package/dist/client/assets/{store-Ble4KI2L.js → store-CuKFTdG_.js} +1 -1
- package/dist/client/assets/store-registry-CRmNQ4V9.js +2 -0
- package/dist/client/assets/{studio-tools-CdiIGNug.js → studio-tools-DfxdEEgB.js} +1 -1
- package/dist/client/assets/{switch-CbDNpyYj.js → switch-DDGBJlE2.js} +1 -1
- package/dist/client/assets/{tab-id-CixUfikt.js → tab-id-TBSp1YxU.js} +3 -3
- package/dist/client/assets/{table-C7al_g9w.js → table-GnXYzms9.js} +1 -1
- package/dist/client/assets/{tabs-DpPbTcOX.js → tabs-BajnAGhM.js} +1 -1
- package/dist/client/assets/{task-status-B4xhXa10.js → task-status-fWcsMePP.js} +1 -1
- package/dist/client/assets/{textarea-CHCvnh_8.js → textarea-JAS7Y9kw.js} +1 -1
- package/dist/client/assets/{toggle-group-DUH3UCsh.js → toggle-group-Bv21I6Mc.js} +1 -1
- package/dist/client/assets/{toolbar-Dje6lkWt.js → toolbar-CkGflKXn.js} +1 -1
- package/dist/client/assets/{tools-list-BYNSxX2E.js → tools-list-DKrbt2O-.js} +1 -1
- package/dist/client/assets/{tooltip-BIymZbyc.js → tooltip-CKtclZb-.js} +1 -1
- package/dist/client/assets/{types-CmWRxh2O.js → types-2N8PTdbg.js} +1 -1
- package/dist/client/assets/{use-ai-providers-i1tqdzqX.js → use-ai-providers-CGLipwx3.js} +1 -1
- package/dist/client/assets/{use-automations-DGwM8rjk.js → use-automations-BChOAOA6.js} +1 -1
- package/dist/client/assets/{use-capability-C6m2-0Ci.js → use-capability-czp9i90U.js} +1 -1
- package/dist/client/assets/{use-clock-tick-B8zeuW9S.js → use-clock-tick-_Fh5zTFQ.js} +1 -1
- package/dist/client/assets/{use-collections-CPla-8Z_.js → use-collections-CrAY0KoX.js} +1 -1
- package/dist/client/assets/{use-connection-7yE-FpPg.js → use-connection-NiFefepq.js} +1 -1
- package/dist/client/assets/{use-copy-CMgaIgR7.js → use-copy-CQfxrmWX.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BWWSVfRV.js → use-create-virtual-mcp-DwKQGNi1.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DtXHyjU0.js → use-debounced-autosave-DCM6oAgZ.js} +1 -1
- package/dist/client/assets/{use-delete-connection-v7_IOcbu.js → use-delete-connection-bIYVec_d.js} +1 -1
- package/dist/client/assets/{use-file-configs-BmBPsN9j.js → use-file-configs-CqXWCLQv.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-COS9eomA.js → use-infinite-scroll-CNFLUrB_.js} +1 -1
- package/dist/client/assets/{use-list-state-Cl12C-eO.js → use-list-state-DRxXstLB.js} +1 -1
- package/dist/client/assets/{use-mcp-client-BW6MR0tW.js → use-mcp-client-B46VYAN_.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-DauhYIMV.js → use-mcp-prompts-BfYOND3X.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BdvRRDeD.js → use-mcp-tools-wPegb5Xs.js} +1 -1
- package/dist/client/assets/{use-members-UnrPTEyo.js → use-members-DTpTFucv.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-7tEptzcr.js → use-navigate-to-agent-DL0_jMva.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-D_nAk9Nf.js → use-org-auth-client-DFhI1mXp.js} +1 -1
- package/dist/client/assets/{use-org-sso-BZSKGD_q.js → use-org-sso-B2JHlDcL.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DDLxus16.js → use-organization-roles-Do917bwO.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Ds8za6ZV.js → use-organization-settings-CGdaVuD7.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Bo5wHKtk.js → use-registry-connections-B7_YY-15.js} +1 -1
- package/dist/client/assets/{use-secrets-3j7bfIX7.js → use-secrets-qOLSEePj.js} +1 -1
- package/dist/client/assets/use-status-sounds-EA9ENH60.js +1 -0
- package/dist/client/assets/{use-view-mode-CdHjt_dk.js → use-view-mode-C2K6zcu8.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-C5aNldwS.js → use-virtual-mcp-DHileccV.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-vMxng0_U.js +1 -0
- package/dist/client/assets/{useRouterState-CKqJqhNS.js → useRouterState-93R-QVdz.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-_hGeqDYv.js +1 -0
- package/dist/client/assets/{user-D4kiCnS_.js → user-T0gsPnBH.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-D6mTnqbc.js → view-mode-toggle-BvPi1TV1.js} +1 -1
- package/dist/client/assets/watch-sse-pool-BSePGeIN.js +1 -0
- package/dist/client/assets/{workflow-YStE-9Wj.js → workflow-aar8VltW.js} +1 -1
- package/dist/client/assets/workflow-detail-Cyps73VW.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/add-section-modal-BCNLSlG_.js +0 -1
- package/dist/client/assets/ai-providers-DwCvc_zL.js +0 -1
- package/dist/client/assets/app-editor-DUutwvll.js +0 -1
- package/dist/client/assets/collection-detail-jnv2JHtL.js +0 -1
- package/dist/client/assets/create-sse-subscription-BS5983N4.js +0 -1
- package/dist/client/assets/decopilot-sse-pool-C9YWBszR.js +0 -1
- package/dist/client/assets/file-explorer-B31Paeha.js +0 -2
- package/dist/client/assets/github-repo-picker-CA1Lsyag.js +0 -4
- package/dist/client/assets/index-Beg4zk5F.js +0 -1
- package/dist/client/assets/index-Dlen5TT1.js +0 -1
- package/dist/client/assets/page-seo-sheet-A616YBcI.js +0 -1
- package/dist/client/assets/project-app-view-C7vmMA1u.js +0 -1
- package/dist/client/assets/record-editor-Sic5IUJ0.js +0 -1
- package/dist/client/assets/registry-CNVAuq_t.js +0 -2
- package/dist/client/assets/save-referenced-block-CL_4PMgI.js +0 -1
- package/dist/client/assets/seo-editor-CSQJAMXP.js +0 -1
- package/dist/client/assets/settings-layout-mUcXrMvm.js +0 -1
- package/dist/client/assets/store-registry-Csepzf8q.js +0 -2
- package/dist/client/assets/use-status-sounds-TuoDiwSP.js +0 -1
- package/dist/client/assets/useInfiniteQuery-CMP19UQ8.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Dsr82JBj.js +0 -1
- package/dist/client/assets/workflow-detail-Vo_71HSM.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as oe,j as t,B as Ce,f as Be,b as lt,q as ze,r as at,o as Le,G as ct,a as dt,K as Fe,ec as Ke,dz as mt}from"./index-DxEUOQQs.js";import{u as pt,a as ut}from"./use-mcp-client-BW6MR0tW.js";import{B as ft,g as Me}from"./generate-id-DHU56BsF.js";import{C as qe}from"./collection-display-button-B9EwJigp.js";import{C as ht}from"./collection-search-CVFFSy0S.js";import{C as gt}from"./card-OOIE0uKL.js";import{I as Ve}from"./integration-icon-TXgAkIpf.js";import{D as Ge,a as Qe,b as He,c as O}from"./dropdown-menu-9oUOEimm.js";import{s as Je,a as Ye}from"./Eye-8SpX7ax1.js";import{i as Xe}from"./DotsVertical-DVI2JfBT.js";import{i as Ze}from"./Tool01-CHRhaVsB.js";import{s as et}from"./Trash01-D9jT6VSX.js";import{C as xt}from"./collection-table-wrapper-C1Fi6DAM.js";import{E as Ue}from"./empty-state-CwB2rEHC.js";import{n as We}from"./Stars02-Bb_Lb3Iw.js";import{U as jt}from"./user-D4kiCnS_.js";import{E as tt}from"./empty-state-DWre-pls.js";import{u as Ct}from"./use-list-state-Cl12C-eO.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-DzLqwXYd.js";import{a as It,b as At}from"./use-collections-CPla-8Z_.js";import{a as Tt}from"./use-connection-7yE-FpPg.js";import{s as Et}from"./Plus-D3Yt_klI.js";import{a as Ot}from"./layout-CJmh1JYB.js";import{u as $t}from"./studio-tools-CdiIGNug.js";import{P as je}from"./index-Daxt8Oww.js";import"./collections-BMUil3in.js";import"./SwitchHorizontal01-uOesGvrj.js";import"./Check-CJuLJZRg.js";import"./tooltip-BIymZbyc.js";import"./view-mode-toggle-D6mTnqbc.js";import"./badge-Cc4XouWa.js";import"./SearchMd-CkwYmYFX.js";import"./Container-Ck07PAMh.js";import"./agent-icon-BL0Zyuef.js";import"./AlertCircle-C2JPSNIc.js";import"./RefreshCcw01-De11YcWY.js";import"./XCircle-DSNLgcsz.js";import"./ArrowUpRight-Dtm-fMoi.js";import"./ZapSquare-B7LKxpnQ.js";import"./Users03-BZnIYCM1.js";import"./CheckCircle-B1gk6AbW.js";import"./ChevronDown-BbO00aHm.js";import"./ChevronLeft-CyC6kPhn.js";import"./ChevronRight-D4rmSZYg.js";import"./ChevronUp-DC9Fz2he.js";import"./ZoomOut-BhGMK1ir.js";import"./Globe01-_Gozs0-K.js";import"./FilterLines-DXoB5fi6.js";import"./Star01-CROTt7h-.js";import"./Palette-DvOu8iad.js";import"./HardDrive-D6YFkngp.js";import"./Key01-DtPyr_d4.js";import"./LayoutLeft-zPlWqXYO.js";import"./LinkExternal01-CMKC3Ppc.js";import"./Monitor01-Dg9LYm9U.js";import"./Sun--jg0YyzU.js";import"./Play-BGgNLf1z.js";import"./Settings02-RkWi-oHt.js";import"./Shield01-BkzImfUK.js";import"./Stars01-BZ01dqEy.js";import"./Upload01-B6COGlQo.js";import"./User01-CWJ4O2R8.js";import"./Users01-Bsb338aB.js";import"./XClose-B2Xxw9ZV.js";import"./X-CH7nrxK3.js";import"./Zap-CtPT7vkQ.js";import"./table-C7al_g9w.js";import"./avatar-BL6j7EM4.js";import"./use-view-mode-CdHjt_dk.js";import"./sidebar-D_Yb-5nE.js";import"./sheet-Devtg9cX.js";function kt(i,e){const s=i.properties||{};for(const n in s){const a=s[n];if(a&&a.type==="string"&&(a.format==="url"||a.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function zt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let a;e[0]!==s||e[1]!==l?(a=kt(l,s),e[0]=s,e[1]=l,e[2]=a):a=e[2];const r=a,u=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let m;e[3]!==n?(m=n&&Object.keys(n).length>0,e[3]=n,e[4]=m):m=e[4];const o=m;let p;e[5]!==r||e[6]!==s.title?(p=t.jsx(Ve,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let d;e[8]!==s.title?(d=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=d):d=e[9];const h=u||"No description";let c;e[10]!==h?(c=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h}),e[10]=h,e[11]=c):c=e[11];let v;e[12]!==d||e[13]!==c?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[d,c]}),e[12]=d,e[13]=c,e[14]=v):v=e[14];let y;e[15]!==p||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[p,v]}),e[15]=p,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Mt,onMouseDown:Kt,children:t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Ft,children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:Lt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(Je,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(Ze,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(et,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}function Mt(i){return i.stopPropagation()}const Ut=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Wt(i){return Object.keys(i).find(e=>Ut.includes(e.toLowerCase()))}function st(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Rt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:a,sortKey:r,sortDirection:u,onSort:m,actions:o,onItemClick:p,headerActions:d,emptyState:h,readOnly:c,columns:v,hideToolbar:y,sortableFields:b}=i,x=u===void 0?"asc":u,g=m===void 0?Gt:m;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const f=$,T=p===void 0?Vt:p,E=d===void 0?null:d,N=h===void 0?null:h,k=c===void 0?!1:c,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(qt).filter(A=>!P||P.includes(A.id)).map(Bt):st(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(qe,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==f||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==a||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(zt,{item:A,schema:l,readOnly:k,actions:f})},A.id))})}):t.jsx(xt,{columns:Jt(j,l,P,f),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}),e[13]=f,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=a,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Bt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function qt(i){return i.sortable!==!1}function Vt(){}function Gt(){}function Qt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(Je,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(Ze,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(et,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function it(i){const e=i.type;return Array.isArray(e)?e.every(s=>it({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Ht(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const p=s[o];return p&&it(p)}),n=Wt(s),a=[],r=new Set;n&&l.includes(n)&&(a.push(n),r.add(n));const u=["title","description","updated_at","updated_by"];for(const o of u)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));const m=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,p)=>o.localeCompare(p));for(const o of m)a.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));return a.map(o=>{const p=s[o],d=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:h=>{const c=h[o];return t.jsx(Ve,{icon:c,name:h.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(c)})},sortable:d,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx(jt,{id:String(c),size:"xs"}):"—"},sortable:d,cellClassName:"max-w-[250px]"}:p?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx("span",{className:"block truncate max-w-full",children:new Date(c).toLocaleDateString()}):"—"},sortable:d,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(c)})},sortable:d,cellClassName:"max-w-[200px]"}})}function Jt(i,e,s,l){const n=i||Ht(e,s);return n.some(u=>u.id==="actions")?n:Object.keys(l).length>0?[...n,Qt(l)]:n}function Yt(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:a}=i,r=n.name,u=n.schema??ft,m=n.hasCreateTool,o=n.hasUpdateTool,p=n.hasDeleteTool,d=Be(),{data:h}=lt.useSession(),c=h?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=pt(g),f=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!m&&!o&&!p;let ne;e[14]!==b||e[15]!==r||e[16]!==d||e[17]!==a||e[18]!==l?(ne=C=>{if(a){a(C);return}d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=d,e[17]=a,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==f.create||e[21]!==c?(re=async C=>{const xe=new Date().toISOString();await f.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:c,updated_by:c})},e[20]=f.create,e[21]=c,e[22]=re):re=e[22];const be=re,[F,ve]=at.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const ot=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==m?(M=m&&{duplicate:be},e[27]=be,e[28]=m,e[29]=M):M=e[29];let U;e[30]!==p?(U=p&&{delete:ot},e[30]=p,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==f.delete||e[37]!==F?(ce=async()=>{F&&(await f.delete.mutateAsync(F.id),ve(null))},e[36]=f.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==f.create||e[40]!==b||e[41]!==r||e[42]!==m||e[43]!==d||e[44]!==l||e[45]!==c?(de=async()=>{if(!m){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:c,updated_by:c};try{const ke=await f.create.mutateAsync(xe);d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=f.create,e[40]=b,e[41]=r,e[42]=m,e[43]=d,e[44]=l,e[45]=c,e[46]=de):de=e[46];const we=de;let me;e[47]!==u?(me=st(u),e[47]=u,e[48]=me):me=e[48];const Se=me,nt=(I?.length??0)>0,rt=m&&!nt&&!N;let pe;e[49]!==f.create||e[50]!==we||e[51]!==m?(pe=m?t.jsxs(Ce,{onClick:we,size:"sm",disabled:f.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),f.create.isPending?"Creating...":"Create"]}):null,e[49]=f.create,e[50]=we,e[51]=m,e[52]=pe):pe=e[52];const ue=pe,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(qe,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let q;e[65]!==ue||e[66]!==m?(q=m&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=m,e[67]=q):q=e[67];let V;e[68]!==B||e[69]!==q?(V=t.jsxs("div",{className:"flex items-center gap-2",children:[B,q]}),e[68]=B,e[69]=q,e[70]=V):V=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=rt?ue:void 0;let H;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(H=t.jsx(tt,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=H):H=e[78];let J;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==u||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Rt,{hideToolbar:!0,data:G,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:H})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=u,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==V||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[V,J]}),e[93]=V,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let X;e[98]!==Oe?(X=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=X):X=e[99];let Z;e[100]!==f.delete.isPending?(Z=t.jsx(vt,{disabled:f.delete.isPending,children:"Cancel"}),e[100]=f.delete.isPending,e[101]=Z):Z=e[101];const $e=f.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==f.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:f.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=f.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==Z||e[107]!==ee?(te=t.jsxs(Pt,{children:[Z,ee]}),e[106]=Z,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==X||e[110]!==te?(se=t.jsxs(_t,{children:[X,te]}),e[109]=X,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==Y||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,Y,ie]}),e[115]=W,e[116]=Y,e[117]=ie,e[118]=ge):ge=e[118],ge}function Xt(){const i=oe.c(10),{org:e,project:s}=ze(),l=ct(),n=$t();let a;i[0]!==s||i[1]!==n?(a=async o=>{const p=s.enabledPlugins??[];if(p.includes(o))return;const d=[...p,o];return await n.call("COLLECTION_VIRTUAL_MCP_UPDATE",{id:s.id,data:{metadata:{enabled_plugins:d}}})},i[0]=s,i[1]=n,i[2]=a):a=i[2];let r;i[3]!==e||i[4]!==s||i[5]!==l?(r=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[3]=e,i[4]=s,i[5]=l,i[6]=r):r=i[6];let u;return i[7]!==a||i[8]!==r?(u={mutationFn:a,onSuccess:r,onError:Zt},i[7]=a,i[8]=r,i[9]=u):u=i[9],dt(u)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function es(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:a}=i,r=Xt();let u;e[0]!==r||e[1]!==s?(u=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=u):u=e[2];const m=u,o=a??null,p=r.isPending?"Enabling…":"Enable plugin";let d;e[3]!==r.isPending||e[4]!==m||e[5]!==p?(d=t.jsx(Ce,{onClick:m,disabled:r.isPending,children:p}),e[3]=r.isPending,e[4]=m,e[5]=p,e[6]=d):d=e[6];let h;return e[7]!==n||e[8]!==o||e[9]!==d||e[10]!==l?(h=t.jsx(tt,{image:o,title:l,description:n,actions:d}),e[7]=n,e[8]=o,e[9]=d,e[10]=l,e[11]=h):h=e[11],h}const ts={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function vi(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(es,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(mt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Yt,{connectionId:ut,org:e.slug,activeCollection:ts,onItemClick:a=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:a.id}})})})})}export{vi as default};
|
|
1
|
+
import{e as oe,j as t,B as Ce,f as Be,b as lt,q as ze,r as at,o as Le,G as ct,a as dt,K as Fe,ec as Ke,dz as mt}from"./index-BjoOIgbb.js";import{u as pt,a as ut}from"./use-mcp-client-B46VYAN_.js";import{B as ft,g as Me}from"./generate-id-DfnWKozM.js";import{C as qe}from"./collection-display-button-ByiFEfVE.js";import{C as ht}from"./collection-search-B62hBYcH.js";import{C as gt}from"./card-B7vNztnP.js";import{I as Ve}from"./integration-icon-BxZqCPgY.js";import{D as Ge,a as Qe,b as He,c as O}from"./dropdown-menu-CggnBdjt.js";import{s as Je,a as Ye}from"./Eye-Dmik5hYP.js";import{i as Xe}from"./DotsVertical-Dok1GVxI.js";import{i as Ze}from"./Tool01-DQ4cTbeu.js";import{s as et}from"./Trash01-Biurgfq6.js";import{C as xt}from"./collection-table-wrapper-p305Tve_.js";import{E as Ue}from"./empty-state-C6yeON6c.js";import{n as We}from"./Stars02-D6zEAnUT.js";import{U as jt}from"./user-T0gsPnBH.js";import{E as tt}from"./empty-state-DtTBbW_W.js";import{u as Ct}from"./use-list-state-DRxXstLB.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-ZB1-0uWA.js";import{a as It,b as At}from"./use-collections-CrAY0KoX.js";import{a as Tt}from"./use-connection-NiFefepq.js";import{s as Et}from"./Plus-CdvauR8B.js";import{a as Ot}from"./layout-D6JyUu-W.js";import{u as $t}from"./studio-tools-DfxdEEgB.js";import{P as je}from"./index-M8U0QO9V.js";import"./collections-BU-b7Qnp.js";import"./SwitchHorizontal01-DC97OO23.js";import"./Check-DCDpfG7m.js";import"./tooltip-CKtclZb-.js";import"./view-mode-toggle-BvPi1TV1.js";import"./badge-GxV01_sa.js";import"./SearchMd-DvX2rzEB.js";import"./Container-Catp9d2q.js";import"./agent-icon-CjlB-XbA.js";import"./AlertCircle-BQLR7I4E.js";import"./RefreshCcw01-4ELQWtuB.js";import"./XCircle-G0WrPq0g.js";import"./ArrowUpRight-DSaWSvAP.js";import"./ZapSquare-C9LhFrIW.js";import"./Users03-CA9cu5qb.js";import"./CheckCircle-BBK-3Pzt.js";import"./ChevronDown-BD0G-h2k.js";import"./ChevronLeft-DtP_Ayjz.js";import"./ChevronRight-DUzhuedZ.js";import"./ChevronUp-D5M0geM5.js";import"./ZoomOut-CImzlj9g.js";import"./Globe01-D1c-3J9t.js";import"./FilterLines-C37LaXJ1.js";import"./Star01--MeVNqbA.js";import"./Palette-C74Da44y.js";import"./HardDrive-C1vRZoAn.js";import"./Key01-CdveS1HN.js";import"./LayoutLeft-Bfxz6P9F.js";import"./LinkExternal01-CxEkPs1F.js";import"./Monitor01-Bkoa3Nbe.js";import"./Sun-BGVsB7Cm.js";import"./Play-BERjgeke.js";import"./Settings02-Cqwfv4FN.js";import"./Shield01-6id4oLiZ.js";import"./Stars01-C2BTpZeS.js";import"./Upload01-B-0o1yeU.js";import"./User01-CZ5ejYDg.js";import"./Users01-CKNLJr4G.js";import"./XClose-LNW85JIs.js";import"./X-DlMQL-XM.js";import"./Zap-CbtV6Vvm.js";import"./table-GnXYzms9.js";import"./avatar-DdrKHW7Q.js";import"./use-view-mode-C2K6zcu8.js";import"./sidebar-CIJpOENy.js";import"./sheet-CxiAY8T5.js";function kt(i,e){const s=i.properties||{};for(const n in s){const a=s[n];if(a&&a.type==="string"&&(a.format==="url"||a.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function zt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let a;e[0]!==s||e[1]!==l?(a=kt(l,s),e[0]=s,e[1]=l,e[2]=a):a=e[2];const r=a,u=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let m;e[3]!==n?(m=n&&Object.keys(n).length>0,e[3]=n,e[4]=m):m=e[4];const o=m;let p;e[5]!==r||e[6]!==s.title?(p=t.jsx(Ve,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let d;e[8]!==s.title?(d=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=d):d=e[9];const h=u||"No description";let c;e[10]!==h?(c=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h}),e[10]=h,e[11]=c):c=e[11];let v;e[12]!==d||e[13]!==c?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[d,c]}),e[12]=d,e[13]=c,e[14]=v):v=e[14];let y;e[15]!==p||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[p,v]}),e[15]=p,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Mt,onMouseDown:Kt,children:t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Ft,children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:Lt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(Je,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(Ze,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(et,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}function Mt(i){return i.stopPropagation()}const Ut=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Wt(i){return Object.keys(i).find(e=>Ut.includes(e.toLowerCase()))}function st(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Rt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:a,sortKey:r,sortDirection:u,onSort:m,actions:o,onItemClick:p,headerActions:d,emptyState:h,readOnly:c,columns:v,hideToolbar:y,sortableFields:b}=i,x=u===void 0?"asc":u,g=m===void 0?Gt:m;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const f=$,T=p===void 0?Vt:p,E=d===void 0?null:d,N=h===void 0?null:h,k=c===void 0?!1:c,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(qt).filter(A=>!P||P.includes(A.id)).map(Bt):st(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(qe,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==f||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==a||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(zt,{item:A,schema:l,readOnly:k,actions:f})},A.id))})}):t.jsx(xt,{columns:Jt(j,l,P,f),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}),e[13]=f,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=a,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Bt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function qt(i){return i.sortable!==!1}function Vt(){}function Gt(){}function Qt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(Je,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(Ze,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(et,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function it(i){const e=i.type;return Array.isArray(e)?e.every(s=>it({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Ht(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const p=s[o];return p&&it(p)}),n=Wt(s),a=[],r=new Set;n&&l.includes(n)&&(a.push(n),r.add(n));const u=["title","description","updated_at","updated_by"];for(const o of u)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));const m=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,p)=>o.localeCompare(p));for(const o of m)a.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));return a.map(o=>{const p=s[o],d=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:h=>{const c=h[o];return t.jsx(Ve,{icon:c,name:h.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(c)})},sortable:d,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx(jt,{id:String(c),size:"xs"}):"—"},sortable:d,cellClassName:"max-w-[250px]"}:p?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx("span",{className:"block truncate max-w-full",children:new Date(c).toLocaleDateString()}):"—"},sortable:d,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(c)})},sortable:d,cellClassName:"max-w-[200px]"}})}function Jt(i,e,s,l){const n=i||Ht(e,s);return n.some(u=>u.id==="actions")?n:Object.keys(l).length>0?[...n,Qt(l)]:n}function Yt(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:a}=i,r=n.name,u=n.schema??ft,m=n.hasCreateTool,o=n.hasUpdateTool,p=n.hasDeleteTool,d=Be(),{data:h}=lt.useSession(),c=h?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=pt(g),f=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!m&&!o&&!p;let ne;e[14]!==b||e[15]!==r||e[16]!==d||e[17]!==a||e[18]!==l?(ne=C=>{if(a){a(C);return}d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=d,e[17]=a,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==f.create||e[21]!==c?(re=async C=>{const xe=new Date().toISOString();await f.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:c,updated_by:c})},e[20]=f.create,e[21]=c,e[22]=re):re=e[22];const be=re,[F,ve]=at.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const ot=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==m?(M=m&&{duplicate:be},e[27]=be,e[28]=m,e[29]=M):M=e[29];let U;e[30]!==p?(U=p&&{delete:ot},e[30]=p,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==f.delete||e[37]!==F?(ce=async()=>{F&&(await f.delete.mutateAsync(F.id),ve(null))},e[36]=f.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==f.create||e[40]!==b||e[41]!==r||e[42]!==m||e[43]!==d||e[44]!==l||e[45]!==c?(de=async()=>{if(!m){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:c,updated_by:c};try{const ke=await f.create.mutateAsync(xe);d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=f.create,e[40]=b,e[41]=r,e[42]=m,e[43]=d,e[44]=l,e[45]=c,e[46]=de):de=e[46];const we=de;let me;e[47]!==u?(me=st(u),e[47]=u,e[48]=me):me=e[48];const Se=me,nt=(I?.length??0)>0,rt=m&&!nt&&!N;let pe;e[49]!==f.create||e[50]!==we||e[51]!==m?(pe=m?t.jsxs(Ce,{onClick:we,size:"sm",disabled:f.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),f.create.isPending?"Creating...":"Create"]}):null,e[49]=f.create,e[50]=we,e[51]=m,e[52]=pe):pe=e[52];const ue=pe,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(qe,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let q;e[65]!==ue||e[66]!==m?(q=m&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=m,e[67]=q):q=e[67];let V;e[68]!==B||e[69]!==q?(V=t.jsxs("div",{className:"flex items-center gap-2",children:[B,q]}),e[68]=B,e[69]=q,e[70]=V):V=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=rt?ue:void 0;let H;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(H=t.jsx(tt,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=H):H=e[78];let J;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==u||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Rt,{hideToolbar:!0,data:G,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:H})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=u,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==V||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[V,J]}),e[93]=V,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let X;e[98]!==Oe?(X=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=X):X=e[99];let Z;e[100]!==f.delete.isPending?(Z=t.jsx(vt,{disabled:f.delete.isPending,children:"Cancel"}),e[100]=f.delete.isPending,e[101]=Z):Z=e[101];const $e=f.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==f.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:f.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=f.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==Z||e[107]!==ee?(te=t.jsxs(Pt,{children:[Z,ee]}),e[106]=Z,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==X||e[110]!==te?(se=t.jsxs(_t,{children:[X,te]}),e[109]=X,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==Y||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,Y,ie]}),e[115]=W,e[116]=Y,e[117]=ie,e[118]=ge):ge=e[118],ge}function Xt(){const i=oe.c(10),{org:e,project:s}=ze(),l=ct(),n=$t();let a;i[0]!==s||i[1]!==n?(a=async o=>{const p=s.enabledPlugins??[];if(p.includes(o))return;const d=[...p,o];return await n.call("COLLECTION_VIRTUAL_MCP_UPDATE",{id:s.id,data:{metadata:{enabled_plugins:d}}})},i[0]=s,i[1]=n,i[2]=a):a=i[2];let r;i[3]!==e||i[4]!==s||i[5]!==l?(r=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[3]=e,i[4]=s,i[5]=l,i[6]=r):r=i[6];let u;return i[7]!==a||i[8]!==r?(u={mutationFn:a,onSuccess:r,onError:Zt},i[7]=a,i[8]=r,i[9]=u):u=i[9],dt(u)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function es(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:a}=i,r=Xt();let u;e[0]!==r||e[1]!==s?(u=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=u):u=e[2];const m=u,o=a??null,p=r.isPending?"Enabling…":"Enable plugin";let d;e[3]!==r.isPending||e[4]!==m||e[5]!==p?(d=t.jsx(Ce,{onClick:m,disabled:r.isPending,children:p}),e[3]=r.isPending,e[4]=m,e[5]=p,e[6]=d):d=e[6];let h;return e[7]!==n||e[8]!==o||e[9]!==d||e[10]!==l?(h=t.jsx(tt,{image:o,title:l,description:n,actions:d}),e[7]=n,e[8]=o,e[9]=d,e[10]=l,e[11]=h):h=e[11],h}const ts={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function vi(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(es,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(mt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Yt,{connectionId:ut,org:e.slug,activeCollection:ts,onItemClick:a=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:a.id}})})})})}export{vi as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as s,g as l,j as o,l as a,E as n,r as c}from"./index-BjoOIgbb.js";import{a as f}from"./index-BDwe75Ed.js";import"./index-C_NDVGp1.js";import"./use-mcp-client-B46VYAN_.js";import"./collections-BU-b7Qnp.js";import"./index-CvubZqsl.js";import"./use-virtual-mcp-DHileccV.js";import"./use-collections-CrAY0KoX.js";import"./monaco-editor-DR1buwuA.js";import"./index-C6AFi5aI.js";import"./spinner-C2ljLkNd.js";import"./resizable-DaIe2JEk.js";import"./ZoomOut-CImzlj9g.js";import"./badge-GxV01_sa.js";import"./select-Dn6Da_1F.js";import"./tooltip-CKtclZb-.js";import"./Check-DCDpfG7m.js";import"./ChevronDown-BD0G-h2k.js";import"./ChevronUp-D5M0geM5.js";import"./view-mode-toggle-BvPi1TV1.js";import"./agent-icon-CjlB-XbA.js";import"./AlertCircle-BQLR7I4E.js";import"./Tool01-DQ4cTbeu.js";import"./SwitchHorizontal01-DC97OO23.js";import"./RefreshCcw01-4ELQWtuB.js";import"./XCircle-G0WrPq0g.js";import"./ArrowUpRight-DSaWSvAP.js";import"./ZapSquare-C9LhFrIW.js";import"./Users03-CA9cu5qb.js";import"./CheckCircle-BBK-3Pzt.js";import"./ChevronLeft-DtP_Ayjz.js";import"./ChevronRight-DUzhuedZ.js";import"./DotsVertical-Dok1GVxI.js";import"./Container-Catp9d2q.js";import"./Eye-Dmik5hYP.js";import"./Globe01-D1c-3J9t.js";import"./FilterLines-C37LaXJ1.js";import"./Star01--MeVNqbA.js";import"./Palette-C74Da44y.js";import"./HardDrive-C1vRZoAn.js";import"./Stars02-D6zEAnUT.js";import"./Key01-CdveS1HN.js";import"./LayoutLeft-Bfxz6P9F.js";import"./LinkExternal01-CxEkPs1F.js";import"./Monitor01-Bkoa3Nbe.js";import"./Sun-BGVsB7Cm.js";import"./Play-BERjgeke.js";import"./Plus-CdvauR8B.js";import"./SearchMd-DvX2rzEB.js";import"./Settings02-Cqwfv4FN.js";import"./Shield01-6id4oLiZ.js";import"./Stars01-C2BTpZeS.js";import"./Trash01-Biurgfq6.js";import"./Upload01-B-0o1yeU.js";import"./User01-CZ5ejYDg.js";import"./Users01-CKNLJr4G.js";import"./XClose-LNW85JIs.js";import"./X-DlMQL-XM.js";import"./Zap-CbtV6Vvm.js";import"./layout-D6JyUu-W.js";import"./index-M8U0QO9V.js";import"./sidebar-CIJpOENy.js";import"./sheet-CxiAY8T5.js";import"./use-connection-NiFefepq.js";import"./use-mcp-tools-wPegb5Xs.js";import"./dialog-Bug5LYvY.js";import"./scroll-area-7dB1B4gR.js";import"./index-K-cFrJme.js";import"./hover-card-7wnR4X6J.js";import"./dropdown-menu-CggnBdjt.js";import"./integration-icon-BxZqCPgY.js";import"./accordion-CiWkTYYE.js";import"./index-CCldjkHi.js";import"./empty-state-C6yeON6c.js";import"./watch-sse-pool-BSePGeIN.js";import"./input-CAytkUdm.js";function Bt(){const t=s.c(4);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={from:"/shell/$org/settings/workflows/$itemId"},t[0]=r):r=t[0];const{itemId:e}=l(r);let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(a,{size:32,className:"animate-spin text-muted-foreground"})}),t[1]=i):i=t[1];const p=decodeURIComponent(e);let m;return t[2]!==p?(m=o.jsx(n,{children:o.jsx(c.Suspense,{fallback:i,children:o.jsx(f,{itemId:p})})}),t[2]=p,t[3]=m):m=t[3],m}export{Bt as default};
|
package/dist/client/index.html
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
44
44
|
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
45
45
|
<meta name="apple-mobile-web-app-title" content="deco Studio" />
|
|
46
|
-
<script type="module" crossorigin src="/assets/index-
|
|
46
|
+
<script type="module" crossorigin src="/assets/index-BjoOIgbb.js"></script>
|
|
47
47
|
<link rel="stylesheet" crossorigin href="/assets/index-DfYyH4IW.css">
|
|
48
48
|
</head>
|
|
49
49
|
<body>
|
package/dist/server/cli.js
CHANGED
|
@@ -104743,7 +104743,7 @@ ${c.stack}`;f.reject(d)}else f.resolve(_)}});return $.requestSubject=i,this.prot
|
|
|
104743
104743
|
`);if(g===-1)return;let h=$.subarray(0,g).toString("utf8"),E=$.subarray(g+4),v=h.split(`\r
|
|
104744
104744
|
`,1)[0]??"";if(!/^HTTP\/1\.[01] 101(?:\s|$)/.test(v)){q8(i,1011,t.upstreamErrorReason);try{c.end()}catch{}return}d=!0,i.data.upstream=c;let w=tNl((r,O)=>{try{if(r===1)i.send(O.toString("utf8"));else if(r===2)i.send(O);else if(r===8){let{code:y,reason:X}=iNl(O);q8(i,y,X);try{c.end()}catch{}}}catch{}});if(c.removeAllListeners("data"),E.length>0)w(E);c.on("data",(r)=>w(r));for(let r of i.data.pending)try{c.write(Fji(r,!0))}catch{}i.data.pending.length=0})}function p9l(i,t){let u=[`GET ${i} HTTP/1.1`];for(let[l,n]of Object.entries(t))u.push(`${l}: ${n}`);return u.push("",""),u.join(`\r
|
|
104745
104745
|
`)}function q8(i,t,u){try{if(t!==void 0)i.close(t,u??"");else i.close()}catch{}}function Fji(i,t,u){let l,n;if(typeof i==="string")l=Buffer.from(i,"utf8"),n=1;else if(i instanceof ArrayBuffer)l=Buffer.from(i),n=2;else if(Buffer.isBuffer(i))l=i,n=2;else l=Buffer.from(i),n=2;let f=u??n,c=l.length,$=[];$.push(128|f&15);let d=t?128:0;if(c<126)$.push(d|c);else if(c<65536)$.push(d|126,c>>8&255,c&255);else $.push(d|127,0,0,0,0),$.push(c>>>24&255,c>>>16&255,c>>>8&255,c&255);let _=t?4:0,g=Buffer.allocUnsafe($.length+_+c),h=0;for(let E=0;E<$.length;E++)g[h++]=$[E];if(t){let E=ASt(4);g[h++]=E[0],g[h++]=E[1],g[h++]=E[2],g[h++]=E[3];for(let v=0;v<c;v++)g[h++]=l[v]^E[v&3]}else l.copy(g,h);return g}function iNl(i){if(i.length<2)return{code:1000,reason:""};return{code:i.readUInt16BE(0),reason:i.subarray(2).toString("utf8")}}function tNl(i){let t=Buffer.alloc(0);return(u)=>{t=t.length===0?u:Buffer.concat([t,u]);while(!0){if(t.length<2)return;let l=t[0],n=t[1],f=l&15,c=(n&128)!==0,$=n&127,d=2;if($===126){if(t.length<d+2)return;$=t[d]<<8|t[d+1],d+=2}else if($===127){if(t.length<d+8)return;$=t[d+4]*16777216+(t[d+5]<<16|t[d+6]<<8|t[d+7]),d+=8}let _=null;if(c){if(t.length<d+4)return;_=t.subarray(d,d+4),d+=4}if(t.length<d+$)return;let g=t.subarray(d,d+$);if(_){let h=Buffer.alloc($);for(let E=0;E<$;E++)h[E]=g[E]^_[E&3];g=h}t=t.subarray(d+$),i(f,g)}}}var o9l=256;var SSt=x(()=>{GSt()});function zSt(i){if(typeof i!=="string"||i.length===0)return null;let t=i.lastIndexOf(":");if(i.startsWith("["))return null;let l=(t>=0?i.slice(0,t):i).replace(/\.$/,"").toLowerCase(),n=".localhost";if(!l.endsWith(n))return null;let f=l.slice(0,-n.length);if(f.length===0)return null;if(f.includes("."))return null;return f}async function bSt(i){let t=kSt({maxPendingFrames:i.maxPendingWsFrames??uNl,backlogOverflowReason:"ingress backlog overflow"}),u=Bun.serve({port:i.port,hostname:"127.0.0.1",idleTimeout:0,async fetch(l,n){let f=l.headers.get("host"),c=zSt(f);if(!c)return new Response("not found",{status:404});let $=i.lookupSandboxPort(c);if(!$){if(l.headers.get("upgrade")==="websocket")return new Response("unknown handle",{status:404});return new Response(lNl,{status:503,headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store","Retry-After":"1"}})}if(l.headers.get("upgrade")==="websocket"){let h=new URL(l.url);if(!n.upgrade(l,{data:jSt({port:$,pathQuery:`${h.pathname}${h.search}`,protocols:WSt(l.headers)})}))return new Response("ws upgrade failed",{status:400});return}let d=new URL(l.url),_=`http://127.0.0.1:${$}${d.pathname}${d.search}`,g=new Headers(l.headers);return g.set("host",`127.0.0.1:${$}`),fetch(_,{method:l.method,headers:g,body:l.body,redirect:"manual"})},websocket:{open:t.open,message:t.message,close:t.close}});return{port:u.port??0,async stop(){u.stop(!0)}}}var uNl=256,lNl='<!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 KSt=x(()=>{SSt()});async function Zji(i=_Nl){let t=["decopilot-sandbox","body-offload"],[u,l]=await Promise.all([i.detectClaudeCode().catch(()=>!1),i.detectCodex().catch(()=>!1)]);if(u)t.push("claude-code");if(l)t.push("codex");return t}function fNl(i){return nNl.filter((t)=>!i.includes(t))}function cNl(i,t){let u=t.filter((l)=>!i.includes(l));return i.push(...u),u}function HSt(i,t={}){let u=t.detect??(()=>Zji()),l=setInterval(()=>{if(fNl(i).length===0)return;u().then((n)=>{let f=cNl(i,n);if(f.length>0)t.onChange?.(f)}).catch(()=>{})},t.intervalMs??60000);return l.unref?.(),()=>clearInterval(l)}async function $Nl(){try{let{query:i}=await import("@anthropic-ai/claude-agent-sdk"),t=i({prompt:"",options:{maxTurns:1}}),u=await t.accountInfo();return t.return(void 0),Boolean(u.email)}catch{return!1}}async function dNl(){try{let i=Bun.spawn(["codex","--version"],{stdout:"ignore",stderr:"ignore"}),t=setTimeout(()=>i.kill(),1e4),u=await i.exited;return clearTimeout(t),u===0}catch{return!1}}var nNl,_Nl;var LSt=x(()=>{nNl=["claude-code","codex"];_Nl={detectClaudeCode:$Nl,detectCodex:dNl}});import{randomBytes as gNl}from"crypto";import{mkdir as hNl,readFile as ENl,writeFile as vNl}from"fs/promises";import{dirname as wNl,join as xNl}from"path";function rNl(i){return xNl(i,"machine-id")}async function RSt(i){let t=rNl(i);try{let n=(await ENl(t,"utf8")).trim();if(n)return n}catch{}let u=gNl(16).toString("hex");return await hNl(wNl(t),{recursive:!0}),await vNl(t,u),u}var CSt=()=>{};import{randomBytes as DNl}from"crypto";import{mkdir as ONl}from"fs/promises";import{createServer as yNl}from"net";import{join as XNl}from"path";function eSt(i,t){return Error(`sandbox failed to start: ${i}`,{cause:t})}function NNl(i){if(!(i instanceof Error))return!1;return i.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(i.message)}function JNl(i){if(i instanceof Error){let t=i.cause;if(t instanceof Error&&t.message)return t.message;return i.message}return String(i)}function MSt(i){let t=i.maxSandboxes??20,u=new Map,l=i.pickPort??UNl,n=i.fetchImpl??fetch,f=i.resolvePreviewUrl??((E,v)=>`http://127.0.0.1:${v}`),c=(E)=>{try{i.onEvent?.(E)}catch{}},$=async(E)=>{let v=new AbortController,w=setTimeout(()=>v.abort(),1500);try{let r=await n(`${E}/health`,{signal:v.signal});if(!r.ok)console.warn(`[user-desktop] probe ${E}/health \u2192 ${r.status} (treating as dead)`);return r.ok}catch(r){return console.warn(`[user-desktop] probe ${E}/health failed: ${r instanceof Error?r.message:String(r)} (treating as dead)`),!1}finally{clearTimeout(w)}},d=(E)=>{console.warn(`[user-desktop] evicting dead daemon handle=${E.handle} port=${E.port}`);try{E.process.kill("SIGTERM")}catch{}if(u.get(E.handle)===E)u.delete(E.handle),c({handle:E.handle,phase:"evicted"})},_=new Map;function g(){if(u.size<t)return;let E=[...u.values()].filter((w)=>w.activeDispatchCount===0).sort((w,r)=>w.lastUsedAt-r.lastUsedAt);if(E.length===0){console.warn(`[user-desktop] at cap ${u.size}/${t} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let v=E[0];console.log(`[user-desktop] evicting LRU victim handle=${v.handle} port=${v.port} (cap ${t} reached, size=${u.size})`);try{v.process.kill("SIGTERM")}catch{}u.delete(v.handle),c({handle:v.handle,phase:"evicted"})}let h=async(E)=>{c({handle:E.handle,phase:"spawning"}),g();let v=XNl(i.dataDir,"sandboxes",E.handle);await ONl(v,{recursive:!0}),console.log(`[user-desktop] ensure handle=${E.handle} repo=${E.repo?.cloneUrl??"(none)"} branch=${E.repo?.branch??"(none)"} runtime=${E.workload?.runtime??"(autodetect)"} pm=${E.workload?.packageManager??"(autodetect)"}`);let w=DNl(24).toString("hex"),[r,O]=await Promise.all([l(),l()]);console.log(`[user-desktop] spawn handle=${E.handle} port=${r} devPort=${O} workdir=${v}`);let y=await Promise.resolve(i.spawnDaemon({workdir:v,handle:E.handle,port:r,daemonToken:w,offloadAllowedHosts:E.offloadAllowedHosts??[],offloadAllowSameHostDev:E.offloadAllowSameHostDev??!1,orgFsConfigJson:E.orgFsConfigJson}));try{try{await i.waitForHealth(r)}catch(J){throw eSt("the sandbox didn't come online in time",J)}console.log(`[user-desktop] healthy handle=${E.handle} port=${r} \u2014 posting config`);try{await i.postConfig(r,O,{repo:E.repo,workload:E.workload,operator:E.operator},w)}catch(J){throw eSt(NNl(J)?"configuration timed out":"the sandbox rejected its configuration",J)}}catch(J){console.error(`[user-desktop] sandbox bring-up failed handle=${E.handle} port=${r} (killing daemon):`,J);try{y.kill("SIGKILL")}catch{}throw c({handle:E.handle,phase:"failed",error:JNl(J)}),J}let X=`http://127.0.0.1:${r}`,N=f(E.handle,r);console.log(`[user-desktop] ready handle=${E.handle} port=${r} sandboxApiUrl=${X} previewUrl=${N}`);let U={handle:E.handle,port:r,process:y,sandboxApiUrl:X,previewUrl:N,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:w};if(u.set(E.handle,U),c({handle:E.handle,phase:"ready",port:r,previewUrl:N}),y.exited)y.exited.then(()=>{if(u.get(E.handle)===U)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${E.handle} port=${r} \u2014 removing from cache`),u.delete(E.handle),c({handle:E.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${E.handle} port=${r} (already replaced/removed)`)});return{sandboxApiUrl:X,previewUrl:N,port:r}};return{async ensureSandbox(E){let v=u.get(E.handle);if(v){if(await $(v.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${E.handle} port=${v.port} (alive)`),v.lastUsedAt=Date.now(),{sandboxApiUrl:v.sandboxApiUrl,previewUrl:v.previewUrl,port:v.port};console.warn(`[user-desktop] cache stale handle=${E.handle} port=${v.port} \u2014 respawning`),d(v)}let w=_.get(E.handle);if(w)return console.log(`[user-desktop] joining in-flight ensure handle=${E.handle}`),w;let r=h(E).finally(()=>{_.delete(E.handle)});return _.set(E.handle,r),r},proxyPort(E){let v=u.get(E);if(v)v.lastUsedAt=Date.now();return v?.port??null},getDaemonToken(E){return u.get(E)?.daemonToken??null},hasHandle(E){return u.has(E)||_.has(E)},recordHit(E){let v=u.get(E);if(v)v.lastUsedAt=Date.now()},acquireDispatch(E){let v=u.get(E);if(!v)return()=>{};v.activeDispatchCount+=1;let w=!1;return()=>{if(w)return;w=!0;let r=u.get(E);if(r)r.activeDispatchCount=Math.max(0,r.activeDispatchCount-1)}},listSandboxes(){return[...u.values()]},async deleteSandbox(E){let v=u.get(E);if(!v){console.log(`[user-desktop] delete handle=${E} (not found, no-op)`);return}console.log(`[user-desktop] delete handle=${E} port=${v.port}`);try{v.process.kill("SIGTERM")}catch{}u.delete(E),c({handle:E,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${u.size} sandbox(es)`);for(let E of u.values())try{E.process.kill("SIGTERM")}catch{}u.clear()}}}function UNl(){return new Promise((i,t)=>{let u=yNl();u.unref(),u.on("error",t),u.listen(0,"127.0.0.1",()=>{let l=u.address();if(l&&typeof l==="object"){let n=l.port;u.close(()=>i(n))}else u.close(()=>t(Error("could not allocate port")))})})}var qSt=()=>{};import{randomUUID as FNl}from"crypto";import{hostname as ZNl}from"os";async function VSt(i){let t=ZNl()||void 0;i.monitor?.onMachine?.(t??"this machine");let u=_Gt(i.dataDir,{outFd:i.logFd,perSandboxLog:i.perSandboxLogs,hotReload:i.hotReload}),l=0,n=MSt({dataDir:i.dataDir,resolvePreviewUrl:(N,U)=>l>0?`http://${N}.localhost:${l}`:`http://127.0.0.1:${U}`,spawnDaemon:async(N)=>{let U={DAEMON_BOOT_ID:FNl(),APP_ROOT:N.workdir,PROXY_PORT:String(N.port),DAEMON_TOKEN:N.daemonToken,OFFLOAD_ALLOWED_HOSTS:N.offloadAllowedHosts.join(","),...N.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(N.orgFsConfigJson){let Z=await vGt(i.dataDir);if(Z)U.ORGFS_CONFIG=N.orgFsConfigJson,U.ORGFS_RCLONE_PATH=Z}let J=await u({workdir:N.workdir,env:U,daemonPort:N.port});return{port:N.port,kill:(Z)=>J.kill(Z),exited:J.exited.then(()=>{return})}},postConfig:async(N,U,J,Z)=>{let B={port:U};if(J.workload)B.runtime=J.workload.runtime,B.packageManager={name:J.workload.packageManager,...J.workload.packageManagerPath?{path:J.workload.packageManagerPath}:{}};let Q={application:B},P=pg(J.operator??null);if(P)Q.operator=P;if(J.repo)Q.git={repository:{cloneUrl:J.repo.cloneUrl,branch:J.repo.branch},...J.repo.userName&&J.repo.userEmail?{identity:{userName:J.repo.userName,userEmail:J.repo.userEmail}}:{}};await B8(`http://127.0.0.1:${N}`,Z,Q)},waitForHealth:async(N)=>{await fli(`http://127.0.0.1:${N}`)},maxSandboxes:20,onEvent:i.monitor?.onEvent}),f=await bSt({port:i.port,lookupSandboxPort:(N)=>n.proxyPort(N)});l=f.port,console.log(`Local ingress listening on http://127.0.0.1:${f.port} (use http://<handle>.localhost:${f.port}/)`),i.monitor?.onIngress?.(f.port);let c=xGt({provider:n}),$=async()=>{let N=await jx({dataDir:i.dataDir,target:i.clusterBaseUrl});if(!N)throw Object.assign(Error(`Session for ${i.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${i.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return N.accessToken};console.log(`[link-daemon] transport=pull cluster=${i.clusterBaseUrl}`);let d=await RSt(i.dataDir),_=process.env.npm_package_version??"0.0.0",g=await Zji(),h=HSt(g,{onChange:(N)=>{console.log(`[link-daemon] capabilities detected: +${N.join(",")} (now: ${g.join(",")})`)}}),E=Nji({path:`${i.dataDir}/link/outbox.sqlite`}),v=()=>{},w=await ISt({clusterBaseUrl:i.clusterBaseUrl,getAccessToken:$,provider:n,outbox:E,controlHandler:c,capabilities:g,machineId:d,cliVersion:_,previewPort:f.port,onConnected:()=>{i.monitor?.onCluster?.("linked"),console.log(`Linked to ${i.clusterBaseUrl} (pull transport)`)},onShutdown:()=>v()}),r,O=new Promise((N)=>{r=N}),y=!1,X=async()=>{if(y)return;y=!0,console.log(`
|
|
104746
|
-
Shutting down\u2026`),h();try{await w.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{E.close()}catch{}r(0)};return process.on("SIGINT",()=>void X()),process.on("SIGTERM",()=>void X()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms link` to reconnect."),X()},w.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!y)console.error("Cluster connection closed permanently; exiting."),X()}),{stopped:O,stop:X}}var aSt=x(()=>{yAi();RH();gGt();wGt();rGt();QSt();Jji();KSt();LSt();CSt();LH();qSt()});function Tji(i){return i.map((t)=>typeof t==="string"?t:String(t)).join(" ")}var D0i;var Iji=x(()=>{D0i={name:"decocms",version:"3.30.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","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --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/experimental-ct-react":"1.59.1","@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 wL={};Pi(wL,{printBanner:()=>QNl,bannerLines:()=>mSt,BANNER_LINES:()=>O0i,BANNER_GRADIENT:()=>y0i});function INl(i){let t=Number.parseInt(i.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function mSt(i){let t=O0i.map((u,l)=>{let[n,f,c]=INl(y0i[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(i!==void 0)t.push(`\x1B[2m v${i}\x1B[22m`);return t}function QNl(i){console.log("");for(let t of mSt(i))console.log(t);console.log("")}var O0i,y0i;var GW=x(()=>{O0i=[" \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 "],y0i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as BNl,Text as oSt}from"ink";import{jsx as YNl,jsxs as sSt}from"react/jsx-runtime";function X0i({version:i}){return sSt(BNl,{flexDirection:"column",marginTop:1,children:[O0i.map((t,u)=>YNl(oSt,{color:y0i[u],children:t},u)),sSt(oSt,{dimColor:!0,children:[" v",i]})]})}var Qji=x(()=>{GW()});var izt={};Pi(izt,{subscribeLinkState:()=>Pji,setMachine:()=>WNl,setLogPath:()=>kNl,setIngress:()=>ANl,setDaemonError:()=>jNl,setClusterUrl:()=>GNl,setCluster:()=>PNl,pushSandboxEvent:()=>SNl,getLinkState:()=>Yji,applySandboxEvent:()=>pSt});function pSt(i,t){let u=new Map(i);if(t.phase==="evicted"||t.phase==="deleted")return u.delete(t.handle),u;let l=u.get(t.handle);return u.set(t.handle,{handle:t.handle,port:t.port??l?.port??null,previewUrl:t.previewUrl??l?.previewUrl??null,status:t.phase,error:t.phase==="failed"?t.error??"failed":null}),u}function V8(){for(let i of Bji)i()}function Yji(){return i$}function Pji(i){return Bji.add(i),()=>Bji.delete(i)}function PNl(i){i$={...i$,cluster:i},V8()}function GNl(i){i$={...i$,clusterUrl:i},V8()}function ANl(i,t){i$={...i$,ingressPort:i,ingressUrl:t},V8()}function WNl(i){i$={...i$,machine:i},V8()}function jNl(i){i$={...i$,daemonError:i},V8()}function kNl(i){i$={...i$,logPath:i},V8()}function SNl(i){i$={...i$,sandboxes:pSt(i$.sandboxes,i)},V8()}var i$,Bji;var Gji=x(()=>{i$={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},Bji=new Set});var tzt={};Pi(tzt,{LinkApp:()=>KNl});import{Box as t$,Text as u$}from"ink";import{useSyncExternalStore as zNl}from"react";import{jsx as $f,jsxs as LE}from"react/jsx-runtime";function bNl(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function KNl(){let i=zNl(Pji,Yji),t=[...i.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return LE(t$,{flexDirection:"column",children:[$f(X0i,{version:D0i.version}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:"\u2500".repeat(80)})}),$f(t$,{children:i.cluster==="linked"?LE(u$,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?LE(u$,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):LE(u$,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),$f(t$,{children:i.ingressUrl?LE(u$,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):$f(u$,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${t.length} of ${i.cap} previews`})}),t.length===0?$f(u$,{dimColor:!0,children:"No previews running yet."}):LE(t$,{flexDirection:"column",children:[LE(t$,{children:[$f(t$,{width:N0i.project,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$f(t$,{width:N0i.status,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),t.map((u)=>{let l=bNl(u);return LE(t$,{children:[$f(t$,{width:N0i.project,flexShrink:0,marginRight:1,children:$f(u$,{wrap:"truncate-end",children:u.handle})}),$f(t$,{width:N0i.status,flexShrink:0,marginRight:1,children:$f(u$,{color:l.color,wrap:"truncate-end",children:l.text})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),i.daemonError?$f(t$,{marginTop:1,children:LE(u$,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?$f(t$,{marginTop:1,children:LE(u$,{dimColor:!0,children:["Logs: ",i.logPath]})}):null]})}var N0i;var uzt=x(()=>{Iji();Qji();Gji();N0i={project:18,status:14}});var nzt={};Pi(nzt,{runLinkCommand:()=>VNl});import{closeSync as HNl,mkdirSync as LNl,openSync as RNl,writeSync as CNl}from"fs";import{homedir as eNl}from"os";import{join as lzt}from"path";function MNl(i,t){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(t===void 0)return;try{CNl(t,`${Tji(n)}
|
|
104746
|
+
Shutting down\u2026`),h();try{await w.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{E.close()}catch{}r(0)};return process.on("SIGINT",()=>void X()),process.on("SIGTERM",()=>void X()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms link` to reconnect."),X()},w.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!y)console.error("Cluster connection closed permanently; exiting."),X()}),{stopped:O,stop:X}}var aSt=x(()=>{yAi();RH();gGt();wGt();rGt();QSt();Jji();KSt();LSt();CSt();LH();qSt()});function Tji(i){return i.map((t)=>typeof t==="string"?t:String(t)).join(" ")}var D0i;var Iji=x(()=>{D0i={name:"decocms",version:"3.30.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","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --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/experimental-ct-react":"1.59.1","@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 wL={};Pi(wL,{printBanner:()=>QNl,bannerLines:()=>mSt,BANNER_LINES:()=>O0i,BANNER_GRADIENT:()=>y0i});function INl(i){let t=Number.parseInt(i.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function mSt(i){let t=O0i.map((u,l)=>{let[n,f,c]=INl(y0i[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(i!==void 0)t.push(`\x1B[2m v${i}\x1B[22m`);return t}function QNl(i){console.log("");for(let t of mSt(i))console.log(t);console.log("")}var O0i,y0i;var GW=x(()=>{O0i=[" \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 "],y0i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as BNl,Text as oSt}from"ink";import{jsx as YNl,jsxs as sSt}from"react/jsx-runtime";function X0i({version:i}){return sSt(BNl,{flexDirection:"column",marginTop:1,children:[O0i.map((t,u)=>YNl(oSt,{color:y0i[u],children:t},u)),sSt(oSt,{dimColor:!0,children:[" v",i]})]})}var Qji=x(()=>{GW()});var izt={};Pi(izt,{subscribeLinkState:()=>Pji,setMachine:()=>WNl,setLogPath:()=>kNl,setIngress:()=>ANl,setDaemonError:()=>jNl,setClusterUrl:()=>GNl,setCluster:()=>PNl,pushSandboxEvent:()=>SNl,getLinkState:()=>Yji,applySandboxEvent:()=>pSt});function pSt(i,t){let u=new Map(i);if(t.phase==="evicted"||t.phase==="deleted")return u.delete(t.handle),u;let l=u.get(t.handle);return u.set(t.handle,{handle:t.handle,port:t.port??l?.port??null,previewUrl:t.previewUrl??l?.previewUrl??null,status:t.phase,error:t.phase==="failed"?t.error??"failed":null}),u}function V8(){for(let i of Bji)i()}function Yji(){return i$}function Pji(i){return Bji.add(i),()=>Bji.delete(i)}function PNl(i){i$={...i$,cluster:i},V8()}function GNl(i){i$={...i$,clusterUrl:i},V8()}function ANl(i,t){i$={...i$,ingressPort:i,ingressUrl:t},V8()}function WNl(i){i$={...i$,machine:i},V8()}function jNl(i){i$={...i$,daemonError:i},V8()}function kNl(i){i$={...i$,logPath:i},V8()}function SNl(i){i$={...i$,sandboxes:pSt(i$.sandboxes,i)},V8()}var i$,Bji;var Gji=x(()=>{i$={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},Bji=new Set});var tzt={};Pi(tzt,{LinkApp:()=>KNl});import{Box as t$,Text as u$}from"ink";import{useSyncExternalStore as zNl}from"react";import{jsx as $f,jsxs as LE}from"react/jsx-runtime";function bNl(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function KNl(){let i=zNl(Pji,Yji),t=[...i.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return LE(t$,{flexDirection:"column",children:[$f(X0i,{version:D0i.version}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:"\u2500".repeat(80)})}),$f(t$,{children:i.cluster==="linked"?LE(u$,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?LE(u$,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):LE(u$,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),$f(t$,{children:i.ingressUrl?LE(u$,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):$f(u$,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$f(t$,{marginBottom:1,children:$f(u$,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${t.length} of ${i.cap} previews`})}),t.length===0?$f(u$,{dimColor:!0,children:"No previews running yet."}):LE(t$,{flexDirection:"column",children:[LE(t$,{children:[$f(t$,{width:N0i.project,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$f(t$,{width:N0i.status,flexShrink:0,marginRight:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),t.map((u)=>{let l=bNl(u);return LE(t$,{children:[$f(t$,{width:N0i.project,flexShrink:0,marginRight:1,children:$f(u$,{wrap:"truncate-end",children:u.handle})}),$f(t$,{width:N0i.status,flexShrink:0,marginRight:1,children:$f(u$,{color:l.color,wrap:"truncate-end",children:l.text})}),$f(t$,{flexGrow:1,children:$f(u$,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),i.daemonError?$f(t$,{marginTop:1,children:LE(u$,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?$f(t$,{marginTop:1,children:LE(u$,{dimColor:!0,children:["Logs: ",i.logPath]})}):null]})}var N0i;var uzt=x(()=>{Iji();Qji();Gji();N0i={project:18,status:14}});var nzt={};Pi(nzt,{runLinkCommand:()=>VNl});import{closeSync as HNl,mkdirSync as LNl,openSync as RNl,writeSync as CNl}from"fs";import{homedir as eNl}from"os";import{join as lzt}from"path";function MNl(i,t){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(t===void 0)return;try{CNl(t,`${Tji(n)}
|
|
104747
104747
|
`)}catch{}};return console.log=(...n)=>l(n),console.warn=(...n)=>l(n),console.error=(...n)=>{l(n),i(Tji(n))},()=>{console.log=u.log,console.warn=u.warn,console.error=u.error}}async function qNl(i,t){let u;try{u=await fetch(`${i}/api/links/me`,{headers:{authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(u.status===401||u.status===403)throw Error(`Authentication rejected by ${i} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${i}\` and try again.`)}async function VNl(i={}){let t=i.port??5174,u=i.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??lzt(eNl(),"deco"),l=i.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",n,f;try{let c=await tli({dataDir:u,intent:"Link",target:l});if(process.env.DECOCMS_LINK_MANAGED!=="1")await qNl(l,c.accessToken);let $;if(i.tui){let{render:g}=await import("ink"),{createElement:h}=await import("react"),{LinkApp:E}=await Promise.resolve().then(() => (uzt(),tzt)),{pushSandboxEvent:v,setCluster:w,setClusterUrl:r,setDaemonError:O,setIngress:y,setLogPath:X,setMachine:N}=await Promise.resolve().then(() => (Gji(),izt));LNl(u,{recursive:!0});let U=lzt(u,"link.log");f=RNl(U,"w"),X(U),r(l),w("connecting"),$={onEvent:(J)=>v(J),onIngress:(J)=>y(J,`http://127.0.0.1:${J}`),onCluster:(J)=>w(J),onMachine:(J)=>N(J)},n=MNl(O,f),g(h(E),{patchConsole:!1})}else if(i.banner!==!1){let{printBanner:g}=await Promise.resolve().then(() => (GW(),wL));g(i.version??"0.0.0")}let d=process.env.DECOCMS_LINK_MANAGED!=="1";return await(await VSt({port:t,clusterBaseUrl:l,dataDir:u,session:c,monitor:$,logFd:f,perSandboxLogs:d,hotReload:i.hotReload})).stopped}catch(c){return n?.(),console.error(c instanceof Error?c.message:String(c)),1}finally{if(n?.(),f!==void 0)try{HNl(f)}catch{}}}var fzt=x(()=>{OAi();aSt()});var zji={};Pi(zji,{resolveDevLinkClusterUrl:()=>sNl,populateDevLinkToxiProxy:()=>hzt,isDevLinkToxiProxyEnabled:()=>oNl,ensureDevLinkToxiProxy:()=>lJl,buildDevLinkToxiProxyConfig:()=>_zt,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>$zt,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>dzt});function oNl(i=process.env){return i.DECO_DEV_LINK_TOXIPROXY==="1"}function Aji(i,t){if(!Number.isInteger(i)||i<1||i>65535)throw Error(`${t} must be an integer port in 1..65535`);return i}function _zt(i){let t=new URL(i.serverUrl);if(t.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let u=Aji(i.apiPort,"apiPort"),l=Aji(i.listenPort,"listenPort");if(t.port.length===0)throw Error("serverUrl must include an explicit valid port");let n=Aji(Number.parseInt(t.port,10),"upstreamPort"),f=`http://127.0.0.1:${n}`,c=`http://127.0.0.1:${l}`;return{serviceName:$zt,proxyName:dzt,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 sNl(i){return i.toxiproxy?.clusterUrl??i.serverUrl}async function Wji(i,t,u){if(i.ok)return;let l=await i.text();throw Error(`ToxiProxy ${t} failed for ${u}: status=${i.status} statusText=${i.statusText} body=${l}`)}function Sji(i){if(i instanceof Error)return i.name==="Error"?i.message:`${i.name}: ${i.message}`;return String(i)}function gzt(i){if(!(i instanceof Error))return!1;if(i.name==="TimeoutError")return!0;return gzt(i.cause)}async function jji(i,t,u,l){try{return await i(u,l)}catch(n){throw Error(`ToxiProxy ${t} failed for ${u}: ${Sji(n)}`,{cause:n})}}async function hzt(i,t=fetch){let u=`${i.apiUrl}/reset`,l=await jji(t,"reset",u,{method:"POST"});await Wji(l,"reset",u);let n=`${i.apiUrl}/populate`,f=await jji(t,"populate",n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:i.proxyName,listen:i.listen,upstream:i.upstream,enabled:!0}])});await Wji(f,"populate",n)}async function pNl(i,t){let u=`${i.apiUrl}/version`;try{await J3(async()=>{let l=await jji(t,"readiness check",u,{method:"GET",signal:AbortSignal.timeout(mNl)});await Wji(l,"readiness check",u)},{maxAttempts:aNl,minTimeout:czt,maxTimeout:czt,multiplier:1,jitter:0,isRetriable:(l)=>!gzt(l)})}catch(l){let n=l instanceof F6?l.cause:l;throw Error(`ToxiProxy API did not become ready at ${u}: ${Sji(n)}`,{cause:n})}}async function iJl(i){if(i===null)return"";return await new Response(i).text()}async function kji(i,t={}){let u=["docker",...i].join(" "),l=(()=>{try{return Bun.spawn(["docker",...i],{stdout:"ignore",stderr:"pipe"})}catch($){throw Error(`Docker command failed to start (${u}): ${Sji($)}`,{cause:$})}})(),[n,f]=await Promise.all([l.exited,iJl(l.stderr)]);if(n===0||t.ignoreFailure===!0)return;let c=f.trim().length>0?`: ${f.trim()}`:"";throw Error(`Docker command failed (${u}) with exit ${n}${c}`)}async function tJl(i,t){let u=`deco-dev-link-toxiproxy-${i}`;await kji(["rm","-f",u],{ignoreFailure:!0}),await kji(["run","--rm","-d","--name",u,"-p",`127.0.0.1:${i}:8474`,"-p",`127.0.0.1:${t}:${t}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function uJl(i,t){let u=`deco-dev-link-toxiproxy-${i}`;await kji(["rm","-f",u],{ignoreFailure:!0})}async function lJl(i){let t=_zt(i),u=i.startDaemon??tJl,l=i.stopDaemon??(i.startDaemon===void 0?uJl:void 0);await u(i.apiPort,i.listenPort);let n=i.fetchImpl??fetch;try{await pNl(t,n),await hzt(t,n)}catch(f){if(l!==void 0)try{await l(i.apiPort,i.listenPort)}catch{}throw f}return{config:t,stop:async()=>{if(l!==void 0)await l(i.apiPort,i.listenPort)}}}var $zt="ToxiProxy",dzt="dev_link_studio",aNl=20,czt=100,mNl=100;var bji=x(()=>{H1()});var Ezt={};Pi(Ezt,{migrateBetterAuth:()=>Kji});import{getMigrations as nJl}from"better-auth/db";import{sso as fJl}from"@better-auth/sso";import{organization as cJl}from"@decocms/better-auth/plugins";import{admin as $Jl,apiKey as dJl,jwt as _Jl,magicLink as gJl,mcp as hJl,openAPI as EJl}from"better-auth/plugins";import{emailOTP as vJl}from"better-auth/plugins/email-otp";async function Kji(i){let u={database:SH(i||Gx()),plugins:[cJl({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),$Jl(),dJl(),_Jl(),EJl(),hJl({loginPage:"/login"}),fJl(),gJl({sendMagicLink:async()=>{}}),vJl({sendVerificationOTP:async()=>{}})]},{toBeAdded:l,toBeCreated:n,runMigrations:f}=await nJl(u);if(!l.length&&!n.length)return"up to date";return await f(),`${n.length+l.length} table(s) migrated`}var Hji=x(()=>{k$()});var Lji={};Pi(Lji,{up:()=>wJl,down:()=>xJl});import{sql as RE}from"kysely";async function wJl(i){await i.schema.createTable("connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(t)=>t.notNull()).addColumn("connectionUrl","text",(t)=>t.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("api_keys").addColumn("id","text",(t)=>t.primaryKey()).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("hashedKey","text",(t)=>t.notNull().unique()).addColumn("permissions","text",(t)=>t.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("audit_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createTable("oauth_clients").addColumn("id","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(t)=>t.notNull()).addColumn("redirectUris","text",(t)=>t.notNull()).addColumn("grantTypes","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_authorization_codes").addColumn("code","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(t)=>t.notNull()).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("downstream_tokens").addColumn("id","text",(t)=>t.primaryKey()).addColumn("connectionId","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(t)=>t.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(t)=>t.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(RE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function xJl(i){await i.schema.dropTable("downstream_tokens").execute(),await i.schema.dropTable("oauth_refresh_tokens").execute(),await i.schema.dropTable("oauth_authorization_codes").execute(),await i.schema.dropTable("oauth_clients").execute(),await i.schema.dropTable("audit_logs").execute(),await i.schema.dropTable("api_keys").execute(),await i.schema.dropTable("connections").execute()}var vzt=()=>{};var Rji={};Pi(Rji,{up:()=>rJl,down:()=>DJl});import{sql as wzt}from"kysely";async function rJl(i){await i.schema.createTable("organization_settings").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(wzt`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(wzt`CURRENT_TIMESTAMP`)).execute()}async function DJl(i){await i.schema.dropTable("organization_settings").execute()}var xzt=()=>{};var Cji={};Pi(Cji,{up:()=>OJl,down:()=>yJl});async function OJl(i){await i.schema.alterTable("connections").renameColumn("name","title").execute(),await i.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await i.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await i.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await i.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await i.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await i.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await i.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await i.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await i.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await i.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await i.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function yJl(i){await i.schema.alterTable("connections").renameColumn("title","name").execute(),await i.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await i.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await i.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await i.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await i.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await i.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await i.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await i.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await i.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await i.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await i.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var eji={};Pi(eji,{up:()=>XJl,down:()=>NJl});async function XJl(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function NJl(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId",t.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Mji={};Pi(Mji,{up:()=>JJl,down:()=>UJl});async function JJl(i){await i.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await i.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function UJl(i){await i.schema.alterTable("connections").dropColumn("configuration_state").execute(),await i.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var qji={};Pi(qji,{up:()=>ZJl,down:()=>TJl});import{sql as FJl}from"kysely";async function ZJl(i){await i.schema.alterTable("organization_settings").addColumn("sidebar_items",FJl`text`).execute()}async function TJl(i){await i.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var rzt=()=>{};var Vji={};Pi(Vji,{up:()=>IJl,down:()=>QJl});async function IJl(i){await i.schema.createTable("monitoring_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(t)=>t.notNull()).addColumn("tool_name","text",(t)=>t.notNull()).addColumn("input","text",(t)=>t.notNull()).addColumn("output","text",(t)=>t.notNull()).addColumn("is_error","integer",(t)=>t.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(t)=>t.notNull()).addColumn("timestamp","text",(t)=>t.notNull()).addColumn("user_id","text").addColumn("request_id","text",(t)=>t.notNull()).execute(),await i.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function QJl(i){await i.schema.dropIndex("monitoring_logs_is_error").execute(),await i.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await i.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await i.schema.dropTable("monitoring_logs").execute()}var aji={};Pi(aji,{up:()=>BJl,down:()=>YJl});import{sql as xL}from"kysely";async function BJl(i){await i.schema.createTable("events").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(t)=>t.notNull()).addColumn("source","text",(t)=>t.notNull()).addColumn("specversion","text",(t)=>t.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(t)=>t.notNull()).addColumn("datacontenttype","text",(t)=>t.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(xL`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(xL`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_subscriptions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(t)=>t.notNull()).addColumn("filter","text").addColumn("enabled","integer",(t)=>t.notNull().defaultTo(1)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(xL`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(xL`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_deliveries").addColumn("id","text",(t)=>t.primaryKey()).addColumn("event_id","text",(t)=>t.notNull()).addColumn("subscription_id","text",(t)=>t.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(xL`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await i.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await i.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await i.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await i.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await i.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await i.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await i.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await i.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await i.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function YJl(i){await i.schema.dropIndex("idx_deliveries_retry").execute(),await i.schema.dropIndex("idx_deliveries_subscription_status").execute(),await i.schema.dropIndex("idx_deliveries_event").execute(),await i.schema.dropIndex("idx_subscriptions_unique").execute(),await i.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await i.schema.dropIndex("idx_subscriptions_type").execute(),await i.schema.dropIndex("idx_subscriptions_connection").execute(),await i.schema.dropIndex("idx_events_retry").execute(),await i.schema.dropIndex("idx_events_type").execute(),await i.schema.dropIndex("idx_events_source").execute(),await i.schema.dropIndex("idx_events_org_status").execute(),await i.schema.dropTable("event_deliveries").execute(),await i.schema.dropTable("event_subscriptions").execute(),await i.schema.dropTable("events").execute()}var Dzt=()=>{};var mji={};Pi(mji,{up:()=>GJl,down:()=>AJl});import{sql as PJl}from"kysely";async function GJl(i){await i.schema.dropTable("audit_logs").ifExists().execute()}async function AJl(i){await i.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(PJl`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Ozt=()=>{};var oji={};Pi(oji,{up:()=>WJl,down:()=>jJl});import{sql as J0i}from"kysely";async function WJl(i){await i.schema.createTable("gateways").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(t)=>t.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("is_default","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(J0i`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(J0i`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await i.schema.createTable("gateway_connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("gateway_id","text",(t)=>t.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(J0i`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await i.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await J0i`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(i),await i.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function jJl(i){await i.schema.dropIndex("idx_gateway_connections_unique").execute(),await i.schema.dropIndex("idx_gateway_connections_connection").execute(),await i.schema.dropIndex("idx_gateway_connections_gateway").execute(),await i.schema.dropIndex("idx_gateways_default_per_org").execute(),await i.schema.dropIndex("idx_gateways_org_status").execute(),await i.schema.dropIndex("idx_gateways_org").execute(),await i.schema.dropTable("gateway_connections").execute(),await i.schema.dropTable("gateways").execute()}var yzt=()=>{};var sji={};Pi(sji,{up:()=>kJl,down:()=>SJl});async function kJl(i){await i.schema.alterTable("gateways").addColumn("icon","text").execute()}async function SJl(i){await i.schema.alterTable("gateways").dropColumn("icon").execute()}var pji={};Pi(pji,{up:()=>zJl,down:()=>bJl});import{sql as U0i}from"kysely";async function zJl(i){await i.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(t)=>t.notNull().defaultTo("inclusion")).execute(),await U0i`
|
|
104748
104748
|
UPDATE gateways
|
|
104749
104749
|
SET tool_selection_mode = CASE
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as $,r as g,j as r,c as H}from"./index-DxEUOQQs.js";import{E as _}from"./agent-icon-BL0Zyuef.js";import{i as V}from"./SearchMd-CkwYmYFX.js";import{D as X,a as J,c as K,b as Q}from"./dialog-DlK91HiY.js";import{I as Y}from"./input-CzgGcI3V.js";import{a4 as Z,a2 as ee,a5 as te,a6 as G,G as re}from"./index-DnaxJsHb.js";import"./AlertCircle-C2JPSNIc.js";import"./Tool01-CHRhaVsB.js";import"./SwitchHorizontal01-uOesGvrj.js";import"./RefreshCcw01-De11YcWY.js";import"./XCircle-DSNLgcsz.js";import"./ArrowUpRight-Dtm-fMoi.js";import"./ZapSquare-B7LKxpnQ.js";import"./Users03-BZnIYCM1.js";import"./CheckCircle-B1gk6AbW.js";import"./Check-CJuLJZRg.js";import"./ChevronDown-BbO00aHm.js";import"./ChevronLeft-CyC6kPhn.js";import"./ChevronRight-D4rmSZYg.js";import"./ChevronUp-DC9Fz2he.js";import"./DotsVertical-DVI2JfBT.js";import"./Container-Ck07PAMh.js";import"./Eye-8SpX7ax1.js";import"./ZoomOut-BhGMK1ir.js";import"./Globe01-_Gozs0-K.js";import"./FilterLines-DXoB5fi6.js";import"./Star01-CROTt7h-.js";import"./Palette-DvOu8iad.js";import"./HardDrive-D6YFkngp.js";import"./Stars02-Bb_Lb3Iw.js";import"./Key01-DtPyr_d4.js";import"./LayoutLeft-zPlWqXYO.js";import"./LinkExternal01-CMKC3Ppc.js";import"./Monitor01-Dg9LYm9U.js";import"./Sun--jg0YyzU.js";import"./Play-BGgNLf1z.js";import"./Plus-D3Yt_klI.js";import"./Settings02-RkWi-oHt.js";import"./Shield01-BkzImfUK.js";import"./Stars01-BZ01dqEy.js";import"./Trash01-D9jT6VSX.js";import"./Upload01-B6COGlQo.js";import"./User01-CWJ4O2R8.js";import"./Users01-Bsb338aB.js";import"./XClose-B2Xxw9ZV.js";import"./X-CH7nrxK3.js";import"./Zap-CtPT7vkQ.js";import"./agent-capabilities-v4Rwjpb1.js";import"./chat-context-C10uFg_9.js";import"./tab-id-CixUfikt.js";import"./use-mcp-client-BW6MR0tW.js";import"./decopilot-sse-pool-C9YWBszR.js";import"./create-sse-subscription-BS5983N4.js";import"./studio-tools-CdiIGNug.js";import"./use-virtual-mcp-C5aNldwS.js";import"./use-collections-CPla-8Z_.js";import"./use-ai-providers-i1tqdzqX.js";import"./use-organization-settings-Ds8za6ZV.js";import"./pair-Dqpt4Jli.js";import"./use-clock-tick-B8zeuW9S.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-ChPJ-NEF.js";import"./select-BhUuCBjD.js";import"./tooltip-BIymZbyc.js";import"./use-copy-CMgaIgR7.js";import"./file-type-icon-g69R8oLw.js";import"./content-blocks-o63cs2vh.js";import"./types-CmWRxh2O.js";import"./shell-layout-DRNHZhhH.js";import"./avatar-BL6j7EM4.js";import"./required-auth-layout-s-nnIbb3.js";import"./useRouterState-CKqJqhNS.js";import"./use-org-sso-BZSKGD_q.js";import"./integration-icon-TXgAkIpf.js";import"./use-navigate-to-agent-7tEptzcr.js";import"./use-connection-7yE-FpPg.js";import"./use-mcp-prompts-DauhYIMV.js";import"./form-8fnZRdSd.js";import"./label-Bz4-Isgq.js";import"./spinner-DJudGYoz.js";import"./drawer-We__DvM1.js";import"./collection-search-CVFFSy0S.js";import"./tabs-DpPbTcOX.js";import"./toggle-group-DUH3UCsh.js";import"./connect-desktop-dialog-nMepiraO.js";import"./agent-icons-AMlXFz_9.js";import"./checkbox-EJ-FS6-O.js";import"./skeleton-DU4Yk3QQ.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-BmqyawBS.js";import"./card-OOIE0uKL.js";import"./popover-7ZV_x738.js";import"./command-BeSVNuhP.js";import"./index-ZOhZPSgS.js";import"./useInfiniteQuery-CMP19UQ8.js";import"./infiniteQueryObserver-_wx8vha2.js";import"./sortable.esm-DLnTPF68.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-BAVVkgt5.js";import"./use-registry-connections-Bo5wHKtk.js";import"./extract-connection-data-Deygnaxj.js";import"./generate-id-DHU56BsF.js";import"./collections-BMUil3in.js";import"./collection-tabs-CArtFM6T.js";import"./badge-Cc4XouWa.js";import"./textarea-CHCvnh_8.js";import"./connection-form-helpers-C7w-EHHd.js";import"./use-infinite-scroll-COS9eomA.js";import"./useSuspenseInfiniteQuery-Dsr82JBj.js";import"./index-DBE0AwRo.js";import"./dropdown-menu-9oUOEimm.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-CDKyU1Jg.js";import"./sidebar-D_Yb-5nE.js";import"./sheet-Devtg9cX.js";import"./toolbar-Dje6lkWt.js";import"./use-create-virtual-mcp-BWWSVfRV.js";import"./github-repo-picker-CA1Lsyag.js";import"./use-mcp-tools-BdvRRDeD.js";import"./alert-dialog-DzLqwXYd.js";import"./index-C5kgHpFv.js";import"./use-org-auth-client-D_nAk9Nf.js";import"./hover-card-DwcwURxp.js";import"./task-status-B4xhXa10.js";import"./use-status-sounds-TuoDiwSP.js";import"./empty-state-DWre-pls.js";import"./resizable-D2JXsfXz.js";import"./use-capability-C6m2-0Ci.js";import"./header-tab-button-B8CWwAih.js";import"./index-BATH3mQn.js";import"./user-D4kiCnS_.js";import"./tools-list-BYNSxX2E.js";import"./switch-CbDNpyYj.js";import"./use-debounced-autosave-DtXHyjU0.js";import"./index-Daxt8Oww.js";import"./search-input-Cray-A1q.js";import"./use-secrets-3j7bfIX7.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-CMUFrLXB.js";import"./view-mode-toggle-D6mTnqbc.js";import"./select-model-C941S1nf.js";import"./use-automations-DGwM8rjk.js";import"./monaco-editor-H7pARgsv.js";import"./automation-runs-DAMwdbwt.js";import"./table-C7al_g9w.js";import"./use-members-UnrPTEyo.js";import"./automation-list-row-6z14sJQm.js";const oe=12,E=new Set,D=new Set;function ie(){for(const l of D)l()}function se(l){return E.has(l)?!0:E.size>=oe?!1:(E.add(l),!0)}function F(l){E.delete(l)&&ie()}function le(l){return D.add(l),()=>{D.delete(l)}}function me(l,e){const t=g.useRef(!1),[v,n]=g.useState(!1),m=g.useRef(null),p=g.useRef(null),i=g.useRef(null),o=g.useRef(l);o.current=l;const[x]=g.useState(()=>{const s=()=>{i.current?.(),i.current=null},c=()=>t.current?!0:se(e)?(t.current=!0,n(!0),s(),!0):!1;return f=>{if(p.current=f,m.current&&(m.current.disconnect(),m.current=null),s(),!f){t.current&&(F(e),t.current=!1,n(!1));return}queueMicrotask(()=>{if(p.current!==f)return;const a=new IntersectionObserver(u=>{if(u[0]?.isIntersecting??!1){!c()&&!i.current&&(i.current=le(()=>{p.current===f&&c()}));return}s(),t.current&&(F(e),t.current=!1,n(!1))},{root:o.current.current,rootMargin:"160px 0px"});a.observe(f),m.current=a})}});return{ref:x,iframeActive:v}}function ne(l){const e=$.c(8),{previewUrl:t,title:v,scrollRootRef:n,slotId:m}=l,{ref:p,iframeActive:i}=me(n,m),[o,x]=g.useState(!1);let s;e[0]!==i||e[1]!==o||e[2]!==t||e[3]!==v?(s=i?r.jsxs(r.Fragment,{children:[!o&&r.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-muted/40",children:r.jsx(_,{className:"h-8 w-8 animate-pulse text-muted-foreground/40"})}),r.jsx("iframe",{src:t,title:`Preview ${v}`,sandbox:"allow-scripts allow-same-origin",referrerPolicy:"no-referrer",className:"pointer-events-none h-[200%] w-[200%] origin-top-left scale-50 border-0 bg-white",tabIndex:-1,onLoad:()=>x(!0)})]}):r.jsx("div",{className:"flex h-full items-center justify-center",children:r.jsx(_,{className:"h-8 w-8 text-muted-foreground/30"})}),e[0]=i,e[1]=o,e[2]=t,e[3]=v,e[4]=s):s=e[4];let c;return e[5]!==p||e[6]!==s?(c=r.jsx("div",{ref:p,className:"relative aspect-[16/10] w-full overflow-hidden bg-muted/40",children:s}),e[5]=p,e[6]=s,e[7]=c):c=e[7],c}function pe(l){const e=$.c(26),{entry:t,previewUrl:v,scrollRootRef:n,onSelect:m}=l,p=t.isSavedBlock&&"border-global-section/35 hover:bg-global-section/8";let i;e[0]!==p?(i=H("group flex flex-col overflow-hidden rounded-lg border bg-card text-left transition-colors","hover:border-primary/40 hover:bg-accent/30",p),e[0]=p,e[1]=i):i=e[1];let o;e[2]!==t.resolveType||e[3]!==t.title||e[4]!==v||e[5]!==n?(o=r.jsx(ne,{previewUrl:v,title:t.title,scrollRootRef:n,slotId:t.resolveType}),e[2]=t.resolveType,e[3]=t.title,e[4]=v,e[5]=n,e[6]=o):o=e[6];let x;e[7]!==t.isSavedBlock?(x=t.isSavedBlock?{color:re}:void 0,e[7]=t.isSavedBlock,e[8]=x):x=e[8];let s;e[9]!==x?(s=r.jsx(_,{className:"h-4 w-4 shrink-0",style:x}),e[9]=x,e[10]=s):s=e[10];let c;e[11]!==t.title?(c=r.jsx("p",{className:"truncate text-sm font-medium",children:t.title}),e[11]=t.title,e[12]=c):c=e[12];let f;e[13]!==t.description?(f=t.description&&r.jsx("p",{className:"truncate text-xs text-muted-foreground",children:t.description}),e[13]=t.description,e[14]=f):f=e[14];let a;e[15]!==c||e[16]!==f?(a=r.jsxs("div",{className:"min-w-0 flex-1",children:[c,f]}),e[15]=c,e[16]=f,e[17]=a):a=e[17];let u;e[18]!==s||e[19]!==a?(u=r.jsxs("div",{className:"flex items-center gap-2 border-t px-3 py-2.5",children:[s,a]}),e[18]=s,e[19]=a,e[20]=u):u=e[20];let h;return e[21]!==m||e[22]!==i||e[23]!==o||e[24]!==u?(h=r.jsxs("button",{type:"button",onClick:m,className:i,children:[o,u]}),e[21]=m,e[22]=i,e[23]=o,e[24]=u,e[25]=h):h=e[25],h}function Jr(l){const e=$.c(41),{open:t,onOpenChange:v,meta:n,decofile:m,previewBaseUrl:p,onSelect:i}=l,[o,x]=g.useState(""),[s,c]=g.useState(t),f=g.useRef(null);t!==s&&(c(t),t&&x(""));let a,u,h,b,S,j,N,y,w,R,C;if(e[0]!==m||e[1]!==n||e[2]!==v||e[3]!==i||e[4]!==t||e[5]!==p||e[6]!==o){const U=t&&n&&m?Z(n,m):[],M=n?ee(n):"",z=m?te(m):void 0,W=new Map;if(t&&M)for(const d of U)W.set(d.resolveType,G(p,M,d.previewBlock,z));const A=o.trim().toLowerCase(),q=A?U.filter(d=>d.title.toLowerCase().includes(A)||d.resolveType.toLowerCase().includes(A)||d.description?.toLowerCase().includes(A)):U;u=X,R=t,C=v,a=J,N="top-3 right-3",y="flex h-[90vh] max-h-[90vh] w-[96vw] max-w-[96vw] sm:max-w-[96vw] flex-col gap-0 overflow-hidden p-0";let O;e[18]===Symbol.for("react.memo_cache_sentinel")?(O=r.jsx(K,{children:"Add section"}),e[18]=O):O=e[18];let k;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=r.jsx(V,{size:14,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),e[19]=k):k=e[19];let B;e[20]===Symbol.for("react.memo_cache_sentinel")?(B=d=>x(d.target.value),e[20]=B):B=e[20],e[21]!==o?(w=r.jsxs(Q,{className:"shrink-0 border-b px-4 py-3 text-left",children:[O,r.jsxs("div",{className:"relative pt-2",children:[k,r.jsx(Y,{value:o,onChange:B,placeholder:"Search sections...",className:"h-9 pl-8"})]})]}),e[21]=o,e[22]=w):w=e[22],S=f,j="min-h-0 flex-1 overflow-y-auto",h="p-4",b=q.length===0?r.jsx("p",{className:"py-8 text-center text-sm text-muted-foreground",children:"No sections found."}):r.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:q.map(d=>r.jsx(pe,{entry:d,scrollRootRef:f,previewUrl:W.get(d.resolveType)??G(p,M,d.previewBlock,z),onSelect:()=>i(d)},d.resolveType))}),e[0]=m,e[1]=n,e[2]=v,e[3]=i,e[4]=t,e[5]=p,e[6]=o,e[7]=a,e[8]=u,e[9]=h,e[10]=b,e[11]=S,e[12]=j,e[13]=N,e[14]=y,e[15]=w,e[16]=R,e[17]=C}else a=e[7],u=e[8],h=e[9],b=e[10],S=e[11],j=e[12],N=e[13],y=e[14],w=e[15],R=e[16],C=e[17];let T;e[23]!==h||e[24]!==b?(T=r.jsx("div",{className:h,children:b}),e[23]=h,e[24]=b,e[25]=T):T=e[25];let I;e[26]!==T||e[27]!==S||e[28]!==j?(I=r.jsx("div",{ref:S,className:j,children:T}),e[26]=T,e[27]=S,e[28]=j,e[29]=I):I=e[29];let L;e[30]!==a||e[31]!==I||e[32]!==N||e[33]!==y||e[34]!==w?(L=r.jsxs(a,{closeButtonClassName:N,className:y,children:[w,I]}),e[30]=a,e[31]=I,e[32]=N,e[33]=y,e[34]=w,e[35]=L):L=e[35];let P;return e[36]!==u||e[37]!==L||e[38]!==R||e[39]!==C?(P=r.jsx(u,{open:R,onOpenChange:C,children:L}),e[36]=u,e[37]=L,e[38]=R,e[39]=C,e[40]=P):P=e[40],P}export{Jr as AddSectionModal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{T as V,W as C,aH as ne,aJ as le,aK as he,aI as xe,ba as me,e as U,I as ge,H as be,r as O,j as s,D as Ee,o as Q,C as ye,q as oe,G as re,a as J,K as B,n as ve,c as ue,B as L,t as je,E as $e}from"./index-DxEUOQQs.js";import{i as Re}from"./AlertCircle-C2JPSNIc.js";import{P as te}from"./index-Daxt8Oww.js";import{S as ae}from"./skeleton-DU4Yk3QQ.js";import{b as _e,a as ce,S as de,c as Fe}from"./settings-section-BmqyawBS.js";import{u as X,b as se,c as Se}from"./use-ai-providers-i1tqdzqX.js";import{i as Oe}from"./CheckCircle-B1gk6AbW.js";import{p as Me}from"./chat-context-C10uFg_9.js";import{e as Te,f as Ue}from"./use-organization-settings-Ds8za6ZV.js";import{M as ze}from"./select-model-C941S1nf.js";import{u as qe}from"./use-debounced-autosave-DtXHyjU0.js";import{I as ie}from"./input-CzgGcI3V.js";import{a as fe,T as Le}from"./toggle-group-DUH3UCsh.js";import{b as ke,c as Ie,d as Ce,f as Ne,a as Pe,e as we,g as Ae,A as De}from"./alert-dialog-DzLqwXYd.js";import{u as Y}from"./studio-tools-CdiIGNug.js";import{s as Ve}from"./Plus-D3Yt_klI.js";import{i as Be}from"./Tool01-CHRhaVsB.js";import{s as Ge}from"./Trash01-D9jT6VSX.js";import{A as Qe}from"./avatar-BL6j7EM4.js";import{O as Ke,P as We,c as pe}from"./agent-icons-AMlXFz_9.js";import{a as Ye}from"./RefreshCcw01-De11YcWY.js";import{s as He}from"./Eye-8SpX7ax1.js";import{d as Je,b as Xe,c as Ze,a as et,D as tt}from"./dialog-DlK91HiY.js";import{S as st}from"./spinner-DJudGYoz.js";import{f as it}from"./formatDistanceToNow-Cb2QZZJn.js";import{R as ot}from"./require-capability-Cu6FsDEP.js";import"./sidebar-D_Yb-5nE.js";import"./LayoutLeft-zPlWqXYO.js";import"./tooltip-BIymZbyc.js";import"./sheet-Devtg9cX.js";import"./X-CH7nrxK3.js";import"./card-OOIE0uKL.js";import"./ArrowUpRight-Dtm-fMoi.js";import"./use-mcp-client-BW6MR0tW.js";import"./tab-id-CixUfikt.js";import"./decopilot-sse-pool-C9YWBszR.js";import"./create-sse-subscription-BS5983N4.js";import"./use-virtual-mcp-C5aNldwS.js";import"./use-collections-CPla-8Z_.js";import"./drawer-We__DvM1.js";import"./User01-CWJ4O2R8.js";import"./checkbox-EJ-FS6-O.js";import"./Check-CJuLJZRg.js";import"./select-BhUuCBjD.js";import"./ChevronDown-BbO00aHm.js";import"./ChevronUp-DC9Fz2he.js";import"./Key01-DtPyr_d4.js";import"./SearchMd-CkwYmYFX.js";import"./Settings02-RkWi-oHt.js";import"./ai-providers-logos-DD3qZ33J.js";import"./Monitor01-Dg9LYm9U.js";import"./ChevronRight-D4rmSZYg.js";import"./connect-desktop-dialog-nMepiraO.js";import"./Stars01-BZ01dqEy.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-capability-C6m2-0Ci.js";import"./access-gate-CBfdxByI.js";import"./capability-load-error-S5ghjE3y.js";V({title:C(),url:C(),icon:C()});V({registries:le(C(),V({enabled:he()})).describe("Per-registry enabled/disabled state. Key is connection ID. Absent registries are treated as enabled."),blockedMcps:ne(C()).describe("List of MCP app_name or app_id values to hide from the store.")});const H=V({keyId:C(),modelId:C(),title:C().optional()}).nullable();xe(["fast","smart","thinking","image","web_research"]);xe(["fast","smart","thinking"]);const rt=V({tiers:V({fast:H,smart:H,thinking:H,image:H,web_research:H})});V({ids:ne(C()).describe("Ordered list of custom virtual MCP agent ids to show on the home view.")});V({id:C().describe("Brand context ID"),name:C().describe("Company name"),domain:C().describe("Company domain (e.g. example.com)"),overview:C().describe("Company overview / description"),logo:C().nullable().optional().describe("Logo URL"),favicon:C().nullable().optional().describe("Favicon URL"),ogImage:C().nullable().optional().describe("OG image URL"),fonts:V({heading:C().optional().describe("Font family for headings"),body:C().optional().describe("Font family for body text"),code:C().optional().describe("Font family for code / monospace")}).nullable().optional().describe("Font families by semantic role"),colors:V({primary:C().optional().describe("Primary brand color (hex)"),secondary:C().optional().describe("Secondary brand color (hex)"),accent:C().optional().describe("Accent / highlight color (hex)"),background:C().optional().describe("Background color (hex)"),foreground:C().optional().describe("Foreground / text color (hex)")}).nullable().optional().describe("Semantic color palette"),images:ne(le(C(),me())).nullable().optional().describe("Brand images"),metadata:le(C(),me()).nullable().optional().describe("Extra design tokens (typography, components, spacing, layout, tone, etc.)"),archivedAt:C().nullable().optional().describe("Archive timestamp (null to unarchive)"),isDefault:he().optional().describe("Whether this is the default brand for the organization")});const lt=e=>e.capabilities?.includes("image")===!0,nt=e=>{if(e.asyncResearch===!0)return!0;const t=e.modelId.toLowerCase().replace(/[^a-z0-9]/g,"");return t.includes("sonar")||t.includes("deepresearch")},at=[{key:"fast",label:"Fast",description:"Fastest responses, best for quick tasks",filter:void 0},{key:"smart",label:"Smart",description:"Balanced speed and capability",filter:void 0},{key:"thinking",label:"Thinking",description:"Most capable, best for complex tasks",filter:void 0},{key:"image",label:"Image",description:"Image generation",filter:lt},{key:"web_research",label:"Web research",description:"Web search and deep research",filter:nt}];function ct(e){const t=U.c(20),{slot:i,onSlotChange:n,filterModels:o,defaultKeyId:l}=e,r=X(),[x,_]=O.useState(i?.keyId??l);let b;t[0]!==i?(b=()=>{i?.keyId&&_(i.keyId)},t[0]=i,t[1]=b):b=t[1];const d=i?.keyId;let a;t[2]!==d?(a=[d],t[2]=d,t[3]=a):a=t[3],O.useEffect(b,a);const m=x??l;let c;t[4]!==m||t[5]!==r?(c=m?r.find(y=>y.id===m):null,t[4]=m,t[5]=r,t[6]=c):c=t[6];const u=c,{models:g,isLoading:v}=se(o?m??void 0:void 0),j=o?v||g.some(o):!0;let f;t[7]!==i||t[8]!==u?.providerId?(f=i?{modelId:i.modelId,title:i.title??i.modelId,keyId:i.keyId,providerId:u?.providerId??"deco",description:null,logo:null,capabilities:[],limits:null,costs:null}:null,t[7]=i,t[8]=u?.providerId,t[9]=f):f=t[9];const k=f;if(o&&!j){let y;return t[10]===Symbol.for("react.memo_cache_sentinel")?(y=s.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Not available with current provider"}),t[10]=y):y=t[10],y}let I;t[11]===Symbol.for("react.memo_cache_sentinel")?(I=y=>_(y),t[11]=I):I=t[11];let h;t[12]!==m||t[13]!==n?(h=y=>{const R=y.keyId??m??"";_(R),n({keyId:R,modelId:y.modelId,title:y.title})},t[12]=m,t[13]=n,t[14]=h):h=t[14];let p;return t[15]!==m||t[16]!==o||t[17]!==k||t[18]!==h?(p=s.jsx(ze,{variant:"bordered",placeholder:"Pick model",model:k,credentialId:m,filterModels:o,onCredentialChange:I,onModelChange:h}),t[15]=m,t[16]=o,t[17]=k,t[18]=h,t[19]=p):p=t[19],p}function dt(e){const t=U.c(2),{isPending:i,showSaved:n}=e;if(i){let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[s.jsx(ye,{size:12,className:"animate-spin"}),"Saving…"]}),t[0]=o):o=t[0],o}if(n){let o;return t[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[s.jsx(Oe,{size:12}),"Saved"]}),t[1]=o):o=t[1],o}return null}function mt(){const e=U.c(42),t=X(),i=Te(),n=t.length>0;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=ge(rt),e[0]=o):o=e[0];let l;e[1]!==i?(l={resolver:o,values:i,mode:"onChange"},e[1]=i,e[2]=l):l=e[2];const r=be(l),{mutate:x,isPending:_,isSuccess:b}=Ue(),d=r.formState.isDirty;let a;e[3]!==r||e[4]!==i||e[5]!==x?(a={delayMs:250,save:async()=>{const S=r.getValues();x(S,{onSuccess:()=>r.reset(S,{keepValues:!0}),onError:w=>{r.reset(i),Q.error(`Failed to save: ${w.message}`)}})}},e[3]=r,e[4]=i,e[5]=x,e[6]=a):a=e[6];const{schedule:m}=qe(a),c=t[0],u=t[1],g=t[2],{models:v}=se(c?.id),{models:j}=se(u?.id),{models:f}=se(g?.id);let k,I;e[7]!==r||e[8]!==n?(k=()=>{n||r.reset({tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}})},I=[n,r],e[7]=r,e[8]=n,e[9]=k,e[10]=I):(k=e[9],I=e[10]),O.useEffect(k,I);let h;e[11]!==t||e[12]!==r||e[13]!==c||e[14]!==u||e[15]!==g||e[16]!==v||e[17]!==j||e[18]!==f?(h=()=>{const S=r.getValues(),w=new Set(t.map(ut)),$={};c?.id&&($[c.id]=v),u?.id&&($[u.id]=j),g?.id&&($[g.id]=f);const P=W=>W!=null&&!w.has(W.keyId),N={fast:P(S.tiers.fast)?null:S.tiers.fast,smart:P(S.tiers.smart)?null:S.tiers.smart,thinking:P(S.tiers.thinking)?null:S.tiers.thinking,image:P(S.tiers.image)?null:S.tiers.image,web_research:P(S.tiers.web_research)?null:S.tiers.web_research},q=!N.fast||!N.smart||!N.thinking||!N.image||!N.web_research,z=N.fast===S.tiers.fast&&N.smart===S.tiers.smart&&N.thinking===S.tiers.thinking&&N.image===S.tiers.image&&N.web_research===S.tiers.web_research;if(!q&&z)return;const G=Me(t,$);r.reset({tiers:{fast:N.fast??G.chat.fast,smart:N.smart??G.chat.smart,thinking:N.thinking??G.chat.thinking,image:N.image??G.image,web_research:N.web_research??G.webResearch}},{keepDirty:!0})},e[11]=t,e[12]=r,e[13]=c,e[14]=u,e[15]=g,e[16]=v,e[17]=j,e[18]=f,e[19]=h):h=e[19];const p=c?.id,y=u?.id,R=g?.id;let M;e[20]!==t||e[21]!==r||e[22]!==v||e[23]!==j||e[24]!==f||e[25]!==p||e[26]!==y||e[27]!==R?(M=[r,t,v,j,f,p,y,R],e[20]=t,e[21]=r,e[22]=v,e[23]=j,e[24]=f,e[25]=p,e[26]=y,e[27]=R,e[28]=M):M=e[28],O.useEffect(h,M);let T;e[29]===Symbol.for("react.memo_cache_sentinel")?(T=s.jsx("p",{className:"text-sm text-muted-foreground",children:"These models power chat, automations, and tools across your organization."}),e[29]=T):T=e[29];const F=b&&!d;let A;e[30]!==_||e[31]!==F?(A=s.jsxs("div",{className:"flex items-center justify-between -mt-2 mb-2",children:[T,s.jsx(dt,{isPending:_,showSaved:F})]}),e[30]=_,e[31]=F,e[32]=A):A=e[32];let D;e[33]!==t[0]?.id||e[34]!==r.control||e[35]!==m?(D=at.map(S=>s.jsx(Ee,{control:r.control,name:`tiers.${S.key}`,render:w=>{const{field:$}=w;return s.jsx(_e,{title:S.label,description:S.description,action:s.jsx(ct,{slot:$.value,defaultKeyId:t[0]?.id??null,filterModels:S.filter,onSlotChange:P=>{$.onChange(P),m()}})})}},S.key)),e[33]=t[0]?.id,e[34]=r.control,e[35]=m,e[36]=D):D=e[36];let K;e[37]!==D?(K=s.jsx(ce,{children:D}),e[37]=D,e[38]=K):K=e[38];let E;return e[39]!==A||e[40]!==K?(E=s.jsxs(de,{title:"Default models",headerClassName:"pl-0",children:[A,K]}),e[39]=A,e[40]=K,e[41]=E):E=e[41],E}function ut(e){return e.id}const ft={usd:[10,20,100],brl:[50,100,500]};function pt(){const e=U.c(26),t=Y(),[i,n]=O.useState(!1),{mutate:o,isPending:l}=J({mutationFn:async h=>{const{url:p}=await t.call("AI_PROVIDER_TOPUP_URL",{providerId:"deco",amountCents:h,currency:d});return p},onSuccess:xt,onError:ht}),[r,x]=O.useState(""),[_,b]=O.useState("usd"),d=_,a=parseFloat(r),m=!isNaN(a)&&a>=1,c=d==="brl"?"R$":"$";let u;e[0]!==b?(u=h=>{h&&b(h)},e[0]=b,e[1]=u):u=e[1];let g,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(fe,{value:"usd",className:"px-3.5 text-sm",children:"USD"}),v=s.jsx(fe,{value:"brl",className:"px-3.5 text-sm",children:"BRL"}),e[2]=g,e[3]=v):(g=e[2],v=e[3]);let j;e[4]!==d||e[5]!==u?(j=s.jsxs(Le,{type:"single",variant:"outline",size:"default",value:d,onValueChange:u,children:[g,v]}),e[4]=d,e[5]=u,e[6]=j):j=e[6];let f;e[7]!==d||e[8]!==c||e[9]!==i||e[10]!==l||e[11]!==o?(f=!i&&s.jsxs(s.Fragment,{children:[ft[d].map(h=>s.jsxs(L,{variant:"outline",className:"h-10 px-4 text-sm font-medium tabular-nums",disabled:l,onClick:()=>o(h*100),children:[c,h]},h)),s.jsx(L,{variant:"ghost",className:"h-10 px-4 text-sm text-muted-foreground",onClick:()=>n(!0),disabled:l,children:"Custom"})]}),e[7]=d,e[8]=c,e[9]=i,e[10]=l,e[11]=o,e[12]=f):f=e[12];let k;e[13]!==c||e[14]!==r||e[15]!==a||e[16]!==i||e[17]!==m||e[18]!==l||e[19]!==x||e[20]!==o?(k=i&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"relative max-w-[140px]",children:[s.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:c}),s.jsx(ie,{type:"number",min:"1",step:"1",placeholder:"50",value:r,onChange:h=>x(h.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),s.jsx(L,{className:"h-10",disabled:!m||l,onClick:()=>o(Math.round(a*100)),children:l?"...":"Add"}),s.jsx(L,{variant:"ghost",className:"h-10 text-sm text-muted-foreground",onClick:()=>{n(!1),x("")},children:"Cancel"})]}),e[13]=c,e[14]=r,e[15]=a,e[16]=i,e[17]=m,e[18]=l,e[19]=x,e[20]=o,e[21]=k):k=e[21];let I;return e[22]!==j||e[23]!==f||e[24]!==k?(I=s.jsx("div",{className:"flex flex-col gap-2.5",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[j,f,k]})}),e[22]=j,e[23]=f,e[24]=k,e[25]=I):I=e[25],I}function ht(e){Q.error(`Top-up failed: ${e.message}`)}function xt(e){e&&window.open(e,"_blank","noopener,noreferrer")}function gt(e){return e<=0?"text-destructive":e<=1?"text-amber-500 dark:text-amber-400":"text-foreground"}function bt(){const e=U.c(58),{org:t}=oe(),i=Y(),n=re(),o=X();let l;e[0]!==o?(l=o.find(vt),e[0]=o,e[1]=l):l=e[1];const r=l,[x,_]=O.useState(!1);let b;e[2]!==r||e[3]!==i?(b=async()=>{r&&await i.call("AI_PROVIDER_KEY_DELETE",{keyId:r.id})},e[2]=r,e[3]=i,e[4]=b):b=e[4];let d;e[5]!==t.id||e[6]!==n?(d=()=>{n.invalidateQueries({queryKey:B.aiProviderKeys(t.id)}),n.invalidateQueries({queryKey:B.aiProviders(t.id)}),Q.success("Deco AI Gateway disconnected"),_(!1)},e[5]=t.id,e[6]=n,e[7]=d):d=e[7];let a;e[8]!==b||e[9]!==d?(a={mutationFn:b,onSuccess:d,onError:yt},e[8]=b,e[9]=d,e[10]=a):a=e[10];const{mutate:m,isPending:c}=J(a);let u;e[11]!==t.id?(u=B.aiProviderCredits(t.id,"deco"),e[11]=t.id,e[12]=u):u=e[12];const g=!!r;let v;e[13]!==i?(v=async()=>{try{return await i.call("AI_PROVIDER_CREDITS",{providerId:"deco"})}catch{return null}},e[13]=i,e[14]=v):v=e[14];let j;e[15]!==u||e[16]!==g||e[17]!==v?(j={queryKey:u,enabled:g,staleTime:6e4,queryFn:v},e[15]=u,e[16]=g,e[17]=v,e[18]=j):j=e[18];const{data:f,isLoading:k,refetch:I,isFetching:h}=ve(j);if(!r)return null;const p=f?.balanceCents!=null?f.balanceCents/100:null;let y;e[19]!==p?(y=p!=null?`$${p.toFixed(2)}`:"—",e[19]=p,e[20]=y):y=e[20];const R=y;let M;e[21]===Symbol.for("react.memo_cache_sentinel")?(M=s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("img",{src:"/logos/deco%20logo.svg",alt:"Deco AI Gateway",className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"}),s.jsx("div",{children:s.jsx("p",{className:"text-xs text-muted-foreground",children:"Access to 100+ models"})})]}),e[21]=M):M=e[21];let T;e[22]===Symbol.for("react.memo_cache_sentinel")?(T=()=>_(!0),e[22]=T):T=e[22];let F;e[23]!==c?(F=s.jsxs("div",{className:"flex items-center justify-between",children:[M,s.jsx(L,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground hover:text-destructive",onClick:T,disabled:c,children:"Disconnect"})]}),e[23]=c,e[24]=F):F=e[24];let A;e[25]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsxs(ke,{children:[s.jsx(Ie,{children:"Disconnect Deco AI Gateway"}),s.jsx(Ce,{children:"This will remove the Deco AI Gateway from this workspace. Your credit balance is preserved and will be available if you reconnect."})]}),e[25]=A):A=e[25];let D;e[26]===Symbol.for("react.memo_cache_sentinel")?(D=s.jsx(Ne,{children:"Cancel"}),e[26]=D):D=e[26];let K;e[27]!==m?(K=s.jsxs(Pe,{children:[A,s.jsxs(we,{children:[D,s.jsx(Ae,{onClick:()=>m(),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Disconnect"})]})]}),e[27]=m,e[28]=K):K=e[28];let E;e[29]!==x||e[30]!==K?(E=s.jsx(De,{open:x,onOpenChange:_,children:K}),e[29]=x,e[30]=K,e[31]=E):E=e[31];let S;e[32]!==p||e[33]!==R||e[34]!==h||e[35]!==k?(S=k||h?s.jsx(ae,{className:"h-9 w-24"}):s.jsx("span",{className:ue("text-3xl font-semibold tabular-nums tracking-tight",p!=null&>(p)),children:R}),e[32]=p,e[33]=R,e[34]=h,e[35]=k,e[36]=S):S=e[36];let w;e[37]!==I?(w=()=>I(),e[37]=I,e[38]=w):w=e[38];const $=h&&"animate-spin";let P;e[39]!==$?(P=ue($),e[39]=$,e[40]=P):P=e[40];let N;e[41]!==P?(N=s.jsx(ye,{size:14,className:P}),e[41]=P,e[42]=N):N=e[42];let q;e[43]!==h||e[44]!==w||e[45]!==N?(q=s.jsx("button",{type:"button",onClick:w,disabled:h,className:"text-muted-foreground hover:text-foreground disabled:opacity-50 transition-colors p-1 rounded-md hover:bg-muted/50","aria-label":"Refresh balance",children:N}),e[43]=h,e[44]=w,e[45]=N,e[46]=q):q=e[46];let z;e[47]!==S||e[48]!==q?(z=s.jsxs("div",{className:"flex items-baseline gap-2",children:[S,q]}),e[47]=S,e[48]=q,e[49]=z):z=e[49];let G;e[50]===Symbol.for("react.memo_cache_sentinel")?(G=s.jsx("p",{className:"text-xs text-muted-foreground",children:"Available credit balance"}),e[50]=G):G=e[50];let W;e[51]!==z?(W=s.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[z,G]}),e[51]=z,e[52]=W):W=e[52];let Z;e[53]===Symbol.for("react.memo_cache_sentinel")?(Z=s.jsxs("div",{className:"pt-4 border-t border-border/60",children:[s.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2.5",children:"Add credits"}),s.jsx(pt,{})]}),e[53]=Z):Z=e[53];let ee;return e[54]!==F||e[55]!==E||e[56]!==W?(ee=s.jsx(de,{title:"Deco AI Gateway",children:s.jsx(ce,{children:s.jsxs("div",{className:"px-5 py-5 flex flex-col gap-5",children:[F,E,W,Z]})})}),e[54]=F,e[55]=E,e[56]=W,e[57]=ee):ee=e[57],ee}function yt(e){Q.error(`Failed to disconnect: ${e.message}`)}function vt(e){return e.providerId==="deco"}function jt(){const e=U.c(8),{org:t}=oe(),i=Y(),n=re();let o;e[0]!==i?(o=async()=>{await i.call("AI_PROVIDER_PROVISION_KEY",{providerId:"deco"})},e[0]=i,e[1]=o):o=e[1];let l;e[2]!==t||e[3]!==n?(l=()=>{je("ai_provider_provision_succeeded",{provider_id:"deco"}),n.invalidateQueries({queryKey:B.aiProviderKeys(t.id)}),n.invalidateQueries({queryKey:B.aiProviders(t.id)}),Q.success("Deco AI Gateway connected successfully")},e[2]=t,e[3]=n,e[4]=l):l=e[4];let r;return e[5]!==o||e[6]!==l?(r={mutationFn:o,onSuccess:l,onError:_t},e[5]=o,e[6]=l,e[7]=r):r=e[7],J(r)}function _t(e){je("ai_provider_provision_failed",{provider_id:"deco",error:e.message}),Q.error(`Failed to connect Deco AI Gateway: ${e.message}`)}function St(){const e=U.c(10),{mutate:t,isPending:i}=jt();let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=["radial-gradient(ellipse 50% 150% at -15% 50%, rgba(165,149,255,0.14) 0%, transparent 60%)","radial-gradient(ellipse 50% 150% at 115% 50%, rgba(208,236,26,0.11) 0%, transparent 60%)"],e[0]=n):n=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{backgroundImage:n.join(", ")}}),e[1]=o):o=e[1];let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("img",{src:"/logos/deco%20logo.svg",alt:"Deco AI Gateway",className:"size-12 shrink-0 rounded-xl object-contain dark:bg-white dark:p-1"}),e[2]=l):l=e[2];let r;e[3]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[s.jsx("p",{className:"text-base font-semibold",children:"Deco AI Gateway"}),s.jsx("span",{className:"rounded-full border border-border/60 bg-background/60 px-2 py-0.5 text-[10px] font-medium text-muted-foreground",children:"Recommended"})]}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"100+ models, one connection — pay as you go, no API keys to juggle."})]}),e[3]=r):r=e[3];let x;e[4]!==t?(x=()=>t(),e[4]=t,e[5]=x):x=e[5];const _=i?"Connecting…":"Connect Deco";let b;return e[6]!==i||e[7]!==x||e[8]!==_?(b=s.jsxs("div",{className:"relative rounded-xl border border-border overflow-hidden",children:[o,s.jsxs("div",{className:"relative flex items-center gap-5 px-6 py-5",children:[l,r,s.jsx(L,{variant:"outline",disabled:i,onClick:x,children:_})]})]}),e[6]=i,e[7]=x,e[8]=_,e[9]=b):b=e[9],b}const kt=V({label:C().min(1,"Label is required").max(100),apiKey:C().optional(),baseUrl:C().optional()});function It({providerKey:e,provider:t,preset:i,maskedKey:n,currentLabel:o,currentBaseUrl:l,onCancel:r,onSuccess:x}){const{org:_}=oe(),b=Y(),d=re(),[a,m]=O.useState(!1),c=t.id==="openai-compatible",u=t.supportedMethods.includes("api-key"),{register:g,handleSubmit:v,watch:j,formState:{errors:f}}=be({resolver:ge(kt),defaultValues:{label:o,apiKey:"",baseUrl:l??""}}),k=j("apiKey")??"",{mutate:I,isPending:h}=J({mutationFn:async p=>{let y;p.apiKey?c?y=JSON.stringify({baseUrl:p.baseUrl||l||"",apiKey:p.apiKey}):y=p.apiKey:c&&p.baseUrl&&p.baseUrl!==l&&(y=JSON.stringify({baseUrl:p.baseUrl,apiKey:""})),await b.call("AI_PROVIDER_KEY_UPDATE",{keyId:e.id,label:p.label,...y!==void 0?{apiKey:y}:{}})},onSuccess:()=>{d.invalidateQueries({queryKey:B.aiProviderKeys(_.id)}),d.invalidateQueries({queryKey:B.aiProviders(_.id)}),Q.success("Provider updated"),x()},onError:p=>Q.error(`Failed to update: ${p.message}`)});return s.jsxs("form",{onSubmit:v(p=>I(p)),className:"space-y-3",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:"Label"}),s.jsx(ie,{placeholder:"e.g. Personal key",...g("label"),className:"h-8 text-sm"}),f.label&&s.jsx("p",{className:"text-xs text-destructive",children:f.label.message})]}),c&&!i?.defaultBaseUrl&&s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:"Base URL"}),s.jsx(ie,{type:"url",placeholder:i?.baseUrlPlaceholder??"http://localhost:4000/v1",...g("baseUrl"),className:"h-8 text-sm"})]}),u&&s.jsxs("div",{className:"space-y-1",children:[s.jsxs("label",{className:"text-xs font-medium text-muted-foreground",children:["API key"," ",s.jsx("span",{className:"text-muted-foreground/60",children:"(leave blank to keep current)"})]}),s.jsxs("div",{className:"relative",children:[s.jsx(ie,{type:a&&k?"text":"password",placeholder:n,...g("apiKey"),className:"ph-no-capture h-8 text-sm pr-8"}),k&&s.jsx("button",{type:"button",onClick:()=>m(!a),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:a?s.jsx(Ye,{size:14}):s.jsx(He,{size:14})})]})]}),i?.helpText&&s.jsx("p",{className:"text-xs text-muted-foreground",children:i.helpText}),s.jsxs(Je,{children:[s.jsx(L,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:h,children:"Cancel"}),s.jsx(L,{type:"submit",size:"sm",disabled:h,children:h?"Saving...":"Save"})]})]})}function Ct(e){const t=U.c(28),{providerKey:i,provider:n,open:o,onOpenChange:l}=e,r=Y();let x;t[0]!==n.id||t[1]!==i.presetId?(x=n.id==="openai-compatible"&&i.presetId?Ke.find(k=>k.id===i.presetId):void 0,t[0]=n.id,t[1]=i.presetId,t[2]=x):x=t[2];const _=x,b=_?.name??n.name;let d;t[3]!==i.id?(d=B.aiProviderKeyPreview(i.id),t[3]=i.id,t[4]=d):d=t[4];let a;t[5]!==i.id||t[6]!==r?(a=()=>r.call("AI_PROVIDER_KEY_PREVIEW",{keyId:i.id}),t[5]=i.id,t[6]=r,t[7]=a):a=t[7];let m;t[8]!==o||t[9]!==d||t[10]!==a?(m={queryKey:d,queryFn:a,enabled:o,staleTime:0},t[8]=o,t[9]=d,t[10]=a,t[11]=m):m=t[11];const{data:c,isLoading:u}=ve(m);let g;t[12]!==b?(g=s.jsx(Xe,{children:s.jsxs(Ze,{children:["Edit ",b]})}),t[12]=b,t[13]=g):g=t[13];let v;t[14]!==u||t[15]!==l||t[16]!==_||t[17]!==c||t[18]!==n||t[19]!==i?(v=u||!c?s.jsx("div",{className:"flex justify-center py-8",children:s.jsx(st,{})}):s.jsx(It,{providerKey:i,provider:n,preset:_,maskedKey:c.maskedKey,currentLabel:c.label,currentBaseUrl:c.baseUrl,onCancel:()=>l(!1),onSuccess:()=>l(!1)}),t[14]=u,t[15]=l,t[16]=_,t[17]=c,t[18]=n,t[19]=i,t[20]=v):v=t[20];let j;t[21]!==g||t[22]!==v?(j=s.jsxs(et,{className:"sm:max-w-md",children:[g,v]}),t[21]=g,t[22]=v,t[23]=j):j=t[23];let f;return t[24]!==l||t[25]!==o||t[26]!==j?(f=s.jsx(tt,{open:o,onOpenChange:l,children:j}),t[24]=l,t[25]=o,t[26]=j,t[27]=f):f=t[27],f}function Nt(e){const t=U.c(48),{providerKey:i,provider:n}=e,{org:o}=oe(),l=Y(),r=re(),[x,_]=O.useState(!1),[b,d]=O.useState(!1),a=n.id==="openai-compatible";let m;t[0]!==a||t[1]!==i.presetId?(m=a&&i.presetId?Ke.find(q=>q.id===i.presetId):void 0,t[0]=a,t[1]=i.presetId,t[2]=m):m=t[2];const c=m,u=c?c.name:a?"Custom OpenAI-compatible":n.name,g=c?.logo??n.logo;let v;e:{if(a){v=i.label;break e}const q=i.label;let z;t[3]!==i.createdAt?(z=it(new Date(i.createdAt)),t[3]=i.createdAt,t[4]=z):z=t[4],v=`${q} · added ${z} ago`}const j=v;let f;t[5]!==i.id||t[6]!==l?(f=async()=>{await l.call("AI_PROVIDER_KEY_DELETE",{keyId:i.id})},t[5]=i.id,t[6]=l,t[7]=f):f=t[7];let k;t[8]!==o||t[9]!==i.id||t[10]!==r?(k=()=>{r.invalidateQueries({queryKey:B.aiProviderKeys(o.id)}),r.invalidateQueries({queryKey:B.aiProviders(o.id)}),r.invalidateQueries({queryKey:B.aiProviderModels(o.id,i.id)}),Q.success("Key deleted"),_(!1)},t[8]=o,t[9]=i.id,t[10]=r,t[11]=k):k=t[11];let I;t[12]!==f||t[13]!==k?(I={mutationFn:f,onSuccess:k,onError:Pt},t[12]=f,t[13]=k,t[14]=I):I=t[14];const{mutate:h,isPending:p}=J(I);let y;t[15]!==u||t[16]!==g?(y=g?s.jsx("img",{src:g,alt:u,className:"size-8 rounded-md object-contain dark:bg-white dark:p-0.5"}):s.jsx(Qe,{fallback:u.charAt(0),className:"size-8 bg-primary/10 text-primary"}),t[15]=u,t[16]=g,t[17]=y):y=t[17];let R;t[18]===Symbol.for("react.memo_cache_sentinel")?(R=s.jsx(L,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:()=>d(!0),children:s.jsx(Be,{size:14})}),t[18]=R):R=t[18];let M,T;t[19]===Symbol.for("react.memo_cache_sentinel")?(M=()=>_(!0),T=s.jsx(Ge,{size:14}),t[19]=M,t[20]=T):(M=t[19],T=t[20]);let F;t[21]!==p?(F=s.jsxs("div",{className:"flex items-center gap-0.5",children:[R,s.jsx(L,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-destructive",disabled:p,onClick:M,children:T})]}),t[21]=p,t[22]=F):F=t[22];let A;t[23]!==j||t[24]!==u||t[25]!==F||t[26]!==y?(A=s.jsx(_e,{icon:y,title:u,description:j,action:F}),t[23]=j,t[24]=u,t[25]=F,t[26]=y,t[27]=A):A=t[27];let D;t[28]!==b||t[29]!==n||t[30]!==i?(D=s.jsx(Ct,{providerKey:i,provider:n,open:b,onOpenChange:d}),t[28]=b,t[29]=n,t[30]=i,t[31]=D):D=t[31];let K;t[32]===Symbol.for("react.memo_cache_sentinel")?(K=s.jsx(Ie,{children:"Delete API key"}),t[32]=K):K=t[32];let E;t[33]!==i.label?(E=s.jsxs(ke,{children:[K,s.jsxs(Ce,{children:["This action cannot be undone. This will permanently delete"," ",s.jsx("span",{className:"font-medium text-foreground",children:i.label}),"."]})]}),t[33]=i.label,t[34]=E):E=t[34];let S;t[35]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx(Ne,{children:"Cancel"}),t[35]=S):S=t[35];let w;t[36]!==h?(w=s.jsxs(we,{children:[S,s.jsx(Ae,{onClick:()=>h(),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]}),t[36]=h,t[37]=w):w=t[37];let $;t[38]!==E||t[39]!==w?($=s.jsxs(Pe,{children:[E,w]}),t[38]=E,t[39]=w,t[40]=$):$=t[40];let P;t[41]!==x||t[42]!==$?(P=s.jsx(De,{open:x,onOpenChange:_,children:$}),t[41]=x,t[42]=$,t[43]=P):P=t[43];let N;return t[44]!==A||t[45]!==D||t[46]!==P?(N=s.jsxs(s.Fragment,{children:[A,D,P]}),t[44]=A,t[45]=D,t[46]=P,t[47]=N):N=t[47],N}function Pt(e){return Q.error(`Failed to delete key: ${e.message}`)}function wt(e){const t=U.c(11),{onConnectClick:i}=e,n=X(),o=Se();let l;t[0]!==o?.providers?(l=o?.providers??[],t[0]=o?.providers,t[1]=l):l=t[1];const r=l;let x;if(t[2]!==n||t[3]!==i||t[4]!==r){let _;t[6]!==r?(_=m=>({key:m,provider:r.find(c=>c.id===m.providerId)}),t[6]=r,t[7]=_):_=t[7];const b=n.filter(Kt).map(_).filter(Dt);let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(Ve,{size:14}),t[8]=d):d=t[8];let a;t[9]!==i?(a=s.jsxs(L,{size:"sm",onClick:i,children:[d,"Connect provider"]}),t[9]=i,t[10]=a):a=t[10],x=s.jsx(de,{title:"Connected providers",headerClassName:"px-0",actions:a,children:b.length===0?s.jsx("p",{className:"text-sm text-muted-foreground px-1",children:"Bring your own keys to use specific models alongside Deco's gateway."}):s.jsx(ce,{children:b.map(At)})}),t[2]=n,t[3]=i,t[4]=r,t[5]=x}else x=t[5];return x}function At(e){const{key:t,provider:i}=e;return s.jsx(Nt,{providerKey:t,provider:i},t.id)}function Dt(e){return e.provider!==void 0}function Kt(e){return e.providerId!=="deco"}function Et(e){const t=U.c(3),{error:i}=e;let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(Re,{size:16}),t[0]=n):n=t[0];let o;return t[1]!==i.message?(o=s.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[n,s.jsxs("span",{className:"text-sm font-medium",children:["Failed to load AI providers: ",i.message]})]}),t[1]=i.message,t[2]=o):o=t[2],o}function $t(){const e=U.c(23),t=X();let i;e[0]!==t?(i=t.some(Rt),e[0]=t,e[1]=i):i=e[1];const n=i,o=t.length>0,[l,r]=O.useState(!1),[x,_]=O.useState(null),b=Se();let d;e[2]!==b?.providers?(d=b?.providers??[],e[2]=b?.providers,e[3]=d):d=e[3];const a=d;if(!o){let j;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=()=>r(!0),e[4]=j):j=e[4];let f;e[5]!==a?(f=s.jsx(We,{providers:a,onSelect:_,onShowAll:j}),e[5]=a,e[6]=f):f=e[6];const k=x!==null||l;let I;e[7]===Symbol.for("react.memo_cache_sentinel")?(I=R=>{R||(_(null),r(!1))},e[7]=I):I=e[7];const h=x??void 0;let p;e[8]!==k||e[9]!==h?(p=s.jsx(pe,{open:k,onOpenChange:I,initialProvider:h}),e[8]=k,e[9]=h,e[10]=p):p=e[10];let y;return e[11]!==f||e[12]!==p?(y=s.jsxs(s.Fragment,{children:[f,p]}),e[11]=f,e[12]=p,e[13]=y):y=e[13],y}let m;e[14]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx(O.Suspense,{fallback:s.jsx(ae,{className:"h-16 w-full"}),children:s.jsx(mt,{})}),e[14]=m):m=e[14];let c;e[15]!==n?(c=n?s.jsx(bt,{}):s.jsx(St,{}),e[15]=n,e[16]=c):c=e[16];let u;e[17]===Symbol.for("react.memo_cache_sentinel")?(u=s.jsx(wt,{onConnectClick:()=>r(!0)}),e[17]=u):u=e[17];let g;e[18]!==l?(g=s.jsx(pe,{open:l,onOpenChange:r}),e[18]=l,e[19]=g):g=e[19];let v;return e[20]!==c||e[21]!==g?(v=s.jsxs(s.Fragment,{children:[m,c,u,g]}),e[20]=c,e[21]=g,e[22]=v):v=e[22],v}function Rt(e){return e.providerId==="deco"}function Ft(){const e=U.c(2);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(te.Title,{children:"AI Providers"}),e[0]=t):t=e[0];let i;return e[1]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsx(te,{children:s.jsx(te.Content,{children:s.jsx(te.Body,{children:s.jsxs(Fe,{children:[t,s.jsx($e,{fallback:Ot,children:s.jsx(O.Suspense,{fallback:s.jsx(ae,{className:"h-64 w-full"}),children:s.jsx($t,{})})})]})})})}),e[1]=i):i=e[1],i}function Ot(e){const{error:t}=e;return s.jsx(Et,{error:t??new Error("Failed to load AI providers")})}function qs(){const e=U.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(ot,{capability:"ai-providers:manage",area:"AI providers",children:s.jsx(Ft,{})}),e[0]=t):t=e[0],t}export{qs as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as W,r as B,j as e,c as X,l as Y}from"./index-DxEUOQQs.js";import{i as Z}from"./ChevronRight-D4rmSZYg.js";import{S as tt}from"./scroll-area-ChPJ-NEF.js";import{aa as et,ab as rt,e as ot}from"./index-DnaxJsHb.js";import{c as it}from"./save-referenced-block-CL_4PMgI.js";import{S as mt}from"./schema-form-B407z7tS.js";import{S as pt}from"./save-status-BcFNfyWL.js";import"./select-BhUuCBjD.js";import"./tooltip-BIymZbyc.js";import"./Check-CJuLJZRg.js";import"./ChevronDown-BbO00aHm.js";import"./ChevronUp-DC9Fz2he.js";import"./agent-capabilities-v4Rwjpb1.js";import"./chat-context-C10uFg_9.js";import"./tab-id-CixUfikt.js";import"./use-mcp-client-BW6MR0tW.js";import"./decopilot-sse-pool-C9YWBszR.js";import"./create-sse-subscription-BS5983N4.js";import"./studio-tools-CdiIGNug.js";import"./use-virtual-mcp-C5aNldwS.js";import"./use-collections-CPla-8Z_.js";import"./use-ai-providers-i1tqdzqX.js";import"./use-organization-settings-Ds8za6ZV.js";import"./pair-Dqpt4Jli.js";import"./agent-icon-BL0Zyuef.js";import"./AlertCircle-C2JPSNIc.js";import"./Tool01-CHRhaVsB.js";import"./SwitchHorizontal01-uOesGvrj.js";import"./RefreshCcw01-De11YcWY.js";import"./XCircle-DSNLgcsz.js";import"./ArrowUpRight-Dtm-fMoi.js";import"./ZapSquare-B7LKxpnQ.js";import"./Users03-BZnIYCM1.js";import"./CheckCircle-B1gk6AbW.js";import"./ChevronLeft-CyC6kPhn.js";import"./DotsVertical-DVI2JfBT.js";import"./Container-Ck07PAMh.js";import"./Eye-8SpX7ax1.js";import"./ZoomOut-BhGMK1ir.js";import"./Globe01-_Gozs0-K.js";import"./FilterLines-DXoB5fi6.js";import"./Star01-CROTt7h-.js";import"./Palette-DvOu8iad.js";import"./HardDrive-D6YFkngp.js";import"./Stars02-Bb_Lb3Iw.js";import"./Key01-DtPyr_d4.js";import"./LayoutLeft-zPlWqXYO.js";import"./LinkExternal01-CMKC3Ppc.js";import"./Monitor01-Dg9LYm9U.js";import"./Sun--jg0YyzU.js";import"./Play-BGgNLf1z.js";import"./Plus-D3Yt_klI.js";import"./SearchMd-CkwYmYFX.js";import"./Settings02-RkWi-oHt.js";import"./Shield01-BkzImfUK.js";import"./Stars01-BZ01dqEy.js";import"./Trash01-D9jT6VSX.js";import"./Upload01-B6COGlQo.js";import"./User01-CWJ4O2R8.js";import"./Users01-Bsb338aB.js";import"./XClose-B2Xxw9ZV.js";import"./X-CH7nrxK3.js";import"./Zap-CtPT7vkQ.js";import"./use-clock-tick-B8zeuW9S.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-CMgaIgR7.js";import"./file-type-icon-g69R8oLw.js";import"./dialog-DlK91HiY.js";import"./content-blocks-o63cs2vh.js";import"./types-CmWRxh2O.js";import"./shell-layout-DRNHZhhH.js";import"./avatar-BL6j7EM4.js";import"./required-auth-layout-s-nnIbb3.js";import"./useRouterState-CKqJqhNS.js";import"./use-org-sso-BZSKGD_q.js";import"./integration-icon-TXgAkIpf.js";import"./use-navigate-to-agent-7tEptzcr.js";import"./use-connection-7yE-FpPg.js";import"./use-mcp-prompts-DauhYIMV.js";import"./form-8fnZRdSd.js";import"./label-Bz4-Isgq.js";import"./input-CzgGcI3V.js";import"./spinner-DJudGYoz.js";import"./drawer-We__DvM1.js";import"./collection-search-CVFFSy0S.js";import"./tabs-DpPbTcOX.js";import"./toggle-group-DUH3UCsh.js";import"./connect-desktop-dialog-nMepiraO.js";import"./agent-icons-AMlXFz_9.js";import"./checkbox-EJ-FS6-O.js";import"./skeleton-DU4Yk3QQ.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-BmqyawBS.js";import"./card-OOIE0uKL.js";import"./popover-7ZV_x738.js";import"./command-BeSVNuhP.js";import"./index-ZOhZPSgS.js";import"./useInfiniteQuery-CMP19UQ8.js";import"./infiniteQueryObserver-_wx8vha2.js";import"./sortable.esm-DLnTPF68.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-BAVVkgt5.js";import"./use-registry-connections-Bo5wHKtk.js";import"./extract-connection-data-Deygnaxj.js";import"./generate-id-DHU56BsF.js";import"./collections-BMUil3in.js";import"./collection-tabs-CArtFM6T.js";import"./badge-Cc4XouWa.js";import"./textarea-CHCvnh_8.js";import"./connection-form-helpers-C7w-EHHd.js";import"./use-infinite-scroll-COS9eomA.js";import"./useSuspenseInfiniteQuery-Dsr82JBj.js";import"./index-DBE0AwRo.js";import"./dropdown-menu-9oUOEimm.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-CDKyU1Jg.js";import"./sidebar-D_Yb-5nE.js";import"./sheet-Devtg9cX.js";import"./toolbar-Dje6lkWt.js";import"./use-create-virtual-mcp-BWWSVfRV.js";import"./github-repo-picker-CA1Lsyag.js";import"./use-mcp-tools-BdvRRDeD.js";import"./alert-dialog-DzLqwXYd.js";import"./index-C5kgHpFv.js";import"./use-org-auth-client-D_nAk9Nf.js";import"./hover-card-DwcwURxp.js";import"./task-status-B4xhXa10.js";import"./use-status-sounds-TuoDiwSP.js";import"./empty-state-DWre-pls.js";import"./resizable-D2JXsfXz.js";import"./use-capability-C6m2-0Ci.js";import"./header-tab-button-B8CWwAih.js";import"./index-BATH3mQn.js";import"./user-D4kiCnS_.js";import"./tools-list-BYNSxX2E.js";import"./switch-CbDNpyYj.js";import"./use-debounced-autosave-DtXHyjU0.js";import"./index-Daxt8Oww.js";import"./search-input-Cray-A1q.js";import"./use-secrets-3j7bfIX7.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-CMUFrLXB.js";import"./view-mode-toggle-D6mTnqbc.js";import"./select-model-C941S1nf.js";import"./use-automations-DGwM8rjk.js";import"./monaco-editor-H7pARgsv.js";import"./automation-runs-DAMwdbwt.js";import"./table-C7al_g9w.js";import"./use-members-UnrPTEyo.js";import"./automation-list-row-6z14sJQm.js";import"./calendar-DXmim9-f.js";import"./image-field-DmhpoXrw.js";import"./use-file-configs-BmBPsN9j.js";function to(E){const t=W.c(51),{orgSlug:R,virtualMcpId:P,branch:$,blockKey:r,block:m,meta:p,decofile:C,title:F,excludeFields:K,schemaPending:M}=E,V=M===void 0?!1:M,a=typeof m?.__resolveType=="string"?m.__resolveType:"";let v;t[0]!==K||t[1]!==p||t[2]!==a?(v=et(a,p,K),t[0]=K,t[1]=p,t[2]=a,t[3]=v):v=t[3];const s=v;let b;t[4]!==s?(b=!!s&&Object.keys(s.properties??{}).length>0,t[4]=s,t[5]=b):b=t[5];const T=b;let g;t[6]!==m||t[7]!==r||t[8]!==p||t[9]!==F?(g=F??(m?rt(r,m,p):r),t[6]=m,t[7]=r,t[8]=p,t[9]=F,t[10]=g):g=t[10];const n=g;let j;t[11]!==$||t[12]!==R||t[13]!==P?(j={orgSlug:R,virtualMcpId:P,branch:$},t[11]=$,t[12]=R,t[13]=P,t[14]=j):j=t[14];const{save:c,isPending:A}=ot(j);let y;t[15]!==c?(y=it((l,i)=>c(l,i)),t[15]=c,t[16]=y):y=t[16];const L=y,[G,H]=B.useState(r),[J,q]=B.useState(null),[z,Q]=B.useState(0);let S;t[17]===Symbol.for("react.memo_cache_sentinel")?(S=[],t[17]=S):S=t[17];const[o,O]=B.useState(S);G!==r&&(H(r),q(null),Q(st),O([]));let N;t[18]!==m?(N=m??{},t[18]=m,t[19]=N):N=t[19];const D=J??N;let k;t[20]!==r||t[21]!==a||t[22]!==c?(k=l=>{const i=l;q(i),c(r,{...i,__resolveType:a})},t[20]=r,t[21]=a,t[22]=c,t[23]=k):k=t[23];const I=k;let _;t[24]!==o||t[25]!==n?(_=o.length>0?[n,...o]:[],t[24]=o,t[25]=n,t[26]=_):_=t[26];const h=_;let d;t[27]!==o||t[28]!==h||t[29]!==n?(d=h.length>0?e.jsx("nav",{"aria-label":"Editing breadcrumb",className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:h.map((l,i)=>{const U=i===h.length-1;return e.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[i>0&&e.jsx(Z,{className:"size-3 shrink-0 text-muted-foreground/60"}),e.jsx("button",{type:"button",onClick:()=>O(i===0?[]:o.slice(0,i)),title:l,className:X("min-w-0 truncate rounded-md px-1 py-0.5 text-left transition-colors",U?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:l})]},`${l}-${i}`)})}):e.jsx("span",{className:"text-sm font-medium",children:n}),t[27]=o,t[28]=h,t[29]=n,t[30]=d):d=t[30];let f;t[31]!==A?(f=e.jsx(pt,{isPending:A,isError:!1}),t[31]=A,t[32]=f):f=t[32];let u;t[33]!==d||t[34]!==f?(u=e.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[d,f]}),t[33]=d,t[34]=f,t[35]=u):u=t[35];let x;t[36]!==r||t[37]!==o||t[38]!==C||t[39]!==D||t[40]!==z||t[41]!==I||t[42]!==T||t[43]!==p||t[44]!==L||t[45]!==s||t[46]!==V?(x=e.jsx(tt,{className:"min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:e.jsx("div",{className:"px-6 py-6",children:e.jsx("div",{className:"mx-auto max-w-xl",children:T?e.jsx(mt,{schema:s,value:D,onChange:I,basePath:"",breadcrumbPath:o,onBreadcrumbChange:O,decofile:C,meta:p,onSaveReferencedBlock:L},`${r}:${z}`):V?e.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[e.jsx(Y,{size:16,className:"animate-spin"}),"Loading app schema…"]}):e.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:"No editable schema found for this app."})})})}),t[36]=r,t[37]=o,t[38]=C,t[39]=D,t[40]=z,t[41]=I,t[42]=T,t[43]=p,t[44]=L,t[45]=s,t[46]=V,t[47]=x):x=t[47];let w;return t[48]!==u||t[49]!==x?(w=e.jsxs("div",{className:"flex h-full flex-col",children:[u,x]}),t[48]=u,t[49]=x,t[50]=w):w=t[50],w}function st(E){return E+1}export{to as AppEditor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{T as Ge,W as te,e as C,j as t,E as Pe,r as w,q as ie,H as Qe,c as J,bn as Ye,l as le,d as Xe,P as G,B as W,o as Ze,g as ae,bo as ke}from"./index-DxEUOQQs.js";import{E as Ee}from"./empty-state-DWre-pls.js";import{u as et,a as Oe}from"./use-collections-CPla-8Z_.js";import{u as ce}from"./use-mcp-client-BW6MR0tW.js";import{F as se,a as tt,b as de,d as me}from"./form-8fnZRdSd.js";import{I as ue}from"./input-CzgGcI3V.js";import{T as re}from"./textarea-CHCvnh_8.js";import{a as st,b as ot,V as pe}from"./layout-CJmh1JYB.js";import{S as nt,W as rt,a as it}from"./index-CFHtQMhz.js";import{g as lt,M as at,a as be}from"./types-CmWRxh2O.js";import{A as ct,a as dt,b as mt}from"./alert-Br2JNJoK.js";import{d as Ne,S as ve,a as Se,b as ye,c as oe}from"./select-BhUuCBjD.js";import{c as ut,b as we,T as Ce,a as Ie}from"./tooltip-BIymZbyc.js";import{i as pt}from"./AlertCircle-C2JPSNIc.js";import{T as xt,R as ft,a7 as ht,O as gt,a8 as jt,G as $e}from"./agent-icon-BL0Zyuef.js";import{a as bt}from"./Eye-8SpX7ax1.js";import{i as Nt}from"./Play-BGgNLf1z.js";import{i as vt}from"./ChevronRight-D4rmSZYg.js";import{O as St,M as yt}from"./index-C2l1dIiW.js";import{g as wt}from"./connection-slug-eyAPH6o3.js";import{u as Ct,T as It}from"./tools-list-BYNSxX2E.js";import{a as Ae,u as Re}from"./use-connection-7yE-FpPg.js";import{b as $t}from"./use-mcp-tools-BdvRRDeD.js";import{c as Tt}from"./content-blocks-o63cs2vh.js";import{I as Te}from"./integration-icon-TXgAkIpf.js";import{g as Pt,i as kt}from"./chat-context-C10uFg_9.js";import{u as Et}from"./shell-layout-DRNHZhhH.js";import{M as Ot}from"./monaco-editor-H7pARgsv.js";import{E as At}from"./empty-state-CwB2rEHC.js";import{n as Rt}from"./Container-Ck07PAMh.js";import"./label-Bz4-Isgq.js";import"./index-Daxt8Oww.js";import"./sidebar-D_Yb-5nE.js";import"./LayoutLeft-zPlWqXYO.js";import"./sheet-Devtg9cX.js";import"./X-CH7nrxK3.js";import"./index-oexgDee9.js";import"./collections-BMUil3in.js";import"./index-BZ_pIRwf.js";import"./use-virtual-mcp-C5aNldwS.js";import"./resizable-D2JXsfXz.js";import"./ZoomOut-BhGMK1ir.js";import"./badge-Cc4XouWa.js";import"./spinner-DJudGYoz.js";import"./view-mode-toggle-D6mTnqbc.js";import"./dialog-DlK91HiY.js";import"./scroll-area-ChPJ-NEF.js";import"./index-DBE0AwRo.js";import"./hover-card-DwcwURxp.js";import"./dropdown-menu-9oUOEimm.js";import"./Check-CJuLJZRg.js";import"./DotsVertical-DVI2JfBT.js";import"./Plus-D3Yt_klI.js";import"./Tool01-CHRhaVsB.js";import"./XClose-B2Xxw9ZV.js";import"./accordion-CMUFrLXB.js";import"./index-C5kgHpFv.js";import"./create-sse-subscription-BS5983N4.js";import"./ChevronDown-BbO00aHm.js";import"./ChevronUp-DC9Fz2he.js";import"./SwitchHorizontal01-uOesGvrj.js";import"./RefreshCcw01-De11YcWY.js";import"./XCircle-DSNLgcsz.js";import"./ArrowUpRight-Dtm-fMoi.js";import"./ZapSquare-B7LKxpnQ.js";import"./Users03-BZnIYCM1.js";import"./CheckCircle-B1gk6AbW.js";import"./ChevronLeft-CyC6kPhn.js";import"./Globe01-_Gozs0-K.js";import"./FilterLines-DXoB5fi6.js";import"./Star01-CROTt7h-.js";import"./Palette-DvOu8iad.js";import"./HardDrive-D6YFkngp.js";import"./Stars02-Bb_Lb3Iw.js";import"./Key01-DtPyr_d4.js";import"./LinkExternal01-CMKC3Ppc.js";import"./Monitor01-Dg9LYm9U.js";import"./Sun--jg0YyzU.js";import"./SearchMd-CkwYmYFX.js";import"./Settings02-RkWi-oHt.js";import"./Shield01-BkzImfUK.js";import"./Stars01-BZ01dqEy.js";import"./Trash01-D9jT6VSX.js";import"./Upload01-B6COGlQo.js";import"./User01-CWJ4O2R8.js";import"./Users01-Bsb338aB.js";import"./Zap-CtPT7vkQ.js";import"./extract-connection-data-Deygnaxj.js";import"./generate-id-DHU56BsF.js";import"./use-registry-connections-Bo5wHKtk.js";import"./use-organization-settings-Ds8za6ZV.js";import"./index-ZOhZPSgS.js";import"./popover-7ZV_x738.js";import"./use-create-virtual-mcp-BWWSVfRV.js";import"./use-navigate-to-agent-7tEptzcr.js";import"./tab-id-CixUfikt.js";import"./decopilot-sse-pool-C9YWBszR.js";import"./studio-tools-CdiIGNug.js";import"./use-ai-providers-i1tqdzqX.js";import"./avatar-BL6j7EM4.js";import"./required-auth-layout-s-nnIbb3.js";import"./useRouterState-CKqJqhNS.js";import"./use-org-sso-BZSKGD_q.js";import"./index-BATH3mQn.js";Ge({title:te().min(1),description:te().nullable(),body:te()});function ne(s){for(const e of s.messages??[])if(e.role==="user"&&e.content?.type==="text")return e.content.text??"";return""}function _t(){const s=window.location.pathname.split("/").filter(Boolean),e=s.findIndex(o=>o==="mcps"),n=e>=0?s[e+1]:void 0;return n?decodeURIComponent(n):void 0}function Dt(s){const e=C.c(13),{form:n}=s;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx("div",{className:"text-sm font-medium text-foreground",children:"Details"}),e[0]=o):o=e[0];let r;e[1]!==n.control?(r=t.jsxs("div",{className:"flex flex-col gap-4",children:[o,t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsx(se,{control:n.control,name:"title",render:zt}),t.jsx(se,{control:n.control,name:"description",render:Ut})]})]}),e[1]=n.control,e[2]=r):r=e[2];let i,a;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("div",{className:"text-sm font-medium text-foreground",children:"Message"}),a=t.jsx("div",{className:"text-xs text-muted-foreground",children:"This becomes the user message in the prompt."}),e[3]=i,e[4]=a):(i=e[3],a=e[4]);let c;e[5]!==n.control?(c=t.jsxs("div",{className:"flex flex-col gap-2",children:[i,a,t.jsx(se,{control:n.control,name:"body",render:Mt})]}),e[5]=n.control,e[6]=c):c=e[6];let l;e[7]!==r||e[8]!==c?(l=t.jsxs("div",{className:"h-full py-6 flex flex-col max-w-3xl mx-auto w-full min-w-0 gap-8 overflow-y-auto px-4",children:[r,c]}),e[7]=r,e[8]=c,e[9]=l):l=e[9];let p;return e[10]!==n||e[11]!==l?(p=t.jsx(tt,{...n,children:l}),e[10]=n,e[11]=l,e[12]=p):p=e[12],p}function Mt(s){const{field:e}=s;return t.jsx(de,{children:t.jsx(me,{children:t.jsx(re,{...e,value:e.value??"",placeholder:"Write the prompt message…",className:"min-h-[240px] resize-none text-base leading-relaxed font-normal rounded-xl border border-border bg-muted/20 px-4 py-3 shadow-none focus-visible:ring-0"})})})}function Ut(s){const{field:e}=s;return t.jsxs(de,{children:[t.jsx("div",{className:"text-xs text-muted-foreground",children:"Description"}),t.jsx(me,{children:t.jsx(ue,{...e,value:e.value??"",placeholder:"Add a description…",className:"h-9 rounded-lg border border-border bg-muted/20 shadow-none focus-visible:ring-0"})})]})}function zt(s){const{field:e}=s;return t.jsxs(de,{children:[t.jsx("div",{className:"text-xs text-muted-foreground",children:"Title"}),t.jsx(me,{children:t.jsx(ue,{...e,placeholder:"Untitled prompt",className:"h-9 rounded-lg border border-border bg-muted/20 shadow-none focus-visible:ring-0"})})]})}function Bt(s){const e=C.c(36),{providerId:n,promptId:o}=s,{org:r}=ie(),i=n||null;let a;e[0]!==r.id||e[1]!==r.slug||e[2]!==i?(a={connectionId:i,orgId:r.id,orgSlug:r.slug},e[0]=r.id,e[1]=r.slug,e[2]=i,e[3]=a):a=e[3];const c=ce(a),l=et(n,"PROMPT",o,c),p=Oe(n,"PROMPT",c),f=p.update.isPending;let u;e[4]!==l?(u=l?{title:l.title,description:l.description??null,body:ne(l)}:void 0,e[4]=l,e[5]=u):u=e[5];let h;e[6]!==u?(h={values:u},e[6]=u,e[7]=h):h=e[7];const N=Qe(h);let T;e[8]!==N||e[9]!==l?(T=()=>{l&&N.reset({title:l.title,description:l.description??null,body:ne(l)})},e[8]=N,e[9]=l,e[10]=T):T=e[10];const O=T;let A;e[11]!==p.update||e[12]!==N||e[13]!==o?(A=N.handleSubmit(async j=>{const k=await p.update.mutateAsync({id:o,data:{title:j.title,description:j.description,arguments:[],icons:[],messages:[{role:"user",content:{type:"text",text:j.body}}]}});N.reset({title:k.title,description:k.description??null,body:ne(k)})}),e[11]=p.update,e[12]=N,e[13]=o,e[14]=A):A=e[14];const R=A;if(!l){let j;return e[15]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx("div",{className:"flex h-full w-full bg-background",children:t.jsx(Ee,{title:"Prompt not found",description:"This prompt may have been deleted or you may not have access to it."})}),e[15]=j):j=e[15],j}let y;e[16]!==l.title?(y=t.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:l.title}),e[16]=l.title,e[17]=y):y=e[17];let P;e[18]!==l.description?(P=l.description?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"•"}),t.jsx("span",{className:"text-xs text-muted-foreground font-normal truncate min-w-0 max-w-[20ch]",children:l.description})]}):null,e[18]=l.description,e[19]=P):P=e[19];let I;e[20]!==y||e[21]!==P?(I=t.jsx(ot,{children:t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[y,P]})}),e[20]=y,e[21]=P,e[22]=I):I=e[22];let g;e[23]!==R?(g=()=>{R()},e[23]=R,e[24]=g):g=e[24];let v;e[25]!==N.formState.isDirty||e[26]!==f||e[27]!==O||e[28]!==g?(v=t.jsx(st,{children:t.jsx(nt,{onSave:g,onUndo:O,isDirty:N.formState.isDirty,isSaving:f})}),e[25]=N.formState.isDirty,e[26]=f,e[27]=O,e[28]=g,e[29]=v):v=e[29];let S;e[30]!==N?(S=t.jsx("div",{className:"h-full",children:t.jsx(Dt,{form:N})}),e[30]=N,e[31]=S):S=e[31];let $;return e[32]!==v||e[33]!==S||e[34]!==I?($=t.jsxs(pe,{children:[I,v,S]}),e[32]=v,e[33]=S,e[34]=I,e[35]=$):$=e[35],$}function Lt(s){const e=C.c(4),{itemId:n}=s;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=_t(),e[0]=o):o=e[0];const r=o;if(!r){let a;return e[1]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx("div",{className:"flex h-full w-full bg-background",children:t.jsx(Ee,{title:"Prompt not found",description:"Missing connection information in the current route."})}),e[1]=a):a=e[1],a}let i;return e[2]!==n?(i=t.jsx(Pe,{children:t.jsx(w.Suspense,{fallback:null,children:t.jsx(Bt,{providerId:r,promptId:n})})}),e[2]=n,e[3]=i):i=e[3],i}function _e(s){const e=C.c(8);let n,o;e[0]!==s?({className:n,...o}=s,e[0]=s,e[1]=n,e[2]=o):(n=e[1],o=e[2]);let r;e[3]!==n?(r=J("min-w-0 overflow-hidden",n),e[3]=n,e[4]=r):r=e[4];let i;return e[5]!==o||e[6]!==r?(i=t.jsx("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",className:r,...o}),e[5]=o,e[6]=r,e[7]=i):i=e[7],i}function De(s){const e=C.c(8);let n,o;e[0]!==s?({className:n,...o}=s,e[0]=s,e[1]=n,e[2]=o):(n=e[1],o=e[2]);let r;e[3]!==n?(r=J("flex items-center gap-1.5 text-sm sm:gap-2 overflow-hidden",n),e[3]=n,e[4]=r):r=e[4];let i;return e[5]!==o||e[6]!==r?(i=t.jsx("ol",{"data-slot":"breadcrumb-list",className:r,...o}),e[5]=o,e[6]=r,e[7]=i):i=e[7],i}function V(s){const e=C.c(8);let n,o;e[0]!==s?({className:n,...o}=s,e[0]=s,e[1]=n,e[2]=o):(n=e[1],o=e[2]);let r;e[3]!==n?(r=J("inline-flex items-center gap-1.5 min-w-0",n),e[3]=n,e[4]=r):r=e[4];let i;return e[5]!==o||e[6]!==r?(i=t.jsx("li",{"data-slot":"breadcrumb-item",className:r,...o}),e[5]=o,e[6]=r,e[7]=i):i=e[7],i}function Q(s){const e=C.c(10);let n,o,r;e[0]!==s?({asChild:n,className:o,...r}=s,e[0]=s,e[1]=n,e[2]=o,e[3]=r):(n=e[1],o=e[2],r=e[3]);const i=n?Ye:"a";let a;e[4]!==o?(a=J("hover:text-foreground transition-colors truncate",o),e[4]=o,e[5]=a):a=e[5];let c;return e[6]!==i||e[7]!==r||e[8]!==a?(c=t.jsx(i,{"data-slot":"breadcrumb-link",className:a,...r}),e[6]=i,e[7]=r,e[8]=a,e[9]=c):c=e[9],c}function Me(s){const e=C.c(8);let n,o;e[0]!==s?({className:n,...o}=s,e[0]=s,e[1]=n,e[2]=o):(n=e[1],o=e[2]);let r;e[3]!==n?(r=J("text-foreground font-medium truncate",n),e[3]=n,e[4]=r):r=e[4];let i;return e[5]!==o||e[6]!==r?(i=t.jsx("span",{"data-slot":"breadcrumb-page",role:"link","aria-disabled":"true","aria-current":"page",className:r,...o}),e[5]=o,e[6]=r,e[7]=i):i=e[7],i}function Y(s){const e=C.c(12);let n,o,r;e[0]!==s?({children:n,className:o,...r}=s,e[0]=s,e[1]=n,e[2]=o,e[3]=r):(n=e[1],o=e[2],r=e[3]);let i;e[4]!==o?(i=J("[&>svg]:size-3.5 text-muted-foreground opacity-50 list-none shrink-0",o),e[4]=o,e[5]=i):i=e[5];let a;e[6]!==n?(a=n??t.jsx(vt,{}),e[6]=n,e[7]=a):a=e[7];let c;return e[8]!==r||e[9]!==i||e[10]!==a?(c=t.jsx("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:i,...r,children:a}),e[8]=r,e[9]=i,e[10]=a,e[11]=c):c=e[11],c}const Ft=s=>s.replace(/_/g," ").replace(/\b\w/g,e=>e.toLocaleLowerCase());function Vt(s){const e=C.c(11),{toolName:n,connectionId:o,siblings:r,onSelectInstance:i,onBack:a}=s;let c;e[0]!==o?(c={connectionId:o},e[0]=o,e[1]=c):c=e[1];const l=Ct(c);if(!l.isAuthenticated){let u;return e[2]!==l.supportsOAuth||e[3]!==a?(u=t.jsx("div",{className:"flex h-full items-center justify-center",children:l.supportsOAuth?t.jsx(St,{onAuthenticate:()=>a(),buttonText:"Go back to authenticate"}):t.jsx(yt,{hasReadme:!1})}),e[2]=l.supportsOAuth,e[3]=a,e[4]=u):u=e[4],u}const p=`${o}:${n}`;let f;return e[5]!==o||e[6]!==i||e[7]!==r||e[8]!==p||e[9]!==n?(f=t.jsx(Jt,{toolName:n,connectionId:o,siblings:r,onSelectInstance:i},p),e[5]=o,e[6]=i,e[7]=r,e[8]=p,e[9]=n,e[10]=f):f=e[10],f}function Jt({toolName:s,connectionId:e,siblings:n,onSelectInstance:o}){const{replayId:r}=Xe({strict:!1}),i=(()=>{if(!r)return null;const d=`replay-${r}`,m=sessionStorage.getItem(d);if(!m)return null;sessionStorage.removeItem(d);try{return JSON.parse(m)}catch{return null}})(),a=(()=>{if(!i)return null;const d={};for(const[m,b]of Object.entries(i))b!==null&&typeof b=="object"?d[m]=JSON.stringify(b,null,2):d[m]=b;return d})(),[c,l]=w.useState(a??{}),[p,f]=w.useState(i?JSON.stringify(i,null,2):"{}"),[u,h]=w.useState(null),[N,T]=w.useState(null),[O,A]=w.useState(null),[R,y]=w.useState(null),[P,I]=w.useState(!1),[g,v]=w.useState(null),{org:S}=ie(),$=Ae(e),j=Pt(),k=kt(),{setChatOpen:B}=Et(),U=`${e}:${s}`,_=ce({connectionId:e,orgId:S.id,orgSlug:S.slug}),z=$t({client:_}),x=z.data?.tools?.find(d=>d.name===s),E=lt(x?._meta),F=d=>{if(!j)return;const m=Tt(d.content);m.content.length>0&&(B(!0),j.sendMessage({tiptapDoc:m}))},[D,X]=w.useState("json"),[Ue,ze]=w.useState(!1);E&&!Ue&&(X("ui"),ze(!0));const xe=x?.inputSchema?.properties,fe=xe?Object.keys(xe):[],q=fe.length>0,H={};if(q&&x?.inputSchema?.properties)for(const d of fe)H[d]=x.inputSchema.required?.includes(d)?"":void 0;const Z=d=>Object.prototype.hasOwnProperty.call(c,d),Be=async()=>{I(!0),y(null),h(null),T(null),A(null),v(null);const d=performance.now();try{if(!_)throw new Error("MCP client is not available");const m=q?{...H,...c}:(()=>{const M=p.trim();if(!M)return{};const L=JSON.parse(M);if(L&&typeof L=="object")return L;throw new Error("Raw JSON input must be an object.")})();q&&x?.inputSchema?.properties&&Object.entries(x.inputSchema.properties).forEach(([M,L])=>{if((L.type==="object"||L.type==="array")&&typeof m[M]=="string")try{m[M]=JSON.parse(m[M])}catch{}else if((L.type==="number"||L.type==="integer")&&typeof m[M]=="string"&&m[M]!==""){const je=Number(m[M]);Number.isNaN(je)||(m[M]=je)}});const b=await _.callTool({name:s,arguments:m}),K=b.structuredContent??b,We=performance.now(),He=Math.round(We-d);h(K),T(b),A(m);const Ke=JSON.stringify(K),ge=new TextEncoder().encode(Ke).length;v({duration:`${He}ms`,bytes:`${ge} bytes`,tokens:`~${Math.ceil(ge/4)} tokens`,cost:"$0.0000"})}catch(m){const b=m instanceof Error?m.message:String(m);y(b||"Unknown error occurred");const K=performance.now();v({duration:`${Math.round(K-d)}ms`})}finally{I(!1)}},ee=(d,m)=>{l(b=>({...b,[d]:m}))},Le=()=>{h(null),T(null),A(null),y(null),v(null)},Fe=x?.name??Ft(s),Ve=t.jsx(_e,{children:t.jsxs(De,{children:[t.jsx(V,{children:t.jsx(Q,{asChild:!0,children:t.jsx(G,{to:"/$org/settings/connections",params:{org:S.slug},children:"Connections"})})}),t.jsx(Y,{}),$&&t.jsxs(t.Fragment,{children:[t.jsx(V,{children:t.jsx(Q,{asChild:!0,children:t.jsx(G,{to:"/$org/settings/connections/$appSlug",params:{org:S.slug,appSlug:wt($)},search:{tab:"tools"},children:$.title})})}),t.jsx(Y,{})]}),t.jsx(V,{children:t.jsx(Me,{children:Fe})})]})}),he=n.length>1&&t.jsxs(Ne,{value:e,onValueChange:o,children:[t.jsx(ve,{className:"h-8 w-auto min-w-[200px]",children:t.jsx(Se,{})}),t.jsx(ye,{children:n.map(d=>t.jsx(oe,{value:d.id,children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(Te,{icon:d.icon,name:d.title,size:"xs",className:"shrink-0"}),d.title]})},d.id))})]}),Je=t.jsxs("div",{className:"flex flex-col p-6 gap-4 overflow-auto",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h2",{className:"text-sm font-semibold text-foreground uppercase tracking-wide",children:"Parameters"}),x?.inputSchema?.required&&x.inputSchema.required.length>0&&t.jsxs("span",{className:"text-xs text-muted-foreground",children:[t.jsx("span",{className:"text-red-500",children:"*"})," Required"]})]}),t.jsx("div",{className:"space-y-4",children:q&&x?.inputSchema?.properties?Object.entries(x.inputSchema.properties).map(([d,m])=>t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("label",{className:"text-sm font-medium leading-none flex items-center gap-1.5",children:[d,x.inputSchema?.required?.includes(d)&&t.jsx("span",{className:"text-red-500 text-xs",children:"*"})]}),t.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:m.type})]}),m.description&&t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:m.description}),m.type==="object"||m.type==="array"?t.jsx(re,{className:"font-mono text-xs",value:Z(d)?c[d]??"":H[d]??"",onChange:b=>ee(d,b.target.value),placeholder:`Enter ${d} as JSON...`,rows:3}):m.type==="boolean"?t.jsxs(Ne,{value:Z(d)?String(c[d]??""):"",onValueChange:b=>ee(d,b==="true"),children:[t.jsx(ve,{children:t.jsx(Se,{placeholder:"Select true or false..."})}),t.jsxs(ye,{children:[t.jsx(oe,{value:"true",children:"true"}),t.jsx(oe,{value:"false",children:"false"})]})]}):t.jsx(ue,{value:Z(d)?c[d]??"":H[d]??"",onChange:b=>ee(d,b.target.value),placeholder:`Enter ${d}...`})]},d)):x?.inputSchema&&!q?t.jsxs("div",{className:"space-y-2",children:[t.jsx("label",{className:"text-sm font-medium",children:"Raw JSON Input"}),t.jsx(re,{className:"font-mono text-xs min-h-[120px]",value:p,onChange:d=>f(d.target.value),placeholder:'e.g. { "foo": "bar" }'})]}):t.jsx("div",{className:"flex items-center justify-center p-8 bg-muted/30 rounded-lg border border-dashed border-border",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:"No parameters required"})})}),t.jsx("div",{className:"flex items-center gap-2 pt-2",children:P?t.jsxs(W,{size:"sm",variant:"destructive",className:"h-8 gap-2",onClick:Le,children:[t.jsx(xt,{className:"h-3.5 w-3.5"}),"Cancel"]}):t.jsxs(W,{size:"sm",variant:"default",className:"h-8 gap-2",onClick:Be,children:[t.jsx(Nt,{className:"h-3.5 w-3.5 fill-current"}),"Execute Tool"]})})]}),qe=t.jsxs("div",{className:"flex flex-col @3xl:h-full @3xl:overflow-hidden",children:[t.jsxs("div",{className:"flex items-center justify-between px-4 h-14 border-b border-border bg-background",children:[t.jsx("h2",{className:"text-sm font-medium text-foreground uppercase tracking-wide",children:"Result"}),t.jsxs("div",{className:"flex items-center gap-3",children:[g&&t.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx(ft,{className:"h-3 w-3 text-muted-foreground"}),t.jsx("span",{className:"font-mono text-foreground",children:g.duration})]}),g.tokens&&t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx(ht,{className:"h-3 w-3 text-muted-foreground"}),t.jsx("span",{className:"font-mono text-foreground",children:g.tokens})]}),g.bytes&&t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx(gt,{className:"h-3 w-3 text-muted-foreground"}),t.jsx("span",{className:"font-mono text-foreground",children:g.bytes})]}),g.cost&&t.jsx("div",{className:"flex items-center gap-1.5",children:t.jsx("span",{className:"font-mono text-foreground",children:g.cost})})]}),E&&t.jsx(ut,{children:t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsxs(we,{children:[t.jsx(Ce,{asChild:!0,children:t.jsx(W,{size:"icon",variant:D==="ui"?"secondary":"ghost",className:"h-8 w-8",onClick:()=>X("ui"),children:t.jsx(jt,{size:14})})}),t.jsx(Ie,{children:"Interactive view"})]}),t.jsxs(we,{children:[t.jsx(Ce,{asChild:!0,children:t.jsx(W,{size:"icon",variant:D==="json"?"secondary":"ghost",className:"h-8 w-8",onClick:()=>X("json"),children:t.jsx($e,{size:14})})}),t.jsx(Ie,{children:"JSON view"})]})]})})]})]}),R&&t.jsx("div",{className:"px-6 py-4 bg-background",children:t.jsx(ct,{variant:"destructive",children:t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(pt,{className:"h-4 w-4"}),t.jsx(dt,{className:"mb-0",children:"Execution Failed"})]}),t.jsx(mt,{className:"text-xs text-destructive",children:R})]})})}),t.jsx("div",{className:"relative flex-1 min-h-[400px] @3xl:min-h-0 @3xl:overflow-auto bg-muted/50",children:E&&D==="ui"&&_?t.jsx(w.Suspense,{fallback:t.jsx("div",{className:"flex items-center justify-center h-48",children:t.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[t.jsx("div",{className:"size-4 border-2 border-current border-t-transparent rounded-full animate-spin"}),t.jsx("span",{className:"text-sm",children:"Loading app..."})]})}),children:t.jsx(at,{resourceURI:E,toolInfo:x?{tool:x}:void 0,toolInput:O??void 0,toolResult:N??void 0,displayMode:"fullscreen",minHeight:be.view.minHeight,maxHeight:be.view.maxHeight,client:_,onMessage:F,onUpdateModelContext:d=>k?.setAppContext(U,d),onTeardown:()=>k?.clearAppContext(U),className:"h-full"})}):u?t.jsxs(t.Fragment,{children:[t.jsx(Ot,{code:JSON.stringify(u,null,2),language:"json",height:"100%",readOnly:!0}),t.jsx(W,{size:"icon",variant:"ghost",className:"absolute top-4 right-4 h-8 w-8 bg-background/80 hover:bg-background border border-border shadow-sm",onClick:()=>{navigator.clipboard.writeText(JSON.stringify(u,null,2)),Ze.success("Copied to clipboard")},children:t.jsx(bt,{className:"h-3.5 w-3.5"})})]}):t.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-muted-foreground",children:[t.jsx($e,{className:"h-12 w-12 mb-3 opacity-40"}),t.jsx("p",{className:"text-sm",children:"Run the tool to see results"})]})})]});return t.jsx(pe,{breadcrumb:Ve,children:t.jsxs("div",{className:"flex flex-col h-full overflow-hidden @container",children:[t.jsxs("div",{className:"flex flex-col gap-3 py-7 px-8 bg-background border-b border-border shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx(Te,{icon:$?.icon||null,name:$?.title||s,size:"xl",className:"shrink-0"}),t.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground leading-none truncate",children:s}),t.jsxs("div",{className:"flex items-center gap-2 px-2.5 py-1 bg-muted/50 rounded-md h-fit shrink-0",children:[z.isSuccess?t.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-green-500 animate-pulse shrink-0"}):z.isLoading?t.jsx(le,{size:10,className:"animate-spin text-yellow-500 shrink-0"}):t.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-red-500 shrink-0"}),t.jsx("span",{className:"font-mono text-xs capitalize text-muted-foreground leading-none",children:z.isSuccess?"ready":z.isLoading?"connecting":"error"})]}),t.jsx(It,{annotations:x?.annotations,_meta:x?._meta}),t.jsx("div",{className:"hidden @3xl:flex items-center ml-auto shrink-0",children:he})]}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:x?.description||"No description available"})]}),n.length>1&&t.jsxs("div",{className:"flex @3xl:hidden items-center gap-3 px-8 py-3 border-b border-border",children:[t.jsx("span",{className:"text-xs font-medium text-muted-foreground shrink-0",children:"Instance"}),he]}),t.jsx("div",{className:"flex-1 overflow-auto @3xl:overflow-hidden",children:t.jsxs("div",{className:"grid grid-cols-1 @3xl:grid-cols-[minmax(0,2fr)_minmax(0,5fr)] @3xl:h-full @3xl:grid-rows-1",children:[t.jsx("div",{className:"@3xl:border-r border-border @3xl:overflow-auto",children:Je}),qe]})})]})})}function qt(s){const e=C.c(10),{itemId:n,siblings:o,onBack:r}=s,[i,a]=w.useState(o[0]?.id??"");let c;e[0]!==i||e[1]!==o?(c=o.find(h=>h.id===i)?.id??o[0]?.id??"",e[0]=i,e[1]=o,e[2]=c):c=e[2];const l=c;if(!Ae(l||void 0)||!l){let h;return e[3]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsxs("div",{className:"flex flex-col items-center gap-2 text-center",children:[t.jsx("h3",{className:"text-lg font-semibold",children:"Connection not found"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"This connection may have been deleted or you may not have access."})]})}),e[3]=h):h=e[3],h}let f;e[4]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(le,{size:32,className:"animate-spin text-muted-foreground"})}),e[4]=f):f=e[4];let u;return e[5]!==l||e[6]!==r||e[7]!==o||e[8]!==n?(u=t.jsx(w.Suspense,{fallback:f,children:t.jsx(Vt,{toolName:n,connectionId:l,siblings:o,onSelectInstance:a,onBack:r})}),e[5]=l,e[6]=r,e[7]=o,e[8]=n,e[9]=u):u=e[9],u}const Wt={workflow:it,workflow_execution:rt,prompt:Lt};function Ht(){const s=C.c(9),e=ke();let n;s[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/shell/$org/settings/connections/$appSlug/$collectionName/$itemId"},s[0]=n):n=s[0];const o=ae(n),r=decodeURIComponent(o.itemId);let i;s[1]!==o.appSlug?(i={slug:o.appSlug},s[1]=o.appSlug,s[2]=i):i=s[2];const a=Re(i);let c;s[3]!==e.history?(c=()=>{e.history.back()},s[3]=e.history,s[4]=c):c=s[4];const l=c,p=Kt;let f;return s[5]!==l||s[6]!==r||s[7]!==a?(f=t.jsx(qt,{itemId:r,siblings:a,onBack:l,onUpdate:p}),s[5]=l,s[6]=r,s[7]=a,s[8]=f):f=s[8],f}async function Kt(s){return Promise.resolve()}function Gt(s){return s.toLowerCase().split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function Qt(){const s=C.c(41),e=ke();let n;s[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/shell/$org/settings/connections/$appSlug/$collectionName/$itemId"},s[0]=n):n=s[0];const o=ae(n),r=decodeURIComponent(o.collectionName),i=decodeURIComponent(o.itemId);let a;s[1]!==e.history?(a=()=>{e.history.back()},s[1]=e.history,s[2]=a):a=s[2];const c=a,{org:l}=ie();let p;s[3]!==o.appSlug?(p={slug:o.appSlug},s[3]=o.appSlug,s[4]=p):p=s[4];const u=Re(p)[0]??null,h=u?.id??"",N=h||"no-connection",T=h??null;let O;s[5]!==l.id||s[6]!==l.slug||s[7]!==T?(O={connectionId:T,orgId:l.id,orgSlug:l.slug},s[5]=l.id,s[6]=l.slug,s[7]=T,s[8]=O):O=s[8];const A=ce(O),R=Oe(N,r,A);let y;s[9]!==R||s[10]!==i?(y=async D=>{i&&await R.update.mutateAsync({id:i,data:D})},s[9]=R,s[10]=i,s[11]=y):y=s[11];const P=y;let I;s[12]!==r?(I=r?.toLowerCase(),s[12]=r,s[13]=I):I=s[13];const g=I,v=g&&Wt[g];let S;s[14]!==r?(S=Gt(r),s[14]=r,s[15]=S):S=s[15];const $=S;let j;s[16]!==l.slug?(j=t.jsx(V,{children:t.jsx(Q,{asChild:!0,children:t.jsx(G,{to:"/$org/settings/connections",params:{org:l.slug},children:"Connections"})})}),s[16]=l.slug,s[17]=j):j=s[17];let k;s[18]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx(Y,{}),s[18]=k):k=s[18];let B;s[19]!==r||s[20]!==u||s[21]!==l.slug||s[22]!==o.appSlug?(B=u&&t.jsxs(t.Fragment,{children:[t.jsx(V,{children:t.jsx(Q,{asChild:!0,children:t.jsx(G,{to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:o.appSlug},search:{tab:r},children:u.title})})}),t.jsx(Y,{})]}),s[19]=r,s[20]=u,s[21]=l.slug,s[22]=o.appSlug,s[23]=B):B=s[23];let U;s[24]!==$?(U=t.jsx(V,{children:t.jsx(Me,{children:$})}),s[24]=$,s[25]=U):U=s[25];let _;s[26]!==B||s[27]!==U||s[28]!==j?(_=t.jsx(_e,{children:t.jsxs(De,{children:[j,k,B,U]})}),s[26]=B,s[27]=U,s[28]=j,s[29]=_):_=s[29];const z=_;if(v){let D;return s[30]!==v||s[31]!==c||s[32]!==P||s[33]!==i?(D=t.jsx(v,{itemId:i,onBack:c,onUpdate:P}),s[30]=v,s[31]=c,s[32]=P,s[33]=i,s[34]=D):D=s[34],D}let x;s[35]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx(Rt,{size:36,className:"text-muted-foreground"}),s[35]=x):x=s[35];let E;s[36]!==c?(E=t.jsx(At,{icon:x,title:"No component defined",description:"No component for this collection was defined",buttonProps:{onClick:c,children:"Go back"}}),s[36]=c,s[37]=E):E=s[37];let F;return s[38]!==z||s[39]!==E?(F=t.jsx(pe,{breadcrumb:z,children:E}),s[38]=z,s[39]=E,s[40]=F):F=s[40],F}function Yt(){const s=C.c(3);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/shell/$org/settings/connections/$appSlug/$collectionName/$itemId"},s[0]=e):e=s[0];const n=ae(e);if(decodeURIComponent(n.collectionName)==="tools"){let a;return s[1]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(Ht,{}),s[1]=a):a=s[1],a}let i;return s[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Qt,{}),s[2]=i):i=s[2],i}function Go(){const s=C.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Pe,{children:t.jsx(w.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(le,{size:32,className:"animate-spin text-muted-foreground"})}),children:t.jsx(Yt,{})})}),s[0]=e):e=s[0],e}export{Go as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function E(f,u,c,o,a){const s=Math.min(f,u*o**c);return(1-a*Math.random())*s}const p=3e4,S=1e3;function C(f){const{buildUrl:u,eventTypes:c}=f,o=new Map;function a(r,e){for(const n of c)for(const t of e)r.addEventListener(n,t)}function s(r,e,n){const t=new EventSource(u(r));t.onopen=()=>{if(e.reconnectAttempt=0,n)for(const i of e.reconnectHandlers)i()},t.onerror=()=>{t.readyState===EventSource.CLOSED&&d(r,e)},e.es=t,a(t,e.handlers)}function d(r,e){if(e.refCount<=0){o.delete(r);return}if(e.reconnectTimer)return;const n=E(p,S,e.reconnectAttempt,2,0);e.reconnectAttempt++,e.reconnectTimer=setTimeout(()=>{if(e.reconnectTimer=null,e.refCount<=0){o.delete(r);return}e.es.close(),s(r,e,!0)},n)}function m(r){let e=o.get(r);return e||(e={es:null,refCount:0,handlers:new Set,reconnectHandlers:new Set,reconnectAttempt:0,reconnectTimer:null},s(r,e,!1),o.set(r,e)),e}return{subscribe(r,e,n){const t=m(r);t.refCount++,t.handlers.add(e),n&&t.reconnectHandlers.add(n);for(const l of c)t.es.addEventListener(l,e);let i=!1;return()=>{if(!i){i=!0;for(const l of c)t.es.removeEventListener(l,e);t.handlers.delete(e),n&&t.reconnectHandlers.delete(n),t.refCount--,t.refCount<=0&&(t.reconnectTimer&&clearTimeout(t.reconnectTimer),t.es.close(),o.delete(r))}}}}}export{C as c,E as e};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./index-DxEUOQQs.js";import{c as s}from"./create-sse-subscription-BS5983N4.js";const c={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},t=Object.values(c),n=s({buildUrl:o=>{const e=t.join(",");return`/api/${encodeURIComponent(o)}/watch?types=${e}`},eventTypes:[...t]});export{c as D,n as d};
|