decocms 3.36.5 → 3.36.7
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-CHkhp8BT.js → AlertCircle-Ed8WT4Gj.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-BLDnDQA4.js → ArrowUpRight-C-Lwk46I.js} +1 -1
- package/dist/client/assets/{Check-g3DB8Y79.js → Check-hOMWkijh.js} +1 -1
- package/dist/client/assets/{CheckCircle-CaqJ0h8v.js → CheckCircle-DaXMnsEo.js} +1 -1
- package/dist/client/assets/{ChevronDown-2xes5oAP.js → ChevronDown-D6Zecsff.js} +1 -1
- package/dist/client/assets/{ChevronLeft-DoZaWCdC.js → ChevronLeft-D-XrQc44.js} +1 -1
- package/dist/client/assets/{ChevronRight-BAb1spam.js → ChevronRight-DVoYZuHq.js} +1 -1
- package/dist/client/assets/{ChevronUp-D1fwNmdw.js → ChevronUp-Dl9jzSxx.js} +1 -1
- package/dist/client/assets/{Container-SX43EreL.js → Container-B5dlvIhN.js} +1 -1
- package/dist/client/assets/{DotsVertical-BJVJdITZ.js → DotsVertical-DaPu-BjL.js} +1 -1
- package/dist/client/assets/{Eye-B6_-sQMR.js → Eye-BKIYBCFX.js} +1 -1
- package/dist/client/assets/{FilterLines-Bppcas54.js → FilterLines-ClAdcVIA.js} +1 -1
- package/dist/client/assets/{Globe01-BaaIcJuv.js → Globe01-IHgKWLQG.js} +1 -1
- package/dist/client/assets/{HardDrive-DCOTq5uv.js → HardDrive-D-m2ZipN.js} +1 -1
- package/dist/client/assets/{Key01-WyguyLzq.js → Key01-BdHvOh_e.js} +1 -1
- package/dist/client/assets/{LayoutLeft-DFTfTIl4.js → LayoutLeft-BK03sAXS.js} +1 -1
- package/dist/client/assets/{LinkExternal01-C4yAqYts.js → LinkExternal01-Dnhttb39.js} +1 -1
- package/dist/client/assets/{Monitor01-rl2bcoeM.js → Monitor01-Dcp9PrZz.js} +1 -1
- package/dist/client/assets/{Palette-VBLL4nJC.js → Palette-NCjk3FGG.js} +1 -1
- package/dist/client/assets/{Play-Cjs1Q-Aw.js → Play-BpEe0tlc.js} +1 -1
- package/dist/client/assets/{Plus-C5heVoJ6.js → Plus-p5ww31iK.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-BZry-3Kg.js → RefreshCcw01-BFs2Qz_9.js} +1 -1
- package/dist/client/assets/{SearchMd-qFqO3CC6.js → SearchMd-Ds9YnLOw.js} +1 -1
- package/dist/client/assets/{Settings02-CLIbq_7z.js → Settings02-CecILrtY.js} +1 -1
- package/dist/client/assets/{Shield01-Bo6JmLSx.js → Shield01-vLzXztr0.js} +1 -1
- package/dist/client/assets/{Star01-2SOe9QD-.js → Star01-CZv8qd6s.js} +1 -1
- package/dist/client/assets/{Stars01-C-iKmdEF.js → Stars01-Ch5iJcxR.js} +1 -1
- package/dist/client/assets/{Stars02-CEd2BxY_.js → Stars02-BJ8W7Y3C.js} +1 -1
- package/dist/client/assets/{Sun-jizGeY2D.js → Sun-Cwmha-a2.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-CUtzfg9y.js → SwitchHorizontal01-FJhkXGab.js} +1 -1
- package/dist/client/assets/{Tool01-IpmKT80v.js → Tool01-iIvrrn5i.js} +1 -1
- package/dist/client/assets/{Trash01-DM00_xyO.js → Trash01-DwmURdtf.js} +1 -1
- package/dist/client/assets/{Upload01-D0E7TXXq.js → Upload01-oRevAfqv.js} +1 -1
- package/dist/client/assets/{User01-ga9dWIix.js → User01-h8GKw08y.js} +1 -1
- package/dist/client/assets/{Users01-lGeZPP0U.js → Users01-CFNaA2uI.js} +1 -1
- package/dist/client/assets/{Users03-1mzpWPfB.js → Users03-OjZAoe5s.js} +1 -1
- package/dist/client/assets/{X-C_bQSA-d.js → X-BgKKVHlr.js} +1 -1
- package/dist/client/assets/{XCircle-D9AGwgGK.js → XCircle-4DVMD60R.js} +1 -1
- package/dist/client/assets/{XClose-dBx0FEAe.js → XClose-DCqhWNaS.js} +1 -1
- package/dist/client/assets/{Zap-BJCyzigO.js → Zap-CPTWGjTM.js} +1 -1
- package/dist/client/assets/{ZapSquare-CJ6AZAbk.js → ZapSquare-BvMNCS-J.js} +1 -1
- package/dist/client/assets/{ZoomOut-B2ojfl-A.js → ZoomOut-CW29g7dT.js} +1 -1
- package/dist/client/assets/{access-gate-DR6xMqvH.js → access-gate-pr0ODfb7.js} +1 -1
- package/dist/client/assets/{accordion-CQcOq9Y1.js → accordion-CU40J33b.js} +1 -1
- package/dist/client/assets/{add-section-modal-55MbBlme.js → add-section-modal-BWm2AJ0q.js} +1 -1
- package/dist/client/assets/{agent-capabilities-CtOghWTY.js → agent-capabilities-yZ8XaTX2.js} +1 -1
- package/dist/client/assets/{agent-icon-BIiUgn6T.js → agent-icon-BFDCs9_Z.js} +1 -1
- package/dist/client/assets/{agents-list-BC6bGl1F.js → agents-list-BKJtJMvc.js} +1 -1
- package/dist/client/assets/{ai-providers-CF2sNVXk.js → ai-providers-CJkHlX6K.js} +1 -1
- package/dist/client/assets/{alert-C0EsYqWw.js → alert-DiRsUmKf.js} +1 -1
- package/dist/client/assets/{alert-dialog-DH_8ED2c.js → alert-dialog-CC8Nrrwj.js} +1 -1
- package/dist/client/assets/app-editor-B5OzMkUT.js +1 -0
- package/dist/client/assets/{auth-DMsnFrvi.js → auth-DJSYPeCk.js} +1 -1
- package/dist/client/assets/{auth-catchall-B3-iMOVk.js → auth-catchall-Dx2KpvhV.js} +1 -1
- package/dist/client/assets/{auth-split-layout-DUkVa1zJ.js → auth-split-layout-BV7u2yqx.js} +1 -1
- package/dist/client/assets/{automation-list-row-H0j7w0mf.js → automation-list-row-Cjxizj0b.js} +1 -1
- package/dist/client/assets/{automation-runs-iFgQkQtG.js → automation-runs-DNXo6gXs.js} +1 -1
- package/dist/client/assets/{automations-C6K_k2_u.js → automations-rHCkM3Cy.js} +1 -1
- package/dist/client/assets/{avatar-D47Jk04K.js → avatar-UnU39lqG.js} +1 -1
- package/dist/client/assets/{badge-B4Q3Kugn.js → badge-CXi-6wCL.js} +1 -1
- package/dist/client/assets/{brand-context-BflLJViw.js → brand-context-B1jHlQ7w.js} +1 -1
- package/dist/client/assets/{buckets-Cer0snSA.js → buckets-CahkUhkJ.js} +1 -1
- package/dist/client/assets/{calendar-BOtLk06o.js → calendar-Cn9BXXgq.js} +1 -1
- package/dist/client/assets/{capability-load-error-CXdwr2J6.js → capability-load-error-CvEelInB.js} +1 -1
- package/dist/client/assets/{card-LUxcXBOp.js → card-Cq52ff9r.js} +1 -1
- package/dist/client/assets/{chat-context-BJ1vdoQm.js → chat-context-nmnUXp-5.js} +1 -1
- package/dist/client/assets/{checkbox-CHqLn2TQ.js → checkbox-ACcWh1Vf.js} +1 -1
- package/dist/client/assets/{cli-auth-success-CjN24BgV.js → cli-auth-success-8DGAcvK3.js} +1 -1
- package/dist/client/assets/{collection-detail-Ba7yJUvR.js → collection-detail-Dc0wdNuQ.js} +1 -1
- package/dist/client/assets/{collection-display-button-DuPg0P2z.js → collection-display-button-C-bIStw0.js} +1 -1
- package/dist/client/assets/{collection-search-BJmgl3qg.js → collection-search-DJZ5WWKp.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BpQMr64m.js → collection-table-wrapper-2_d3hKf_.js} +1 -1
- package/dist/client/assets/{collection-tabs-BjDLPumD.js → collection-tabs-Bx2Va-P2.js} +1 -1
- package/dist/client/assets/{collections-_vOvxoxw.js → collections-Cz3-h9U0.js} +1 -1
- package/dist/client/assets/{command-DEfANLSd.js → command-CCjZZZ4C.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-D5KjXYkQ.js → connect-desktop-dialog-yl6ZKtjx.js} +1 -1
- package/dist/client/assets/{connection-card-CmfMbikw.js → connection-card-BOpbcSN7.js} +1 -1
- package/dist/client/assets/{connection-detail-vdtWGKC_.js → connection-detail-BhNOEOgd.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-BzM5voPg.js → connection-form-helpers-Dxk2MmY9.js} +1 -1
- package/dist/client/assets/{connections-CUS_xbnw.js → connections-DXtBWmBY.js} +1 -1
- package/dist/client/assets/{decopilot-DdFCWM0M.js → decopilot-BGmtBq14.js} +1 -1
- package/dist/client/assets/decopilot-sse-pool-BFcQnN53.js +1 -0
- package/dist/client/assets/{dialog-DNvA-MUO.js → dialog-CzGAAvWN.js} +1 -1
- package/dist/client/assets/{domain-settings-DZsGHi4R.js → domain-settings-Cn4mDY1P.js} +1 -1
- package/dist/client/assets/{drawer-DaOnsuqJ.js → drawer-zoczdkVe.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BWTWFWGo.js → dropdown-menu-BkH8Xao7.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-ExZGsuej.js → dynamic-plugin-layout-vWV7hloc.js} +1 -1
- package/dist/client/assets/{empty-state-D4NUg8rC.js → empty-state-MVVoQnYY.js} +1 -1
- package/dist/client/assets/{empty-state-DDEvpq3s.js → empty-state-R63U5s81.js} +1 -1
- package/dist/client/assets/{extract-connection-data-CkRoghUt.js → extract-connection-data-CmNoGcFu.js} +1 -1
- package/dist/client/assets/{features-BongOf8c.js → features-Cs6PsxeC.js} +1 -1
- package/dist/client/assets/{file-explorer-XfexYTEx.js → file-explorer-gLI4K_v7.js} +2 -2
- package/dist/client/assets/{file-type-icon-BkDt79pr.js → file-type-icon-gUlR8IWW.js} +1 -1
- package/dist/client/assets/{files-Bz4E67nD.js → files-BWYIjwc8.js} +1 -1
- package/dist/client/assets/{form-DrzcdlAc.js → form-CnR2V-ks.js} +1 -1
- package/dist/client/assets/{general-BVm3ASTD.js → general-GgcXrTtw.js} +1 -1
- package/dist/client/assets/{generate-id-CGijBPI-.js → generate-id-DGlkxVc2.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BeWTfzSO.js → github-repo-picker-C2KzUb3w.js} +1 -1
- package/dist/client/assets/{header-tab-button-zS78j2W5.js → header-tab-button-VslXzF2w.js} +1 -1
- package/dist/client/assets/{hover-card-B-GHi_m9.js → hover-card-CGVQKCuw.js} +1 -1
- package/dist/client/assets/{image-field-BSr72dUp.js → image-field-Jp564yvH.js} +1 -1
- package/dist/client/assets/{index-CATx2LDP.js → index-3A6UoYVV.js} +3 -3
- package/dist/client/assets/{index-ixf29u8o.js → index-B1ijey2B.js} +1 -1
- package/dist/client/assets/{index-DFVJVQA2.js → index-BfXyqNW3.js} +1 -1
- package/dist/client/assets/{index-C8Pyar_y.js → index-BiXwc5E0.js} +1 -1
- package/dist/client/assets/{index-BAd8YgC5.js → index-ByQPX0vL.js} +14 -14
- package/dist/client/assets/{index-CFFL2KPG.js → index-C39hLJ_E.js} +1 -1
- package/dist/client/assets/{index-DaZw25FU.js → index-CJXn_sOp.js} +1 -1
- package/dist/client/assets/{index-CYO3Ph9A.js → index-CPnOXYJR.js} +1 -1
- package/dist/client/assets/{index-BawfkDKi.js → index-CRvVErLg.js} +1 -1
- package/dist/client/assets/{index-N4G3Aj63.js → index-CuPmOMX1.js} +1 -1
- package/dist/client/assets/{index-BAj1MLDn.js → index-E1qbbJGV.js} +1 -1
- package/dist/client/assets/{index-ZvvZYF8M.js → index-HPKXkHKk.js} +1 -1
- package/dist/client/assets/{index-XrBr9Z6q.js → index-Oh8yJO5F.js} +1 -1
- package/dist/client/assets/{index-uJwxtRre.js → index-SIlwv3wO.js} +1 -1
- package/dist/client/assets/{index-CkRC9R0g.js → index-crwG5WD5.js} +1 -1
- package/dist/client/assets/{index-redirect-DVr8CNux.js → index-redirect-CtpwDDqx.js} +1 -1
- package/dist/client/assets/index-x1oWiCfZ.css +1 -0
- package/dist/client/assets/{input-mRhCdgaG.js → input-BO5qrDqG.js} +1 -1
- package/dist/client/assets/{integration-icon-BT5xGQIC.js → integration-icon-BOYFJ8DV.js} +1 -1
- package/dist/client/assets/{label-CfV-PYxa.js → label-BwpjeHse.js} +1 -1
- package/dist/client/assets/{layout-D1aQgp35.js → layout-kjQxtKiH.js} +1 -1
- package/dist/client/assets/{login-CZLccZp8.js → login-GrPo3thm.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CrqBOcGb.js → mcp-oauth-DQ0PJisw.js} +1 -1
- package/dist/client/assets/{members-7Zc6z3Rq.js → members-CaNyMEcY.js} +1 -1
- package/dist/client/assets/{monaco-editor-DEShyEoY.js → monaco-editor-CK8BXc9B.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-BM39sgKM.js → monitoring-stats-row-BCMekdum.js} +1 -1
- package/dist/client/assets/{oauth-callback-Deog_8B9.js → oauth-callback-M9pqKkZ6.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-xndj3XhW.js → oauth-callback-ai-provider-C8VMML4x.js} +1 -1
- package/dist/client/assets/{onboarding-CIa5WJ8X.js → onboarding-DwMXPcr0.js} +1 -1
- package/dist/client/assets/{org-install-BzEXj1P0.js → org-install-CV4ZHpDg.js} +1 -1
- package/dist/client/assets/{org-layout-CKQErl_L.js → org-layout-DVQuykzD.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-C8fcylb0.js → org-plugin-layout-BtoR2QTw.js} +1 -1
- package/dist/client/assets/{page-seo-form-Bsto7oKw.js → page-seo-form-B7D3v3nU.js} +1 -1
- package/dist/client/assets/page-seo-sheet-DTNpeh0h.js +1 -0
- package/dist/client/assets/{pair-GelmpgQ4.js → pair-Dil5_pcO.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-DmX9NQ0c.js → plugin-empty-state-BzVqu6TN.js} +1 -1
- package/dist/client/assets/{plugin-header-CwlC7555.js → plugin-header-DWPYLa_u.js} +1 -1
- package/dist/client/assets/{plugin-layout-DXTE_nWx.js → plugin-layout-B5zr5ZNJ.js} +1 -1
- package/dist/client/assets/{popover-Djx3eehK.js → popover-LSofc-Ht.js} +1 -1
- package/dist/client/assets/{post-editor-vgnxCwvH.js → post-editor-D44H33Ev.js} +1 -1
- package/dist/client/assets/{primitives-CzBbBQlZ.js → primitives-B-tCjIZY.js} +1 -1
- package/dist/client/assets/{profile-CfZAUHfV.js → profile-CTOXeyrM.js} +1 -1
- package/dist/client/assets/project-app-view-BqNP4BqO.js +1 -0
- package/dist/client/assets/record-editor-DKxdQpOd.js +1 -0
- package/dist/client/assets/registry-fugAH1SF.js +2 -0
- package/dist/client/assets/{registry-layout-dZaBo1gQ.js → registry-layout-Ch3aq8dl.js} +1 -1
- package/dist/client/assets/{require-capability-BG1IhctK.js → require-capability-BxAO3wIs.js} +1 -1
- package/dist/client/assets/{required-auth-layout-BIu6_zGe.js → required-auth-layout-DSM_VKs3.js} +1 -1
- package/dist/client/assets/{reset-password-CKpvPCzb.js → reset-password-D-GqFQGk.js} +1 -1
- package/dist/client/assets/{resizable-Cv_aeq4n.js → resizable-B4l6iV43.js} +1 -1
- package/dist/client/assets/{roles-C5F1SkRZ.js → roles-o1zt3GvN.js} +1 -1
- package/dist/client/assets/save-referenced-block-D3oE4sNG.js +1 -0
- package/dist/client/assets/{save-status-BBW-EIin.js → save-status-D6x5ygDT.js} +1 -1
- package/dist/client/assets/schema-form-DMYKUxBP.js +1 -0
- package/dist/client/assets/{scroll-area--D79tEKR.js → scroll-area-C_2w27J_.js} +1 -1
- package/dist/client/assets/{search-input-Bxn-rqNj.js → search-input-DVgXRiZR.js} +1 -1
- package/dist/client/assets/{secrets-ehDiMfv8.js → secrets-B0-mRRFx.js} +1 -1
- package/dist/client/assets/{sections-editor-DYjunrSM.js → sections-editor-C8bLzbs2.js} +1 -1
- package/dist/client/assets/{select-Cgf1CYEw.js → select-ZTWu_v20.js} +1 -1
- package/dist/client/assets/{select-model-C_VkZ9VQ.js → select-model-5lUJdDoI.js} +1 -1
- package/dist/client/assets/{seo-editor-BNfgWkza.js → seo-editor-BsQ-irXW.js} +1 -1
- package/dist/client/assets/{settings-layout-9tbfb6nK.js → settings-layout-DgPXs3pz.js} +1 -1
- package/dist/client/assets/{settings-section-DKCuI8RI.js → settings-section-Codz-oCA.js} +1 -1
- package/dist/client/assets/{sheet-BBLc_qUy.js → sheet-B0-Ak1q5.js} +1 -1
- package/dist/client/assets/{shell-controls-CiQQboR4.js → shell-controls-DeSD3a6S.js} +1 -1
- package/dist/client/assets/{shell-layout-uIwUEFHm.js → shell-layout-tz0do_YA.js} +1 -1
- package/dist/client/assets/{shell-route-loading-znYPD3vX.js → shell-route-loading-CelzgtUw.js} +1 -1
- package/dist/client/assets/{sidebar-BuWHGfqc.js → sidebar-BFHf_5hi.js} +1 -1
- package/dist/client/assets/{skeleton-BRChPnS2.js → skeleton-B67EiDJp.js} +1 -1
- package/dist/client/assets/{sortable.esm-BSN8qWvt.js → sortable.esm-MNP5qK3e.js} +1 -1
- package/dist/client/assets/{spinner-uDki_7Z8.js → spinner-DlDtfq8X.js} +1 -1
- package/dist/client/assets/{sso-Bpk5jRgU.js → sso-Bsbzg72v.js} +1 -1
- package/dist/client/assets/{store-DUo-qH8F.js → store-IInyfase.js} +1 -1
- package/dist/client/assets/store-registry-CsakCxO1.js +2 -0
- package/dist/client/assets/{studio-tools-Av8VgprY.js → studio-tools-5svO8SUS.js} +1 -1
- package/dist/client/assets/{switch-BCvTAJSU.js → switch-DeHeN4cz.js} +1 -1
- package/dist/client/assets/{tab-id-B-5zrrfX.js → tab-id-DbWeeC0G.js} +1 -1
- package/dist/client/assets/{table-CoPsT_qq.js → table-BsR0J7GU.js} +1 -1
- package/dist/client/assets/{tabs-DevQrGCr.js → tabs-giJtwkTu.js} +1 -1
- package/dist/client/assets/{task-status-DfBkdT3D.js → task-status-Dn4t1RRN.js} +1 -1
- package/dist/client/assets/{textarea-QDTInyWb.js → textarea-DzhddUkP.js} +1 -1
- package/dist/client/assets/{toggle-group-BJNcAi1V.js → toggle-group-CxFiGMEf.js} +1 -1
- package/dist/client/assets/{toolbar-n5eK8Q5W.js → toolbar-CLFrtQQ_.js} +1 -1
- package/dist/client/assets/{tools-list-DRP2WIO_.js → tools-list-Dl7cbDhm.js} +1 -1
- package/dist/client/assets/{tooltip-1mt0C65x.js → tooltip-DQDMg1b1.js} +1 -1
- package/dist/client/assets/{types-C-U3Ts-j.js → types-UvP9C7p3.js} +1 -1
- package/dist/client/assets/{use-ai-providers-DrMdym73.js → use-ai-providers-Cr46upMo.js} +1 -1
- package/dist/client/assets/{use-automations-CcLdI8uN.js → use-automations-BBUkUQ8G.js} +1 -1
- package/dist/client/assets/{use-capability-Ctju3DPP.js → use-capability-CGkc4knN.js} +1 -1
- package/dist/client/assets/{use-clock-tick-C75wEYcQ.js → use-clock-tick-CzJnQlQG.js} +1 -1
- package/dist/client/assets/{use-collections-ByNVa1P1.js → use-collections-BLfqGVtV.js} +1 -1
- package/dist/client/assets/{use-connection-5fAWFRJ_.js → use-connection-BfMAeb_Q.js} +1 -1
- package/dist/client/assets/{use-copy-xQaZthc_.js → use-copy-9Wdzru7Q.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-K5P4r7gs.js → use-create-virtual-mcp-wvSq76wx.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-B6us4Px1.js → use-debounced-autosave-u9qG0ZTU.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BRozsEjt.js → use-delete-connection-Bn5bXVXX.js} +1 -1
- package/dist/client/assets/{use-file-configs-nuDPJJdx.js → use-file-configs-mXTuB2DX.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CzLnKKRE.js → use-infinite-scroll-DYawWhKj.js} +1 -1
- package/dist/client/assets/{use-list-state-DUnsuQSl.js → use-list-state-B2iOzg-i.js} +1 -1
- package/dist/client/assets/{use-mcp-client-SlmBrgfs.js → use-mcp-client-BMnsqIXj.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-BS6YGKJi.js → use-mcp-prompts-DL4LuXlA.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DJTjDxAS.js → use-mcp-tools-CKRfS_sl.js} +1 -1
- package/dist/client/assets/{use-members-Ceh2no3q.js → use-members-U0leyacB.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CSNmmW1c.js → use-navigate-to-agent-BlOVhScz.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CNwi-nzI.js → use-org-auth-client-CoUwF4oC.js} +1 -1
- package/dist/client/assets/{use-org-sso-DJ7AQqIg.js → use-org-sso-BGuT9jdE.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DMeQF3Y-.js → use-organization-roles-DTKSy2kY.js} +1 -1
- package/dist/client/assets/{use-organization-settings-D0hAXIi9.js → use-organization-settings-CAAXrkPr.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CUSj2SXo.js → use-registry-connections-Df7awY3K.js} +1 -1
- package/dist/client/assets/{use-secrets-BPqsqJsG.js → use-secrets-Bu639qz1.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DiIUarno.js → use-status-sounds-5hLXwCVP.js} +1 -1
- package/dist/client/assets/{use-view-mode-40X1ior9.js → use-view-mode-C9kxudo3.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CU7uEJL7.js → use-virtual-mcp-eosOOizO.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-CWjuZK4m.js +1 -0
- package/dist/client/assets/{useRouterState-CFGs8v1R.js → useRouterState-DDFrbGVN.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-9Cg4OZk0.js +1 -0
- package/dist/client/assets/{user-CW9-suBt.js → user-CtUl632O.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CRuQE6Gp.js → view-mode-toggle-CfpE5tGI.js} +1 -1
- package/dist/client/assets/{watch-sse-pool-Dk5ELrHR.js → watch-sse-pool-BIuphsPs.js} +1 -1
- package/dist/client/assets/{workflow-yvNNhsP9.js → workflow-DaKB0r8h.js} +1 -1
- package/dist/client/assets/workflow-detail-CVZkvgvJ.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/app-editor-iZwP6h8z.js +0 -1
- package/dist/client/assets/decopilot-sse-pool-Bxs_zfqE.js +0 -1
- package/dist/client/assets/index-DfYyH4IW.css +0 -1
- package/dist/client/assets/page-seo-sheet-DgBZvqMn.js +0 -1
- package/dist/client/assets/project-app-view-CWx732eY.js +0 -1
- package/dist/client/assets/record-editor-YgNVDF0i.js +0 -1
- package/dist/client/assets/registry-DsHjSNw5.js +0 -2
- package/dist/client/assets/save-referenced-block-BFfdfLwW.js +0 -1
- package/dist/client/assets/schema-form-e-mnDCXf.js +0 -1
- package/dist/client/assets/store-registry-DUOhtiaZ.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Dj9YLZ3r.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CACV_JG8.js +0 -1
- package/dist/client/assets/workflow-detail-DkjxBQfg.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{K as g,e as c,p as _,m as z,F as C,a as P,r as R}from"./index-
|
|
1
|
+
import{K as g,e as c,p as _,m as z,F as C,a as P,r as R}from"./index-3A6UoYVV.js";import{a as h,u as A,W as b}from"./use-mcp-client-BMnsqIXj.js";const S={organizationId:"",sidebar_items:null,enabled_plugins:null,registry_config:null,simple_mode:null,default_home_agents:null},N={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}};function O(t,e){return{queryKey:g.organizationSettings(e),queryFn:async()=>{const n=await t.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}});return n?.isError?{...S,organizationId:e}:n.structuredContent??{...S,organizationId:e}},staleTime:6e4}}function E(t){const e=c.c(9),{org:n}=_();let s;e[0]!==n.id||e[1]!==n.slug?(s={connectionId:h,orgId:n.id,orgSlug:n.slug},e[0]=n.id,e[1]=n.slug,e[2]=s):s=e[2];const r=A(s);let i;e[3]!==r||e[4]!==n.id?(i=O(r,n.id),e[3]=r,e[4]=n.id,e[5]=i):i=e[5];const o=t;let a;return e[6]!==i||e[7]!==o?(a={...i,select:o},e[6]=i,e[7]=o,e[8]=a):a=e[8],z(a)}function Y(t,e){const n=c.c(6);let s;n[0]!==t||n[1]!==e?(s={connectionId:h,orgId:t,orgSlug:e},n[0]=t,n[1]=e,n[2]=s):s=n[2];const r=A(s);let i;n[3]!==r||n[4]!==t?(i=O(r,t),n[3]=r,n[4]=t,n[5]=i):i=n[5];const{data:o}=z(i);return o??null}function T(){const t=c.c(12),{org:e}=_();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:h,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const s=A(n),r=C();let i;t[3]!==s||t[4]!==e.id?(i=async l=>{const u=await s.callTool({name:"ORGANIZATION_SETTINGS_UPDATE",arguments:{organizationId:e.id,...l}});if(u?.isError)throw new Error(u.content?.[0]?.text??"Failed to update organization settings");const m=u.structuredContent;if(!m)throw new Error("ORGANIZATION_SETTINGS_UPDATE returned no payload");return m},t[3]=s,t[4]=e.id,t[5]=i):i=t[5];let o;t[6]!==e.id||t[7]!==r?(o=l=>{r.setQueryData(g.organizationSettings(e.id),u=>({...u??S,...l}))},t[6]=e.id,t[7]=r,t[8]=o):o=t[8];let a;return t[9]!==i||t[10]!==o?(a={mutationFn:i,onSuccess:o},t[9]=i,t[10]=o,t[11]=a):a=t[11],P(a)}function G(t){return t?.tiers?{tiers:{fast:t.tiers.fast??null,smart:t.tiers.smart??null,thinking:t.tiers.thinking??null,image:t.tiers.image??null,web_research:t.tiers.web_research??null}}:N}function H(){const{data:t}=E(Q);return t??N}function Q(t){return G(t.simple_mode)}function L(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({simple_mode:i},o),s=(i,o)=>e.mutateAsync({simple_mode:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function $(){const{data:t}=E(x);return t??null}function x(t){return t.registry_config}function W(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({registry_config:i},o),s=(i,o)=>e.mutateAsync({registry_config:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function Z(){const{data:t}=E(U);return t??null}function U(t){return t.default_home_agents}function k(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({default_home_agents:i},o),s=(i,o)=>e.mutateAsync({default_home_agents:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function j(){const t=c.c(14),{org:e}=_(),n=k(),s=C();let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=Promise.resolve(),t[0]=r):r=t[0];const i=R.useRef(r);let o;t[1]!==e.id?(o=g.organizationSettings(e.id),t[1]=e.id,t[2]=o):o=t[2];const a=o;let l;t[3]!==a||t[4]!==s?(l=()=>s.getQueryData(a)?.default_home_agents?.ids??[],t[3]=a,t[4]=s,t[5]=l):l=t[5];const u=l;let m;t[6]!==a||t[7]!==e.slug||t[8]!==s||t[9]!==n?(m=D=>{const I=i.current.then(async()=>{const w=s.getQueryData(a),p=D(w?.default_home_agents?.ids??[]);if(p!==null){s.setQueryData(a,f=>f&&{...f,default_home_agents:{ids:p}});try{await n.mutateAsync({ids:p}),await s.refetchQueries({queryKey:g.homeNextActions(e.slug),type:"active"})}catch(f){const M=f;throw s.setQueryData(a,w),M}}});return i.current=I.catch(q),I},t[6]=a,t[7]=e.slug,t[8]=s,t[9]=n,t[10]=m):m=t[10];const y=m;let d;return t[11]!==y||t[12]!==u?(d={currentIds:u,apply:y},t[11]=y,t[12]=u,t[13]=d):d=t[13],d}function q(){}function B(){const t=c.c(5),{org:e}=_(),n=$();let s;t[0]!==e.id?(s=b.REGISTRY(e.id),t[0]=e.id,t[1]=s):s=t[1];const r=s;let i;return t[2]!==r||t[3]!==n?(i=o=>{if(!n)return o===r;const a=n.registries[o];return a?a.enabled:o===r},t[2]=r,t[3]=n,t[4]=i):i=t[4],i}export{j as a,B as b,Y as c,T as d,H as e,L as f,$ as g,W as h,O as o,Z as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as a,p}from"./index-
|
|
1
|
+
import{e as a,p}from"./index-3A6UoYVV.js";import{u as C}from"./use-connection-BfMAeb_Q.js";import{W as u}from"./use-mcp-client-BMnsqIXj.js";import{g as R}from"./use-organization-settings-CAAXrkPr.js";function E(){const e=a.c(17),{org:i}=p(),o=R();let n;e[0]!==i.id?(n=u.REGISTRY(i.id),e[0]=i.id,e[1]=n):n=e[1];const c=n;let l;e[2]!==i.id?(l=u.COMMUNITY_REGISTRY(i.id),e[2]=i.id,e[3]=l):l=e[3];const d=l;let r;e[4]!==d||e[5]!==c?(r=[c,d],e[4]=d,e[5]=c,e[6]=r):r=e[6];let t;if(e[7]!==o||e[8]!==r){if(t=new Set(r),o?.registries){let s;e[10]!==o.registries?(s=Object.keys(o.registries),e[10]=o.registries,e[11]=s):s=e[11];for(const m of s)t.add(m)}e[7]=o,e[8]=r,e[9]=t}else t=e[9];const g=C();let f;if(e[12]!==g||e[13]!==t){let s;e[15]!==t?(s=m=>t.has(m.id),e[15]=t,e[16]=s):s=e[16],f=g.filter(s),e[12]=g,e[13]=t,e[14]=f}else f=e[14];return f}export{E as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as n,p as r,K as c,q as y,F as d,a as S}from"./index-
|
|
1
|
+
import{e as n,p as r,K as c,q as y,F as d,a as S}from"./index-3A6UoYVV.js";import{u as l}from"./studio-tools-5svO8SUS.js";function p(){const e=n.c(7),{org:o}=r(),u=l();let i;e[0]!==o.id?(i=c.secrets(o.id),e[0]=o.id,e[1]=i):i=e[1];let t;e[2]!==u?(t=async()=>await u.call("SECRET_LIST",{}),e[2]=u,e[3]=t):t=e[3];let s;e[4]!==i||e[5]!==t?(s={queryKey:i,staleTime:6e4,queryFn:t},e[4]=i,e[5]=t,e[6]=s):s=e[6];const{data:a}=y(s);return a.secrets}function C(){const e=n.c(8),{org:o}=r(),u=l(),i=d();let t;e[0]!==u?(t=async f=>await u.call("SECRET_CREATE",{...f}),e[0]=u,e[1]=t):t=e[1];let s;e[2]!==o||e[3]!==i?(s=()=>{i.invalidateQueries({queryKey:c.secrets(o.id)})},e[2]=o,e[3]=i,e[4]=s):s=e[4];let a;return e[5]!==t||e[6]!==s?(a={mutationFn:t,onSuccess:s},e[5]=t,e[6]=s,e[7]=a):a=e[7],S(a)}export{C as a,p as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,e as T,Y as h}from"./index-
|
|
1
|
+
import{r as o,e as T,Y as h}from"./index-3A6UoYVV.js";import{p as R,q as I}from"./question-004-sINsf4GQ.js";import{D as S}from"./watch-sse-pool-BIuphsPs.js";import{d as y}from"./decopilot-sse-pool-BFcQnN53.js";const b=()=>0;function D(s){const{orgSlug:e,taskId:n,enabled:t=!0,onStep:r,onFinish:u,onTaskStatus:f}=s,l=o.useRef({taskId:n,onStep:r,onFinish:u,onTaskStatus:f});l.current={taskId:n,onStep:r,onFinish:u,onTaskStatus:f};const i=o.useRef(null),p=o.useRef(t),d=o.useRef(e);(!i.current||p.current!==t||d.current!==e)&&(p.current=t,d.current=e,i.current=m=>{if(!t||!e)return()=>{};const E=k=>{let a;try{a=JSON.parse(k.data)}catch{return}const c=l.current;if(!(c.taskId&&a.subject!==c.taskId)){switch(a.type){case S.STEP:c.onStep?.(a);break;case S.FINISH:c.onFinish?.(a);break;case S.THREAD_STATUS:c.onTaskStatus?.(a);break}m()}};return y.subscribe(e,E)}),o.useSyncExternalStore(i.current,b,b)}const O=new Set(["completed","failed","requires_action"]);function q(s){const e=T.c(5),[n]=h();let t;e[0]!==n?(t=u=>{n.enableSounds&&O.has(u.data.status)&&R(I.dataUri).catch(_)},e[0]=n,e[1]=t):t=e[1];let r;e[2]!==s||e[3]!==t?(r={orgSlug:s,onTaskStatus:t},e[2]=s,e[3]=t,e[4]=r):r=e[4],D(r)}function _(s){console.warn("[status-sounds] playback failed:",s)}export{q as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as p,r as f}from"./index-
|
|
1
|
+
import{e as p,r as f}from"./index-3A6UoYVV.js";import{u as w}from"./tooltip-DQDMg1b1.js";function S(m,M){const e=p.c(12),u=M===void 0?"cards":M,o=w(),b=f.useRef(o),s=m?`deco-view-mode-${m}`:"deco-view-mode";let i;e[0]!==u||e[1]!==s?(i=()=>{const r=globalThis.localStorage?.getItem(s);return r==="cards"||r==="table"?r:u},e[0]=u,e[1]=s,e[2]=i):i=e[2];const[t,g]=f.useState(i);let l;e[3]!==s?(l=r=>{g(r),globalThis.localStorage?.setItem(s,r)},e[3]=s,e[4]=l):l=e[4];const d=l;let c,a;e[5]!==o||e[6]!==t?(c=()=>{!b.current&&o&&t==="table"&&g("cards"),b.current=o},a=[o,t],e[5]=o,e[6]=t,e[7]=c,e[8]=a):(c=e[7],a=e[8]),f.useEffect(c,a);let n;return e[9]!==d||e[10]!==t?(n=[t,d],e[9]=d,e[10]=t,e[11]=n):n=e[11],n}export{S as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as a,p as d,aL as p,m as P}from"./index-
|
|
1
|
+
import{e as a,p as d,aL as p,m as P}from"./index-3A6UoYVV.js";import{b as L,a as V,u as _,c as A}from"./use-collections-BLfqGVtV.js";import{a as g,u as I}from"./use-mcp-client-BMnsqIXj.js";function v(s){const t=a.c(5);let e;t[0]!==s?(e=s===void 0?{}:s,t[0]=s,t[1]=e):e=t[1];const n=e,{org:i}=d();let o;t[2]!==i.id||t[3]!==i.slug?(o={connectionId:g,orgId:i.id,orgSlug:i.slug},t[2]=i.id,t[3]=i.slug,t[4]=o):o=t[4];const l=I(o);return L(i.id,"VIRTUAL_MCP",l,n)}function R(s,t,e){return A(s,"VIRTUAL_MCP",t??void 0,e)}function b(s){const t=a.c(3),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);return _(e.id,"VIRTUAL_MCP",s??void 0,i)}function E(s){const t=a.c(15),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);let o,l,c;t[3]!==s||t[4]!==e.id?(o=[...s].sort(),c=P,l=p.virtualMcpLastUsed(e.id,o),t[3]=s,t[4]=e.id,t[5]=o,t[6]=l,t[7]=c):(o=t[5],l=t[6],c=t[7]);const m=o.length>0;let u;t[8]!==i||t[9]!==o?(u=async()=>{const M=(await i.callTool({name:"VIRTUAL_MCP_LAST_USED_LIST",arguments:{ids:o}})).structuredContent??{items:[]},C=new Map;for(const f of M.items)C.set(f.id,f);return C},t[8]=i,t[9]=o,t[10]=u):u=t[10];let r;return t[11]!==l||t[12]!==m||t[13]!==u?(r={queryKey:l,enabled:m,staleTime:3e4,queryFn:u},t[11]=l,t[12]=m,t[13]=u,t[14]=r):r=t[14],c(r)}function $(){const s=a.c(3),{org:t}=d();let e;s[0]!==t.id||s[1]!==t.slug?(e={connectionId:g,orgId:t.id,orgSlug:t.slug},s[0]=t.id,s[1]=t.slug,s[2]=e):e=s[2];const n=I(e);return V(t.id,"VIRTUAL_MCP",n)}export{v as a,$ as b,E as c,b as u,R as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as u}from"./use-infinite-scroll-DYawWhKj.js";import{cD as i}from"./index-3A6UoYVV.js";function t(e,r){return i(e,u,r)}export{t as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bl as s,r as c,bQ as a,bR as i}from"./index-
|
|
1
|
+
import{bl as s,r as c,bQ as a,bR as i}from"./index-3A6UoYVV.js";function f(r){const n=s({warn:r?.router===void 0}),t=r?.router||n,u=c.useRef(void 0);return a(t.stores.__store,e=>{if(r?.select){if(r.structuralSharing??t.options.defaultStructuralSharing){const o=i(u.current,r.select(e));return u.current=o,o}return r.select(e)}return e})}export{f as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as s}from"./use-infinite-scroll-DYawWhKj.js";import{cD as u,aC as n}from"./index-3A6UoYVV.js";function a(r,e){return u({...r,enabled:!0,suspense:!0,throwOnError:n},s,e)}export{a as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as w,m as k,K as S,c as y,j as t}from"./index-
|
|
1
|
+
import{e as w,m as k,K as S,c as y,j as t}from"./index-3A6UoYVV.js";import{A as E}from"./avatar-UnU39lqG.js";import{u as K}from"./studio-tools-5svO8SUS.js";function R(r){const e=w.c(9),p=K();let m;e[0]!==r?(m=S.user(r),e[0]=r,e[1]=m):m=e[1];let o;e[2]!==p||e[3]!==r?(o=async()=>{const{user:n}=await p.call("USER_GET",{id:r});return n},e[2]=p,e[3]=r,e[4]=o):o=e[4];const x=!!r;let s;return e[5]!==m||e[6]!==o||e[7]!==x?(s={queryKey:m,queryFn:o,staleTime:3e5,retry:1,enabled:x},e[5]=m,e[6]=o,e[7]=x,e[8]=s):s=e[8],k(s)}function A(r){const e=w.c(36),{id:p,size:m,showEmail:o,avatarOnly:x,className:s}=r,n=m===void 0?"xs":m,u=o===void 0?!1:o,d=x===void 0?!1:x,{data:c,isLoading:U,isError:b}=R(p);if(U){let l;e[0]!==s?(l=y("flex items-center gap-2",s),e[0]=s,e[1]=l):l=e[1];let a;e[2]!==n?(a=t.jsx(E.Skeleton,{shape:"circle",size:n}),e[2]=n,e[3]=a):a=e[3];let i;e[4]!==d||e[5]!==u?(i=!d&&t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),u&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"})]}),e[4]=d,e[5]=u,e[6]=i):i=e[6];let f;return e[7]!==l||e[8]!==a||e[9]!==i?(f=t.jsxs("div",{className:l,children:[a,i]}),e[7]=l,e[8]=a,e[9]=i,e[10]=f):f=e[10],f}if(b||!c){let l;e[11]!==s?(l=y("flex items-center gap-2",s),e[11]=s,e[12]=l):l=e[12];let a;e[13]!==n?(a=t.jsx(E,{shape:"circle",size:n,fallback:"?",muted:!0}),e[13]=n,e[14]=a):a=e[14];let i;e[15]!==d?(i=!d&&t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[15]=d,e[16]=i):i=e[16];let f;return e[17]!==l||e[18]!==a||e[19]!==i?(f=t.jsxs("div",{className:l,children:[a,i]}),e[17]=l,e[18]=a,e[19]=i,e[20]=f):f=e[20],f}let v;e[21]!==s?(v=y("flex items-center gap-2",s),e[21]=s,e[22]=v):v=e[22];const g=c.image??void 0;let h;e[23]!==n||e[24]!==g||e[25]!==c.name?(h=t.jsx(E,{shape:"circle",size:n,url:g,fallback:c.name}),e[23]=n,e[24]=g,e[25]=c.name,e[26]=h):h=e[26];let j;e[27]!==d||e[28]!==u||e[29]!==c.email||e[30]!==c.name?(j=!d&&t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"text-sm font-medium",children:c.name}),u&&t.jsx("div",{className:"text-xs text-muted-foreground",children:c.email})]}),e[27]=d,e[28]=u,e[29]=c.email,e[30]=c.name,e[31]=j):j=e[31];let N;return e[32]!==v||e[33]!==h||e[34]!==j?(N=t.jsxs("div",{className:v,children:[h,j]}),e[32]=v,e[33]=h,e[34]=j,e[35]=N):N=e[35],N}export{A as U};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as k,r as C,c as x,j as i}from"./index-
|
|
1
|
+
import{e as k,r as C,c as x,j as i}from"./index-3A6UoYVV.js";import{b as I,T as P,a as L}from"./tooltip-DQDMg1b1.js";const M={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function B(S){const e=k.c(27),{value:s,onValueChange:y,options:o,size:R,fullWidth:E,className:z}=S,V=R===void 0?"sm":R,u=E===void 0?!1:E;let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=[],e[0]=b):b=e[0];const _=C.useRef(b);let g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g={left:0,width:0,opacity:0},e[1]=g):g=e[1];const[f,W]=C.useState(g);let h,p;e[2]!==o||e[3]!==s?(h=()=>{const t=o.findIndex(j=>j.value===s),m=_.current[t];m&&W({left:m.offsetLeft,width:m.offsetWidth,opacity:1})},p=[s,o],e[2]=o,e[3]=s,e[4]=h,e[5]=p):(h=e[4],p=e[5]),C.useEffect(h,p);const d=M[V];let n;e[6]!==z?(n=x("relative flex gap-0 bg-muted rounded-lg",z),e[6]=z,e[7]=n):n=e[7];let l;e[8]!==d||e[9]!==u||e[10]!==y||e[11]!==o||e[12]!==s?(l=o.map((t,m)=>{const j=i.jsxs("button",{ref:$=>{_.current[m]=$},type:"button",onClick:()=>y(t.value),className:x("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",u?"flex-1 h-12 px-4":d.button,!u&&t.label?"px-3":""),children:[i.jsx("span",{className:x("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",d.icon,s===t.value?"text-foreground":"text-muted-foreground"),children:t.icon}),t.label&&i.jsx("span",{className:x("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===t.value?"text-foreground":"text-muted-foreground"),children:t.label})]},t.value);return t.tooltip?i.jsxs(I,{children:[i.jsx(P,{asChild:!0,children:j}),i.jsx(L,{side:"bottom",children:t.tooltip})]},t.value):j}),e[8]=d,e[9]=u,e[10]=y,e[11]=o,e[12]=s,e[13]=l):l=e[13];const w=u?"h-12":d.button;let a;e[14]!==w?(a=x("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),e[14]=w,e[15]=a):a=e[15];const N=`${f.left}px`,T=`${f.width}px`;let r;e[16]!==f.opacity||e[17]!==N||e[18]!==T?(r={left:N,width:T,opacity:f.opacity},e[16]=f.opacity,e[17]=N,e[18]=T,e[19]=r):r=e[19];let c;e[20]!==a||e[21]!==r?(c=i.jsx("div",{className:a,style:r}),e[20]=a,e[21]=r,e[22]=c):c=e[22];let v;return e[23]!==c||e[24]!==n||e[25]!==l?(v=i.jsxs("div",{className:n,children:[l,c]}),e[23]=c,e[24]=n,e[25]=l,e[26]=v):v=e[26],v}export{B as V};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./index-
|
|
1
|
+
import"./index-3A6UoYVV.js";const y={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},p=Object.values(y);function _(n,l,i,o,c){const a=Math.min(n,l*o**i);return(1-c*Math.random())*a}const v=3e4,D=1e3;function O(n){const{buildUrl:l,eventTypes:i,name:o,crossTab:c=!1}=n,a=new Map,u=c&&typeof BroadcastChannel<"u"&&typeof navigator<"u"&&typeof navigator.locks<"u";if(u&&!o)throw new Error("createSSESubscription: `name` is required when crossTab");function d(e,t){e.bootDone=!0;for(const s of e.handlers)try{s(t)}catch{}}function h(e){for(const t of e.reconnectHandlers)try{t()}catch{}}function E(e){const t=new EventSource(l(e.key));e.es=t,t.onopen=()=>{e.reconnectAttempt=0,e.bootDone&&(h(e),e.channel?.postMessage({kind:"reconnect"})),e.bootDone=!0},t.onerror=()=>{e.es===t&&t.readyState===EventSource.CLOSED&&C(e)};const s=r=>{e.channel?.postMessage({kind:"event",type:r.type,data:r.data}),d(e,r)};for(const r of i)t.addEventListener(r,s)}function C(e){if(e.refCount<=0||e.reconnectTimer)return;const t=_(v,D,e.reconnectAttempt,2,0);e.reconnectAttempt++,e.reconnectTimer=setTimeout(()=>{e.reconnectTimer=null,!(e.refCount<=0||!e.isLeader)&&(e.es?.close(),E(e))},t)}function T(e){if(e.refCount<=0){e.releaseLeadership?.(),e.releaseLeadership=null;return}e.isLeader=!0,E(e)}function m(e){if(!u){T(e);return}e.lockAbort=new AbortController,navigator.locks.request(`sse-leader:${o}:${e.key}`,{signal:e.lockAbort.signal},()=>new Promise(t=>{e.releaseLeadership=t,T(e)})).catch(()=>{})}function L(e,t){t.kind==="event"?d(e,new MessageEvent(t.type,{data:t.data})):t.kind==="reconnect"&&h(e)}function A(e){const t=a.get(e);if(t)return t;const s={key:e,refCount:0,handlers:new Set,reconnectHandlers:new Set,bootDone:!1,es:null,isLeader:!1,reconnectAttempt:0,reconnectTimer:null,channel:null,lockAbort:null,releaseLeadership:null};if(a.set(e,s),u){const r=new BroadcastChannel(`sse:${o}:${e}`);r.onmessage=f=>L(s,f.data),s.channel=r}return m(s),s}function k(e){e.reconnectTimer&&(clearTimeout(e.reconnectTimer),e.reconnectTimer=null),e.es?.close(),e.es=null,e.releaseLeadership?.(),e.releaseLeadership=null,e.lockAbort?.abort(),e.lockAbort=null,e.channel?.close(),e.channel=null,a.delete(e.key)}return{subscribe(e,t,s){const r=A(e);r.refCount++,r.handlers.add(t),s&&r.reconnectHandlers.add(s);let f=!1;return()=>{f||(f=!0,r.handlers.delete(t),s&&r.reconnectHandlers.delete(s),r.refCount--,r.refCount<=0&&k(r))}}}}function w(n,l){const i=new Set(l);return{subscribe(o,c,a){const u=d=>{i.has(d.type)&&c(d)};return n.subscribe(o,u,a)}}}const b=["workflow.execution.created","workflow.execution.resumed","workflow.step.execute","workflow.step.completed"],g=[...p,"workflow.*"],M=[...p,...b],S=O({name:"watch",buildUrl:n=>`/api/${encodeURIComponent(n)}/watch?types=${g.join(",")}`,eventTypes:M,crossTab:!0}),H=w(S,[...p]),P=w(S,b);export{y as D,H as d,_ as e,P as w};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as oe,j as t,B as Ce,f as Be,b as lt,p as ze,r as at,n as Fe,F as ct,a as dt,K as Le,ek as Ke,dH as mt}from"./index-CATx2LDP.js";import{u as pt,a as ut}from"./use-mcp-client-SlmBrgfs.js";import{B as ft,g as Me}from"./generate-id-CGijBPI-.js";import{C as Ve}from"./collection-display-button-DuPg0P2z.js";import{C as ht}from"./collection-search-BJmgl3qg.js";import{C as gt}from"./card-LUxcXBOp.js";import{I as qe}from"./integration-icon-BT5xGQIC.js";import{D as Qe,a as Ge,b as He,c as O}from"./dropdown-menu-BWTWFWGo.js";import{s as Je,a as Ye}from"./Eye-B6_-sQMR.js";import{i as Xe}from"./DotsVertical-BJVJdITZ.js";import{i as Ze}from"./Tool01-IpmKT80v.js";import{s as et}from"./Trash01-DM00_xyO.js";import{C as xt}from"./collection-table-wrapper-BpQMr64m.js";import{E as Ue}from"./empty-state-D4NUg8rC.js";import{n as We}from"./Stars02-CEd2BxY_.js";import{U as jt}from"./user-CW9-suBt.js";import{E as tt}from"./empty-state-DDEvpq3s.js";import{u as Ct}from"./use-list-state-DUnsuQSl.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-DH_8ED2c.js";import{a as It,b as At}from"./use-collections-ByNVa1P1.js";import{a as Tt}from"./use-connection-5fAWFRJ_.js";import{s as Et}from"./Plus-C5heVoJ6.js";import{a as Ot}from"./layout-D1aQgp35.js";import{u as $t}from"./studio-tools-Av8VgprY.js";import{P as je}from"./index-BawfkDKi.js";import"./auth-DMsnFrvi.js";import"./collections-_vOvxoxw.js";import"./SwitchHorizontal01-CUtzfg9y.js";import"./Check-g3DB8Y79.js";import"./tooltip-1mt0C65x.js";import"./view-mode-toggle-CRuQE6Gp.js";import"./badge-B4Q3Kugn.js";import"./SearchMd-qFqO3CC6.js";import"./Container-SX43EreL.js";import"./agent-icon-BIiUgn6T.js";import"./AlertCircle-CHkhp8BT.js";import"./RefreshCcw01-BZry-3Kg.js";import"./XCircle-D9AGwgGK.js";import"./ArrowUpRight-BLDnDQA4.js";import"./ZapSquare-CJ6AZAbk.js";import"./Users03-1mzpWPfB.js";import"./CheckCircle-CaqJ0h8v.js";import"./ChevronDown-2xes5oAP.js";import"./ChevronLeft-DoZaWCdC.js";import"./ChevronRight-BAb1spam.js";import"./ChevronUp-D1fwNmdw.js";import"./ZoomOut-B2ojfl-A.js";import"./Globe01-BaaIcJuv.js";import"./FilterLines-Bppcas54.js";import"./Star01-2SOe9QD-.js";import"./Palette-VBLL4nJC.js";import"./HardDrive-DCOTq5uv.js";import"./Key01-WyguyLzq.js";import"./LayoutLeft-DFTfTIl4.js";import"./LinkExternal01-C4yAqYts.js";import"./Monitor01-rl2bcoeM.js";import"./Sun-jizGeY2D.js";import"./Play-Cjs1Q-Aw.js";import"./Settings02-CLIbq_7z.js";import"./Shield01-Bo6JmLSx.js";import"./Stars01-C-iKmdEF.js";import"./Upload01-D0E7TXXq.js";import"./User01-ga9dWIix.js";import"./Users01-lGeZPP0U.js";import"./XClose-dBx0FEAe.js";import"./X-C_bQSA-d.js";import"./Zap-BJCyzigO.js";import"./table-CoPsT_qq.js";import"./avatar-D47Jk04K.js";import"./use-view-mode-40X1ior9.js";import"./sidebar-BuWHGfqc.js";import"./sheet-BBLc_qUy.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(qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let 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(Qe,{children:[t.jsx(Ge,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:Ft,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 Ft(i){return i.stopPropagation()}function Lt(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?Qt:m;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const f=$,T=p===void 0?qt: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(Vt).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(Ve,{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 Vt(i){return i.sortable!==!1}function qt(){}function Qt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(Qe,{children:[t.jsx(Ge,{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(qe,{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,Gt(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 F=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,[L,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]!==F||e[25]!==o?(K=o&&{edit:F},e[24]=F,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]!==L?(ce=async()=>{L&&(await f.delete.mutateAsync(L.id),ve(null))},e[36]=f.delete,e[37]=L,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){Fe.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(Ve,{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 V;e[65]!==ue||e[66]!==m?(V=m&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=m,e[67]=V):V=e[67];let q;e[68]!==B||e[69]!==V?(q=t.jsxs("div",{className:"flex items-center gap-2",children:[B,V]}),e[68]=B,e[69]=V,e[70]=q):q=e[70];let Q;e[71]!==I?(Q=I??[],e[71]=I,e[72]=Q):Q=e[72];const De=D;let G;e[73]!==F?(G=C=>F(C),e[73]=F,e[74]=G):G=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]!==Q||e[88]!==De||e[89]!==G||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Rt,{hideToolbar:!0,data:Q,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:G,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]=Q,e[88]=De,e[89]=G,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==q||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[q,J]}),e[93]=q,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!L;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=L?.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:Le.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Le.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){Fe.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),Fe.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 yi(){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{yi as default};
|
|
1
|
+
import{e as oe,j as t,B as Ce,f as Be,b as lt,p as ze,r as at,n as Fe,F as ct,a as dt,K as Le,ek as Ke,dH as mt}from"./index-3A6UoYVV.js";import{u as pt,a as ut}from"./use-mcp-client-BMnsqIXj.js";import{B as ft,g as Me}from"./generate-id-DGlkxVc2.js";import{C as Ve}from"./collection-display-button-C-bIStw0.js";import{C as ht}from"./collection-search-DJZ5WWKp.js";import{C as gt}from"./card-Cq52ff9r.js";import{I as qe}from"./integration-icon-BOYFJ8DV.js";import{D as Qe,a as Ge,b as He,c as O}from"./dropdown-menu-BkH8Xao7.js";import{s as Je,a as Ye}from"./Eye-BKIYBCFX.js";import{i as Xe}from"./DotsVertical-DaPu-BjL.js";import{i as Ze}from"./Tool01-iIvrrn5i.js";import{s as et}from"./Trash01-DwmURdtf.js";import{C as xt}from"./collection-table-wrapper-2_d3hKf_.js";import{E as Ue}from"./empty-state-MVVoQnYY.js";import{n as We}from"./Stars02-BJ8W7Y3C.js";import{U as jt}from"./user-CtUl632O.js";import{E as tt}from"./empty-state-R63U5s81.js";import{u as Ct}from"./use-list-state-B2iOzg-i.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-CC8Nrrwj.js";import{a as It,b as At}from"./use-collections-BLfqGVtV.js";import{a as Tt}from"./use-connection-BfMAeb_Q.js";import{s as Et}from"./Plus-p5ww31iK.js";import{a as Ot}from"./layout-kjQxtKiH.js";import{u as $t}from"./studio-tools-5svO8SUS.js";import{P as je}from"./index-CRvVErLg.js";import"./auth-DJSYPeCk.js";import"./collections-Cz3-h9U0.js";import"./SwitchHorizontal01-FJhkXGab.js";import"./Check-hOMWkijh.js";import"./tooltip-DQDMg1b1.js";import"./view-mode-toggle-CfpE5tGI.js";import"./badge-CXi-6wCL.js";import"./SearchMd-Ds9YnLOw.js";import"./Container-B5dlvIhN.js";import"./agent-icon-BFDCs9_Z.js";import"./AlertCircle-Ed8WT4Gj.js";import"./RefreshCcw01-BFs2Qz_9.js";import"./XCircle-4DVMD60R.js";import"./ArrowUpRight-C-Lwk46I.js";import"./ZapSquare-BvMNCS-J.js";import"./Users03-OjZAoe5s.js";import"./CheckCircle-DaXMnsEo.js";import"./ChevronDown-D6Zecsff.js";import"./ChevronLeft-D-XrQc44.js";import"./ChevronRight-DVoYZuHq.js";import"./ChevronUp-Dl9jzSxx.js";import"./ZoomOut-CW29g7dT.js";import"./Globe01-IHgKWLQG.js";import"./FilterLines-ClAdcVIA.js";import"./Star01-CZv8qd6s.js";import"./Palette-NCjk3FGG.js";import"./HardDrive-D-m2ZipN.js";import"./Key01-BdHvOh_e.js";import"./LayoutLeft-BK03sAXS.js";import"./LinkExternal01-Dnhttb39.js";import"./Monitor01-Dcp9PrZz.js";import"./Sun-Cwmha-a2.js";import"./Play-BpEe0tlc.js";import"./Settings02-CecILrtY.js";import"./Shield01-vLzXztr0.js";import"./Stars01-Ch5iJcxR.js";import"./Upload01-oRevAfqv.js";import"./User01-h8GKw08y.js";import"./Users01-CFNaA2uI.js";import"./XClose-DCqhWNaS.js";import"./X-BgKKVHlr.js";import"./Zap-CPTWGjTM.js";import"./table-BsR0J7GU.js";import"./avatar-UnU39lqG.js";import"./use-view-mode-C9kxudo3.js";import"./sidebar-BFHf_5hi.js";import"./sheet-B0-Ak1q5.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(qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let 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(Qe,{children:[t.jsx(Ge,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:Ft,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 Ft(i){return i.stopPropagation()}function Lt(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?Qt:m;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const f=$,T=p===void 0?qt: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(Vt).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(Ve,{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 Vt(i){return i.sortable!==!1}function qt(){}function Qt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(Qe,{children:[t.jsx(Ge,{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(qe,{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,Gt(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 F=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,[L,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]!==F||e[25]!==o?(K=o&&{edit:F},e[24]=F,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]!==L?(ce=async()=>{L&&(await f.delete.mutateAsync(L.id),ve(null))},e[36]=f.delete,e[37]=L,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){Fe.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(Ve,{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 V;e[65]!==ue||e[66]!==m?(V=m&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=m,e[67]=V):V=e[67];let q;e[68]!==B||e[69]!==V?(q=t.jsxs("div",{className:"flex items-center gap-2",children:[B,V]}),e[68]=B,e[69]=V,e[70]=q):q=e[70];let Q;e[71]!==I?(Q=I??[],e[71]=I,e[72]=Q):Q=e[72];const De=D;let G;e[73]!==F?(G=C=>F(C),e[73]=F,e[74]=G):G=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]!==Q||e[88]!==De||e[89]!==G||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Rt,{hideToolbar:!0,data:Q,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:G,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]=Q,e[88]=De,e[89]=G,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==q||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[q,J]}),e[93]=q,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!L;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=L?.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:Le.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Le.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){Fe.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),Fe.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 yi(){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{yi 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-3A6UoYVV.js";import{a as f}from"./index-crwG5WD5.js";import"./index-C39hLJ_E.js";import"./use-mcp-client-BMnsqIXj.js";import"./auth-DJSYPeCk.js";import"./collections-Cz3-h9U0.js";import"./index-B1ijey2B.js";import"./use-virtual-mcp-eosOOizO.js";import"./use-collections-BLfqGVtV.js";import"./monaco-editor-CK8BXc9B.js";import"./index-Oh8yJO5F.js";import"./spinner-DlDtfq8X.js";import"./resizable-B4l6iV43.js";import"./ZoomOut-CW29g7dT.js";import"./badge-CXi-6wCL.js";import"./select-ZTWu_v20.js";import"./tooltip-DQDMg1b1.js";import"./Check-hOMWkijh.js";import"./ChevronDown-D6Zecsff.js";import"./ChevronUp-Dl9jzSxx.js";import"./view-mode-toggle-CfpE5tGI.js";import"./agent-icon-BFDCs9_Z.js";import"./AlertCircle-Ed8WT4Gj.js";import"./Tool01-iIvrrn5i.js";import"./SwitchHorizontal01-FJhkXGab.js";import"./RefreshCcw01-BFs2Qz_9.js";import"./XCircle-4DVMD60R.js";import"./ArrowUpRight-C-Lwk46I.js";import"./ZapSquare-BvMNCS-J.js";import"./Users03-OjZAoe5s.js";import"./CheckCircle-DaXMnsEo.js";import"./ChevronLeft-D-XrQc44.js";import"./ChevronRight-DVoYZuHq.js";import"./DotsVertical-DaPu-BjL.js";import"./Container-B5dlvIhN.js";import"./Eye-BKIYBCFX.js";import"./Globe01-IHgKWLQG.js";import"./FilterLines-ClAdcVIA.js";import"./Star01-CZv8qd6s.js";import"./Palette-NCjk3FGG.js";import"./HardDrive-D-m2ZipN.js";import"./Stars02-BJ8W7Y3C.js";import"./Key01-BdHvOh_e.js";import"./LayoutLeft-BK03sAXS.js";import"./LinkExternal01-Dnhttb39.js";import"./Monitor01-Dcp9PrZz.js";import"./Sun-Cwmha-a2.js";import"./Play-BpEe0tlc.js";import"./Plus-p5ww31iK.js";import"./SearchMd-Ds9YnLOw.js";import"./Settings02-CecILrtY.js";import"./Shield01-vLzXztr0.js";import"./Stars01-Ch5iJcxR.js";import"./Trash01-DwmURdtf.js";import"./Upload01-oRevAfqv.js";import"./User01-h8GKw08y.js";import"./Users01-CFNaA2uI.js";import"./XClose-DCqhWNaS.js";import"./X-BgKKVHlr.js";import"./Zap-CPTWGjTM.js";import"./layout-kjQxtKiH.js";import"./index-CRvVErLg.js";import"./sidebar-BFHf_5hi.js";import"./sheet-B0-Ak1q5.js";import"./use-connection-BfMAeb_Q.js";import"./use-mcp-tools-CKRfS_sl.js";import"./dialog-CzGAAvWN.js";import"./scroll-area-C_2w27J_.js";import"./index-BfXyqNW3.js";import"./hover-card-CGVQKCuw.js";import"./dropdown-menu-BkH8Xao7.js";import"./integration-icon-BOYFJ8DV.js";import"./accordion-CU40J33b.js";import"./index-HPKXkHKk.js";import"./empty-state-MVVoQnYY.js";import"./watch-sse-pool-BIuphsPs.js";import"./input-BO5qrDqG.js";function Ct(){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{Ct as default};
|
package/dist/client/index.html
CHANGED
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
44
44
|
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
45
45
|
<meta name="apple-mobile-web-app-title" content="deco Studio" />
|
|
46
|
-
<script type="module" crossorigin src="/assets/index-
|
|
47
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
46
|
+
<script type="module" crossorigin src="/assets/index-3A6UoYVV.js"></script>
|
|
47
|
+
<link rel="stylesheet" crossorigin href="/assets/index-x1oWiCfZ.css">
|
|
48
48
|
</head>
|
|
49
49
|
<body>
|
|
50
50
|
<div id="root"></div>
|
package/dist/server/cli.js
CHANGED
|
@@ -108332,7 +108332,7 @@ ${c}`;_($);return}if(f(null,D),u.strategy==="count"){if(r--,r===0)_()}if(u.strat
|
|
|
108332
108332
|
`);if(_===-1)return;let g=c.subarray(0,_).toString("utf8"),h=c.subarray(_+4),v=g.split(`\r
|
|
108333
108333
|
`,1)[0]??"";if(!/^HTTP\/1\.[01] 101(?:\s|$)/.test(v)){Vy(t,1011,i.upstreamErrorReason);try{f.end()}catch{}return}r=!0,t.data.upstream=f;let E=ATl((x,$)=>{try{if(x===1)t.send($.toString("utf8"));else if(x===2)t.send($);else if(x===8){let{code:D,reason:O}=ZTl($);Vy(t,D,O);try{f.end()}catch{}}}catch{}});if(f.removeAllListeners("data"),h.length>0)E(h);f.on("data",(x)=>E(x));for(let x of t.data.pending)try{f.write(_at(x,!0))}catch{}t.data.pending.length=0})}function PTl(t,i){let u=[`GET ${t} HTTP/1.1`];for(let[l,n]of Object.entries(i))u.push(`${l}: ${n}`);return u.push("",""),u.join(`\r
|
|
108334
108334
|
`)}function Vy(t,i,u){try{if(i!==void 0)t.close(i,u??"");else t.close()}catch{}}function _at(t,i,u){let l,n;if(typeof t==="string")l=Buffer.from(t,"utf8"),n=1;else if(t instanceof ArrayBuffer)l=Buffer.from(t),n=2;else if(Buffer.isBuffer(t))l=t,n=2;else l=Buffer.from(t),n=2;let e=u??n,f=l.length,c=[];c.push(128|e&15);let r=i?128:0;if(f<126)c.push(r|f);else if(f<65536)c.push(r|126,f>>8&255,f&255);else c.push(r|127,0,0,0,0),c.push(f>>>24&255,f>>>16&255,f>>>8&255,f&255);let d=i?4:0,_=Buffer.allocUnsafe(c.length+d+f),g=0;for(let h=0;h<c.length;h++)_[g++]=c[h];if(i){let h=PJi(4);_[g++]=h[0],_[g++]=h[1],_[g++]=h[2],_[g++]=h[3];for(let v=0;v<f;v++)_[g++]=l[v]^h[v&3]}else l.copy(_,g);return _}function ZTl(t){if(t.length<2)return{code:1000,reason:""};return{code:t.readUInt16BE(0),reason:t.subarray(2).toString("utf8")}}function ATl(t){let i=Buffer.alloc(0);return(u)=>{i=i.length===0?u:Buffer.concat([i,u]);while(!0){if(i.length<2)return;let l=i[0],n=i[1],e=l&15,f=(n&128)!==0,c=n&127,r=2;if(c===126){if(i.length<r+2)return;c=i[r]<<8|i[r+1],r+=2}else if(c===127){if(i.length<r+8)return;c=i[r+4]*16777216+(i[r+5]<<16|i[r+6]<<8|i[r+7]),r+=8}let d=null;if(f){if(i.length<r+4)return;d=i.subarray(r,r+4),r+=4}if(i.length<r+c)return;let _=i.subarray(r,r+c);if(d){let g=Buffer.alloc(c);for(let h=0;h<c;h++)g[h]=_[h]^d[h&3];_=g}i=i.subarray(r+c),t(e,_)}}}var UTl=256;var kJi=w(()=>{BJi()});function jJi(t){if(typeof t!=="string"||t.length===0)return null;let i=t.lastIndexOf(":");if(t.startsWith("["))return null;let l=(i>=0?t.slice(0,i):t).replace(/\.$/,"").toLowerCase(),n=".localhost";if(!l.endsWith(n))return null;let e=l.slice(0,-n.length);if(e.length===0)return null;if(e.includes("."))return null;return e}async function GJi(t){let i=SJi({maxPendingFrames:t.maxPendingWsFrames??STl,backlogOverflowReason:"ingress backlog overflow"}),u=Bun.serve({port:t.port,hostname:"127.0.0.1",idleTimeout:0,async fetch(l,n){let e=l.headers.get("host"),f=jJi(e);if(!f)return new Response("not found",{status:404});let c=t.lookupSandboxPort(f);if(!c){if(l.headers.get("upgrade")==="websocket")return new Response("unknown handle",{status:404});return new Response(kTl,{status:503,headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store","Retry-After":"1"}})}if(l.headers.get("upgrade")==="websocket"){let g=new URL(l.url);if(!n.upgrade(l,{data:AJi({port:c,pathQuery:`${g.pathname}${g.search}`,protocols:ZJi(l.headers)})}))return new Response("ws upgrade failed",{status:400});return}let r=new URL(l.url),d=`http://127.0.0.1:${c}${r.pathname}${r.search}`,_=new Headers(l.headers);return _.set("host",`127.0.0.1:${c}`),fetch(d,{method:l.method,headers:_,body:l.body,redirect:"manual"})},websocket:{open:i.open,message:i.message,close:i.close}});return{port:u.port??0,async stop(){u.stop(!0)}}}var STl=256,kTl='<!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 RJi=w(()=>{kJi()});var WJi={};Vt(WJi,{resolveClaudeCodeExecutable:()=>gat,nativeVariantOrder:()=>KJi,isMuslLibc:()=>LJi,decideMusl:()=>JJi});import{existsSync as zJi}from"fs";import{createRequire as jTl}from"module";import{dirname as aJi,join as GTl}from"path";function JJi(t){if(t.platform!=="linux")return!1;if(typeof t.glibcVersionRuntime==="string"&&t.glibcVersionRuntime.length>0)return!1;return t.hasMuslLoader}function KJi(t,i,u){if(t!=="linux")return[`${t}-${i}`];let l=`linux-${i}`,n=`linux-${i}-musl`;return u?[n,l]:[l,n]}function RTl(t){if(t==="arm64")return"aarch64";if(t==="x64")return"x86_64";return t}function aTl(t){let i=RTl(t);return[`/lib/ld-musl-${i}.so.1`,`/usr/lib/ld-musl-${i}.so.1`].some((u)=>zJi(u))}function zTl(){return(typeof process.report?.getReport==="function"?process.report.getReport():null)?.header?.glibcVersionRuntime}function LJi(){return JJi({platform:process.platform,glibcVersionRuntime:zTl(),hasMuslLoader:aTl(process.arch)})}function gat(){if(process.platform!=="linux")return;let t;try{let i=jTl(import.meta.url).resolve(JTl);t=aJi(aJi(i))}catch{return}for(let i of KJi(process.platform,process.arch,LJi())){let u=GTl(t,`claude-agent-sdk-${i}`,"claude");if(zJi(u))return u}return}var JTl="@anthropic-ai/claude-agent-sdk";var hat=()=>{};async function vat(t=CTl){let i=["decopilot-sandbox","body-offload"],[u,l]=await Promise.all([t.detectClaudeCode().catch(()=>!1),t.detectCodex().catch(()=>!1)]);if(u)i.push("claude-code");if(l)i.push("codex");return i}function LTl(t){return KTl.filter((i)=>!t.includes(i))}function WTl(t,i){let u=i.filter((l)=>!t.includes(l));return t.push(...u),u}function XJi(t,i={}){let u=i.detect??(()=>vat()),l=setInterval(()=>{if(LTl(t).length===0)return;u().then((n)=>{let e=WTl(t,n);if(e.length>0)i.onChange?.(e)}).catch(()=>{})},i.intervalMs??60000);return l.unref?.(),()=>clearInterval(l)}async function XTl(){try{let[{query:t},{resolveClaudeCodeExecutable:i}]=await Promise.all([import("@anthropic-ai/claude-agent-sdk"),Promise.resolve().then(() => (hat(),WJi))]),u=i(),l=t({prompt:"",options:{maxTurns:1,...u?{pathToClaudeCodeExecutable:u}:{}}}),n=await l.accountInfo();return l.return(void 0),Boolean(n.email)}catch{return!1}}async function YTl(){try{let t=Bun.spawn(["codex","--version"],{stdout:"ignore",stderr:"ignore"}),i=setTimeout(()=>t.kill(),1e4),u=await t.exited;return clearTimeout(i),u===0}catch{return!1}}var KTl,CTl;var YJi=w(()=>{KTl=["claude-code","codex"];CTl={detectClaudeCode:XTl,detectCodex:YTl}});import{randomBytes as HTl}from"crypto";import{mkdir as QTl,readFile as oTl,writeFile as MTl}from"fs/promises";import{dirname as qTl,join as mTl}from"path";function VTl(t){return mTl(t,"machine-id")}async function CJi(t){let i=VTl(t);try{let n=(await oTl(i,"utf8")).trim();if(n)return n}catch{}let u=HTl(16).toString("hex");return await QTl(qTl(i),{recursive:!0}),await MTl(i,u),u}var HJi=()=>{};import{randomBytes as sTl}from"crypto";import{mkdir as pTl}from"fs/promises";import{createServer as tbl}from"net";import{join as ibl}from"path";function QJi(t,i){return Error(`sandbox failed to start: ${t}`,{cause:i})}function ubl(t){if(!(t instanceof Error))return!1;return t.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(t.message)}function lbl(t){if(t instanceof Error){let i=t.cause;if(i instanceof Error&&i.message)return i.message;return t.message}return String(t)}function oJi(t){let i=t.maxSandboxes??20,u=new Map,l=t.pickPort??nbl,n=t.fetchImpl??fetch,e=t.resolvePreviewUrl??((h,v)=>`http://127.0.0.1:${v}`),f=(h)=>{try{t.onEvent?.(h)}catch{}},c=async(h)=>{let v=new AbortController,E=setTimeout(()=>v.abort(),1500);try{let x=await n(`${h}/health`,{signal:v.signal});if(!x.ok)console.warn(`[user-desktop] probe ${h}/health \u2192 ${x.status} (treating as dead)`);return x.ok}catch(x){return console.warn(`[user-desktop] probe ${h}/health failed: ${x instanceof Error?x.message:String(x)} (treating as dead)`),!1}finally{clearTimeout(E)}},r=(h)=>{console.warn(`[user-desktop] evicting dead daemon handle=${h.handle} port=${h.port}`);try{h.process.kill("SIGTERM")}catch{}if(u.get(h.handle)===h)u.delete(h.handle),f({handle:h.handle,phase:"evicted"})},d=new Map;function _(){if(u.size<i)return;let h=[...u.values()].filter((E)=>E.activeDispatchCount===0).sort((E,x)=>E.lastUsedAt-x.lastUsedAt);if(h.length===0){console.warn(`[user-desktop] at cap ${u.size}/${i} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let v=h[0];console.log(`[user-desktop] evicting LRU victim handle=${v.handle} port=${v.port} (cap ${i} reached, size=${u.size})`);try{v.process.kill("SIGTERM")}catch{}u.delete(v.handle),f({handle:v.handle,phase:"evicted"})}let g=async(h)=>{f({handle:h.handle,phase:"spawning"}),_();let v=ibl(t.dataDir,"sandboxes",h.handle);await pTl(v,{recursive:!0}),console.log(`[user-desktop] ensure handle=${h.handle} repo=${h.repo?.cloneUrl??"(none)"} branch=${h.repo?.branch??"(none)"} runtime=${h.workload?.runtime??"(autodetect)"} pm=${h.workload?.packageManager??"(autodetect)"}`);let E=sTl(24).toString("hex"),[x,$]=await Promise.all([l(),l()]);console.log(`[user-desktop] spawn handle=${h.handle} port=${x} devPort=${$} workdir=${v}`);let D=await Promise.resolve(t.spawnDaemon({workdir:v,handle:h.handle,port:x,daemonToken:E,offloadAllowedHosts:h.offloadAllowedHosts??[],offloadAllowSameHostDev:h.offloadAllowSameHostDev??!1,orgFsConfigJson:h.orgFsConfigJson}));try{try{await t.waitForHealth(x)}catch(b){throw QJi("the sandbox didn't come online in time",b)}console.log(`[user-desktop] healthy handle=${h.handle} port=${x} \u2014 posting config`);try{await t.postConfig(x,$,{repo:h.repo,workload:h.workload,operator:h.operator},E)}catch(b){throw QJi(ubl(b)?"configuration timed out":"the sandbox rejected its configuration",b)}}catch(b){console.error(`[user-desktop] sandbox bring-up failed handle=${h.handle} port=${x} (killing daemon):`,b);try{D.kill("SIGKILL")}catch{}throw f({handle:h.handle,phase:"failed",error:lbl(b)}),b}let O=`http://127.0.0.1:${x}`,N=e(h.handle,x);console.log(`[user-desktop] ready handle=${h.handle} port=${x} sandboxApiUrl=${O} previewUrl=${N}`);let T={handle:h.handle,port:x,process:D,sandboxApiUrl:O,previewUrl:N,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:E};if(u.set(h.handle,T),f({handle:h.handle,phase:"ready",port:x,previewUrl:N}),D.exited)D.exited.then(()=>{if(u.get(h.handle)===T)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${h.handle} port=${x} \u2014 removing from cache`),u.delete(h.handle),f({handle:h.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${h.handle} port=${x} (already replaced/removed)`)});return{sandboxApiUrl:O,previewUrl:N,port:x}};return{async ensureSandbox(h){let v=u.get(h.handle);if(v){if(await c(v.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${h.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=${h.handle} port=${v.port} \u2014 respawning`),r(v)}let E=d.get(h.handle);if(E)return console.log(`[user-desktop] joining in-flight ensure handle=${h.handle}`),E;let x=g(h).finally(()=>{d.delete(h.handle)});return d.set(h.handle,x),x},proxyPort(h){let v=u.get(h);if(v)v.lastUsedAt=Date.now();return v?.port??null},getDaemonToken(h){return u.get(h)?.daemonToken??null},hasHandle(h){return u.has(h)||d.has(h)},recordHit(h){let v=u.get(h);if(v)v.lastUsedAt=Date.now()},acquireDispatch(h){let v=u.get(h);if(!v)return()=>{};v.activeDispatchCount+=1;let E=!1;return()=>{if(E)return;E=!0;let x=u.get(h);if(x)x.activeDispatchCount=Math.max(0,x.activeDispatchCount-1)}},listSandboxes(){return[...u.values()]},async deleteSandbox(h){let v=u.get(h);if(!v){console.log(`[user-desktop] delete handle=${h} (not found, no-op)`);return}console.log(`[user-desktop] delete handle=${h} port=${v.port}`);try{v.process.kill("SIGTERM")}catch{}u.delete(h),f({handle:h,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${u.size} sandbox(es)`);for(let h of u.values())try{h.process.kill("SIGTERM")}catch{}u.clear()}}}function nbl(){return new Promise((t,i)=>{let u=tbl();u.unref(),u.on("error",i),u.listen(0,"127.0.0.1",()=>{let l=u.address();if(l&&typeof l==="object"){let n=l.port;u.close(()=>t(n))}else u.close(()=>i(Error("could not allocate port")))})})}var MJi=()=>{};import{randomUUID as ebl}from"crypto";import{hostname as fbl}from"os";async function qJi(t){let i=fbl()||void 0;t.monitor?.onMachine?.(i??"this machine");let u=gGi(t.dataDir,{outFd:t.logFd,perSandboxLog:t.perSandboxLogs,hotReload:t.hotReload}),l=0,n=oJi({dataDir:t.dataDir,resolvePreviewUrl:(b,B)=>l>0?`http://${b}.localhost:${l}`:`http://127.0.0.1:${B}`,spawnDaemon:async(b)=>{let B={DAEMON_BOOT_ID:ebl(),APP_ROOT:b.workdir,PROXY_PORT:String(b.port),DAEMON_TOKEN:b.daemonToken,OFFLOAD_ALLOWED_HOSTS:b.offloadAllowedHosts.join(","),...b.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(b.orgFsConfigJson){let P=await wGi(t.dataDir);if(P)B.ORGFS_CONFIG=b.orgFsConfigJson,B.ORGFS_RCLONE_PATH=P}let A=await u({workdir:b.workdir,env:B,daemonPort:b.port});return{port:b.port,kill:(P)=>A.kill(P),exited:A.exited.then(()=>{return})}},postConfig:async(b,B,A,P)=>{let k={port:B};if(A.workload)k.runtime=A.workload.runtime,k.packageManager={name:A.workload.packageManager,...A.workload.packageManagerPath?{path:A.workload.packageManagerPath}:{}};let Q={application:k},a=fh(A.operator??null);if(a)Q.operator=a;if(A.repo)Q.git={repository:{cloneUrl:A.repo.cloneUrl,branch:A.repo.branch},...A.repo.userName&&A.repo.userEmail?{identity:{userName:A.repo.userName,userEmail:A.repo.userEmail}}:{}};await Xy(`http://127.0.0.1:${b}`,P,Q)},waitForHealth:async(b)=>{await wnt(`http://127.0.0.1:${b}`)},maxSandboxes:20,onEvent:t.monitor?.onEvent}),e=await GJi({port:t.port,lookupSandboxPort:(b)=>n.proxyPort(b)});l=e.port,console.log(`Local ingress listening on http://127.0.0.1:${e.port} (use http://<handle>.localhost:${e.port}/)`),t.monitor?.onIngress?.(e.port);let f=$Gi({provider:n}),c=async()=>{let b=await Yx({dataDir:t.dataDir,target:t.clusterBaseUrl});if(!b)throw Object.assign(Error(`Session for ${t.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${t.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return b.accessToken},r=await CJi(t.dataDir),d=process.env.npm_package_version??"0.0.0",_=await vat(),g=XJi(_,{onChange:(b)=>{console.log(`[link-daemon] capabilities detected: +${b.join(",")} (now: ${_.join(",")})`)}}),h=RGt({path:`${t.dataDir}/link/outbox.sqlite`}),v=()=>{},E=new AbortController,x={clusterBaseUrl:t.clusterBaseUrl,getAccessToken:c,provider:n,outbox:h,controlHandler:f,capabilities:_,machineId:r,cliVersion:d,previewPort:e.port,onConnected:()=>{t.monitor?.onCluster?.("linked"),console.log(`Linked to ${t.clusterBaseUrl}`)},onShutdown:()=>v(),runLifetimeSignal:E.signal};console.log(`[link-daemon] transport=tunnel cluster=${t.clusterBaseUrl}`);let $=await TJi(x);console.log("[link-daemon] active transport=tunnel");let D,O=new Promise((b)=>{D=b}),N=!1,T=async()=>{if(N)return;N=!0,E.abort(),console.log(`
|
|
108335
|
-
Shutting down\u2026`),g();try{await $.close()}catch{}try{await e.stop()}catch{}try{await n.shutdown()}catch{}try{h.close()}catch{}D(0)};return process.on("SIGINT",()=>void T()),process.on("SIGTERM",()=>void T()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),T()},$.closed.then(()=>{if(t.monitor?.onCluster?.("closed"),!N)console.error("Cluster connection closed permanently; exiting."),T()}),{stopped:O,stop:T}}var mJi=w(()=>{UGt();NX();hGi();xGi();yGi();aGt();bJi();RJi();YJi();HJi();OX();MJi()});function Eat(t){return t.map((i)=>typeof i==="string"?i:String(i)).join(" ")}var pnt;var wat=w(()=>{pnt={name:"decocms",version:"3.36.5",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.3.181","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.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.1","@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","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0",kysely:"^0.28.12","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.210","@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:*","@decocms/tunnel":"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","@nats-io/jwt":"0.0.10-5","@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.208","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 XX={};Vt(XX,{printBanner:()=>dbl,bannerLines:()=>VJi,BANNER_LINES:()=>t0t,BANNER_GRADIENT:()=>i0t});function rbl(t){let i=Number.parseInt(t.slice(1),16);return[i>>16&255,i>>8&255,i&255]}function VJi(t){let i=t0t.map((u,l)=>{let[n,e,f]=rbl(i0t[l]);return`\x1B[38;2;${n};${e};${f}m${u}\x1B[39m`});if(t!==void 0)i.push(`\x1B[2m v${t}\x1B[22m`);return i}function dbl(t){console.log("");for(let i of VJi(t))console.log(i);console.log("")}var t0t,i0t;var LG=w(()=>{t0t=[" \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 "],i0t=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as _bl,Text as sJi}from"ink";import{jsx as gbl,jsxs as pJi}from"react/jsx-runtime";function u0t({version:t}){return pJi(_bl,{flexDirection:"column",marginTop:1,children:[t0t.map((i,u)=>gbl(sJi,{color:i0t[u],children:i},u)),pJi(sJi,{dimColor:!0,children:[" v",t]})]})}var xat=w(()=>{LG()});var iKi={};Vt(iKi,{subscribeLinkState:()=>Dat,setMachine:()=>wbl,setLogPath:()=>$bl,setIngress:()=>Ebl,setDaemonError:()=>xbl,setClusterUrl:()=>vbl,setCluster:()=>hbl,pushSandboxEvent:()=>ybl,getLinkState:()=>yat,applySandboxEvent:()=>tKi});function tKi(t,i){let u=new Map(t);if(i.phase==="evicted"||i.phase==="deleted")return u.delete(i.handle),u;let l=u.get(i.handle);return u.set(i.handle,{handle:i.handle,port:i.port??l?.port??null,previewUrl:i.previewUrl??l?.previewUrl??null,status:i.phase,error:i.phase==="failed"?i.error??"failed":null}),u}function sy(){for(let t of $at)t()}function yat(){return cr}function Dat(t){return $at.add(t),()=>$at.delete(t)}function hbl(t){cr={...cr,cluster:t},sy()}function vbl(t){cr={...cr,clusterUrl:t},sy()}function Ebl(t,i){cr={...cr,ingressPort:t,ingressUrl:i},sy()}function wbl(t){cr={...cr,machine:t},sy()}function xbl(t){cr={...cr,daemonError:t},sy()}function $bl(t){cr={...cr,logPath:t},sy()}function ybl(t){cr={...cr,sandboxes:tKi(cr.sandboxes,t)},sy()}var cr,$at;var Oat=w(()=>{cr={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},$at=new Set});var uKi={};Vt(uKi,{LinkApp:()=>Nbl});import{Box as rr,Text as dr}from"ink";import{useSyncExternalStore as Dbl}from"react";import{jsx as _f,jsxs as Qv}from"react/jsx-runtime";function Obl(t){if(t.status==="ready")return{color:"green",text:"\u25CF Live"};if(t.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${t.error??""}`}}function Nbl(){let t=Dbl(Dat,yat),i=[...t.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return Qv(rr,{flexDirection:"column",children:[_f(u0t,{version:pnt.version}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:"\u2500".repeat(80)})}),_f(rr,{children:t.cluster==="linked"?Qv(dr,{color:"green",children:["\u2713 Connected to ",t.clusterUrl??"deco"]}):t.cluster==="connecting"?Qv(dr,{color:"yellow",children:["\u25CC Connecting to ",t.clusterUrl??"deco","\u2026"]}):Qv(dr,{color:"red",children:["\u2717 Disconnected from ",t.clusterUrl??"deco"]})}),_f(rr,{children:t.ingressUrl?Qv(dr,{color:"green",children:["\u2713 Serving at ",t.ingressUrl]}):_f(dr,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:`${"Computer".padEnd(16)}${t.machine??"this computer"} \xB7 ${i.length} of ${t.cap} previews`})}),i.length===0?_f(dr,{dimColor:!0,children:"No previews running yet."}):Qv(rr,{flexDirection:"column",children:[Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),i.map((u)=>{let l=Obl(u);return Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{wrap:"truncate-end",children:u.handle})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{color:l.color,wrap:"truncate-end",children:l.text})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),t.daemonError?_f(rr,{marginTop:1,children:Qv(dr,{color:"red",children:["\u26A0 ",t.daemonError]})}):null,t.logPath?_f(rr,{marginTop:1,children:Qv(dr,{dimColor:!0,children:["Logs: ",t.logPath]})}):null]})}var l0t;var lKi=w(()=>{wat();xat();Oat();l0t={project:18,status:14}});var eKi={};Vt(eKi,{runLinkCommand:()=>Zbl});import{closeSync as Tbl,mkdirSync as bbl,openSync as Ibl,writeSync as Fbl}from"fs";import{homedir as Ubl}from"os";import{join as nKi}from"path";function Bbl(t,i){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(i===void 0)return;try{Fbl(i,`${Eat(n)}
|
|
108335
|
+
Shutting down\u2026`),g();try{await $.close()}catch{}try{await e.stop()}catch{}try{await n.shutdown()}catch{}try{h.close()}catch{}D(0)};return process.on("SIGINT",()=>void T()),process.on("SIGTERM",()=>void T()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),T()},$.closed.then(()=>{if(t.monitor?.onCluster?.("closed"),!N)console.error("Cluster connection closed permanently; exiting."),T()}),{stopped:O,stop:T}}var mJi=w(()=>{UGt();NX();hGi();xGi();yGi();aGt();bJi();RJi();YJi();HJi();OX();MJi()});function Eat(t){return t.map((i)=>typeof i==="string"?i:String(i)).join(" ")}var pnt;var wat=w(()=>{pnt={name:"decocms",version:"3.36.7",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.3.181","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.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.1","@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","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0",kysely:"^0.28.12","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.210","@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:*","@decocms/tunnel":"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","@nats-io/jwt":"0.0.10-5","@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.208","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 XX={};Vt(XX,{printBanner:()=>dbl,bannerLines:()=>VJi,BANNER_LINES:()=>t0t,BANNER_GRADIENT:()=>i0t});function rbl(t){let i=Number.parseInt(t.slice(1),16);return[i>>16&255,i>>8&255,i&255]}function VJi(t){let i=t0t.map((u,l)=>{let[n,e,f]=rbl(i0t[l]);return`\x1B[38;2;${n};${e};${f}m${u}\x1B[39m`});if(t!==void 0)i.push(`\x1B[2m v${t}\x1B[22m`);return i}function dbl(t){console.log("");for(let i of VJi(t))console.log(i);console.log("")}var t0t,i0t;var LG=w(()=>{t0t=[" \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 "],i0t=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as _bl,Text as sJi}from"ink";import{jsx as gbl,jsxs as pJi}from"react/jsx-runtime";function u0t({version:t}){return pJi(_bl,{flexDirection:"column",marginTop:1,children:[t0t.map((i,u)=>gbl(sJi,{color:i0t[u],children:i},u)),pJi(sJi,{dimColor:!0,children:[" v",t]})]})}var xat=w(()=>{LG()});var iKi={};Vt(iKi,{subscribeLinkState:()=>Dat,setMachine:()=>wbl,setLogPath:()=>$bl,setIngress:()=>Ebl,setDaemonError:()=>xbl,setClusterUrl:()=>vbl,setCluster:()=>hbl,pushSandboxEvent:()=>ybl,getLinkState:()=>yat,applySandboxEvent:()=>tKi});function tKi(t,i){let u=new Map(t);if(i.phase==="evicted"||i.phase==="deleted")return u.delete(i.handle),u;let l=u.get(i.handle);return u.set(i.handle,{handle:i.handle,port:i.port??l?.port??null,previewUrl:i.previewUrl??l?.previewUrl??null,status:i.phase,error:i.phase==="failed"?i.error??"failed":null}),u}function sy(){for(let t of $at)t()}function yat(){return cr}function Dat(t){return $at.add(t),()=>$at.delete(t)}function hbl(t){cr={...cr,cluster:t},sy()}function vbl(t){cr={...cr,clusterUrl:t},sy()}function Ebl(t,i){cr={...cr,ingressPort:t,ingressUrl:i},sy()}function wbl(t){cr={...cr,machine:t},sy()}function xbl(t){cr={...cr,daemonError:t},sy()}function $bl(t){cr={...cr,logPath:t},sy()}function ybl(t){cr={...cr,sandboxes:tKi(cr.sandboxes,t)},sy()}var cr,$at;var Oat=w(()=>{cr={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},$at=new Set});var uKi={};Vt(uKi,{LinkApp:()=>Nbl});import{Box as rr,Text as dr}from"ink";import{useSyncExternalStore as Dbl}from"react";import{jsx as _f,jsxs as Qv}from"react/jsx-runtime";function Obl(t){if(t.status==="ready")return{color:"green",text:"\u25CF Live"};if(t.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${t.error??""}`}}function Nbl(){let t=Dbl(Dat,yat),i=[...t.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return Qv(rr,{flexDirection:"column",children:[_f(u0t,{version:pnt.version}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:"\u2500".repeat(80)})}),_f(rr,{children:t.cluster==="linked"?Qv(dr,{color:"green",children:["\u2713 Connected to ",t.clusterUrl??"deco"]}):t.cluster==="connecting"?Qv(dr,{color:"yellow",children:["\u25CC Connecting to ",t.clusterUrl??"deco","\u2026"]}):Qv(dr,{color:"red",children:["\u2717 Disconnected from ",t.clusterUrl??"deco"]})}),_f(rr,{children:t.ingressUrl?Qv(dr,{color:"green",children:["\u2713 Serving at ",t.ingressUrl]}):_f(dr,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:`${"Computer".padEnd(16)}${t.machine??"this computer"} \xB7 ${i.length} of ${t.cap} previews`})}),i.length===0?_f(dr,{dimColor:!0,children:"No previews running yet."}):Qv(rr,{flexDirection:"column",children:[Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),i.map((u)=>{let l=Obl(u);return Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{wrap:"truncate-end",children:u.handle})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{color:l.color,wrap:"truncate-end",children:l.text})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),t.daemonError?_f(rr,{marginTop:1,children:Qv(dr,{color:"red",children:["\u26A0 ",t.daemonError]})}):null,t.logPath?_f(rr,{marginTop:1,children:Qv(dr,{dimColor:!0,children:["Logs: ",t.logPath]})}):null]})}var l0t;var lKi=w(()=>{wat();xat();Oat();l0t={project:18,status:14}});var eKi={};Vt(eKi,{runLinkCommand:()=>Zbl});import{closeSync as Tbl,mkdirSync as bbl,openSync as Ibl,writeSync as Fbl}from"fs";import{homedir as Ubl}from"os";import{join as nKi}from"path";function Bbl(t,i){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(i===void 0)return;try{Fbl(i,`${Eat(n)}
|
|
108336
108336
|
`)}catch{}};return console.log=(...n)=>l(n),console.warn=(...n)=>l(n),console.error=(...n)=>{l(n),t(Eat(n))},()=>{console.log=u.log,console.warn=u.warn,console.error=u.error}}async function Pbl(t,i){let u;try{u=await fetch(`${t}/api/links/me`,{headers:{authorization:`Bearer ${i}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(u.status===401||u.status===403)throw Error(`Authentication rejected by ${t} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${t}\` and try again.`)}async function Zbl(t={}){let i=t.port??5174,u=t.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??nKi(Ubl(),"deco"),l=t.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",n,e;try{let f=await gnt({dataDir:u,intent:"Link",target:l});if(process.env.DECOCMS_LINK_MANAGED!=="1")await Pbl(l,f.accessToken);let c;if(t.tui){let{render:_}=await import("ink"),{createElement:g}=await import("react"),{LinkApp:h}=await Promise.resolve().then(() => (lKi(),uKi)),{pushSandboxEvent:v,setCluster:E,setClusterUrl:x,setDaemonError:$,setIngress:D,setLogPath:O,setMachine:N}=await Promise.resolve().then(() => (Oat(),iKi));bbl(u,{recursive:!0});let T=nKi(u,"link.log");e=Ibl(T,"w"),O(T),x(l),E("connecting"),c={onEvent:(b)=>v(b),onIngress:(b)=>D(b,`http://127.0.0.1:${b}`),onCluster:(b)=>E(b),onMachine:(b)=>N(b)},n=Bbl($,e),_(g(h),{patchConsole:!1})}else if(t.banner!==!1){let{printBanner:_}=await Promise.resolve().then(() => (LG(),XX));_(t.version??"0.0.0")}let r=process.env.DECOCMS_LINK_MANAGED!=="1";return await(await qJi({port:i,clusterBaseUrl:l,dataDir:u,session:f,monitor:c,logFd:e,perSandboxLogs:r,hotReload:t.hotReload})).stopped}catch(f){return n?.(),console.error(f instanceof Error?f.message:String(f)),1}finally{if(n?.(),e!==void 0)try{Tbl(e)}catch{}}}var fKi=w(()=>{FGt();mJi()});var Uat={};Vt(Uat,{resolveDevLinkClusterUrl:()=>jbl,populateDevLinkToxiProxy:()=>hKi,isDevLinkToxiProxyEnabled:()=>kbl,ensureDevLinkToxiProxy:()=>Jbl,buildDevLinkToxiProxyConfig:()=>_Ki,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>rKi,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>dKi});function kbl(t=process.env){return t.DECO_DEV_LINK_TOXIPROXY==="1"}function Nat(t,i){if(!Number.isInteger(t)||t<1||t>65535)throw Error(`${i} must be an integer port in 1..65535`);return t}function _Ki(t){let i=new URL(t.serverUrl);if(i.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let u=Nat(t.apiPort,"apiPort"),l=Nat(t.listenPort,"listenPort");if(i.port.length===0)throw Error("serverUrl must include an explicit valid port");let n=Nat(Number.parseInt(i.port,10),"upstreamPort"),e=`http://127.0.0.1:${n}`,f=`http://127.0.0.1:${l}`;return{serviceName:rKi,proxyName:dKi,apiUrl:`http://127.0.0.1:${u}`,listen:`0.0.0.0:${l}`,upstream:`host.docker.internal:${n}`,publicTargetUrl:e,clusterUrl:f,logLine:`[dev-link-toxiproxy] ready: ${f} -> ${e}`}}function jbl(t){return t.toxiproxy?.clusterUrl??t.serverUrl}async function Tat(t,i,u){if(t.ok)return;let l=await t.text();throw Error(`ToxiProxy ${i} failed for ${u}: status=${t.status} statusText=${t.statusText} body=${l}`)}function Fat(t){if(t instanceof Error)return t.name==="Error"?t.message:`${t.name}: ${t.message}`;return String(t)}function gKi(t){if(!(t instanceof Error))return!1;if(t.name==="TimeoutError")return!0;return gKi(t.cause)}async function bat(t,i,u,l){try{return await t(u,l)}catch(n){throw Error(`ToxiProxy ${i} failed for ${u}: ${Fat(n)}`,{cause:n})}}async function hKi(t,i=fetch){let u=`${t.apiUrl}/reset`,l=await bat(i,"reset",u,{method:"POST"});await Tat(l,"reset",u);let n=`${t.apiUrl}/populate`,e=await bat(i,"populate",n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:t.proxyName,listen:t.listen,upstream:t.upstream,enabled:!0}])});await Tat(e,"populate",n)}async function Gbl(t,i){let u=`${t.apiUrl}/version`;try{await Qg(async()=>{let l=await bat(i,"readiness check",u,{method:"GET",signal:AbortSignal.timeout(Sbl)});await Tat(l,"readiness check",u)},{maxAttempts:Abl,minTimeout:cKi,maxTimeout:cKi,multiplier:1,jitter:0,isRetriable:(l)=>!gKi(l)})}catch(l){let n=l instanceof J_?l.cause:l;throw Error(`ToxiProxy API did not become ready at ${u}: ${Fat(n)}`,{cause:n})}}async function Rbl(t){if(t===null)return"";return await new Response(t).text()}async function Iat(t,i={}){let u=["docker",...t].join(" "),l=(()=>{try{return Bun.spawn(["docker",...t],{stdout:"ignore",stderr:"pipe"})}catch(c){throw Error(`Docker command failed to start (${u}): ${Fat(c)}`,{cause:c})}})(),[n,e]=await Promise.all([l.exited,Rbl(l.stderr)]);if(n===0||i.ignoreFailure===!0)return;let f=e.trim().length>0?`: ${e.trim()}`:"";throw Error(`Docker command failed (${u}) with exit ${n}${f}`)}async function abl(t,i){let u=`deco-dev-link-toxiproxy-${t}`;await Iat(["rm","-f",u],{ignoreFailure:!0}),await Iat(["run","--rm","-d","--name",u,"-p",`127.0.0.1:${t}:8474`,"-p",`127.0.0.1:${i}:${i}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function zbl(t,i){let u=`deco-dev-link-toxiproxy-${t}`;await Iat(["rm","-f",u],{ignoreFailure:!0})}async function Jbl(t){let i=_Ki(t),u=t.startDaemon??abl,l=t.stopDaemon??(t.startDaemon===void 0?zbl:void 0);await u(t.apiPort,t.listenPort);let n=t.fetchImpl??fetch;try{await Gbl(i,n),await hKi(i,n)}catch(e){if(l!==void 0)try{await l(t.apiPort,t.listenPort)}catch{}throw e}return{config:i,stop:async()=>{if(l!==void 0)await l(t.apiPort,t.listenPort)}}}var rKi="ToxiProxy",dKi="dev_link_studio",Abl=20,cKi=100,Sbl=100;var Bat=w(()=>{Nf()});var vKi={};Vt(vKi,{migrateBetterAuth:()=>Pat});import{getMigrations as Kbl}from"better-auth/db";import{sso as Lbl}from"@better-auth/sso";import{organization as Wbl}from"@decocms/better-auth/plugins";import{admin as Xbl,apiKey as Ybl,jwt as Cbl,magicLink as Hbl,mcp as Qbl,openAPI as obl}from"better-auth/plugins";import{emailOTP as Mbl}from"better-auth/plugins/email-otp";async function Pat(t){let u={database:wX(t||Lx()),plugins:[Wbl({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),Xbl(),Ybl(),Cbl(),obl(),Qbl({loginPage:"/login"}),Lbl(),Hbl({sendMagicLink:async()=>{}}),Mbl({sendVerificationOTP:async()=>{}})]},{toBeAdded:l,toBeCreated:n,runMigrations:e}=await Kbl(u);if(!l.length&&!n.length)return"up to date";return await e(),`${n.length+l.length} table(s) migrated`}var Zat=w(()=>{or()});var Aat={};Vt(Aat,{up:()=>qbl,down:()=>mbl});import{sql as ov}from"kysely";async function qbl(t){await t.schema.createTable("connections").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(i)=>i.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(i)=>i.notNull()).addColumn("connectionUrl","text",(i)=>i.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(i)=>i.notNull().defaultTo("active")).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(i)=>i.primaryKey()).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(i)=>i.notNull()).addColumn("hashedKey","text",(i)=>i.notNull().unique()).addColumn("permissions","text",(i)=>i.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(i)=>i.references("user.id").onDelete("set null")).addColumn("connectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("toolName","text",(i)=>i.notNull()).addColumn("allowed","integer",(i)=>i.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(i)=>i.notNull()).addColumn("redirectUris","text",(i)=>i.notNull()).addColumn("grantTypes","text",(i)=>i.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(i)=>i.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(i)=>i.notNull()).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(i)=>i.primaryKey()).addColumn("connectionId","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(i)=>i.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(i)=>i.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function mbl(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var EKi=()=>{};var Sat={};Vt(Sat,{up:()=>Vbl,down:()=>sbl});import{sql as wKi}from"kysely";async function Vbl(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(wKi`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(wKi`CURRENT_TIMESTAMP`)).execute()}async function sbl(t){await t.schema.dropTable("organization_settings").execute()}var xKi=()=>{};var kat={};Vt(kat,{up:()=>pbl,down:()=>tIl});async function pbl(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function tIl(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var jat={};Vt(jat,{up:()=>iIl,down:()=>uIl});async function iIl(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(i)=>i.notNull()).addColumn("updatedAt","text",(i)=>i.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((i)=>i.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function uIl(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(i)=>i.notNull()).addColumn("updatedAt","text",(i)=>i.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((i)=>i.selectFrom("organization_settings").select(["organizationId",i.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Gat={};Vt(Gat,{up:()=>lIl,down:()=>nIl});async function lIl(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function nIl(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Rat={};Vt(Rat,{up:()=>fIl,down:()=>cIl});import{sql as eIl}from"kysely";async function fIl(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",eIl`text`).execute()}async function cIl(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var $Ki=()=>{};var aat={};Vt(aat,{up:()=>rIl,down:()=>dIl});async function rIl(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(i)=>i.notNull()).addColumn("tool_name","text",(i)=>i.notNull()).addColumn("input","text",(i)=>i.notNull()).addColumn("output","text",(i)=>i.notNull()).addColumn("is_error","integer",(i)=>i.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(i)=>i.notNull()).addColumn("timestamp","text",(i)=>i.notNull()).addColumn("user_id","text").addColumn("request_id","text",(i)=>i.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function dIl(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var zat={};Vt(zat,{up:()=>_Il,down:()=>gIl});import{sql as YX}from"kysely";async function _Il(t){await t.schema.createTable("events").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(i)=>i.notNull()).addColumn("source","text",(i)=>i.notNull()).addColumn("specversion","text",(i)=>i.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(i)=>i.notNull()).addColumn("datacontenttype","text",(i)=>i.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(i)=>i.notNull().defaultTo("pending")).addColumn("attempts","integer",(i)=>i.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(i)=>i.notNull()).addColumn("filter","text").addColumn("enabled","integer",(i)=>i.notNull().defaultTo(1)).addColumn("created_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(i)=>i.primaryKey()).addColumn("event_id","text",(i)=>i.notNull()).addColumn("subscription_id","text",(i)=>i.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(i)=>i.notNull().defaultTo("pending")).addColumn("attempts","integer",(i)=>i.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function gIl(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var yKi=()=>{};var Jat={};Vt(Jat,{up:()=>vIl,down:()=>EIl});import{sql as hIl}from"kysely";async function vIl(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function EIl(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(i)=>i.references("user.id").onDelete("set null")).addColumn("connectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("toolName","text",(i)=>i.notNull()).addColumn("allowed","integer",(i)=>i.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(i)=>i.notNull().defaultTo(hIl`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var DKi=()=>{};var Kat={};Vt(Kat,{up:()=>wIl,down:()=>xIl});import{sql as n0t}from"kysely";async function wIl(t){await t.schema.createTable("gateways").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(i)=>i.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(i)=>i.notNull().defaultTo("active")).addColumn("is_default","integer",(i)=>i.notNull().defaultTo(0)).addColumn("created_at","text",(i)=>i.notNull().defaultTo(n0t`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(n0t`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(i)=>i.primaryKey()).addColumn("gateway_id","text",(i)=>i.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(n0t`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await n0t`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function xIl(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var OKi=()=>{};var Lat={};Vt(Lat,{up:()=>$Il,down:()=>yIl});async function $Il(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function yIl(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var Wat={};Vt(Wat,{up:()=>DIl,down:()=>OIl});import{sql as e0t}from"kysely";async function DIl(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(i)=>i.notNull().defaultTo("inclusion")).execute(),await e0t`
|
|
108337
108337
|
UPDATE gateways
|
|
108338
108338
|
SET tool_selection_mode = CASE
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as gt,r as w,j as o,c as St,n as ut,l as yt}from"./index-CATx2LDP.js";import{i as jt}from"./ChevronRight-BAb1spam.js";import{S as kt}from"./scroll-area--D79tEKR.js";import{AddSectionModal as _t}from"./add-section-modal-55MbBlme.js";import{aa as wt,ab as Bt,f as Nt,g as Rt,ac as At}from"./index-BAd8YgC5.js";import{c as Ct}from"./save-referenced-block-BFfdfLwW.js";import{b as Et,S as Kt}from"./schema-form-e-mnDCXf.js";import{S as Ft}from"./save-status-BBW-EIin.js";import"./select-Cgf1CYEw.js";import"./tooltip-1mt0C65x.js";import"./Check-g3DB8Y79.js";import"./ChevronDown-2xes5oAP.js";import"./ChevronUp-D1fwNmdw.js";import"./agent-icon-BIiUgn6T.js";import"./AlertCircle-CHkhp8BT.js";import"./Tool01-IpmKT80v.js";import"./SwitchHorizontal01-CUtzfg9y.js";import"./RefreshCcw01-BZry-3Kg.js";import"./XCircle-D9AGwgGK.js";import"./ArrowUpRight-BLDnDQA4.js";import"./ZapSquare-CJ6AZAbk.js";import"./Users03-1mzpWPfB.js";import"./CheckCircle-CaqJ0h8v.js";import"./ChevronLeft-DoZaWCdC.js";import"./DotsVertical-BJVJdITZ.js";import"./Container-SX43EreL.js";import"./Eye-B6_-sQMR.js";import"./ZoomOut-B2ojfl-A.js";import"./Globe01-BaaIcJuv.js";import"./FilterLines-Bppcas54.js";import"./Star01-2SOe9QD-.js";import"./Palette-VBLL4nJC.js";import"./HardDrive-DCOTq5uv.js";import"./Stars02-CEd2BxY_.js";import"./Key01-WyguyLzq.js";import"./LayoutLeft-DFTfTIl4.js";import"./LinkExternal01-C4yAqYts.js";import"./Monitor01-rl2bcoeM.js";import"./Sun-jizGeY2D.js";import"./Play-Cjs1Q-Aw.js";import"./Plus-C5heVoJ6.js";import"./SearchMd-qFqO3CC6.js";import"./Settings02-CLIbq_7z.js";import"./Shield01-Bo6JmLSx.js";import"./Stars01-C-iKmdEF.js";import"./Trash01-DM00_xyO.js";import"./Upload01-D0E7TXXq.js";import"./User01-ga9dWIix.js";import"./Users01-lGeZPP0U.js";import"./XClose-dBx0FEAe.js";import"./X-C_bQSA-d.js";import"./Zap-BJCyzigO.js";import"./dialog-DNvA-MUO.js";import"./input-mRhCdgaG.js";import"./agent-capabilities-CtOghWTY.js";import"./chat-context-BJ1vdoQm.js";import"./tab-id-B-5zrrfX.js";import"./use-mcp-client-SlmBrgfs.js";import"./auth-DMsnFrvi.js";import"./watch-sse-pool-Dk5ELrHR.js";import"./decopilot-sse-pool-Bxs_zfqE.js";import"./use-virtual-mcp-CU7uEJL7.js";import"./use-collections-ByNVa1P1.js";import"./use-ai-providers-DrMdym73.js";import"./use-organization-settings-D0hAXIi9.js";import"./pair-GelmpgQ4.js";import"./use-clock-tick-C75wEYcQ.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-xQaZthc_.js";import"./file-type-icon-BkDt79pr.js";import"./content-blocks-o63cs2vh.js";import"./types-C-U3Ts-j.js";import"./studio-tools-Av8VgprY.js";import"./shell-layout-uIwUEFHm.js";import"./avatar-D47Jk04K.js";import"./required-auth-layout-BIu6_zGe.js";import"./useRouterState-CFGs8v1R.js";import"./use-org-sso-DJ7AQqIg.js";import"./integration-icon-BT5xGQIC.js";import"./use-navigate-to-agent-CSNmmW1c.js";import"./use-connection-5fAWFRJ_.js";import"./use-mcp-prompts-BS6YGKJi.js";import"./form-DrzcdlAc.js";import"./label-CfV-PYxa.js";import"./spinner-uDki_7Z8.js";import"./drawer-DaOnsuqJ.js";import"./collection-search-BJmgl3qg.js";import"./tabs-DevQrGCr.js";import"./toggle-group-BJNcAi1V.js";import"./sortable.esm-BSN8qWvt.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-CmfMbikw.js";import"./use-registry-connections-CUSj2SXo.js";import"./useInfiniteQuery-Dj9YLZ3r.js";import"./use-infinite-scroll-CzLnKKRE.js";import"./extract-connection-data-CkRoghUt.js";import"./generate-id-CGijBPI-.js";import"./collections-_vOvxoxw.js";import"./card-LUxcXBOp.js";import"./collection-tabs-BjDLPumD.js";import"./badge-B4Q3Kugn.js";import"./textarea-QDTInyWb.js";import"./connection-form-helpers-BzM5voPg.js";import"./useSuspenseInfiniteQuery-CACV_JG8.js";import"./mcp-oauth-CrqBOcGb.js";import"./connect-desktop-dialog-D5KjXYkQ.js";import"./decopilot-DdFCWM0M.js";import"./checkbox-CHqLn2TQ.js";import"./skeleton-BRChPnS2.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-DKCuI8RI.js";import"./popover-Djx3eehK.js";import"./command-DEfANLSd.js";import"./index-DaZw25FU.js";import"./index-DFVJVQA2.js";import"./dropdown-menu-BWTWFWGo.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-znYPD3vX.js";import"./sidebar-BuWHGfqc.js";import"./sheet-BBLc_qUy.js";import"./toolbar-n5eK8Q5W.js";import"./use-create-virtual-mcp-K5P4r7gs.js";import"./github-repo-picker-BeWTfzSO.js";import"./use-mcp-tools-DJTjDxAS.js";import"./alert-dialog-DH_8ED2c.js";import"./index-ZvvZYF8M.js";import"./use-org-auth-client-CNwi-nzI.js";import"./hover-card-B-GHi_m9.js";import"./task-status-DfBkdT3D.js";import"./use-status-sounds-DiIUarno.js";import"./empty-state-DDEvpq3s.js";import"./resizable-Cv_aeq4n.js";import"./use-capability-Ctju3DPP.js";import"./header-tab-button-zS78j2W5.js";import"./index-XrBr9Z6q.js";import"./user-CW9-suBt.js";import"./tools-list-DRP2WIO_.js";import"./switch-BCvTAJSU.js";import"./use-debounced-autosave-B6us4Px1.js";import"./index-BawfkDKi.js";import"./search-input-Bxn-rqNj.js";import"./use-secrets-BPqsqJsG.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-CQcOq9Y1.js";import"./view-mode-toggle-CRuQE6Gp.js";import"./select-model-C_VkZ9VQ.js";import"./use-automations-CcLdI8uN.js";import"./monaco-editor-DEShyEoY.js";import"./automation-runs-iFgQkQtG.js";import"./table-CoPsT_qq.js";import"./use-members-Ceh2no3q.js";import"./automation-list-row-H0j7w0mf.js";import"./calendar-BOtLk06o.js";import"./image-field-BSr72dUp.js";import"./use-file-configs-nuDPJJdx.js";function Cr(B){const t=gt.c(77),{orgSlug:d,virtualMcpId:f,branch:u,blockKey:i,block:p,meta:m,decofile:l,title:H,excludeFields:G,schemaPending:at,previewBaseUrl:nt}=B,J=at===void 0?!1:at,n=nt===void 0?null:nt,h=typeof p?.__resolveType=="string"?p.__resolveType:"";let A;t[0]!==G||t[1]!==m||t[2]!==h?(A=wt(h,m,G),t[0]=G,t[1]=m,t[2]=h,t[3]=A):A=t[3];const c=A;let C;t[4]!==c?(C=!!c&&Object.keys(c.properties??{}).length>0,t[4]=c,t[5]=C):C=t[5];const Q=C;let E;t[6]!==p||t[7]!==i||t[8]!==m||t[9]!==H?(E=H??(p?Bt(i,p,m):i),t[6]=p,t[7]=i,t[8]=m,t[9]=H,t[10]=E):E=t[10];const x=E;let K;t[11]!==u||t[12]!==d||t[13]!==f?(K={orgSlug:d,virtualMcpId:f,branch:u},t[11]=u,t[12]=d,t[13]=f,t[14]=K):K=t[14];const{save:v,flush:W,isPending:X}=Nt(K);let F;t[15]!==u||t[16]!==d||t[17]!==f?(F={orgSlug:d,virtualMcpId:f,branch:u},t[15]=u,t[16]=d,t[17]=f,t[18]=F):F=t[18];const Y=Rt(F);let $;t[19]!==v?($=Ct((e,r)=>v(e,r)),t[19]=v,t[20]=$):$=t[20];const Z=$,[ht,xt]=w.useState(i),[tt,ct]=w.useState(null),[et,dt]=w.useState(0);let P;t[21]===Symbol.for("react.memo_cache_sentinel")?(P=[],t[21]=P):P=t[21];const[s,ft]=w.useState(P),[ot,rt]=w.useState(!1),O=w.useRef(null);ht!==i&&(xt(i),ct(null),dt(Pt),ft([]));let T;t[22]!==p?(T=p??{},t[22]=p,t[23]=T):T=t[23];const it=T;let b;t[24]!==tt?(b=tt??{},t[24]=tt,t[25]=b):b=t[25];let V;t[26]!==it||t[27]!==b?(V={...it,...b},t[26]=it,t[27]=b,t[28]=V):V=t[28];const mt=V;let I;t[29]!==i||t[30]!==h||t[31]!==v?(I=e=>{const r=e;ct(r),v(i,{...r,__resolveType:h})},t[29]=i,t[30]=h,t[31]=v,t[32]=I):I=t[32];const st=I;let L;t[33]===Symbol.for("react.memo_cache_sentinel")?(L=e=>{ft(e)},t[33]=L):L=t[33];const pt=L;let q;t[34]!==l||t[35]!==W||t[36]!==Y?(q=async(e,r)=>{try{const{blockKey:a,data:R}=At(e,l);await Y.mutateAsync({blockKey:a,data:R}),ut.success(`Created section "${a}"`),r({__resolveType:a}),W()}catch(a){const R=a,bt=R instanceof Error?R.message:"Could not add section";throw ut.error(bt),R}},t[34]=l,t[35]=W,t[36]=Y,t[37]=q):q=t[37];const g=q;let z;t[38]===Symbol.for("react.memo_cache_sentinel")?(z=e=>{O.current=e.append,rt(!0)},t[38]=z):z=t[38];const vt=z;let M;t[39]!==g?(M=async e=>{const r=O.current;if(r)try{await g(e,a=>{r(a),rt(!1),O.current=null})}catch{}},t[39]=g,t[40]=M):M=t[40];const lt=M;let U;t[41]!==s||t[42]!==x?(U=s.length>0?[x,...s]:[],t[41]=s,t[42]=x,t[43]=U):U=t[43];const N=U;let S;t[44]!==s||t[45]!==N||t[46]!==x?(S=N.length>0?o.jsx("nav",{"aria-label":"Editing breadcrumb",className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:N.map((e,r)=>{const a=r===N.length-1;return o.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[r>0&&o.jsx(jt,{className:"size-3 shrink-0 text-muted-foreground/60"}),o.jsx("button",{type:"button",onClick:()=>{pt(r===0?[]:Et(s,r)),dt($t)},title:e,className:St("min-w-0 truncate rounded-md px-1 py-0.5 text-left transition-colors",a?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:e})]},`${e}-${r}`)})}):o.jsx("span",{className:"text-sm font-medium",children:x}),t[44]=s,t[45]=N,t[46]=x,t[47]=S):S=t[47];let y;t[48]!==X?(y=o.jsx(Ft,{isPending:X,isError:!1}),t[48]=X,t[49]=y):y=t[49];let j;t[50]!==S||t[51]!==y?(j=o.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[S,y]}),t[50]=S,t[51]=y,t[52]=j):j=t[52];let k;t[53]!==i||t[54]!==s||t[55]!==l||t[56]!==mt||t[57]!==et||t[58]!==g||t[59]!==st||t[60]!==Q||t[61]!==m||t[62]!==n||t[63]!==Z||t[64]!==c||t[65]!==J?(k=o.jsx(kt,{className:"min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:o.jsx("div",{className:"px-6 py-6",children:o.jsx("div",{className:"mx-auto max-w-xl",children:Q?o.jsx(Kt,{schema:c,value:mt,onChange:st,basePath:"",breadcrumbPath:s,onBreadcrumbChange:pt,decofile:l,meta:m,onSaveReferencedBlock:Z,previewBaseUrl:n,onAddSectionItem:g,onRequestAddSection:vt},`${i}:${et}`):J?o.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[o.jsx(yt,{size:16,className:"animate-spin"}),"Loading app schema…"]}):o.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:"No editable schema found for this app."})})})}),t[53]=i,t[54]=s,t[55]=l,t[56]=mt,t[57]=et,t[58]=g,t[59]=st,t[60]=Q,t[61]=m,t[62]=n,t[63]=Z,t[64]=c,t[65]=J,t[66]=k):k=t[66];let _;t[67]!==ot||t[68]!==l||t[69]!==lt||t[70]!==m||t[71]!==n?(_=n&&o.jsx(_t,{open:ot,onOpenChange:e=>{rt(e),e||(O.current=null)},meta:m,decofile:l,previewBaseUrl:n,onSelect:e=>{lt(e)}}),t[67]=ot,t[68]=l,t[69]=lt,t[70]=m,t[71]=n,t[72]=_):_=t[72];let D;return t[73]!==j||t[74]!==k||t[75]!==_?(D=o.jsxs("div",{className:"flex h-full flex-col",children:[j,k,_]}),t[73]=j,t[74]=k,t[75]=_,t[76]=D):D=t[76],D}function $t(B){return B+1}function Pt(B){return B+1}export{Cr as AppEditor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as o}from"./watch-sse-pool-Dk5ELrHR.js";const c=o;export{c as d};
|