decocms 4.52.7 → 4.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/README.md +73 -29
- package/dist/client/assets/{AlertCircle-Z76_4mhf.js → AlertCircle-DyFMEbze.js} +1 -1
- package/dist/client/assets/{ArrowUp-aRKoCc3b.js → ArrowUp-BR2M__90.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-D-q_B7f3.js → ArrowUpRight-BZg48uTD.js} +1 -1
- package/dist/client/assets/{Check-DYBiSR01.js → Check--_cveeO-.js} +1 -1
- package/dist/client/assets/{CheckCircle-D2xSH-LX.js → CheckCircle-iKBHppZx.js} +1 -1
- package/dist/client/assets/{ChevronDown-CD5-GX6s.js → ChevronDown-B0uBVCox.js} +1 -1
- package/dist/client/assets/{ChevronRight-CbKKKp3L.js → ChevronRight-DF0UcmOW.js} +1 -1
- package/dist/client/assets/{ChevronUp-3N4uo8EA.js → ChevronUp-BctHPZV7.js} +1 -1
- package/dist/client/assets/{Circle-DYl9dR3Y.js → Circle-F8zn6izU.js} +1 -1
- package/dist/client/assets/{Copy01-b0k2Zyy9.js → Copy01-DX8KbmsY.js} +1 -1
- package/dist/client/assets/{DotsVertical-BN-yEAxf.js → DotsVertical-C8opRm3M.js} +1 -1
- package/dist/client/assets/{Eye-CgQlYLMh.js → Eye-BZ36MqP8.js} +1 -1
- package/dist/client/assets/{FilterLines-B6vzvSpK.js → FilterLines-t8Ykz7d9.js} +1 -1
- package/dist/client/assets/{Globe01-FwL4FAZ8.js → Globe01-B8eQP1ih.js} +1 -1
- package/dist/client/assets/{Globe04-DSTkeFGF.js → Globe04-szElUwnt.js} +1 -1
- package/dist/client/assets/{HardDrive-BYK-e-zK.js → HardDrive-B-37nvmc.js} +1 -1
- package/dist/client/assets/{Key01-CyfLyx4d.js → Key01-C2Fiu3xY.js} +1 -1
- package/dist/client/assets/{LayoutLeft-M04Iey-z.js → LayoutLeft-CI2ebiK8.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DecAjgEQ.js → LinkExternal01-BDrThi_1.js} +1 -1
- package/dist/client/assets/{List-BK-xPZjK.js → List-DIlR6rDv.js} +1 -1
- package/dist/client/assets/{Loading02-D5PjBzIX.js → Loading02-Bcfvmp0s.js} +1 -1
- package/dist/client/assets/{Monitor01-BQMNhq2R.js → Monitor01-DTshj1sL.js} +1 -1
- package/dist/client/assets/{Palette-DEcjz9KI.js → Palette-JSRtDgV5.js} +1 -1
- package/dist/client/assets/{Play-Djef9fjL.js → Play-CdkxuHqa.js} +1 -1
- package/dist/client/assets/{Plus-D4PJkd-R.js → Plus-CjVHI4O0.js} +1 -1
- package/dist/client/assets/{SearchLg-BGZqxKr6.js → SearchLg-DoQ3Tplu.js} +1 -1
- package/dist/client/assets/{SearchMd-DrTyvX9O.js → SearchMd-CgSbj8CK.js} +1 -1
- package/dist/client/assets/{Settings02-CEk5Brj1.js → Settings02-DPfJKHw1.js} +1 -1
- package/dist/client/assets/{Shield01-C7velNqU.js → Shield01-BD9utbc5.js} +1 -1
- package/dist/client/assets/{Star01-Bo9r20Eg.js → Star01-8XVkY3EP.js} +1 -1
- package/dist/client/assets/{Stars01-Bd6ySeZC.js → Stars01-ChC6n8zu.js} +1 -1
- package/dist/client/assets/{Stars02-S3u9Q3QN.js → Stars02-DLelzCQv.js} +1 -1
- package/dist/client/assets/{Sun-Bk3tE6qc.js → Sun-o82t_f52.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-Gi0kDTsz.js → SwitchHorizontal01-Cjmyi-Xz.js} +1 -1
- package/dist/client/assets/{Tool01-BpjKzNyZ.js → Tool01-CjUBgsSS.js} +1 -1
- package/dist/client/assets/{Trash01-r6ZF1ETa.js → Trash01-DV73uV-p.js} +1 -1
- package/dist/client/assets/{Upload01-SLxuMTpH.js → Upload01-CfF--Mo6.js} +1 -1
- package/dist/client/assets/{User01-DJGvcRT3.js → User01-Bbo15MZW.js} +1 -1
- package/dist/client/assets/{Users01-Yr057jRL.js → Users01-BpM76zAX.js} +1 -1
- package/dist/client/assets/{Users03-ov9aL2lm.js → Users03-BWV9aZnp.js} +1 -1
- package/dist/client/assets/{X-B-YjAdI5.js → X-Blpkt8T8.js} +1 -1
- package/dist/client/assets/{XCircle-CobTKsAs.js → XCircle-DiWLawiJ.js} +1 -1
- package/dist/client/assets/{XClose-CX2p9Cmv.js → XClose-Dz95IHYS.js} +1 -1
- package/dist/client/assets/{Zap-COmoUqmY.js → Zap-ei7x-qu4.js} +1 -1
- package/dist/client/assets/{ZapSquare-B4VDM8_O.js → ZapSquare-Wqg70BiX.js} +1 -1
- package/dist/client/assets/{ZoomOut-DoPS1JXR.js → ZoomOut-B22UZRib.js} +1 -1
- package/dist/client/assets/{access-gate-C07_wF1g.js → access-gate-DKVUbGuH.js} +1 -1
- package/dist/client/assets/{add-section-modal-DXAJr7ga.js → add-section-modal-BbjXOfAy.js} +1 -1
- package/dist/client/assets/{agent-capabilities-Coo9ZnBO.js → agent-capabilities-tVQbK8lI.js} +1 -1
- package/dist/client/assets/{agent-icon-BM5dFRES.js → agent-icon-CBIaV0TV.js} +1 -1
- package/dist/client/assets/{agents-list-B5mP6heH.js → agents-list-Dwrq1IMu.js} +1 -1
- package/dist/client/assets/{ai-providers-hVe_0-AF.js → ai-providers-LIceeMyp.js} +1 -1
- package/dist/client/assets/{alert-Cp9e-94k.js → alert-ButUM4B2.js} +1 -1
- package/dist/client/assets/{alert-dialog-De9OLvDj.js → alert-dialog-ZFFE6RdE.js} +1 -1
- package/dist/client/assets/{app-editor-DR1dvesh.js → app-editor-Bqj5wiWV.js} +1 -1
- package/dist/client/assets/{auth-DRrEnjLD.js → auth-8OGb0ikm.js} +1 -1
- package/dist/client/assets/{auth-catchall-DXU0UQ4y.js → auth-catchall-Cj4DrcLy.js} +1 -1
- package/dist/client/assets/{auth-entry-B8RUL24y.js → auth-entry-6VfOCTXX.js} +1 -1
- package/dist/client/assets/{auth-split-layout-DclSZpSa.js → auth-split-layout-B4sLsIro.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-CbuK31S6.js → authenticate-and-persist-oauth-hOODYMHC.js} +1 -1
- package/dist/client/assets/{automation-list-row-Dm0_92CE.js → automation-list-row-C0dzIRCs.js} +1 -1
- package/dist/client/assets/{automation-runs-VwSb6TNW.js → automation-runs-DRV_En7P.js} +1 -1
- package/dist/client/assets/{automations-D5Xth7bD.js → automations-D7NYJT1a.js} +1 -1
- package/dist/client/assets/{autosend-vyn79IEF.js → autosend-BZXc_39Y.js} +1 -1
- package/dist/client/assets/{avatar-Do8ze6Cq.js → avatar-BFR0q0Uc.js} +1 -1
- package/dist/client/assets/{badge-Cu4iVz3w.js → badge-9JdsSydF.js} +1 -1
- package/dist/client/assets/{block-document-C5bOp-U8.js → block-document-CKwwgDTQ.js} +1 -1
- package/dist/client/assets/{brand-context-DwSAMj_C.js → brand-context-DlRHiRFl.js} +1 -1
- package/dist/client/assets/{breadcrumb-D3l7Fa44.js → breadcrumb-Cpb9C_F5.js} +1 -1
- package/dist/client/assets/{buckets-BOXRupAE.js → buckets-CmgfmDtU.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-DLihcGph.js → bulk-category-panel-1gbKjV4V.js} +1 -1
- package/dist/client/assets/{calendar-BeNH9VBo.js → calendar-RZT6997q.js} +1 -1
- package/dist/client/assets/{capability-load-error-iFoQqDs0.js → capability-load-error-O38FUpjL.js} +1 -1
- package/dist/client/assets/{card-7tWAb7jO.js → card-Qju-6aeI.js} +1 -1
- package/dist/client/assets/{category-editor-DlBvRUbP.js → category-editor-DprxUePl.js} +1 -1
- package/dist/client/assets/chat-context-DnWUYi5G.js +28 -0
- package/dist/client/assets/{checkbox-CjZk9QfG.js → checkbox-Brzfvp4p.js} +1 -1
- package/dist/client/assets/{cli-auth-success-aLHILU3K.js → cli-auth-success-Bk2iFVhM.js} +1 -1
- package/dist/client/assets/{collection-detail-BRE5JywX.js → collection-detail-DESsGNyV.js} +1 -1
- package/dist/client/assets/{collection-display-button-bEbcM3AY.js → collection-display-button-NKKbfjL6.js} +1 -1
- package/dist/client/assets/{collection-search-CazZrA4S.js → collection-search-BJU299WL.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BTeNXLuV.js → collection-table-wrapper-Cguf_MyO.js} +1 -1
- package/dist/client/assets/{collection-tabs-CadMPVWp.js → collection-tabs-DsAnH2Kl.js} +1 -1
- package/dist/client/assets/{command-AIg3IjAF.js → command-CBmGAPLa.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-0kFiAbN_.js → commerce-onboarding-8RBRDbQz.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-Ce9xtA0V.js → connect-desktop-dialog-C0wLAURk.js} +1 -1
- package/dist/client/assets/{connection-card-BuAEa3vF.js → connection-card-6CQ1Otry.js} +1 -1
- package/dist/client/assets/{connection-detail-DK5ZWwqh.js → connection-detail-DdLgaRSt.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-D23mTJCc.js → connection-form-helpers-C4Syq4vx.js} +1 -1
- package/dist/client/assets/{connections-UaU35Js_.js → connections-EmtmrBPl.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-fPt7d7UQ.js → decopilot-sse-pool-C3kNtps6.js} +1 -1
- package/dist/client/assets/{dialog-C1ZYdrM_.js → dialog-WnGQj_Vc.js} +1 -1
- package/dist/client/assets/{domain-settings-BXbI0h2R.js → domain-settings-DhfE0zWO.js} +1 -1
- package/dist/client/assets/{drawer-CxIrpUwC.js → drawer-B90twEyW.js} +1 -1
- package/dist/client/assets/{dropdown-menu-IyhiC991.js → dropdown-menu-BFtSsS-E.js} +1 -1
- package/dist/client/assets/{empty-state-iTpimgvf.js → empty-state-DX4eTOLJ.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BghnrxSR.js → extract-connection-data-6hnnQn6f.js} +1 -1
- package/dist/client/assets/{file-explorer-K2gDqsBN.js → file-explorer-9uR79mBP.js} +1 -1
- package/dist/client/assets/{file-type-icon-B-RKaGR8.js → file-type-icon-COZ8yAd0.js} +1 -1
- package/dist/client/assets/{files-vgYLaRlM.js → files-AkNgrRN4.js} +1 -1
- package/dist/client/assets/{form-C1d0lXPp.js → form-CjEmsGqm.js} +1 -1
- package/dist/client/assets/{general-C4JcEbFP.js → general-BrAFdRDl.js} +1 -1
- package/dist/client/assets/{github-repo-picker-CqIWabV3.js → github-repo-picker-DaXEXpQ1.js} +1 -1
- package/dist/client/assets/{hooks-B63IieG9.js → hooks-CZWj_6mf.js} +1 -1
- package/dist/client/assets/{index-DQLeuAMl.js → index-BB_UP6yl.js} +1 -1
- package/dist/client/assets/{index-piwpE37X.js → index-BGpJcFGX.js} +1 -1
- package/dist/client/assets/{index-oclCbikb.js → index-CHs03UBN.js} +1 -1
- package/dist/client/assets/{index-C7l0OGwE.js → index-CYL8kHtz.js} +1 -1
- package/dist/client/assets/{index-B4qHsUCn.js → index-CbyiCKe3.js} +1 -1
- package/dist/client/assets/{index-qjaB7Yba.js → index-CsLGE2VX.js} +1 -1
- package/dist/client/assets/{index-Bys5GPnv.js → index-D31WxrOT.js} +1 -1
- package/dist/client/assets/{index-hdqj6gDr.js → index-DXPJFzt6.js} +3 -3
- package/dist/client/assets/{index-CT8ozgUC.js → index-DY3y5Rcj.js} +1 -1
- package/dist/client/assets/{index-CvR7ldzG.js → index-Dct_hyJn.js} +23 -23
- package/dist/client/assets/{index-BRvlHRLv.js → index-DhhC4gz5.js} +1 -1
- package/dist/client/assets/index-DyGg1OBV.css +1 -0
- package/dist/client/assets/{index-redirect-h7Q0LilS.js → index-redirect-Ukd9lrQO.js} +1 -1
- package/dist/client/assets/{index-DVrPZqo9.js → index-rov0hueP.js} +1 -1
- package/dist/client/assets/{index-moB5T8Ym.js → index-s5t4UiU9.js} +1 -1
- package/dist/client/assets/{index-DUhDER3T.js → index-wHf-36wD.js} +1 -1
- package/dist/client/assets/{input-Ya0Cut-i.js → input-DwAA05y6.js} +1 -1
- package/dist/client/assets/{integration-icon-CkkRY8io.js → integration-icon-BpoXpVB6.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-Cu8IcMqH.js → invite-member-dialog-Jf-qGSdw.js} +1 -1
- package/dist/client/assets/{label-DSr68VsA.js → label-BhQw-Tnq.js} +1 -1
- package/dist/client/assets/{layout-CoErgCsZ.js → layout-D0u0k_wH.js} +1 -1
- package/dist/client/assets/{login-DKCUXdkT.js → login-uhfscZPG.js} +1 -1
- package/dist/client/assets/{mcp-oauth-DlF62GEq.js → mcp-oauth-bPaDT5Sa.js} +1 -1
- package/dist/client/assets/{members-BRZHQ4uD.js → members-Bkg1cNWP.js} +1 -1
- package/dist/client/assets/{monaco-editor-DbcjdnbV.js → monaco-editor-BasGE-qN.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-CYZW88p_.js → monitoring-stats-row-BooZW2y-.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CVr_EGnH.js → oauth-callback-ai-provider-CIgZ1HXZ.js} +1 -1
- package/dist/client/assets/{oauth-callback-NH8UTZ02.js → oauth-callback-cNj2wPWx.js} +1 -1
- package/dist/client/assets/{onboarding-DmskeKqF.js → onboarding-DuO71Zba.js} +1 -1
- package/dist/client/assets/{org-install-aV2JEagS.js → org-install-zySLzHIa.js} +1 -1
- package/dist/client/assets/{org-layout-BLRzhHWg.js → org-layout-Dazn5DWS.js} +1 -1
- package/dist/client/assets/{organization-choice-aviShgM6.js → organization-choice-q-93TI9u.js} +1 -1
- package/dist/client/assets/{orgs-B1wjmmUv.js → orgs-DJhOm92b.js} +1 -1
- package/dist/client/assets/{page-seo-form-DeAPDgiW.js → page-seo-form-qVFo3Gyo.js} +1 -1
- package/dist/client/assets/page-seo-sheet-ApACYp8H.js +1 -0
- package/dist/client/assets/{popover-D3uVDawG.js → popover-C_l28OjR.js} +1 -1
- package/dist/client/assets/{post-editor-Dwbk57jZ.js → post-editor-BjgI29oT.js} +1 -1
- package/dist/client/assets/{primitives-BDnW6FNQ.js → primitives-D5lhg1WA.js} +1 -1
- package/dist/client/assets/{profile-CSKF3VcG.js → profile-D3vOQsmS.js} +1 -1
- package/dist/client/assets/project-app-view--MXJ6ee6.js +1 -0
- package/dist/client/assets/record-editor-Cm4T_Adl.js +1 -0
- package/dist/client/assets/registry-hqpCzpCn.js +2 -0
- package/dist/client/assets/{registry-layout-FWvLN3HQ.js → registry-layout-CZTyf4mw.js} +1 -1
- package/dist/client/assets/{require-capability-BUgWN2WW.js → require-capability-CtSiMmoP.js} +1 -1
- package/dist/client/assets/{required-auth-layout-GDqjemYz.js → required-auth-layout-DYs-09WI.js} +1 -1
- package/dist/client/assets/{reset-password-CCHH5elW.js → reset-password-DYMv391l.js} +1 -1
- package/dist/client/assets/{roles-BURnyvyd.js → roles-CydM7l8J.js} +1 -1
- package/dist/client/assets/{search-input-Dvr24u8r.js → search-input--pwLfI8e.js} +1 -1
- package/dist/client/assets/{secrets-B22sTinJ.js → secrets-DlZ-xrUG.js} +1 -1
- package/dist/client/assets/{sections-editor-C6fnW7Dd.js → sections-editor-kr145AOe.js} +1 -1
- package/dist/client/assets/{select-BFkQzIig.js → select-CjKQhz6B.js} +1 -1
- package/dist/client/assets/{select-model-zIkXNw0p.js → select-model-C34QbIrl.js} +1 -1
- package/dist/client/assets/{seo-editor-CVzNThMo.js → seo-editor-DXxTQNkC.js} +1 -1
- package/dist/client/assets/{settings-layout-BJUBgb0A.js → settings-layout-C_lcQrcd.js} +1 -1
- package/dist/client/assets/{settings-section-D-IEi7l-.js → settings-section-C5G7bryH.js} +1 -1
- package/dist/client/assets/{shell-controls-CuCw58mZ.js → shell-controls-lSGxEnXo.js} +1 -1
- package/dist/client/assets/{shell-layout-B0lLd-C4.js → shell-layout-GUl5lGx6.js} +1 -1
- package/dist/client/assets/{sidebar-DzR1ZsR9.js → sidebar-VjjpxKfO.js} +1 -1
- package/dist/client/assets/{skeleton-CtdNppOn.js → skeleton-CTIIavFo.js} +1 -1
- package/dist/client/assets/{sso-Bpni4uqK.js → sso-g9U6-GLw.js} +1 -1
- package/dist/client/assets/{store-C-FpRWTP.js → store-BL62De0z.js} +1 -1
- package/dist/client/assets/store-registry-CcdbSw2l.js +2 -0
- package/dist/client/assets/{studio-tools-8o4MOlCv.js → studio-tools-DIILfwYI.js} +1 -1
- package/dist/client/assets/{switch-Dr2DkOoS.js → switch-cdz4RgjN.js} +1 -1
- package/dist/client/assets/{table-Dtlu3Dqx.js → table-D0i60C7e.js} +1 -1
- package/dist/client/assets/{tabs-C20-Nqdy.js → tabs-28wXbqzs.js} +1 -1
- package/dist/client/assets/{textarea-DEargMO8.js → textarea-CLEdB0sS.js} +1 -1
- package/dist/client/assets/{toggle-group-Cd3vddi5.js → toggle-group-DCTF_gyW.js} +1 -1
- package/dist/client/assets/{toolbar--GyU6e02.js → toolbar-DcI3D8Ip.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-B596iZBf.js → toolbar-icon-button-ClDdZ3dT.js} +1 -1
- package/dist/client/assets/{tools-list-DQjvkdMq.js → tools-list-Desx_TYj.js} +1 -1
- package/dist/client/assets/{tooltip-DLFYH37T.js → tooltip-VN_eyJpk.js} +1 -1
- package/dist/client/assets/{types-jjNgdNol.js → types-rbIqpiqt.js} +1 -1
- package/dist/client/assets/{use-ai-providers-D4G3p_dj.js → use-ai-providers-DgysDAgM.js} +1 -1
- package/dist/client/assets/{use-automations-BEEVKnEp.js → use-automations-BqnAZn3V.js} +1 -1
- package/dist/client/assets/{use-capability-jeM4DzJw.js → use-capability-Du7jwTMX.js} +1 -1
- package/dist/client/assets/{use-clock-tick-BCpizHeo.js → use-clock-tick-DVBpdq9l.js} +1 -1
- package/dist/client/assets/{use-collections-DX49PaDL.js → use-collections-Df_lEJcj.js} +1 -1
- package/dist/client/assets/{use-connection-u3EMifcA.js → use-connection-D3mCtYc4.js} +1 -1
- package/dist/client/assets/{use-copy-CbCWh9v8.js → use-copy-BW7S_HPh.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-0AtxFieS.js → use-create-virtual-mcp-B09GKrSx.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-Bb7ZWjRo.js → use-debounced-autosave-C4sR9lQt.js} +1 -1
- package/dist/client/assets/{use-debounced-value-Bq1Hiq9N.js → use-debounced-value-BcpEXqWd.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BXBi6gMx.js → use-decopilot-events-CGFiL_3S.js} +1 -1
- package/dist/client/assets/{use-delete-connection-CSrPE2ZR.js → use-delete-connection-B9nbhuPI.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-BOSWmQ5F.js → use-deployment-admin-C3k5rZqV.js} +1 -1
- package/dist/client/assets/{use-file-configs-DtS8PEej.js → use-file-configs-DMxI0UKg.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-5eF2WCfT.js → use-infinite-scroll-BY2w7n-K.js} +1 -1
- package/dist/client/assets/{use-join-requests-LK0sxGDj.js → use-join-requests-B2LlbRCg.js} +1 -1
- package/dist/client/assets/{use-mcp-client-tuD2WObP.js → use-mcp-client-VcuIwIJi.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-Cb3mRFxI.js → use-mcp-prompts-CAog6Cio.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DEr3SwVu.js → use-mcp-tools-Dd4vNVoy.js} +1 -1
- package/dist/client/assets/{use-members-3L-Dz5S0.js → use-members-CL3zaNzn.js} +1 -1
- package/dist/client/assets/{use-mobile-MKYJ8vvW.js → use-mobile-BQL9lpS-.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-Dfw0rNBE.js → use-navigate-to-agent-B3EFLuhf.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-DLtDA1WA.js → use-org-auth-client-DS9Fi-ca.js} +1 -1
- package/dist/client/assets/{use-org-sso-BxRu5Zh4.js → use-org-sso-Dy2DNvg_.js} +1 -1
- package/dist/client/assets/{use-organization-roles-zsK1PTPN.js → use-organization-roles-CmKNhXW1.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CHU5z_60.js → use-organization-settings-D1nRG06c.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CaZCXKUl.js → use-registry-connections-dFakMjds.js} +1 -1
- package/dist/client/assets/{use-secrets-CIpnw6D3.js → use-secrets-B33QGPtw.js} +1 -1
- package/dist/client/assets/{use-status-sounds-CllFKOdr.js → use-status-sounds-Jp9p3bT9.js} +1 -1
- package/dist/client/assets/{use-view-mode-a5VMrayu.js → use-view-mode-Dc8JPmHG.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-DLzbRg0p.js → use-virtual-mcp-DQv9wlSA.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-DjQffkyn.js +1 -0
- package/dist/client/assets/{useRouterState-Cxdg2aEG.js → useRouterState-CYzmlVql.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BbGT7l3_.js +1 -0
- package/dist/client/assets/{users-CB9DxjzH.js → users-8JB6w5Vd.js} +1 -1
- package/dist/client/assets/{variant-calendar-Bne7cKKB.js → variant-calendar-CCVDO3v7.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DqFA8RJs.js → view-mode-toggle-D3Amyvu6.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +538 -519
- package/dist/server/server.js +326 -318
- package/package.json +1 -1
- package/dist/client/assets/chat-context-8v3Ejxpp.js +0 -28
- package/dist/client/assets/index-BDnMj7YB.css +0 -1
- package/dist/client/assets/page-seo-sheet-77VP8U61.js +0 -1
- package/dist/client/assets/project-app-view-BH3AeMTI.js +0 -1
- package/dist/client/assets/record-editor-BikcRal9.js +0 -1
- package/dist/client/assets/registry-C2M_sLFC.js +0 -2
- package/dist/client/assets/store-registry-BO_cj7km.js +0 -2
- package/dist/client/assets/useInfiniteQuery-BVRuAYAh.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BXt0AJvY.js +0 -1
package/package.json
CHANGED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import{c as ue,l as Ge,bz as Xe,j as Q,cq as Ye,a2 as Le,n as Ne,a1 as ae,K as me,t as oe,_ as le,Y as de,b as qe,u as Fe,e as Ze,r as m,R as Je,a as et,a3 as tt,ag as nt}from"./index-hdqj6gDr.js";import{A as je,c as st,a as ot,w as at}from"./autosend-vyn79IEF.js";import{S as rt,u as it,d as ct,b as lt}from"./hooks-B63IieG9.js";import{u as dt}from"./use-mcp-client-tuD2WObP.js";import{a as ut,S as pt}from"./constants-Qo1EtbpN.js";import{u as ft}from"./use-virtual-mcp-DLzbRg0p.js";import{u as ht,a as he}from"./use-ai-providers-D4G3p_dj.js";import{u as mt}from"./use-decopilot-events-BXBi6gMx.js";import{q as gt,n as yt}from"./tab-id-bb-jjgGv.js";import{h as St,u as xt}from"./use-organization-settings-CHU5z_60.js";const It={anthropic:["claude-haiku-4-5","claude-haiku"],openrouter:["qwen/qwen3.5-flash","anthropic/claude-haiku-4.5","anthropic/claude-haiku","google/gemini-3-flash"],deco:["qwen/qwen3.5-flash","anthropic/claude-haiku"],llmapi:["claude-haiku-4-5","claude-haiku","gpt-4o-mini"],google:["gemini-2.5-flash","gemini-3-flash"],"claude-code":["claude-code:haiku","claude-code:sonnet"],codex:["codex:gpt-5.6-luna"]},vt={anthropic:["claude-sonnet-5","claude-sonnet"],openrouter:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude-opus-4.8","google/gemini-3-pro"],deco:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude"],llmapi:["claude-sonnet-4-6","claude-sonnet"],google:["gemini-3-pro","gemini-3-flash"],"claude-code":["claude-code:sonnet"],codex:["codex:gpt-5.6-terra"]},Ct={anthropic:["claude-opus-4-8","claude-sonnet-5","claude-sonnet","claude-fable-5"],openrouter:["anthropic/claude-opus-4.8:extended","anthropic/claude-opus-4.8","anthropic/claude-sonnet-5:extended","anthropic/claude-sonnet-5","google/gemini-3-pro","anthropic/claude-fable-5"],deco:["anthropic/claude-opus","anthropic/claude-sonnet-4.6","anthropic/claude-sonnet","anthropic/claude-fable"],llmapi:["claude-opus-4-8","claude-opus","claude-sonnet-4-6"],google:["gemini-3-pro"],"claude-code":["claude-code:opus-1m","claude-code:opus","claude-code:sonnet"],codex:["codex:gpt-5.6-sol"]},kt={openrouter:["openai/gpt-image-1","google/gemini-2.0-flash-image"],deco:["openai/gpt-image-1","google/gemini-2.0-flash-image"],llmapi:["gemini-2.5-flash-image","gpt-image-1"],google:["gemini-2.0-flash-image"]},bt={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},Mt={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};function Ue(t){return t.toLowerCase().replace(/[^a-z0-9]/g,"")}function Tt(t){return Ue(t).includes("deepresearch")}const wt=["sonar","searchpreview","online"];function Qe(t){const e=Ue(t);return e.includes("deepresearch")?!1:wt.some(n=>e.includes(n))}function Ke(t){return t.asyncResearch!==!0&&Qe(t.modelId)}function Ve(t){return t.asyncResearch===!0||Tt(t.modelId)||Qe(t.modelId)}function ie(t,e,n,s){for(const o of n){const a=t.find(r=>r.modelId===o);if(a)return{keyId:e,modelId:a.modelId,title:a.title}}for(const o of n){const a=t.find(r=>r.modelId.includes(o));if(a)return{keyId:e,modelId:a.modelId,title:a.title}}if(s){const o=t.find(s);if(o)return{keyId:e,modelId:o.modelId,title:o.title}}return null}function Et(t,e){const n={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(const s of t){const o=e[s.id]??[],a=s.providerId;n.chat.fast||(n.chat.fast=ie(o,s.id,It[a]??[])),n.chat.smart||(n.chat.smart=ie(o,s.id,vt[a]??[])),n.chat.thinking||(n.chat.thinking=ie(o,s.id,Ct[a]??[])),n.image||(n.image=ie(o,s.id,kt[a]??[],r=>r.capabilities?.includes("image")===!0)),n.webSearch||(n.webSearch=ie(o,s.id,bt[a]??[],Ke)),n.deepResearch||(n.deepResearch=ie(o,s.id,Mt[a]??[],Ve))}return n}const At=Xe("animate-spin",{variants:{variant:{default:"fill-primary text-gray-200",destructive:"fill-destructive text-gray-200",secondary:"fill-secondary text-gray-200",success:"fill-success text-gray-200",special:"fill-special text-background"},size:{default:"h-7 w-7",sm:"h-6 w-6",lg:"h-8 w-8",icon:"h-6 w-6",xs:"h-4 w-4"}},defaultVariants:{variant:"default",size:"default"}});function gn(t){const e=ue.c(10),{variant:n,size:s}=t;let o;e[0]!==s||e[1]!==n?(o=Ge(At({variant:n,size:s})),e[0]=s,e[1]=n,e[2]=o):o=e[2];let a,r;e[3]===Symbol.for("react.memo_cache_sentinel")?(a=Q.jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),r=Q.jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"}),e[3]=a,e[4]=r):(a=e[3],r=e[4]);let l;e[5]!==o?(l=Q.jsxs("svg",{"aria-hidden":"true",className:o,viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a,r]}),e[5]=o,e[6]=l):l=e[6];let g;e[7]===Symbol.for("react.memo_cache_sentinel")?(g=Q.jsx("span",{className:"sr-only",children:"Loading..."}),e[7]=g):g=e[7];let S;return e[8]!==l?(S=Q.jsxs("div",{role:"status",children:[l,g]}),e[8]=l,e[9]=S):S=e[9],S}function _t(t,e=[]){return t==="stop"?e.filter(o=>o.type==="text"&&o.text).map(o=>o.text).join(`
|
|
2
|
-
`).replace(/https?:\/\/[^\s)>\]]+/g,"").includes("?")?"requires_action":"completed":t==="tool-calls"?e.some(s=>s.type==="tool-user_ask"&&s.state==="input-available"||s.state==="approval-requested")?"requires_action":"completed":"failed"}const Me={decopilot:{harness:"decopilot",sandbox:"agent-sandbox"},"claude-code-desktop":{harness:"claude-code",sandbox:"user-desktop"},"codex-desktop":{harness:"codex",sandbox:"user-desktop"}};function Rt(t,e){if(!t)return null;const n=e?Ye(e):null;if(t==="decopilot"&&n===null)return"decopilot";for(const[s,o]of Object.entries(Me))if(o.harness===t&&o.sandbox===n)return s;return null}function yn(t){return t.claudeCode?"claude-code-desktop":t.codex?"codex-desktop":null}function $t(t){return t.thread?.harness_id!=null?{}:{harnessId:t.globals.harnessId,sandboxProviderKind:t.globals.sandboxProviderKind,branch:t.globals.branch??null}}function Pt(t){const e=ue.c(10);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/shell/$org/settings/connections/$appSlug/$collectionName/$itemId",shouldThrow:!1},e[0]=n):n=e[0];const s=Le(n);let o;if(e[1]!==s?.params.appSlug||e[2]!==s?.params.collectionName||e[3]!==s?.params.itemId||e[4]!==t){o=[],t&&o.push(`### Selected Agent
|
|
3
|
-
- ID: ${t}`);let a;e[6]!==s?.params.appSlug||e[7]!==s?.params.collectionName||e[8]!==s?.params.itemId?(a=[],s?.params.appSlug&&a.push(`- Connection ID: ${s?.params.appSlug}`),s?.params.collectionName&&a.push(`- Collection: ${s?.params.collectionName}`),s?.params.itemId&&a.push(`- Item ID: ${s?.params.itemId}`),e[6]=s?.params.appSlug,e[7]=s?.params.collectionName,e[8]=s?.params.itemId,e[9]=a):a=e[9],a.length>0&&o.push(`### Current Resource
|
|
4
|
-
The user is viewing the following resource:
|
|
5
|
-
${a.join(`
|
|
6
|
-
`)}
|
|
7
|
-
|
|
8
|
-
Help the user understand and work with this resource.`),e[1]=s?.params.appSlug,e[2]=s?.params.collectionName,e[3]=s?.params.itemId,e[4]=t,e[5]=o}else o=e[5];return o.join(`
|
|
9
|
-
|
|
10
|
-
`)}function Dt(){const t=ue.c(5),e=Ne(),{org:n}=ae();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={from:"/shell/$org/settings/connections/$appSlug/$collectionName/$itemId",shouldThrow:!1},t[0]=s):s=t[0];const o=Le(s);let a;return t[1]!==o?.params||t[2]!==n||t[3]!==e?(a=r=>{const g=r.toolCall.toolName.match(/^COLLECTION_([A-Z_]+)_(CREATE|UPDATE|DELETE)$/);if(!g||!g[1])return;const S=g[1],I=o?.params.appSlug;if(!I)return;e.invalidateQueries({queryKey:me.collection(n.slug,I,S)});const T=S.toLowerCase().replace(/_/g," ");oe.success(`${T} updated`)},t[1]=o?.params,t[2]=n,t[3]=e,t[4]=a):a=t[4],a}function Ot(){const t=ue.c(4),{org:e,project:n}=ae(),s=`${e.id}/${n.id}`;let o;t[0]!==s?(o=de.taskLastViewed(s),t[0]=s,t[1]=o):o=t[1];const[,a]=le(o,Lt);let r;return t[2]!==a?(r={markTaskRead:g=>{a(S=>({...S,[g]:new Date().toISOString()}))}},t[2]=a,t[3]=r):r=t[3],r}function Lt(t){return t??{}}function We(){const t=qe(),{org:e}=ae(),n=Fe({strict:!1}),s=Ze({strict:!1}),o=n.virtualmcpid??ut(e.id).id,a=(g,S)=>{t({to:"/$org/$taskId",params:{org:e.slug,taskId:g},search:I=>{const T={},N=S?.virtualMcpId??I.virtualmcpid;N&&(T.virtualmcpid=N);const p=I.main;return p&&typeof p=="string"&&!gt(p)&&(T.main=p),(I.sidepanel==="chat"||I.sidepanel===0)&&(T.sidepanel=I.sidepanel),S?.autosend&&(T.autosend=je),T}})},r=m.useRef(crypto.randomUUID()),l=s.taskId??r.current;return{virtualMcpId:o,taskId:l,navigateToTask:a}}function Nt(t,e){const{mimeType:n,data:s}=t;if(n.startsWith("text/"))try{const o=new TextDecoder().decode(Uint8Array.from(atob(s),a=>a.charCodeAt(0)));return[{type:"text",text:`${e}
|
|
11
|
-
${o}`}]}catch(o){console.error("Failed to decode text file:",o)}return[{type:"file",url:`data:${n};base64,${s}`,filename:e,mediaType:n}]}function $e(t,e){const n=[];for(const s of t)"text"in s&&s.text?n.push({type:"text",text:`[${e}]
|
|
12
|
-
${s.text}`}):"blob"in s&&s.blob&&s.mimeType&&n.push({type:"file",url:`data:${s.mimeType};base64,${s.blob}`,filename:String(s.uri),mediaType:String(s.mimeType)});return n}function qt(t,e){const n=(t.files??[]).filter(r=>r.content?.trim()),s=t.omittedPaths??[];if(n.length===0&&s.length===0)return[];const o=n.map(r=>`<skill-file path="${r.relPath}">
|
|
13
|
-
${r.content.trim()}
|
|
14
|
-
</skill-file>`).join(`
|
|
15
|
-
|
|
16
|
-
`),a=s.length>0?`
|
|
17
|
-
|
|
18
|
-
Other files in \`${t.sandboxPath}/\`: ${s.join(", ")}`:"";return[{type:"text",text:`[${e}]
|
|
19
|
-
${o}${a}`}]}function Ft(t,e){const n=[];for(const s of t){if(s.role!=="user"||!s.content)continue;const o=Array.isArray(s.content)?s.content:[s.content];for(const a of o)switch(a.type){case"text":{const r=a.text?.trim();if(!r)continue;n.push({type:"text",text:`[${e}]
|
|
20
|
-
${r}`});break}case"image":case"audio":{if(!a.data||!a.mimeType)continue;n.push({type:"file",url:`data:${a.mimeType};base64,${a.data}`,mediaType:a.mimeType});break}case"resource":{const r=a.resource;if(!r||!r.mimeType)continue;r&&("text"in r&&r.text?n.push({type:"text",text:`[${e}]
|
|
21
|
-
${r.text}`}):"blob"in r&&r.blob&&r.mimeType&&n.push({type:"file",url:`data:${r.mimeType};base64,${r.blob}`,filename:String(r.uri),mediaType:String(r.mimeType)}));break}}}return n}function Be(t){if(!t)return[];const e=[];let n="";const s=o=>{if(o){if(o.type==="text"&&"text"in o&&typeof o.text=="string")n+=o.text;else if(o.type==="mention"&&o.attrs){const a=o.attrs.char??"/",r=`${a}${o.attrs.name}`;if(n+=r,a==="@"){const l=o.attrs.metadata;l&&!Array.isArray(l)&&"agentId"in l?e.push({type:"text",text:`[DELEGATE TO AGENT: ${l.title??o.attrs.name} (agent_id: ${l.agentId})]
|
|
22
|
-
Use the subtask tool to delegate this task to the agent above. Include the full relevant context from this conversation in the prompt field — the subagent has no conversation history.`}):Array.isArray(l)&&e.push(...$e(l,r))}else if(o.attrs.kind==="skill"){const l=o.attrs.metadata;l&&!Array.isArray(l)&&Array.isArray(l.files)&&e.push(...qt(l,r))}else{const l=o.attrs.metadata||o.attrs.prompts||[];Array.isArray(l)&&l.length>0&&"role"in l[0]?e.push(...Ft(l,r)):Array.isArray(l)&&e.push(...$e(l,r))}}else if(o.type==="file"&&o.attrs){const a=o.attrs,r=`[file:://${encodeURIComponent(a.name)}]`;n+=r,e.push(...Nt(a,r))}if("content"in o&&Array.isArray(o.content))for(const a of o.content)s(a)}};return s(t),n.trim()&&e.unshift({type:"text",text:n.trim()}),e}function Sn(t){const e=Be(t);return e.length===0?[]:[{id:crypto.randomUUID(),role:"user",parts:e,metadata:{tiptapDoc:t}}]}function xn(t){return new Set(t.filter(e=>e.status==="queued").map(e=>e.messageId))}function jt(t){return(t??[]).map(e=>e?.type==="text"&&typeof e.text=="string"?e.text:"").join("").trim()}function In(t){return t.filter(e=>e.status==="queued").sort((e,n)=>e.enqueuedAt-n.enqueuedAt)}function Ut(t,e){return t.some(n=>n.messageId===e.messageId)?t:[...t,e]}function Qt(t,e){return t.filter(n=>n.messageId!==e)}const Pe=new Map,we=new Set;function Kt(t){we.add(t)}function Vt(t){return we.has(t)}function Wt(t){we.delete(t)}function ge(t){let e=Pe.get(t);return e||(e=new rt([]),Pe.set(t,e)),e}function He(t,e){ge(t).update(n=>Ut(n,e))}function Te(t,e){ge(t).update(n=>Qt(n,e))}function Bt(t,e){ge(t).set(e)}const Ie=new Map;function Ht(t,e){Ie.set(`${t}:${e.id}`,e)}function zt(t,e){const n=`${t}:${e}`,s=Ie.get(n);return Ie.delete(n),s}function De(t,e){Ie.delete(`${t}:${e}`)}async function Y(t,e){try{const n=await fetch(`/api/${encodeURIComponent(t)}/decopilot/queue/${encodeURIComponent(e)}`,{credentials:"include"});if(!n.ok)return;const s=await n.json();Bt(e,s.items??[])}catch{}}function vn(t){const e=ue.c(2);let n;e[0]!==t?(n=ge(t),e[0]=t,e[1]=n):n=e[1];const s=n;return m.useSyncExternalStore(s.subscribe,s.get,s.get)}function Gt(){const{org:t}=ae();return{enqueue:He,refresh:e=>Y(t.slug,e),cancel:async(e,n)=>{const s=`thread-run:${e}:${n}`;Te(e,n);try{const o=await fetch(`/api/${encodeURIComponent(t.slug)}/decopilot/queue/${encodeURIComponent(e)}/cancel/${encodeURIComponent(s)}`,{method:"POST",credentials:"include"});if(!o.ok&&o.status!==404)throw new Error(`Cancel failed: ${o.status}`);return!0}catch(o){return oe.error(o instanceof Error?o.message:"Failed to cancel"),!1}finally{await Y(t.slug,e)}}}}const Oe=new Set,ne=new Set;function ce(t){return m.useSyncExternalStore(t.subscribe,t.get,t.get)}function Xt(t){return t.kind==="loading"?"ready":t.kind}function se(t,e,n,s){if(!t)return null;const o=e.find(r=>r.id===t.keyId);if(!o)return null;const a=n.find(r=>r.modelId===t.modelId);return a?{...a,keyId:t.keyId}:{modelId:t.modelId,title:s??t.modelId,keyId:t.keyId,providerId:o.providerId,description:null,logo:null,capabilities:[],limits:null,costs:null}}function Yt(t){return t==="fast"||t==="smart"||t==="thinking"?t:"smart"}function Zt(t,e,n,s){if(!n||s.length===0)return null;const o=e.find(g=>g.id===n);if(!o)return null;const a=Et([o],{[n]:s}),r=t==="fast"?a.chat.fast:t==="thinking"?a.chat.thinking:a.chat.smart;if(!r)return null;const l=s.find(g=>g.modelId===r.modelId);return l?{...l,keyId:n}:null}const Jt=1e4,en=10,Ee=m.createContext(null),Ae=m.createContext(null),_e=m.createContext(null),ze=m.createContext(null);function tn({children:t}){const{locator:e}=ae(),{virtualMcpId:n}=We(),[s,o]=le(de.chatSelectedImageModel(e),null),[a,r]=le(de.chatSelectedWebSearchModel(e),null),[l,g]=le(de.chatSelectedDeepResearchModel(e),null),[S,I]=m.useState(null),[T,N]=m.useState("default"),p=St(),[_,K]=le(de.chatSimpleModeTier(e),null),q=xt()?"fast":Yt(_),h=ht(),E=p.tiers[q],v=S&&h.some(i=>i.id===S)?S:E?.keyId??h[0]?.id??null,{models:P,isLoading:B}=he(v??void 0),{models:Z}=he(E?.keyId),{models:b}=he(p.tiers.image?.keyId),{models:W}=he(p.tiers.web_search?.keyId),{models:H}=he(p.tiers.deep_research?.keyId),F=se(E,h,Z,E?.title)??Zt(q,h,v,P),z=B,L=P.filter(i=>i.capabilities?.includes("image")),u=se(s,h,L),D=se(p.tiers.image,h,b,p.tiers.image?.title)??u??L[0]??null,R=P.filter(Ke),J=se(a,h,R),j=R.find(i=>i.modelId==="perplexity/sonar")??R[0]??null,G=se(p.tiers.web_search,h,W,p.tiers.web_search?.title)??J??j,y=P.filter(Ve),C=se(l,h,y),X=y.find(i=>i.modelId==="perplexity/deep-research")??y.find(i=>i.asyncResearch===!0)??y[0]??null,re=se(p.tiers.deep_research,h,H,p.tiers.deep_research?.title)??C??X,Ce=ft(n)??{id:n,title:"",description:null,icon:null},[ye,pe]=m.useState({}),Se=(i,U)=>{const O=[];for(const w of U.content??[])w.type==="text"&&w.text?.trim()&&O.push(w.text.trim());const k=O.join(`
|
|
23
|
-
`);if(!k){ee(i);return}new TextEncoder().encode(k).length>Jt||pe(w=>Object.keys(w).length>=en&&!(i in w)?w:{...w,[i]:k})},ee=i=>{pe(U=>{const{[i]:O,...k}=U;return k})},[ke,be]=le(de.chatLastAgentOption(e),i=>i&&i in Me?i:null),te=on(),Re=te?.isThreadLocked&&te.lockedHarness!=null?Rt(te.lockedHarness,te.lockedSandbox):null,xe=ke,fe=te?.isThreadLocked?Re:xe,c=fe?Me[fe]:null,d=c?.harness??null,$=c?.sandbox??null,[M,f]=m.useState(void 0),A=m.useRef(M);A.current=M;const x={selectedModel:F,setModel:()=>{},credentialId:v,setCredentialId:I,allModelsConnections:h,isModelsLoading:z,selectedVirtualMcp:Ce,imageModel:D,setImageModel:i=>{o(i?.keyId?{keyId:i.keyId,modelId:i.modelId}:null)},webSearchModel:G,setWebSearchModel:i=>{r(i?.keyId?{keyId:i.keyId,modelId:i.modelId}:null)},deepResearchModel:re,setDeepResearchModel:i=>{g(i?.keyId?{keyId:i.keyId,modelId:i.modelId}:null)},chatMode:T,setChatMode:N,appContexts:ye,setAppContext:Se,clearAppContext:ee,tiptapDoc:M,setTiptapDoc:f,tiptapDocRef:A,resetInteraction:()=>{},simpleModeTier:q,setSimpleModeTier:i=>K(i),pendingAgentOption:fe,setPendingAgentOption:be,pendingHarnessId:d,pendingSandboxProviderKind:$};return Q.jsx(_e.Provider,{value:x,children:t})}function Cn(t){const e=ue.c(41),{virtualMcpId:n,task:s,children:o}=t,{locator:a}=ae(),{data:r}=et.useSession(),l=r?.user??null,{taskId:g,virtualMcpId:S,navigateToTask:I}=We(),[T]=tt(),{markTaskRead:N}=Ot(),p=lt(),_=g,K=S,V=Pt(K);let q;e[0]!==N||e[1]!==I?(q=(y,C)=>{N(y),I(y,{virtualMcpId:C?.virtualMcpId,autosend:C?.autosend})},e[0]=N,e[1]=I,e[2]=q):q=e[2];const h=q,E=_&&s?.id===_?s:null,v=E?.harness_id??null,P=E?.sandbox_provider_kind??null,B=E?.branch??null,Z=v!=null,b=B;let W;e[3]!==b||e[4]!==h||e[5]!==p||e[6]!==n?(W=()=>{const y=crypto.randomUUID();return p.create({id:y,virtual_mcp_id:n,...b?{branch:b}:{}}).then(()=>h(y)).catch(()=>{h(y)}),y},e[3]=b,e[4]=h,e[5]=p,e[6]=n,e[7]=W):W=e[7];const H=W;let F;e[8]!==b||e[9]!==a||e[10]!==h||e[11]!==p||e[12]!==n?(F=y=>{const C=crypto.randomUUID(),X=y.virtualMcpId??n,re=X===n?b:null;at(sessionStorage,a,C,y.message),p.create({id:C,virtual_mcp_id:X,...re?{branch:re}:{}}).then(()=>h(C,{virtualMcpId:y.virtualMcpId,autosend:!0})).catch(()=>{h(C,{virtualMcpId:y.virtualMcpId,autosend:!0})})},e[8]=b,e[9]=a,e[10]=h,e[11]=p,e[12]=n,e[13]=F):F=e[13];const z=F;let L;e[14]!==_||e[15]!==p?(L=y=>{_&&p.setBranch(_,y)},e[14]=_,e[15]=p,e[16]=L):L=e[16];let u;e[17]!==E||e[18]!==H||e[19]!==z||e[20]!==b||e[21]!==_||e[22]!==K||e[23]!==Z||e[24]!==B||e[25]!==v||e[26]!==P||e[27]!==h||e[28]!==L?(u={virtualMcpId:K,taskId:_,openTask:h,createTask:H,createTaskWithMessage:z,activeTask:E,isThreadLocked:Z,lockedHarness:v,lockedSandbox:P,lockedBranch:B,currentBranch:b,setCurrentTaskBranch:L},e[17]=E,e[18]=H,e[19]=z,e[20]=b,e[21]=_,e[22]=K,e[23]=Z,e[24]=B,e[25]=v,e[26]=P,e[27]=h,e[28]=L,e[29]=u):u=e[29];const D=u;let R;e[30]!==V||e[31]!==T||e[32]!==I||e[33]!==l?(R={user:l,contextPrompt:V,preferences:T,rawNavigateToTask:I},e[30]=V,e[31]=T,e[32]=I,e[33]=l,e[34]=R):R=e[34];const J=R;let j;e[35]!==o||e[36]!==J?(j=Q.jsx(tn,{children:Q.jsx(ze.Provider,{value:J,children:o})}),e[35]=o,e[36]=J,e[37]=j):j=e[37];let G;return e[38]!==j||e[39]!==D?(G=Q.jsx(Ae.Provider,{value:D,children:j}),e[38]=j,e[39]=D,e[40]=G):G=e[40],G}function kn({taskId:t,children:e}){const{virtualMcpId:n,activeTask:s,currentBranch:o}=nn();t&&!Oe.has(t)&&(Oe.add(t),Je("chat_opened",{thread_id:t}));const{imageModel:a,webSearchModel:r,deepResearchModel:l,chatMode:g,setChatMode:S,appContexts:I,setTiptapDoc:T,simpleModeTier:N,pendingSandboxProviderKind:p,pendingHarnessId:_}=sn(),K=m.useContext(ze);if(!K)throw new Error("ActiveTaskProvider must be used within ChatContextProvider");const{user:V,contextPrompt:q,preferences:h,rawNavigateToTask:E}=K,{org:v,locator:P}=ae(),B=Gt(),[Z,b]=m.useState(null),W=Dt(),H=Ne(),F=it(),z=qe(),L=dt({connectionId:pt,orgId:v.id,orgSlug:v.slug}),u=ct(v.slug,t,{client:L});m.use(u.ready);const D=ce(u.messages),R=ce(u.status),J=ce(u.finishReason),j=ce(u.runStatusStage),G=ce(u.hasMoreOlder),y=ce(u.isFetchingOlder),C=m.useRef({onToolCall:W,queryClient:H,rawNavigateToTask:E,taskId:t,manager:F,navigate:z,orgId:v.id,orgSlug:v.slug});C.current={onToolCall:W,queryClient:H,rawNavigateToTask:E,taskId:t,manager:F,navigate:z,orgId:v.id,orgSlug:v.slug},mt({orgSlug:v.slug,taskId:t,onTaskStatus:c=>{const d=C.current,$=c.data.message_id;if(c.data.status==="in_progress"&&$){Te(d.taskId,$);const M=zt(d.taskId,$);M&&u.applyLocalMessage(M),Y(d.orgSlug,d.taskId)}Vt(d.taskId)&&(async()=>(await Y(d.orgSlug,d.taskId),await u.reconcileFromServer()&&ge(d.taskId).get().length===0&&Wt(d.taskId)))()}}),m.useEffect(()=>{const c={onData:f=>{if(f.type==="data-thread-title"){const A=f.data;if(!A?.title)return;const x=C.current;if(!x.taskId)return;x.manager.patchThread({id:x.taskId,title:A.title,updated_at:new Date().toISOString()});return}if(f.type==="data-deck-updated"){const A=f.data;if(!A?.path)return;const x=A.path,i=C.current;i.queryClient.invalidateQueries({queryKey:me.orgFsStat(i.orgId,"home",x)}),i.queryClient.invalidateQueries({queryKey:me.orgFsRecent(i.orgId)}),i.navigate({to:".",search:U=>({...U,main:yt(x)}),replace:!0});return}},onFinish:(f,A,x)=>{const i=C.current;i.taskId&&Y(i.orgSlug,i.taskId),i.taskId&&i.manager.patchThread({id:i.taskId,status:_t(x,f.parts),updated_at:new Date().toISOString()});const U=f.parts?.some(k=>{const w=k;return(w.type==="tool-share_with_user"||w.type==="tool-bash"||w.type==="tool-write")&&w.state==="output-available"});if(i.taskId&&U){const k=me.threadOutputs(i.taskId);for(const w of[0,1500,3e3,6e3,12e3,25e3])setTimeout(()=>{i.queryClient.invalidateQueries({queryKey:k})},w)}i.queryClient.invalidateQueries({queryKey:me.homeNextActions(i.orgSlug)});const O=f.metadata?.thread_id;O&&O!==i.taskId&&i.rawNavigateToTask(O)},onError:f=>{b(f),console.error("[chat] Error",f)},onToolCall:f=>C.current.onToolCall(f)};u.observer=c,Y(C.current.orgSlug,C.current.taskId);const d=f=>f==="submitted"||f==="streaming";let $=d(u.status.get().kind);const M=u.status.subscribe(()=>{const f=d(u.status.get().kind);if(f===$)return;$=f;const A=C.current;Y(A.orgSlug,A.taskId)});return()=>{u.observer===c&&(u.observer=null),M()}},[u]);const X=R.kind==="submitted"||R.kind==="streaming",re=D.length===0,ve=D.at(-1),Ce=!X&&ve?.role==="assistant"&&ve.parts.some(c=>"state"in c&&c.state==="approval-requested"),ye=s,pe=(ye?.status==="in_progress"||ye?.status==="expired")&&R.kind==="ready"&&D.length>0;async function Se(c){const d=t,$=n,M=Object.entries(I),f=M.length>0?M.map(([O,k])=>`### App Context: ${O}
|
|
24
|
-
${k}`).join(`
|
|
25
|
-
|
|
26
|
-
`):"",A=[q,f].filter(Boolean).join(`
|
|
27
|
-
|
|
28
|
-
`);let x=g;x==="gen-image"&&!a&&(x="default"),x==="web-search"&&!r&&(x="default"),x==="deep-research"&&!l&&(x="default"),(x==="web-search"||x==="deep-research")&&S("default");const i=$t({thread:s?{harness_id:s.harness_id??null,sandbox_provider_kind:s.sandbox_provider_kind??null,branch:s.branch??null}:null,globals:{harnessId:_??void 0,sandboxProviderKind:p??void 0,branch:o}});s?.harness_id||F.patchThread({id:d,harness_id:i.harnessId??"decopilot",sandbox_provider_kind:i.sandboxProviderKind??null,updated_at:new Date().toISOString()});const U={tier:N,mode:x,toolApprovalLevel:h.toolApprovalLevel??nt(),system:A||void 0,agent:{id:$},thread_id:d,...i};try{if(X||pe){let O=!0;try{Ht(d,c),await u.enqueue(c,U),He(d,{workflowId:`thread-run:${d}:${c.id}`,messageId:c.id,text:jt(c.parts),hasAttachments:c.parts.some(k=>k.type==="file"),status:"queued",enqueuedAt:Date.now(),optimistic:!0}),Kt(d)}catch(k){O=!1,De(d,c.id),Te(d,c.id),b(k instanceof Error?k:new Error(String(k))),oe.error(k instanceof Error?k.message:"Failed to queue message")}return Y(v.slug,d),O}return await u.submit({kind:"message",message:c},U),!0}finally{ne.delete(d)}}async function ee(c){const d=c.parts??Be(c.tiptapDoc);if(d.length===0||ne.has(t))return;ne.add(t),b(null),T(void 0);const $={tiptapDoc:c.tiptapDoc,created_at:new Date().toISOString(),user:{avatar:V?.image??void 0,name:V?.name??"you"}},M={id:crypto.randomUUID(),role:"user",parts:d,metadata:$};await Se(M)}async function ke(c,d){if(ne.has(t))return oe.info("Still sending your previous message — try again in a moment"),!1;if(ne.add(t),!await B.cancel(t,c))return ne.delete(t),oe.error("Couldn't remove the original message"),!1;De(t,c),u.removeLocalMessage(c);const M={id:crypto.randomUUID(),role:"user",parts:[{type:"text",text:d}],metadata:{created_at:new Date().toISOString(),user:{avatar:V?.image??void 0,name:V?.name??"you"}}};try{return await Se(M)}catch(f){return oe.error(f instanceof Error?f.message:"Failed to send edited message"),!1}}const be=async()=>{u.stop();try{const c=await fetch(`/api/${v.slug}/decopilot/cancel/${t}`,{method:"POST",credentials:"include"});if(c.status===404)return;if(!c.ok){const d=await c.json().catch(()=>({}));throw new Error(d.message??`Cancel failed: ${c.status}`)}}catch(c){const d=c instanceof Error?c.message:"Failed to cancel";oe.error(d),console.error("[chat] cancelRun",c)}},te=c=>c&&typeof c=="object"&&"type"in c?ee({tiptapDoc:c}):ee(c),xe=Fe({strict:!1}).autosend===je;m.useEffect(()=>{if(!xe||D.length>0)return;const c=st(sessionStorage,P,t);c&&ee(c.message).then(()=>{ot(sessionStorage,P,t)})},[xe,D.length,P,t,ee]);const fe={messages:D,status:Xt(R),sendMessage:te,editQueuedMessage:ke,stop:()=>{be()},submit:(c,d)=>u.submit(c,d),removeLocalMessage:c=>u.removeLocalMessage(c),isSendInFlight:()=>ne.has(t),error:Z,clearError:()=>b(null),finishReason:J,runStatusStage:j,clearFinishReason:()=>u.finishReason.set(null),isStreaming:X,isChatEmpty:re,isWaitingForApprovals:Ce??!1,isRunInProgress:pe,hasMoreOlder:G,isFetchingOlder:y,fetchOlderMessages:u.fetchOlderMessages.bind(u)};return Q.jsx(Ee.Provider,{value:fe,children:e})}function bn(){const t=m.useContext(Ee);if(!t)throw new Error("useChatStream must be used within ActiveTaskProvider");return t}function Mn(){return m.useContext(Ee)}function nn(){const t=m.useContext(Ae);if(!t)throw new Error("useChatTask must be used within ChatContextProvider");return t}function sn(){const t=m.useContext(_e);if(!t)throw new Error("useChatPrefs must be used within ChatContextProvider");return t}function Tn(){return m.useContext(_e)}function on(){return m.useContext(Ae)}export{kn as A,tn as C,gn as S,bn as a,on as b,nn as c,vn as d,Gt as e,De as f,Mn as g,Cn as h,xn as i,Be as j,We as k,Tn as l,Ke as m,Ve as n,Et as o,yn as p,In as s,Sn as t,sn as u};
|