decocms 4.230.7 → 4.230.8
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-D6J91YgS.js → AlertCircle-DIHfEpn6.js} +1 -1
- package/dist/client/assets/{AreaChart-Cz5RthK4.js → AreaChart-Dafm_8rE.js} +1 -1
- package/dist/client/assets/{ArrowLeft-CeSfjZxH.js → ArrowLeft-BLN-08Vd.js} +1 -1
- package/dist/client/assets/{ArrowUp-Dx-cLJyq.js → ArrowUp-Dqnz6X_K.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-BhZDI0W3.js → ArrowUpRight-vFTj3Tzi.js} +1 -1
- package/dist/client/assets/{Check-Cnj0J8tI.js → Check-DU0l8lV-.js} +1 -1
- package/dist/client/assets/{CheckCircle-5d8Cd_83.js → CheckCircle-BHyXipM7.js} +1 -1
- package/dist/client/assets/{ChevronDown-Bvhq_Hf8.js → ChevronDown-o-W-Few8.js} +1 -1
- package/dist/client/assets/{ChevronRight-CCGUXu59.js → ChevronRight-C_60uWaq.js} +1 -1
- package/dist/client/assets/{ChevronUp-CpidZKIY.js → ChevronUp-CzgnufJk.js} +1 -1
- package/dist/client/assets/{Copy01-BRLw2C-r.js → Copy01-C90PX77P.js} +1 -1
- package/dist/client/assets/{CpuChip01-BjhPQMOV.js → CpuChip01-Cj0tKAl5.js} +1 -1
- package/dist/client/assets/{CreditCard01-uM6yeazB.js → CreditCard01-6FRnT4yP.js} +1 -1
- package/dist/client/assets/{DotsVertical-B-inZZZc.js → DotsVertical-DH3S8T87.js} +1 -1
- package/dist/client/assets/{Eye-BUUNS0kF.js → Eye-BUGHS-a2.js} +1 -1
- package/dist/client/assets/{FilterLines-ByQr6BPO.js → FilterLines-DdLaLNnZ.js} +1 -1
- package/dist/client/assets/{Globe01-1kA2itbe.js → Globe01-D2tiAMGX.js} +1 -1
- package/dist/client/assets/{Globe04--0cJgowR.js → Globe04-CYBOFCxv.js} +1 -1
- package/dist/client/assets/{HardDrive-BgtA549j.js → HardDrive-DlfHIXO4.js} +1 -1
- package/dist/client/assets/{Key01-D2QyuVeF.js → Key01-CTb4Sgt7.js} +1 -1
- package/dist/client/assets/{LayoutLeft-DYjnKh13.js → LayoutLeft-DIftdyTM.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CH29Gqo5.js → LinkExternal01-DOJoVJ7D.js} +1 -1
- package/dist/client/assets/{LogOut01-DmFNsOxU.js → LogOut01-CR21Pbo_.js} +1 -1
- package/dist/client/assets/{Monitor01-_Oqnr_5v.js → Monitor01-wrTf7ZW6.js} +1 -1
- package/dist/client/assets/{Palette-COGC2fdg.js → Palette-BZ-ZEEbW.js} +1 -1
- package/dist/client/assets/{Play-CukrDSSD.js → Play-gqqcOrQ7.js} +1 -1
- package/dist/client/assets/{Plus-D1iQ96Va.js → Plus-Che0Qq3V.js} +1 -1
- package/dist/client/assets/{SearchLg-D8FRFT3V.js → SearchLg-CNcO3A06.js} +1 -1
- package/dist/client/assets/{SearchMd-ukBSt4UU.js → SearchMd-DTvjlY4U.js} +1 -1
- package/dist/client/assets/{Settings02-ACWgcqaz.js → Settings02-nIwHo2_w.js} +1 -1
- package/dist/client/assets/{Share07-CdVtOixm.js → Share07-CYqMpVRv.js} +1 -1
- package/dist/client/assets/{Shield01-Br3AIXBK.js → Shield01-DV7UyUeE.js} +1 -1
- package/dist/client/assets/{Star01-Cg_NcR6i.js → Star01-m5QETz3m.js} +1 -1
- package/dist/client/assets/{Stars01-DWILrNUm.js → Stars01-D_XPN8oi.js} +1 -1
- package/dist/client/assets/{Stars02-De0SCYX3.js → Stars02-yRnU52HO.js} +1 -1
- package/dist/client/assets/{Sun-DGjpE4_l.js → Sun-DDfD65ex.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-BUEZrOQe.js → SwitchHorizontal01-BwNxR4oW.js} +1 -1
- package/dist/client/assets/{Tool01-CNBBuX-z.js → Tool01-Au9WF63u.js} +1 -1
- package/dist/client/assets/{Tool02-DYJhBGlJ.js → Tool02-Cf24BX51.js} +1 -1
- package/dist/client/assets/{Trash01-CFaDcpBF.js → Trash01-YKnBp2aw.js} +1 -1
- package/dist/client/assets/{TrendUp01-G_2Edbqa.js → TrendUp01-PqkHviUU.js} +1 -1
- package/dist/client/assets/{Upload01-QBRVYlsV.js → Upload01-erX0ZmNX.js} +1 -1
- package/dist/client/assets/{User01-Dpx5TcAi.js → User01-DNNXk6UT.js} +1 -1
- package/dist/client/assets/{Users01-zAi-RHVo.js → Users01-tPwhcfQA.js} +1 -1
- package/dist/client/assets/{Users03-gnfX9XZC.js → Users03-Cy9EyNhl.js} +1 -1
- package/dist/client/assets/{X-BHbcDZbu.js → X-DxkJZwBX.js} +1 -1
- package/dist/client/assets/{XCircle-BHF_6f47.js → XCircle-BkX717Hb.js} +1 -1
- package/dist/client/assets/{XClose-DU4DKFhN.js → XClose-Bqyxy7ts.js} +1 -1
- package/dist/client/assets/{YAxis-Ba4cwQQk.js → YAxis-BWelz5Bs.js} +1 -1
- package/dist/client/assets/{Zap-DEkPxyRb.js → Zap-CM2gayGr.js} +1 -1
- package/dist/client/assets/{ZapSquare-D1B56P7N.js → ZapSquare-B2_vruNQ.js} +1 -1
- package/dist/client/assets/{access-gate-CXn_HuFI.js → access-gate-CYWzDFo4.js} +1 -1
- package/dist/client/assets/{agent-icon-CMLMKh7E.js → agent-icon-CRxk1TKp.js} +1 -1
- package/dist/client/assets/{agents-list-DwKLWdsf.js → agents-list-DwKAgHzg.js} +1 -1
- package/dist/client/assets/{ai-providers-CUjGPxqZ.js → ai-providers-BJPUSS0F.js} +1 -1
- package/dist/client/assets/{alert-BUc3NqYc.js → alert-_QveO5x3.js} +1 -1
- package/dist/client/assets/{alert-dialog-CeYKTQtj.js → alert-dialog-BT5rEvuk.js} +1 -1
- package/dist/client/assets/{api-keys-B_lWzVXz.js → api-keys-5OVizKx_.js} +1 -1
- package/dist/client/assets/{app-editor-DaIxPCEv.js → app-editor-D0FuYxdm.js} +1 -1
- package/dist/client/assets/{auth-catchall-BdbsDdXs.js → auth-catchall-BAhq3qEL.js} +1 -1
- package/dist/client/assets/{auth-entry-BNAr25Ij.js → auth-entry-CzBaNmpQ.js} +1 -1
- package/dist/client/assets/{auth-split-layout-Cf7oigs7.js → auth-split-layout-DTONk83A.js} +1 -1
- package/dist/client/assets/{auth-Db22gGlK.js → auth-ybSSIUlM.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-BmjfJFCk.js → authenticate-and-persist-oauth-DkZ8Y84H.js} +1 -1
- package/dist/client/assets/{automation-list-row-DhpzDINh.js → automation-list-row-DnFV9TLZ.js} +1 -1
- package/dist/client/assets/{automation-runs-C_bs-_uI.js → automation-runs-D7tgxauL.js} +1 -1
- package/dist/client/assets/{automations-DN5G5fRI.js → automations-ChpxJGpl.js} +1 -1
- package/dist/client/assets/{avatar-C1dRFklD.js → avatar-B2dmSUaL.js} +1 -1
- package/dist/client/assets/{badge-DXurUmkL.js → badge-CCoIsH0p.js} +1 -1
- package/dist/client/assets/{billing-zbN91dZW.js → billing-DMM61Iiy.js} +1 -1
- package/dist/client/assets/{block-document-WbcizTdw.js → block-document-CQYHOjRz.js} +1 -1
- package/dist/client/assets/{brand-context-CeUsNwsl.js → brand-context-BwJZPP-z.js} +1 -1
- package/dist/client/assets/{buckets-BlVzk-lp.js → buckets-CIIUfX-D.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-CfsR6vVu.js → bulk-category-panel-DE_g5tQv.js} +1 -1
- package/dist/client/assets/{capability-load-error-NzbRihN6.js → capability-load-error-Bl1cK_tI.js} +1 -1
- package/dist/client/assets/{card-CQ1PrcOC.js → card-CCfTlKp1.js} +1 -1
- package/dist/client/assets/{cards-B3KH9_z0.js → cards-Ce4gXaGo.js} +1 -1
- package/dist/client/assets/{category-editor-Ci2FcS7v.js → category-editor-DkBsRRg8.js} +1 -1
- package/dist/client/assets/{chart-CQmKeyx5.js → chart-BYJ-Dwpf.js} +1 -1
- package/dist/client/assets/{chat-context-CeWyI77u.js → chat-context-BWgsW_rS.js} +1 -1
- package/dist/client/assets/{checkbox-D_zdOY_D.js → checkbox-DvobALmx.js} +1 -1
- package/dist/client/assets/{cli-auth-success-CHs-25-i.js → cli-auth-success-CfAvkUhC.js} +1 -1
- package/dist/client/assets/{collection-detail-CDHiyhik.js → collection-detail-PChWzMPT.js} +1 -1
- package/dist/client/assets/{collection-display-button-CyNDMFKc.js → collection-display-button-H31h3qjV.js} +1 -1
- package/dist/client/assets/{collection-search-DazJfX-6.js → collection-search-B5CWVjTJ.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Oa8cqQR1.js → collection-table-wrapper-BP2-7fjL.js} +1 -1
- package/dist/client/assets/{collection-tabs-BzLkMjZG.js → collection-tabs-CVD_u2l6.js} +1 -1
- package/dist/client/assets/{command-D3RXzve5.js → command-DD18pFc4.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-BcFY3dzh.js → commerce-onboarding-0w3_n94f.js} +1 -1
- package/dist/client/assets/{connect-CMfZIICg.js → connect-DuNvn3WK.js} +1 -1
- package/dist/client/assets/{connection-BS_exCFr.js → connection-U6Dqf-yP.js} +1 -1
- package/dist/client/assets/{connection-card-5EFpAwDC.js → connection-card-C9XEak5m.js} +1 -1
- package/dist/client/assets/{connection-detail-d03kx36d.js → connection-detail-DwNZyEaI.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-C3LFt9cb.js → connection-form-helpers-B4Kh_iFp.js} +1 -1
- package/dist/client/assets/{connections-BAkZCmB5.js → connections-DxNhh3tB.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-VgRnY0ah.js → decopilot-sse-pool-kyP4JOAV.js} +1 -1
- package/dist/client/assets/{dialog-DvJcHkwt.js → dialog-p1PEzpZx.js} +1 -1
- package/dist/client/assets/{domain-settings-GmK-jqTd.js → domain-settings-B3Xh-JF4.js} +1 -1
- package/dist/client/assets/{drawer-Cb58QOVE.js → drawer-DWF7gJyQ.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CL2OSEuY.js → dropdown-menu-BO6Ptq7i.js} +1 -1
- package/dist/client/assets/{empty-state-D69TGhFG.js → empty-state-CwEgtwq4.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BxaWZ_YJ.js → extract-connection-data-BJDdj4pq.js} +1 -1
- package/dist/client/assets/{file-explorer-8Lr54FuW.js → file-explorer-UPzN6cjs.js} +1 -1
- package/dist/client/assets/{file-type-icon-CSG6Oook.js → file-type-icon-CuTD1BBy.js} +1 -1
- package/dist/client/assets/{form-Dy5rvZNG.js → form-DGLesdO3.js} +1 -1
- package/dist/client/assets/{general-DlTI3nxO.js → general-CJYAXR1J.js} +1 -1
- package/dist/client/assets/{github-repo-picker-Dgn4YHyo.js → github-repo-picker-M_wZXWMg.js} +1 -1
- package/dist/client/assets/{hooks-BIq3lutc.js → hooks-PIbzaUUm.js} +1 -1
- package/dist/client/assets/{index-DJkNxVxm.js → index-BGOnnCQj.js} +5 -5
- package/dist/client/assets/{index-BSpJVlTU.js → index-BWM3Bi2j.js} +1 -1
- package/dist/client/assets/{index-VScIq4cd.js → index-Bjt2LTu1.js} +1 -1
- package/dist/client/assets/{index-DsHWlzry.js → index-Csv87IN-.js} +1 -1
- package/dist/client/assets/{index-CGRLkfOz.js → index-D7sHF8Rl.js} +1 -1
- package/dist/client/assets/{index-BCHyTSoV.js → index-DGOLOqRY.js} +1 -1
- package/dist/client/assets/{index-CcGLeNgy.js → index-DO-N4ipB.js} +1 -1
- package/dist/client/assets/{index-DrcfiaV8.js → index-DQ2alWk2.js} +3 -3
- package/dist/client/assets/{index-qOle37d7.js → index-Dp7ivpI2.js} +1 -1
- package/dist/client/assets/{index-redirect-CXd24tkN.js → index-redirect-nBxuGw9y.js} +1 -1
- package/dist/client/assets/{index-Dhr50YFD.js → index-uK1b0KFF.js} +1 -1
- package/dist/client/assets/{infra-billing-D03nR3GQ.js → infra-billing-DBzpGAni.js} +1 -1
- package/dist/client/assets/{input-Ck6l2xy3.js → input-BB0LVxK0.js} +1 -1
- package/dist/client/assets/{integration-icon-D5dRFJ9b.js → integration-icon-B50axVey.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-C5KEY00o.js → invite-member-dialog-CkkuB4-W.js} +1 -1
- package/dist/client/assets/{label-DYAJlKD5.js → label-ByHw2rA0.js} +1 -1
- package/dist/client/assets/{layout-AzN_DEHs.js → layout-BQ3RhcpN.js} +1 -1
- package/dist/client/assets/{login-BKfRfOqa.js → login-Bk4DQlHZ.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CbSLCaTE.js → mcp-oauth-BxROko_f.js} +1 -1
- package/dist/client/assets/{members-D_D7wlc2.js → members-CaNP58RF.js} +1 -1
- package/dist/client/assets/{monaco-editor-Dk9f4v9I.js → monaco-editor-CYurPlaf.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-aaBg-WOG.js → monitoring-stats-row-B1EaYS2P.js} +1 -1
- package/dist/client/assets/{multi-select-9PA9uBI_.js → multi-select-Cv-9okFR.js} +1 -1
- package/dist/client/assets/{oauth-callback-hMlUXBfX.js → oauth-callback-Bwo_bg_E.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-C6U6Fuyn.js → oauth-callback-ai-provider-BHVu8qwh.js} +1 -1
- package/dist/client/assets/{onboarding-DbfDrTbZ.js → onboarding-NW1jppZW.js} +1 -1
- package/dist/client/assets/{org-layout-DJggXpzf.js → org-layout-Zjy54ULM.js} +1 -1
- package/dist/client/assets/{organization-choice-CZXYRjNI.js → organization-choice-II6hKWxW.js} +1 -1
- package/dist/client/assets/{orgs-BPqu0atp.js → orgs-CRjpmWmb.js} +1 -1
- package/dist/client/assets/{page-seo-form-PNCC8qgS.js → page-seo-form-BMDVvhV-.js} +1 -1
- package/dist/client/assets/{popover-Cml1KJzl.js → popover-fcJBzvgb.js} +1 -1
- package/dist/client/assets/{post-editor-Sc-NSz16.js → post-editor-B_uS93GY.js} +1 -1
- package/dist/client/assets/{primitives-BYu-AnR-.js → primitives-BKFFvkFR.js} +1 -1
- package/dist/client/assets/{profile-C36upBUX.js → profile-BWV3kQOe.js} +1 -1
- package/dist/client/assets/{project-app-view-DfQ7WFeF.js → project-app-view-BINLF06G.js} +1 -1
- package/dist/client/assets/record-editor-D5Z9lrDO.js +1 -0
- package/dist/client/assets/{redirect-editor-DIEWw-iN.js → redirect-editor-Cz1sEpuN.js} +1 -1
- package/dist/client/assets/registry-5Lr7Jkn2.js +2 -0
- package/dist/client/assets/{registry-layout-DTeF4fMm.js → registry-layout-CIiu4jqm.js} +1 -1
- package/dist/client/assets/{reports-C-jIZSCv.js → reports-BStRQXkg.js} +1 -1
- package/dist/client/assets/{require-capability-CaLJYcr-.js → require-capability-D7x_sr6p.js} +1 -1
- package/dist/client/assets/{required-auth-layout-BMNgvP3E.js → required-auth-layout-CEzrZQRK.js} +1 -1
- package/dist/client/assets/{reset-password-CVyZa_Wn.js → reset-password-gqhmjf61.js} +1 -1
- package/dist/client/assets/{roles-u94TH586.js → roles-BjxtySU_.js} +1 -1
- package/dist/client/assets/{search-input-mDSUuu0e.js → search-input-B8ZprT-e.js} +1 -1
- package/dist/client/assets/{secrets-BBnx0klx.js → secrets-CyB90seu.js} +1 -1
- package/dist/client/assets/{sections-editor-B2m6h0si.js → sections-editor-BIpRH8R0.js} +1 -1
- package/dist/client/assets/{select-CHyG5dNp.js → select-DyBxjJl_.js} +1 -1
- package/dist/client/assets/{select-model-BklgbNOl.js → select-model-BQHdemj4.js} +1 -1
- package/dist/client/assets/{self-tool-result-Dh9aPiKG.js → self-tool-result-BCAtHNwc.js} +1 -1
- package/dist/client/assets/{seo-editor-CrLLtVK0.js → seo-editor-B2egRpxG.js} +1 -1
- package/dist/client/assets/{settings-layout-Ba22Ai5Q.js → settings-layout-BxCxEHAC.js} +1 -1
- package/dist/client/assets/{settings-section-B6aPWKJ7.js → settings-section-C9AzeDET.js} +1 -1
- package/dist/client/assets/{shell-controls-BQzSXlRZ.js → shell-controls-BeRDauy_.js} +1 -1
- package/dist/client/assets/{shell-layout-BixvOMA4.js → shell-layout-VzXe0dsv.js} +1 -1
- package/dist/client/assets/{sidebar-Rb7HoTnR.js → sidebar-C42yvYUC.js} +1 -1
- package/dist/client/assets/{skeleton-D5evZQrv.js → skeleton-CCyUwDG-.js} +1 -1
- package/dist/client/assets/{spinner-EUpJ6FpN.js → spinner-Dcf0qymX.js} +1 -1
- package/dist/client/assets/{sso-Cvl4IIv-.js → sso-BO-h-jR2.js} +1 -1
- package/dist/client/assets/{store-CtxzmBYw.js → store-P9qbVC0R.js} +1 -1
- package/dist/client/assets/store-registry-DRT-B-wg.js +2 -0
- package/dist/client/assets/{studio-tools-CGE_aHX-.js → studio-tools-C66AV7Nn.js} +1 -1
- package/dist/client/assets/{switch-CUD9f0uL.js → switch-BrYkiyI_.js} +1 -1
- package/dist/client/assets/{synced-repos-BBbLFI5S.js → synced-repos-CStgKEWc.js} +1 -1
- package/dist/client/assets/{tab-id-BJBzixEx.js → tab-id-5BhVMiSG.js} +1 -1
- package/dist/client/assets/{table-CGfDG2iA.js → table-CbwLq6PS.js} +1 -1
- package/dist/client/assets/{tabs-Dob2HMGc.js → tabs-CKOOlu81.js} +1 -1
- package/dist/client/assets/{textarea-CwjR7SnM.js → textarea-CNj2h16x.js} +1 -1
- package/dist/client/assets/{toggle-group-DfB-jiE5.js → toggle-group-CPjzAVsJ.js} +1 -1
- package/dist/client/assets/{toolbar-F41heyEq.js → toolbar-iRuPDXbT.js} +1 -1
- package/dist/client/assets/{tooltip-CSpLQVlQ.js → tooltip-DUUOKWW2.js} +1 -1
- package/dist/client/assets/{track-BqWaXrhp.js → track-GxP9Ubi9.js} +1 -1
- package/dist/client/assets/{types-B7xN5BXV.js → types-rP5rUMZn.js} +1 -1
- package/dist/client/assets/{use-ai-providers-lCLndm4q.js → use-ai-providers-CT4a2iz0.js} +1 -1
- package/dist/client/assets/{use-api-keys-DIf_dJV8.js → use-api-keys-DD9pwnUK.js} +1 -1
- package/dist/client/assets/{use-automations-B1WSk7pE.js → use-automations-UY8UF1m8.js} +1 -1
- package/dist/client/assets/{use-autosave-BldfP4_V.js → use-autosave-D4y5kjRn.js} +1 -1
- package/dist/client/assets/{use-capability-BnTFVUVn.js → use-capability-BLZr0kmJ.js} +1 -1
- package/dist/client/assets/{use-clock-tick-2qKCmy-l.js → use-clock-tick-_AHSjUrM.js} +1 -1
- package/dist/client/assets/{use-commerce-diagnostic-DmNbu9Go.js → use-commerce-diagnostic-DtK7iSjj.js} +1 -1
- package/dist/client/assets/{use-connection-nVJvlf0i.js → use-connection-ChW97zoH.js} +1 -1
- package/dist/client/assets/{use-copy-CWheebeq.js → use-copy-B_jMqXF7.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CPTi2SvY.js → use-create-virtual-mcp-B0o8aHQY.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-CDyK2_Fe.js → use-debounced-autosave-CcUqeYWH.js} +1 -1
- package/dist/client/assets/{use-debounced-value-nt9aVQKU.js → use-debounced-value-DsXCgSWN.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BBTPByyF.js → use-decopilot-events-Btp6RCZh.js} +1 -1
- package/dist/client/assets/{use-delete-connection-CTppf6x9.js → use-delete-connection-ZrjE3GOP.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-D7GlHZ96.js → use-deployment-admin-CMpf9hZR.js} +1 -1
- package/dist/client/assets/{use-file-configs-DJzlBC0J.js → use-file-configs-DmWSlDs-.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-BwKhm6f5.js → use-infinite-scroll-Bsh2t_KZ.js} +1 -1
- package/dist/client/assets/{use-infra-billing-DUfd1_Gg.js → use-infra-billing-BPegRse-.js} +1 -1
- package/dist/client/assets/{use-join-requests-DzJimdP0.js → use-join-requests-CE4_Wb9F.js} +1 -1
- package/dist/client/assets/{use-mcp-client-CxvI45QI.js → use-mcp-client-DzEcWYew.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BOBITOuN.js → use-mcp-tools-D7yt0SrH.js} +1 -1
- package/dist/client/assets/{use-members-CreuP9XH.js → use-members-DVMc5Ljv.js} +1 -1
- package/dist/client/assets/{use-mobile-CkKJnd8I.js → use-mobile-Dk_QK-JJ.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-C8K0LvqK.js → use-navigate-to-agent-CmbFhaTs.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-LKnB2CfL.js → use-open-billing-url-CEzLYl25.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-9DJPfBrO.js → use-org-auth-client-BcSiyIOb.js} +1 -1
- package/dist/client/assets/{use-org-sso-D0FCw_SS.js → use-org-sso-WxQa5yj2.js} +1 -1
- package/dist/client/assets/{use-organization-roles-Br96PXSr.js → use-organization-roles-Dae2X2_P.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Dcl9H5Qn.js → use-organization-settings-BVcM1Nu5.js} +1 -1
- package/dist/client/assets/{use-registry-connections-FF3o2RF6.js → use-registry-connections-DRUo14P4.js} +1 -1
- package/dist/client/assets/{use-secrets-B2cnizip.js → use-secrets-BtUqR7Sa.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-Ljo7zX-X.js → use-section-preview-base-BbT3W5Op.js} +1 -1
- package/dist/client/assets/{use-status-sounds-JDHQGIbg.js → use-status-sounds-DMfk2_cA.js} +1 -1
- package/dist/client/assets/{use-tags-DGBhOsLh.js → use-tags-CJBihZhN.js} +1 -1
- package/dist/client/assets/{use-view-mode-CxSQTzuL.js → use-view-mode-CNGJ756Z.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CUFRh7sC.js → use-virtual-mcp-CWPjvdR-.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-B-xk4Z8r.js +1 -0
- package/dist/client/assets/{useRouterState-x0BysrMi.js → useRouterState-CcBZesOD.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-D539X74A.js +1 -0
- package/dist/client/assets/{users-8rcAKLr8.js → users-Bi5nxmVA.js} +1 -1
- package/dist/client/assets/{variant-calendar-CFq9YN_E.js → variant-calendar-DV2kIs9K.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CoAJ8r51.js → view-mode-toggle-fs4bDHAY.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/record-editor-CUqvqg_T.js +0 -1
- package/dist/client/assets/registry-BByFk_Kq.js +0 -2
- package/dist/client/assets/store-registry-oltpUBA5.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Sl-XkdKS.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CcUtTMJZ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as G,b as tt,r as et,j as s,m as ot,B as nt}from"./index-DrcfiaV8.js";import{w as vt,a7 as dt,aK as yt}from"./agent-icon-CMLMKh7E.js";import{i as Tt}from"./ChevronRight-CCGUXu59.js";import{L as jt}from"./label-DYAJlKD5.js";import{B as pt}from"./automation-runs-C_bs-_uI.js";import{S as wt}from"./switch-CUD9f0uL.js";import{T as Nt,c as kt,a as Mt}from"./tooltip-CSpLQVlQ.js";import{V as _t}from"./view-mode-toggle-CoAJ8r51.js";import"./AlertCircle-D6J91YgS.js";import"./Tool01-CNBBuX-z.js";import"./ArrowUp-Dx-cLJyq.js";import"./ArrowLeft-CeSfjZxH.js";import"./Tool02-DYJhBGlJ.js";import"./XCircle-BHF_6f47.js";import"./ArrowUpRight-BhZDI0W3.js";import"./TrendUp01-G_2Edbqa.js";import"./ZapSquare-D1B56P7N.js";import"./Users03-gnfX9XZC.js";import"./CheckCircle-5d8Cd_83.js";import"./Check-Cnj0J8tI.js";import"./ChevronDown-Bvhq_Hf8.js";import"./ChevronUp-CpidZKIY.js";import"./DotsVertical-B-inZZZc.js";import"./Stars02-De0SCYX3.js";import"./Copy01-BRLw2C-r.js";import"./CpuChip01-BjhPQMOV.js";import"./CreditCard01-uM6yeazB.js";import"./Globe01-1kA2itbe.js";import"./Settings02-ACWgcqaz.js";import"./Eye-BUUNS0kF.js";import"./FilterLines-ByQr6BPO.js";import"./Share07-CdVtOixm.js";import"./Star01-Cg_NcR6i.js";import"./Globe04--0cJgowR.js";import"./SwitchHorizontal01-BUEZrOQe.js";import"./HardDrive-BgtA549j.js";import"./Key01-D2QyuVeF.js";import"./LayoutLeft-DYjnKh13.js";import"./LinkExternal01-CH29Gqo5.js";import"./LogOut01-DmFNsOxU.js";import"./Monitor01-_Oqnr_5v.js";import"./Sun-DGjpE4_l.js";import"./Palette-COGC2fdg.js";import"./Play-CukrDSSD.js";import"./Plus-D1iQ96Va.js";import"./SearchLg-D8FRFT3V.js";import"./SearchMd-ukBSt4UU.js";import"./Shield01-Br3AIXBK.js";import"./Stars01-DWILrNUm.js";import"./Trash01-CFaDcpBF.js";import"./Upload01-QBRVYlsV.js";import"./User01-Dpx5TcAi.js";import"./Users01-zAi-RHVo.js";import"./XClose-DU4DKFhN.js";import"./X-BHbcDZbu.js";import"./Zap-DEkPxyRb.js";import"./select-CHyG5dNp.js";import"./useInfiniteQuery-Sl-XkdKS.js";import"./use-infinite-scroll-BwKhm6f5.js";import"./use-connection-nVJvlf0i.js";import"./use-mcp-client-CxvI45QI.js";import"./auth-Db22gGlK.js";import"./use-virtual-mcp-CUFRh7sC.js";import"./card-CQ1PrcOC.js";import"./sidebar-Rb7HoTnR.js";import"./use-mobile-CkKJnd8I.js";import"./table-CGfDG2iA.js";import"./empty-state-D69TGhFG.js";import"./use-members-CreuP9XH.js";import"./use-org-auth-client-9DJPfBrO.js";import"./use-clock-tick-2qKCmy-l.js";import"./use-automations-B1WSk7pE.js";import"./studio-tools-CGE_aHX-.js";import"./useSuspenseInfiniteQuery-CcUtTMJZ.js";import"./avatar-C1dRFklD.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-CWheebeq.js";import"./dialog-DvJcHkwt.js";import"./tab-id-BJBzixEx.js";import"./hooks-BIq3lutc.js";import"./decopilot-sse-pool-VgRnY0ah.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./chat-context-CeWyI77u.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-ai-providers-lCLndm4q.js";import"./use-decopilot-events-BBTPByyF.js";import"./use-organization-settings-Dcl9H5Qn.js";import"./monaco-editor-Dk9f4v9I.js";import"./spinner-EUpJ6FpN.js";import"./types-B7xN5BXV.js";import"./shell-layout-BixvOMA4.js";import"./required-auth-layout-BMNgvP3E.js";import"./use-org-sso-D0FCw_SS.js";import"./integration-icon-D5dRFJ9b.js";import"./use-navigate-to-agent-C8K0LvqK.js";import"./reusable-new-chat-CouMjkYR.js";import"./chart-CQmKeyx5.js";import"./index-VScIq4cd.js";import"./form-Dy5rvZNG.js";import"./input-Ck6l2xy3.js";import"./file-type-icon-CSG6Oook.js";const Et=new Set(["website/matchers/date.ts","$live/matchers/MatchDate.ts"]),St=new Set(["website/matchers/multi.ts","$live/matchers/MatchMulti.ts"]),Ct=new Date(-864e13),Dt=new Date(864e13),At=/\/flags\/multivariate(?:\/[^/]+)?\.ts$/,$t=/\/flags\/multivariate\.ts$/;function Lt(e){let t=e;t.startsWith("pages-")&&(t=t.slice(6).replace(/-\d+$/,""));try{t=decodeURIComponent(t)}catch{}return t}function Rt(e){if(!e||typeof e!="object")return null;const{start:t,end:n}=e,r=typeof t=="string",i=typeof n=="string";if(!r&&!i)return null;const o=r?new Date(t):Ct,a=i?new Date(n):Dt;return Number.isNaN(o.getTime())||Number.isNaN(a.getTime())||r&&i&&a.getTime()<=o.getTime()?null:{start:o,end:a,openStart:!r,openEnd:!i}}function ft(e,t){if(!e||typeof e!="object")return;const n=e.__resolveType;if(typeof n=="string"){if(Et.has(n)){const r=Rt(e);r&&t.push(r);return}if(St.has(n)){const r=e.matchers;if(Array.isArray(r))for(const i of r)ft(i,t)}}}function Ot(e){if(!e||typeof e!="object")return!1;const t=e.__resolveType;if(typeof t!="string"||!At.test(t))return!1;const n=e.variants;return Array.isArray(n)}function It(e){if(typeof e=="string"){const m=e.trim();if(m.length===0)return null;try{const c=new URL(m).pathname.split("/").filter(Boolean),d=c[c.length-1];if(d)return decodeURIComponent(d)}catch{}return m.length>80?`${m.slice(0,77)}…`:m}if(!e||typeof e!="object")return null;const t=e,n=t.config,i=t.desktop?.media,o=[t.title,t.name,t.label,t.alt,n?.title,n?.name,n?.typeAlert?.message,i?.alt,Array.isArray(t.matcher)?t.matcher[0]:void 0];for(const m of o)if(typeof m=="string"&&m.trim().length>0)return m.trim();const a=t.__resolveType;if(typeof a=="string"){const l=(a.split("/").pop()??a).replace(/\.(tsx?|jsx?)$/i,"");if(l.length>0)return l}return null}function Pt(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n];typeof r=="number"?t.length>0?t[t.length-1]+=`[${r}]`:t.push(`[${r}]`):t.push(r)}return t.join(" · ")}function X(e,t,n,r,i){if(Ot(e)){const o=e.variants,a=e.__resolveType,m=$t.test(a)?"":Pt(r);o.forEach((l,c)=>{if(!l||typeof l!="object")return;const d=l,f=[];if(ft(d.rule,f),f.length===0)return;const x=It(d.value)??(m||n);for(const h of f)i.push({blockKey:t,blockLabel:n,innerPath:m,variantIndex:c,start:h.start,end:h.end,openStart:h.openStart,openEnd:h.openEnd,label:x,flagResolveType:a})});for(let l=0;l<o.length;l++){const c=o[l];c&&typeof c=="object"&&X(c.value,t,n,[...r,"variants",l,"value"],i)}return}if(Array.isArray(e)){for(let o=0;o<e.length;o++)X(e[o],t,n,[...r,o],i);return}if(e&&typeof e=="object")for(const[o,a]of Object.entries(e))o!=="__resolveType"&&X(a,t,n,[...r,o],i)}function Ft(e){if(!e)return[];const t=[];for(const[n,r]of Object.entries(e))X(r,n,Lt(n),[],t);return t.sort((n,r)=>n.start.getTime()-r.start.getTime())}function Vt(e){const t=[...new Set(e)].sort(),n=new Map;return t.forEach((r,i)=>{const o=i*137.508%360;n.set(r,{bg:`oklch(0.62 0.14 ${o})`,text:"white",border:`oklch(0.50 0.14 ${o})`})}),n}const Ht={bg:"oklch(0.62 0.14 0)",text:"white",border:"oklch(0.50 0.14 0)"};function ut(e,t){return e.get(t)??Ht}const Bt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ht=["January","February","March","April","May","June","July","August","September","October","November","December"],gt=1440*60*1e3;function B(e){const t=new Date(e);return t.setHours(0,0,0,0),t}function xt(e){return new Date(e.getFullYear(),e.getMonth(),1)}function Y(e,t){return new Date(e.getFullYear(),e.getMonth()+t,1)}function Z(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function st(e,t){return Math.round((B(e).getTime()-B(t).getTime())/gt)}function Wt(e){const t=(e.getTime()-B(e).getTime())/gt;return Math.min(Math.max(t,0),1)}function it(e,t){return st(e,t)+Wt(e)}function zt(e){const t=Z(e,-e.getDay()),n=[];for(let r=0;r<6;r++){const i=[];for(let o=0;o<7;o++)i.push(Z(t,r*7+o));n.push(i)}for(;n.length>0&&n[n.length-1].every(r=>r.getMonth()!==e.getMonth());)n.pop();return n}function Kt(e,t){const n=B(e[0]),r=Z(n,7),i=n.getTime(),o=r.getTime(),a=[];for(const c of t){const d=B(c.start),f=B(c.end);if(f.getTime()<n.getTime()||d.getTime()>=r.getTime())continue;const u=d.getTime()<n.getTime()?n:d,x=f.getTime()>=r.getTime()?Z(r,-1):f,h=st(u,n),g=st(x,u)+1;if(g<=0)continue;const b=Math.max(c.start.getTime(),i),j=Math.min(c.end.getTime(),o),v=it(new Date(b),n),p=Math.max(it(new Date(j),n)-v,0);p<=0||a.push({variant:c,startCol:h,span:g,leftUnits:v,widthUnits:p})}a.sort((c,d)=>c.startCol-d.startCol||d.span-c.span||c.variant.blockKey.localeCompare(d.variant.blockKey));const m=[],l=[];for(const c of a){let d=m.findIndex(f=>f<=c.startCol);d===-1&&(d=m.length,m.push(0)),m[d]=c.startCol+c.span,l.push({...c,lane:d})}return l}const at=new Intl.DateTimeFormat("en",{dateStyle:"medium",timeStyle:"short"});function Ut(e,t){const n=e.openStart?t("sandbox.variantCalendar.always"):at.format(e.start),r=e.openEnd?t("sandbox.variantCalendar.ongoing"):at.format(e.end);return`${n} → ${r}`}function Yt(e){const t=G.c(18),{variant:n}=e,r=tt();let i;t[0]!==n.blockLabel?(i=s.jsx("div",{className:"font-semibold",children:n.blockLabel}),t[0]=n.blockLabel,t[1]=i):i=t[1];let o;t[2]!==n.innerPath?(o=n.innerPath&&s.jsx("div",{className:"text-muted-foreground",children:n.innerPath}),t[2]=n.innerPath,t[3]=o):o=t[3];let a;t[4]!==n.blockLabel||t[5]!==n.innerPath||t[6]!==n.label?(a=n.label!==n.blockLabel&&n.label!==n.innerPath&&s.jsx("div",{className:"text-muted-foreground",children:n.label}),t[4]=n.blockLabel,t[5]=n.innerPath,t[6]=n.label,t[7]=a):a=t[7];let m;t[8]!==r||t[9]!==n?(m=Ut(n,r),t[8]=r,t[9]=n,t[10]=m):m=t[10];let l;t[11]!==m?(l=s.jsx("div",{className:"mt-1",children:m}),t[11]=m,t[12]=l):l=t[12];let c;return t[13]!==i||t[14]!==o||t[15]!==a||t[16]!==l?(c=s.jsx(Mt,{children:s.jsxs("div",{className:"text-xs",children:[i,o,a,l]})}),t[13]=i,t[14]=o,t[15]=a,t[16]=l,t[17]=c):c=t[17],c}const lt=16;function Gt(e,t){const n=e?"transparent":"#000 0",r=t?"transparent":"#000 100%";if(!(!e&&!t))return`linear-gradient(to right, ${n}, #000 ${lt}px, #000 calc(100% - ${lt}px), ${r})`}function bt(e){const t=G.c(26),{variant:n,color:r,style:i,children:o,fadeStart:a,fadeEnd:m}=e,l=a===void 0?!1:a,c=m===void 0?!1:m;let d;t[0]!==c||t[1]!==l?(d=Gt(l,c),t[0]=c,t[1]=l,t[2]=d):d=t[2];const f=d;let u;t[3]!==l?(u=l&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},t[3]=l,t[4]=u):u=t[4];let x;t[5]!==c?(x=c&&{borderTopRightRadius:0,borderBottomRightRadius:0},t[5]=c,t[6]=x):x=t[6];let h;t[7]!==f?(h=f&&{maskImage:f,WebkitMaskImage:f},t[7]=f,t[8]=h):h=t[8];let g;t[9]!==r.bg||t[10]!==r.text||t[11]!==i||t[12]!==u||t[13]!==x||t[14]!==h?(g={background:r.bg,color:r.text,borderRadius:4,...u,...x,...h,...i},t[9]=r.bg,t[10]=r.text,t[11]=i,t[12]=u,t[13]=x,t[14]=h,t[15]=g):g=t[15];let b;t[16]!==o?(b=s.jsx("span",{className:"truncate",children:o}),t[16]=o,t[17]=b):b=t[17];let j;t[18]!==g||t[19]!==b?(j=s.jsx(Nt,{asChild:!0,children:s.jsx("div",{className:"absolute flex items-center px-2 text-[11px] font-medium truncate cursor-default",style:g,children:b})}),t[18]=g,t[19]=b,t[20]=j):j=t[20];let v;t[21]!==n?(v=s.jsx(Yt,{variant:n}),t[21]=n,t[22]=v):v=t[22];let p;return t[23]!==v||t[24]!==j?(p=s.jsxs(kt,{children:[j,v]}),t[23]=v,t[24]=j,t[25]=p):p=t[25],p}function or(e){const t=G.c(72),{decofile:n}=e,r=tt(),[i,o]=et.useState("calendar"),[a,m]=et.useState(Xt),[l,c]=et.useState(!1);let d,f,u;if(t[0]!==n||t[1]!==l){const P=Ft(n);d=P.filter(Qt).length,u=l?P:P.filter(qt),f=Vt(u.map(Jt)),t[0]=n,t[1]=l,t[2]=d,t[3]=f,t[4]=u}else d=t[2],f=t[3],u=t[4];const x=f;let h;t[5]===Symbol.for("react.memo_cache_sentinel")?(h=()=>m(xt(new Date)),t[5]=h):h=t[5];const g=h;let b;t[6]!==i?(b=()=>m(P=>i==="calendar"?Y(P,-1):Y(P,-3)),t[6]=i,t[7]=b):b=t[7];const j=b;let v;t[8]!==i?(v=()=>m(P=>i==="calendar"?Y(P,1):Y(P,3)),t[8]=i,t[9]=v):v=t[9];const p=v;let y;t[10]!==r?(y=r("sandbox.variantCalendar.today"),t[10]=r,t[11]=y):y=t[11];let T;t[12]!==y?(T=s.jsx(nt,{variant:"outline",size:"sm",onClick:g,children:y}),t[12]=y,t[13]=T):T=t[13];let N;t[14]!==r?(N=r("sandbox.variantCalendar.previous"),t[14]=r,t[15]=N):N=t[15];let D;t[16]===Symbol.for("react.memo_cache_sentinel")?(D=s.jsx(vt,{size:16}),t[16]=D):D=t[16];let k;t[17]!==j||t[18]!==N?(k=s.jsx(nt,{variant:"ghost",size:"icon",className:"size-8",onClick:j,"aria-label":N,children:D}),t[17]=j,t[18]=N,t[19]=k):k=t[19];let M;t[20]!==r?(M=r("sandbox.variantCalendar.next"),t[20]=r,t[21]=M):M=t[21];let S;t[22]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx(Tt,{size:16}),t[22]=S):S=t[22];let A;t[23]!==p||t[24]!==M?(A=s.jsx(nt,{variant:"ghost",size:"icon",className:"size-8",onClick:p,"aria-label":M,children:S}),t[23]=p,t[24]=M,t[25]=A):A=t[25];const $=ht[a.getMonth()];let C;t[26]!==a?(C=a.getFullYear(),t[26]=a,t[27]=C):C=t[27];let _;t[28]!==$||t[29]!==C?(_=s.jsxs("h2",{className:"ml-2 text-base font-semibold",children:[$," ",C]}),t[28]=$,t[29]=C,t[30]=_):_=t[30];let w;t[31]!==A||t[32]!==_||t[33]!==T||t[34]!==k?(w=s.jsxs("div",{className:"flex items-center gap-2",children:[T,k,A,_]}),t[31]=A,t[32]=_,t[33]=T,t[34]=k,t[35]=w):w=t[35];let L;t[36]!==d||t[37]!==l||t[38]!==r?(L=d>0&&s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(wt,{id:"show-ongoing",checked:l,onCheckedChange:c}),s.jsx(jt,{htmlFor:"show-ongoing",className:"text-xs text-muted-foreground cursor-pointer",children:r("sandbox.variantCalendar.showOngoing",{count:d})})]}),t[36]=d,t[37]=l,t[38]=r,t[39]=L):L=t[39];let H;t[40]===Symbol.for("react.memo_cache_sentinel")?(H=s.jsx(dt,{}),t[40]=H):H=t[40];let F;t[41]!==r?(F=r("sandbox.variantCalendar.calendarMode"),t[41]=r,t[42]=F):F=t[42];let E;t[43]!==F?(E={value:"calendar",icon:H,label:F},t[43]=F,t[44]=E):E=t[44];let W;t[45]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(yt,{}),t[45]=W):W=t[45];let R;t[46]!==r?(R=r("sandbox.variantCalendar.timelineMode"),t[46]=r,t[47]=R):R=t[47];let O;t[48]!==R?(O={value:"timeline",icon:W,label:R},t[48]=R,t[49]=O):O=t[49];let I;t[50]!==E||t[51]!==O?(I=[E,O],t[50]=E,t[51]=O,t[52]=I):I=t[52];let V;t[53]!==I||t[54]!==i?(V=s.jsx(_t,{value:i,onValueChange:o,options:I}),t[53]=I,t[54]=i,t[55]=V):V=t[55];let z;t[56]!==L||t[57]!==V?(z=s.jsxs("div",{className:"flex items-center gap-4",children:[L,V]}),t[56]=L,t[57]=V,t[58]=z):z=t[58];let K;t[59]!==w||t[60]!==z?(K=s.jsxs("div",{className:"flex items-center justify-between px-4 h-12 border-b shrink-0",children:[w,z]}),t[59]=w,t[60]=z,t[61]=K):K=t[61];let U;t[62]!==x||t[63]!==a||t[64]!==d||t[65]!==l||t[66]!==u||t[67]!==i?(U=u.length===0?s.jsx(Zt,{hiddenOngoing:l?0:d}):i==="calendar"?s.jsx(ee,{monthStart:a,variants:u,colorMap:x}):s.jsx(oe,{monthStart:a,variants:u,colorMap:x}),t[62]=x,t[63]=a,t[64]=d,t[65]=l,t[66]=u,t[67]=i,t[68]=U):U=t[68];let q;return t[69]!==K||t[70]!==U?(q=s.jsxs("div",{className:"flex h-full w-full flex-col",children:[K,U]}),t[69]=K,t[70]=U,t[71]=q):q=t[71],q}function Jt(e){return e.blockKey}function qt(e){return!e.openEnd}function Qt(e){return e.openEnd}function Xt(){return xt(new Date)}function Zt(e){const t=G.c(4),{hiddenOngoing:n}=e,r=n===void 0?0:n,i=tt();let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(dt,{size:24,className:"text-muted-foreground/60"}),t[0]=o):o=t[0];let a;return t[1]!==r||t[2]!==i?(a=s.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[o,r>0?s.jsxs(s.Fragment,{children:[s.jsx("div",{children:i("sandbox.variantCalendar.noDatedVariants")}),s.jsx("div",{className:"text-xs text-muted-foreground/80",children:i("sandbox.variantCalendar.hiddenOngoingVariants",{count:r})})]}):s.jsxs(s.Fragment,{children:[s.jsx("div",{children:i("sandbox.variantCalendar.noScheduledVariants")}),s.jsx("div",{className:"text-xs text-muted-foreground/80",children:i("sandbox.variantCalendar.dateMatcherInfo")})]})]}),t[1]=r,t[2]=i,t[3]=a):a=t[3],a}const rt=20,ct=2,mt=28,te=6;function ee(e){const t=G.c(17),{monthStart:n,variants:r,colorMap:i}=e;let o,a,m,l,c;if(t[0]!==i||t[1]!==n||t[2]!==r){const u=zt(n),x=B(new Date);o=pt,c="flex-1 min-h-0",a="min-w-[840px]",t[8]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx("div",{className:"grid grid-cols-7 border-b text-xs text-muted-foreground sticky top-0 bg-background z-10",children:Bt.map(re)}),t[8]=m):m=t[8],l=u.map((h,g)=>{const b=Kt(h,r),j=b.reduce(ne,0),v=mt+j*(rt+ct)+8;return s.jsxs("div",{className:"grid grid-cols-7 relative border-b",style:{height:v},children:[h.map((p,y)=>{const T=p.getMonth()===n.getMonth(),N=p.getTime()===x.getTime();return s.jsx("div",{className:ot("border-r last:border-r-0 px-2 pt-1.5 text-xs",T?"bg-background":"bg-muted/30 text-muted-foreground"),children:s.jsx("span",{className:ot("inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1",N&&"bg-primary text-primary-foreground font-semibold"),children:p.getDate()})},y)}),b.map((p,y)=>{const T=ut(i,p.variant.blockKey),N=mt+p.lane*(rt+ct),D=p.leftUnits/7*100,k=p.widthUnits/7*100,M=p.variant.openStart&&g===0,S=p.variant.openEnd&&g===u.length-1;return s.jsxs(bt,{variant:p.variant,color:T,fadeStart:M,fadeEnd:S,style:{top:N,left:`calc(${D}% + 2px)`,width:`calc(${k}% - 4px)`,minWidth:te,height:rt},children:[p.variant.blockLabel,p.variant.label!==p.variant.blockLabel&&s.jsxs("span",{className:"opacity-70",children:[" · ",p.variant.label]})]},`${g}-${y}`)})]},g)}),t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=a,t[5]=m,t[6]=l,t[7]=c}else o=t[3],a=t[4],m=t[5],l=t[6],c=t[7];let d;t[9]!==a||t[10]!==m||t[11]!==l?(d=s.jsxs("div",{className:a,children:[m,l]}),t[9]=a,t[10]=m,t[11]=l,t[12]=d):d=t[12];let f;return t[13]!==o||t[14]!==c||t[15]!==d?(f=s.jsx(o,{className:c,children:d}),t[13]=o,t[14]=c,t[15]=d,t[16]=f):f=t[16],f}function ne(e,t){return Math.max(e,t.lane+1)}function re(e){return s.jsx("div",{className:"px-2 py-2 text-center uppercase tracking-wide",children:e},e)}const Q=4,se=32,J=240;function oe(e){const t=G.c(23),{monthStart:n,variants:r,colorMap:i}=e,o=n,a=Y(n,Q),m=new Date,l=new Map;for(const _ of r){const w=l.get(_.blockKey)??[];w.push(_),l.set(_.blockKey,w)}const c=Array.from(l.entries()).sort(le),d=a.getTime()-o.getTime(),f=_=>(Math.max(o.getTime(),Math.min(a.getTime(),_.getTime()))-o.getTime())/d*100;let u;t[0]!==o?(u=(_,w)=>Y(o,w),t[0]=o,t[1]=u):u=t[1];const x=Array.from({length:Q},u),h=m.getTime()>=o.getTime()&&m.getTime()<=a.getTime()?f(m):null,g=tt(),b=pt,j="flex-1 min-h-0",v="min-w-[900px] relative";let p;t[2]===Symbol.for("react.memo_cache_sentinel")?(p={width:J},t[2]=p):p=t[2];let y;t[3]!==g?(y=g("sandbox.variantCalendar.variantBlock"),t[3]=g,t[4]=y):y=t[4];let T;t[5]!==y?(T=s.jsx("div",{className:"shrink-0 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r",style:p,children:y}),t[5]=y,t[6]=T):T=t[6];let N;t[7]===Symbol.for("react.memo_cache_sentinel")?(N={gridTemplateColumns:`repeat(${Q}, minmax(0, 1fr))`},t[7]=N):N=t[7];const D=x.map(ae);let k;t[8]!==D?(k=s.jsx("div",{className:"flex-1 grid",style:N,children:D}),t[8]=D,t[9]=k):k=t[9];let M;t[10]!==T||t[11]!==k?(M=s.jsxs("div",{className:"flex border-b sticky top-0 bg-background z-10",children:[T,k]}),t[10]=T,t[11]=k,t[12]=M):M=t[12];let S;t[13]!==g||t[14]!==h?(S=h!==null&&s.jsx("div",{className:"pointer-events-none absolute top-0 bottom-0 w-px bg-primary/70 z-[5]",style:{left:`calc(${J}px + (100% - ${J}px) * ${h} / 100)`},children:s.jsx("span",{className:"absolute -top-0.5 -translate-x-1/2 rounded-sm bg-primary px-1.5 py-px text-[10px] font-medium text-primary-foreground",children:g("sandbox.variantCalendar.todayLabel")})}),t[13]=g,t[14]=h,t[15]=S):S=t[15];const A=c.map(_=>{const[w,L]=_,H=ut(i,w),F=L[0]?.blockLabel??w;return s.jsxs("div",{children:[s.jsx("div",{className:"flex items-center bg-muted/40 border-b text-xs font-semibold uppercase tracking-wide text-muted-foreground",style:{height:28},children:s.jsx("div",{className:"px-3 truncate",style:{width:J},children:F})}),L.map((E,W)=>s.jsxs("div",{className:"flex border-b items-center",style:{height:se},children:[s.jsxs("div",{className:"flex items-center gap-2 px-3 text-sm border-r shrink-0",style:{width:J},children:[s.jsx("span",{className:"inline-block h-2 w-2 rounded-full shrink-0",style:{background:H.bg}}),s.jsx("span",{className:"truncate text-foreground/80",children:E.label})]}),s.jsxs("div",{className:"relative flex-1 h-full",children:[s.jsx("div",{className:"absolute inset-0 grid",style:{gridTemplateColumns:`repeat(${Q}, minmax(0, 1fr))`},children:x.map(ie)}),(()=>{const R=Math.max(E.start.getTime(),o.getTime()),O=Math.min(E.end.getTime(),a.getTime());if(O<=R)return null;const I=f(new Date(R)),V=f(new Date(O))-I;return s.jsx(bt,{variant:E,color:H,fadeStart:E.openStart,fadeEnd:E.openEnd,style:{top:"50%",transform:"translateY(-50%)",left:`${I}%`,width:`calc(${V}% - 2px)`,height:22},children:E.label})})()]})]},W))]},w)});let $;t[16]!==M||t[17]!==S||t[18]!==A?($=s.jsxs("div",{className:v,children:[M,S,A]}),t[16]=M,t[17]=S,t[18]=A,t[19]=$):$=t[19];let C;return t[20]!==b||t[21]!==$?(C=s.jsx(b,{className:j,children:$}),t[20]=b,t[21]=$,t[22]=C):C=t[22],C}function ie(e,t){return s.jsx("div",{className:"border-r last:border-r-0 border-border/40"},t)}function ae(e,t){return s.jsxs("div",{className:"px-2 py-2 text-xs uppercase tracking-wide text-muted-foreground border-r last:border-r-0",children:[ht[e.getMonth()]?.slice(0,3)," ",e.getFullYear()]},t)}function le(e,t){return e[0].localeCompare(t[0])}export{or as VariantCalendar};
|
|
1
|
+
import{c as G,b as tt,r as et,j as s,m as ot,B as nt}from"./index-DQ2alWk2.js";import{w as vt,a7 as dt,aK as yt}from"./agent-icon-CRxk1TKp.js";import{i as Tt}from"./ChevronRight-C_60uWaq.js";import{L as jt}from"./label-ByHw2rA0.js";import{B as pt}from"./automation-runs-D7tgxauL.js";import{S as wt}from"./switch-BrYkiyI_.js";import{T as Nt,c as kt,a as Mt}from"./tooltip-DUUOKWW2.js";import{V as _t}from"./view-mode-toggle-fs4bDHAY.js";import"./AlertCircle-DIHfEpn6.js";import"./Tool01-Au9WF63u.js";import"./ArrowUp-Dqnz6X_K.js";import"./ArrowLeft-BLN-08Vd.js";import"./Tool02-Cf24BX51.js";import"./XCircle-BkX717Hb.js";import"./ArrowUpRight-vFTj3Tzi.js";import"./TrendUp01-PqkHviUU.js";import"./ZapSquare-B2_vruNQ.js";import"./Users03-Cy9EyNhl.js";import"./CheckCircle-BHyXipM7.js";import"./Check-DU0l8lV-.js";import"./ChevronDown-o-W-Few8.js";import"./ChevronUp-CzgnufJk.js";import"./DotsVertical-DH3S8T87.js";import"./Stars02-yRnU52HO.js";import"./Copy01-C90PX77P.js";import"./CpuChip01-Cj0tKAl5.js";import"./CreditCard01-6FRnT4yP.js";import"./Globe01-D2tiAMGX.js";import"./Settings02-nIwHo2_w.js";import"./Eye-BUGHS-a2.js";import"./FilterLines-DdLaLNnZ.js";import"./Share07-CYqMpVRv.js";import"./Star01-m5QETz3m.js";import"./Globe04-CYBOFCxv.js";import"./SwitchHorizontal01-BwNxR4oW.js";import"./HardDrive-DlfHIXO4.js";import"./Key01-CTb4Sgt7.js";import"./LayoutLeft-DIftdyTM.js";import"./LinkExternal01-DOJoVJ7D.js";import"./LogOut01-CR21Pbo_.js";import"./Monitor01-wrTf7ZW6.js";import"./Sun-DDfD65ex.js";import"./Palette-BZ-ZEEbW.js";import"./Play-gqqcOrQ7.js";import"./Plus-Che0Qq3V.js";import"./SearchLg-CNcO3A06.js";import"./SearchMd-DTvjlY4U.js";import"./Shield01-DV7UyUeE.js";import"./Stars01-D_XPN8oi.js";import"./Trash01-YKnBp2aw.js";import"./Upload01-erX0ZmNX.js";import"./User01-DNNXk6UT.js";import"./Users01-tPwhcfQA.js";import"./XClose-Bqyxy7ts.js";import"./X-DxkJZwBX.js";import"./Zap-CM2gayGr.js";import"./select-DyBxjJl_.js";import"./useInfiniteQuery-B-xk4Z8r.js";import"./use-infinite-scroll-Bsh2t_KZ.js";import"./use-connection-ChW97zoH.js";import"./use-mcp-client-DzEcWYew.js";import"./auth-ybSSIUlM.js";import"./use-virtual-mcp-CWPjvdR-.js";import"./card-CCfTlKp1.js";import"./sidebar-C42yvYUC.js";import"./use-mobile-Dk_QK-JJ.js";import"./table-CbwLq6PS.js";import"./empty-state-CwEgtwq4.js";import"./use-members-DVMc5Ljv.js";import"./use-org-auth-client-BcSiyIOb.js";import"./use-clock-tick-_AHSjUrM.js";import"./use-automations-UY8UF1m8.js";import"./studio-tools-C66AV7Nn.js";import"./useSuspenseInfiniteQuery-D539X74A.js";import"./avatar-B2dmSUaL.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-B_jMqXF7.js";import"./dialog-p1PEzpZx.js";import"./tab-id-5BhVMiSG.js";import"./hooks-PIbzaUUm.js";import"./decopilot-sse-pool-kyP4JOAV.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./chat-context-BWgsW_rS.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-ai-providers-CT4a2iz0.js";import"./use-decopilot-events-Btp6RCZh.js";import"./use-organization-settings-BVcM1Nu5.js";import"./monaco-editor-CYurPlaf.js";import"./spinner-Dcf0qymX.js";import"./types-rP5rUMZn.js";import"./shell-layout-VzXe0dsv.js";import"./required-auth-layout-CEzrZQRK.js";import"./use-org-sso-WxQa5yj2.js";import"./integration-icon-B50axVey.js";import"./use-navigate-to-agent-CmbFhaTs.js";import"./reusable-new-chat-CouMjkYR.js";import"./chart-BYJ-Dwpf.js";import"./index-Bjt2LTu1.js";import"./form-DGLesdO3.js";import"./input-BB0LVxK0.js";import"./file-type-icon-CuTD1BBy.js";const Et=new Set(["website/matchers/date.ts","$live/matchers/MatchDate.ts"]),St=new Set(["website/matchers/multi.ts","$live/matchers/MatchMulti.ts"]),Ct=new Date(-864e13),Dt=new Date(864e13),At=/\/flags\/multivariate(?:\/[^/]+)?\.ts$/,$t=/\/flags\/multivariate\.ts$/;function Lt(e){let t=e;t.startsWith("pages-")&&(t=t.slice(6).replace(/-\d+$/,""));try{t=decodeURIComponent(t)}catch{}return t}function Rt(e){if(!e||typeof e!="object")return null;const{start:t,end:n}=e,r=typeof t=="string",i=typeof n=="string";if(!r&&!i)return null;const o=r?new Date(t):Ct,a=i?new Date(n):Dt;return Number.isNaN(o.getTime())||Number.isNaN(a.getTime())||r&&i&&a.getTime()<=o.getTime()?null:{start:o,end:a,openStart:!r,openEnd:!i}}function ft(e,t){if(!e||typeof e!="object")return;const n=e.__resolveType;if(typeof n=="string"){if(Et.has(n)){const r=Rt(e);r&&t.push(r);return}if(St.has(n)){const r=e.matchers;if(Array.isArray(r))for(const i of r)ft(i,t)}}}function Ot(e){if(!e||typeof e!="object")return!1;const t=e.__resolveType;if(typeof t!="string"||!At.test(t))return!1;const n=e.variants;return Array.isArray(n)}function It(e){if(typeof e=="string"){const m=e.trim();if(m.length===0)return null;try{const c=new URL(m).pathname.split("/").filter(Boolean),d=c[c.length-1];if(d)return decodeURIComponent(d)}catch{}return m.length>80?`${m.slice(0,77)}…`:m}if(!e||typeof e!="object")return null;const t=e,n=t.config,i=t.desktop?.media,o=[t.title,t.name,t.label,t.alt,n?.title,n?.name,n?.typeAlert?.message,i?.alt,Array.isArray(t.matcher)?t.matcher[0]:void 0];for(const m of o)if(typeof m=="string"&&m.trim().length>0)return m.trim();const a=t.__resolveType;if(typeof a=="string"){const l=(a.split("/").pop()??a).replace(/\.(tsx?|jsx?)$/i,"");if(l.length>0)return l}return null}function Pt(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n];typeof r=="number"?t.length>0?t[t.length-1]+=`[${r}]`:t.push(`[${r}]`):t.push(r)}return t.join(" · ")}function X(e,t,n,r,i){if(Ot(e)){const o=e.variants,a=e.__resolveType,m=$t.test(a)?"":Pt(r);o.forEach((l,c)=>{if(!l||typeof l!="object")return;const d=l,f=[];if(ft(d.rule,f),f.length===0)return;const x=It(d.value)??(m||n);for(const h of f)i.push({blockKey:t,blockLabel:n,innerPath:m,variantIndex:c,start:h.start,end:h.end,openStart:h.openStart,openEnd:h.openEnd,label:x,flagResolveType:a})});for(let l=0;l<o.length;l++){const c=o[l];c&&typeof c=="object"&&X(c.value,t,n,[...r,"variants",l,"value"],i)}return}if(Array.isArray(e)){for(let o=0;o<e.length;o++)X(e[o],t,n,[...r,o],i);return}if(e&&typeof e=="object")for(const[o,a]of Object.entries(e))o!=="__resolveType"&&X(a,t,n,[...r,o],i)}function Ft(e){if(!e)return[];const t=[];for(const[n,r]of Object.entries(e))X(r,n,Lt(n),[],t);return t.sort((n,r)=>n.start.getTime()-r.start.getTime())}function Vt(e){const t=[...new Set(e)].sort(),n=new Map;return t.forEach((r,i)=>{const o=i*137.508%360;n.set(r,{bg:`oklch(0.62 0.14 ${o})`,text:"white",border:`oklch(0.50 0.14 ${o})`})}),n}const Ht={bg:"oklch(0.62 0.14 0)",text:"white",border:"oklch(0.50 0.14 0)"};function ut(e,t){return e.get(t)??Ht}const Bt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ht=["January","February","March","April","May","June","July","August","September","October","November","December"],gt=1440*60*1e3;function B(e){const t=new Date(e);return t.setHours(0,0,0,0),t}function xt(e){return new Date(e.getFullYear(),e.getMonth(),1)}function Y(e,t){return new Date(e.getFullYear(),e.getMonth()+t,1)}function Z(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function st(e,t){return Math.round((B(e).getTime()-B(t).getTime())/gt)}function Wt(e){const t=(e.getTime()-B(e).getTime())/gt;return Math.min(Math.max(t,0),1)}function it(e,t){return st(e,t)+Wt(e)}function zt(e){const t=Z(e,-e.getDay()),n=[];for(let r=0;r<6;r++){const i=[];for(let o=0;o<7;o++)i.push(Z(t,r*7+o));n.push(i)}for(;n.length>0&&n[n.length-1].every(r=>r.getMonth()!==e.getMonth());)n.pop();return n}function Kt(e,t){const n=B(e[0]),r=Z(n,7),i=n.getTime(),o=r.getTime(),a=[];for(const c of t){const d=B(c.start),f=B(c.end);if(f.getTime()<n.getTime()||d.getTime()>=r.getTime())continue;const u=d.getTime()<n.getTime()?n:d,x=f.getTime()>=r.getTime()?Z(r,-1):f,h=st(u,n),g=st(x,u)+1;if(g<=0)continue;const b=Math.max(c.start.getTime(),i),j=Math.min(c.end.getTime(),o),v=it(new Date(b),n),p=Math.max(it(new Date(j),n)-v,0);p<=0||a.push({variant:c,startCol:h,span:g,leftUnits:v,widthUnits:p})}a.sort((c,d)=>c.startCol-d.startCol||d.span-c.span||c.variant.blockKey.localeCompare(d.variant.blockKey));const m=[],l=[];for(const c of a){let d=m.findIndex(f=>f<=c.startCol);d===-1&&(d=m.length,m.push(0)),m[d]=c.startCol+c.span,l.push({...c,lane:d})}return l}const at=new Intl.DateTimeFormat("en",{dateStyle:"medium",timeStyle:"short"});function Ut(e,t){const n=e.openStart?t("sandbox.variantCalendar.always"):at.format(e.start),r=e.openEnd?t("sandbox.variantCalendar.ongoing"):at.format(e.end);return`${n} → ${r}`}function Yt(e){const t=G.c(18),{variant:n}=e,r=tt();let i;t[0]!==n.blockLabel?(i=s.jsx("div",{className:"font-semibold",children:n.blockLabel}),t[0]=n.blockLabel,t[1]=i):i=t[1];let o;t[2]!==n.innerPath?(o=n.innerPath&&s.jsx("div",{className:"text-muted-foreground",children:n.innerPath}),t[2]=n.innerPath,t[3]=o):o=t[3];let a;t[4]!==n.blockLabel||t[5]!==n.innerPath||t[6]!==n.label?(a=n.label!==n.blockLabel&&n.label!==n.innerPath&&s.jsx("div",{className:"text-muted-foreground",children:n.label}),t[4]=n.blockLabel,t[5]=n.innerPath,t[6]=n.label,t[7]=a):a=t[7];let m;t[8]!==r||t[9]!==n?(m=Ut(n,r),t[8]=r,t[9]=n,t[10]=m):m=t[10];let l;t[11]!==m?(l=s.jsx("div",{className:"mt-1",children:m}),t[11]=m,t[12]=l):l=t[12];let c;return t[13]!==i||t[14]!==o||t[15]!==a||t[16]!==l?(c=s.jsx(Mt,{children:s.jsxs("div",{className:"text-xs",children:[i,o,a,l]})}),t[13]=i,t[14]=o,t[15]=a,t[16]=l,t[17]=c):c=t[17],c}const lt=16;function Gt(e,t){const n=e?"transparent":"#000 0",r=t?"transparent":"#000 100%";if(!(!e&&!t))return`linear-gradient(to right, ${n}, #000 ${lt}px, #000 calc(100% - ${lt}px), ${r})`}function bt(e){const t=G.c(26),{variant:n,color:r,style:i,children:o,fadeStart:a,fadeEnd:m}=e,l=a===void 0?!1:a,c=m===void 0?!1:m;let d;t[0]!==c||t[1]!==l?(d=Gt(l,c),t[0]=c,t[1]=l,t[2]=d):d=t[2];const f=d;let u;t[3]!==l?(u=l&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},t[3]=l,t[4]=u):u=t[4];let x;t[5]!==c?(x=c&&{borderTopRightRadius:0,borderBottomRightRadius:0},t[5]=c,t[6]=x):x=t[6];let h;t[7]!==f?(h=f&&{maskImage:f,WebkitMaskImage:f},t[7]=f,t[8]=h):h=t[8];let g;t[9]!==r.bg||t[10]!==r.text||t[11]!==i||t[12]!==u||t[13]!==x||t[14]!==h?(g={background:r.bg,color:r.text,borderRadius:4,...u,...x,...h,...i},t[9]=r.bg,t[10]=r.text,t[11]=i,t[12]=u,t[13]=x,t[14]=h,t[15]=g):g=t[15];let b;t[16]!==o?(b=s.jsx("span",{className:"truncate",children:o}),t[16]=o,t[17]=b):b=t[17];let j;t[18]!==g||t[19]!==b?(j=s.jsx(Nt,{asChild:!0,children:s.jsx("div",{className:"absolute flex items-center px-2 text-[11px] font-medium truncate cursor-default",style:g,children:b})}),t[18]=g,t[19]=b,t[20]=j):j=t[20];let v;t[21]!==n?(v=s.jsx(Yt,{variant:n}),t[21]=n,t[22]=v):v=t[22];let p;return t[23]!==v||t[24]!==j?(p=s.jsxs(kt,{children:[j,v]}),t[23]=v,t[24]=j,t[25]=p):p=t[25],p}function or(e){const t=G.c(72),{decofile:n}=e,r=tt(),[i,o]=et.useState("calendar"),[a,m]=et.useState(Xt),[l,c]=et.useState(!1);let d,f,u;if(t[0]!==n||t[1]!==l){const P=Ft(n);d=P.filter(Qt).length,u=l?P:P.filter(qt),f=Vt(u.map(Jt)),t[0]=n,t[1]=l,t[2]=d,t[3]=f,t[4]=u}else d=t[2],f=t[3],u=t[4];const x=f;let h;t[5]===Symbol.for("react.memo_cache_sentinel")?(h=()=>m(xt(new Date)),t[5]=h):h=t[5];const g=h;let b;t[6]!==i?(b=()=>m(P=>i==="calendar"?Y(P,-1):Y(P,-3)),t[6]=i,t[7]=b):b=t[7];const j=b;let v;t[8]!==i?(v=()=>m(P=>i==="calendar"?Y(P,1):Y(P,3)),t[8]=i,t[9]=v):v=t[9];const p=v;let y;t[10]!==r?(y=r("sandbox.variantCalendar.today"),t[10]=r,t[11]=y):y=t[11];let T;t[12]!==y?(T=s.jsx(nt,{variant:"outline",size:"sm",onClick:g,children:y}),t[12]=y,t[13]=T):T=t[13];let N;t[14]!==r?(N=r("sandbox.variantCalendar.previous"),t[14]=r,t[15]=N):N=t[15];let D;t[16]===Symbol.for("react.memo_cache_sentinel")?(D=s.jsx(vt,{size:16}),t[16]=D):D=t[16];let k;t[17]!==j||t[18]!==N?(k=s.jsx(nt,{variant:"ghost",size:"icon",className:"size-8",onClick:j,"aria-label":N,children:D}),t[17]=j,t[18]=N,t[19]=k):k=t[19];let M;t[20]!==r?(M=r("sandbox.variantCalendar.next"),t[20]=r,t[21]=M):M=t[21];let S;t[22]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx(Tt,{size:16}),t[22]=S):S=t[22];let A;t[23]!==p||t[24]!==M?(A=s.jsx(nt,{variant:"ghost",size:"icon",className:"size-8",onClick:p,"aria-label":M,children:S}),t[23]=p,t[24]=M,t[25]=A):A=t[25];const $=ht[a.getMonth()];let C;t[26]!==a?(C=a.getFullYear(),t[26]=a,t[27]=C):C=t[27];let _;t[28]!==$||t[29]!==C?(_=s.jsxs("h2",{className:"ml-2 text-base font-semibold",children:[$," ",C]}),t[28]=$,t[29]=C,t[30]=_):_=t[30];let w;t[31]!==A||t[32]!==_||t[33]!==T||t[34]!==k?(w=s.jsxs("div",{className:"flex items-center gap-2",children:[T,k,A,_]}),t[31]=A,t[32]=_,t[33]=T,t[34]=k,t[35]=w):w=t[35];let L;t[36]!==d||t[37]!==l||t[38]!==r?(L=d>0&&s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(wt,{id:"show-ongoing",checked:l,onCheckedChange:c}),s.jsx(jt,{htmlFor:"show-ongoing",className:"text-xs text-muted-foreground cursor-pointer",children:r("sandbox.variantCalendar.showOngoing",{count:d})})]}),t[36]=d,t[37]=l,t[38]=r,t[39]=L):L=t[39];let H;t[40]===Symbol.for("react.memo_cache_sentinel")?(H=s.jsx(dt,{}),t[40]=H):H=t[40];let F;t[41]!==r?(F=r("sandbox.variantCalendar.calendarMode"),t[41]=r,t[42]=F):F=t[42];let E;t[43]!==F?(E={value:"calendar",icon:H,label:F},t[43]=F,t[44]=E):E=t[44];let W;t[45]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(yt,{}),t[45]=W):W=t[45];let R;t[46]!==r?(R=r("sandbox.variantCalendar.timelineMode"),t[46]=r,t[47]=R):R=t[47];let O;t[48]!==R?(O={value:"timeline",icon:W,label:R},t[48]=R,t[49]=O):O=t[49];let I;t[50]!==E||t[51]!==O?(I=[E,O],t[50]=E,t[51]=O,t[52]=I):I=t[52];let V;t[53]!==I||t[54]!==i?(V=s.jsx(_t,{value:i,onValueChange:o,options:I}),t[53]=I,t[54]=i,t[55]=V):V=t[55];let z;t[56]!==L||t[57]!==V?(z=s.jsxs("div",{className:"flex items-center gap-4",children:[L,V]}),t[56]=L,t[57]=V,t[58]=z):z=t[58];let K;t[59]!==w||t[60]!==z?(K=s.jsxs("div",{className:"flex items-center justify-between px-4 h-12 border-b shrink-0",children:[w,z]}),t[59]=w,t[60]=z,t[61]=K):K=t[61];let U;t[62]!==x||t[63]!==a||t[64]!==d||t[65]!==l||t[66]!==u||t[67]!==i?(U=u.length===0?s.jsx(Zt,{hiddenOngoing:l?0:d}):i==="calendar"?s.jsx(ee,{monthStart:a,variants:u,colorMap:x}):s.jsx(oe,{monthStart:a,variants:u,colorMap:x}),t[62]=x,t[63]=a,t[64]=d,t[65]=l,t[66]=u,t[67]=i,t[68]=U):U=t[68];let q;return t[69]!==K||t[70]!==U?(q=s.jsxs("div",{className:"flex h-full w-full flex-col",children:[K,U]}),t[69]=K,t[70]=U,t[71]=q):q=t[71],q}function Jt(e){return e.blockKey}function qt(e){return!e.openEnd}function Qt(e){return e.openEnd}function Xt(){return xt(new Date)}function Zt(e){const t=G.c(4),{hiddenOngoing:n}=e,r=n===void 0?0:n,i=tt();let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(dt,{size:24,className:"text-muted-foreground/60"}),t[0]=o):o=t[0];let a;return t[1]!==r||t[2]!==i?(a=s.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[o,r>0?s.jsxs(s.Fragment,{children:[s.jsx("div",{children:i("sandbox.variantCalendar.noDatedVariants")}),s.jsx("div",{className:"text-xs text-muted-foreground/80",children:i("sandbox.variantCalendar.hiddenOngoingVariants",{count:r})})]}):s.jsxs(s.Fragment,{children:[s.jsx("div",{children:i("sandbox.variantCalendar.noScheduledVariants")}),s.jsx("div",{className:"text-xs text-muted-foreground/80",children:i("sandbox.variantCalendar.dateMatcherInfo")})]})]}),t[1]=r,t[2]=i,t[3]=a):a=t[3],a}const rt=20,ct=2,mt=28,te=6;function ee(e){const t=G.c(17),{monthStart:n,variants:r,colorMap:i}=e;let o,a,m,l,c;if(t[0]!==i||t[1]!==n||t[2]!==r){const u=zt(n),x=B(new Date);o=pt,c="flex-1 min-h-0",a="min-w-[840px]",t[8]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx("div",{className:"grid grid-cols-7 border-b text-xs text-muted-foreground sticky top-0 bg-background z-10",children:Bt.map(re)}),t[8]=m):m=t[8],l=u.map((h,g)=>{const b=Kt(h,r),j=b.reduce(ne,0),v=mt+j*(rt+ct)+8;return s.jsxs("div",{className:"grid grid-cols-7 relative border-b",style:{height:v},children:[h.map((p,y)=>{const T=p.getMonth()===n.getMonth(),N=p.getTime()===x.getTime();return s.jsx("div",{className:ot("border-r last:border-r-0 px-2 pt-1.5 text-xs",T?"bg-background":"bg-muted/30 text-muted-foreground"),children:s.jsx("span",{className:ot("inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1",N&&"bg-primary text-primary-foreground font-semibold"),children:p.getDate()})},y)}),b.map((p,y)=>{const T=ut(i,p.variant.blockKey),N=mt+p.lane*(rt+ct),D=p.leftUnits/7*100,k=p.widthUnits/7*100,M=p.variant.openStart&&g===0,S=p.variant.openEnd&&g===u.length-1;return s.jsxs(bt,{variant:p.variant,color:T,fadeStart:M,fadeEnd:S,style:{top:N,left:`calc(${D}% + 2px)`,width:`calc(${k}% - 4px)`,minWidth:te,height:rt},children:[p.variant.blockLabel,p.variant.label!==p.variant.blockLabel&&s.jsxs("span",{className:"opacity-70",children:[" · ",p.variant.label]})]},`${g}-${y}`)})]},g)}),t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=a,t[5]=m,t[6]=l,t[7]=c}else o=t[3],a=t[4],m=t[5],l=t[6],c=t[7];let d;t[9]!==a||t[10]!==m||t[11]!==l?(d=s.jsxs("div",{className:a,children:[m,l]}),t[9]=a,t[10]=m,t[11]=l,t[12]=d):d=t[12];let f;return t[13]!==o||t[14]!==c||t[15]!==d?(f=s.jsx(o,{className:c,children:d}),t[13]=o,t[14]=c,t[15]=d,t[16]=f):f=t[16],f}function ne(e,t){return Math.max(e,t.lane+1)}function re(e){return s.jsx("div",{className:"px-2 py-2 text-center uppercase tracking-wide",children:e},e)}const Q=4,se=32,J=240;function oe(e){const t=G.c(23),{monthStart:n,variants:r,colorMap:i}=e,o=n,a=Y(n,Q),m=new Date,l=new Map;for(const _ of r){const w=l.get(_.blockKey)??[];w.push(_),l.set(_.blockKey,w)}const c=Array.from(l.entries()).sort(le),d=a.getTime()-o.getTime(),f=_=>(Math.max(o.getTime(),Math.min(a.getTime(),_.getTime()))-o.getTime())/d*100;let u;t[0]!==o?(u=(_,w)=>Y(o,w),t[0]=o,t[1]=u):u=t[1];const x=Array.from({length:Q},u),h=m.getTime()>=o.getTime()&&m.getTime()<=a.getTime()?f(m):null,g=tt(),b=pt,j="flex-1 min-h-0",v="min-w-[900px] relative";let p;t[2]===Symbol.for("react.memo_cache_sentinel")?(p={width:J},t[2]=p):p=t[2];let y;t[3]!==g?(y=g("sandbox.variantCalendar.variantBlock"),t[3]=g,t[4]=y):y=t[4];let T;t[5]!==y?(T=s.jsx("div",{className:"shrink-0 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r",style:p,children:y}),t[5]=y,t[6]=T):T=t[6];let N;t[7]===Symbol.for("react.memo_cache_sentinel")?(N={gridTemplateColumns:`repeat(${Q}, minmax(0, 1fr))`},t[7]=N):N=t[7];const D=x.map(ae);let k;t[8]!==D?(k=s.jsx("div",{className:"flex-1 grid",style:N,children:D}),t[8]=D,t[9]=k):k=t[9];let M;t[10]!==T||t[11]!==k?(M=s.jsxs("div",{className:"flex border-b sticky top-0 bg-background z-10",children:[T,k]}),t[10]=T,t[11]=k,t[12]=M):M=t[12];let S;t[13]!==g||t[14]!==h?(S=h!==null&&s.jsx("div",{className:"pointer-events-none absolute top-0 bottom-0 w-px bg-primary/70 z-[5]",style:{left:`calc(${J}px + (100% - ${J}px) * ${h} / 100)`},children:s.jsx("span",{className:"absolute -top-0.5 -translate-x-1/2 rounded-sm bg-primary px-1.5 py-px text-[10px] font-medium text-primary-foreground",children:g("sandbox.variantCalendar.todayLabel")})}),t[13]=g,t[14]=h,t[15]=S):S=t[15];const A=c.map(_=>{const[w,L]=_,H=ut(i,w),F=L[0]?.blockLabel??w;return s.jsxs("div",{children:[s.jsx("div",{className:"flex items-center bg-muted/40 border-b text-xs font-semibold uppercase tracking-wide text-muted-foreground",style:{height:28},children:s.jsx("div",{className:"px-3 truncate",style:{width:J},children:F})}),L.map((E,W)=>s.jsxs("div",{className:"flex border-b items-center",style:{height:se},children:[s.jsxs("div",{className:"flex items-center gap-2 px-3 text-sm border-r shrink-0",style:{width:J},children:[s.jsx("span",{className:"inline-block h-2 w-2 rounded-full shrink-0",style:{background:H.bg}}),s.jsx("span",{className:"truncate text-foreground/80",children:E.label})]}),s.jsxs("div",{className:"relative flex-1 h-full",children:[s.jsx("div",{className:"absolute inset-0 grid",style:{gridTemplateColumns:`repeat(${Q}, minmax(0, 1fr))`},children:x.map(ie)}),(()=>{const R=Math.max(E.start.getTime(),o.getTime()),O=Math.min(E.end.getTime(),a.getTime());if(O<=R)return null;const I=f(new Date(R)),V=f(new Date(O))-I;return s.jsx(bt,{variant:E,color:H,fadeStart:E.openStart,fadeEnd:E.openEnd,style:{top:"50%",transform:"translateY(-50%)",left:`${I}%`,width:`calc(${V}% - 2px)`,height:22},children:E.label})})()]})]},W))]},w)});let $;t[16]!==M||t[17]!==S||t[18]!==A?($=s.jsxs("div",{className:v,children:[M,S,A]}),t[16]=M,t[17]=S,t[18]=A,t[19]=$):$=t[19];let C;return t[20]!==b||t[21]!==$?(C=s.jsx(b,{className:j,children:$}),t[20]=b,t[21]=$,t[22]=C):C=t[22],C}function ie(e,t){return s.jsx("div",{className:"border-r last:border-r-0 border-border/40"},t)}function ae(e,t){return s.jsxs("div",{className:"px-2 py-2 text-xs uppercase tracking-wide text-muted-foreground border-r last:border-r-0",children:[ht[e.getMonth()]?.slice(0,3)," ",e.getFullYear()]},t)}function le(e,t){return e[0].localeCompare(t[0])}export{or as VariantCalendar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as $,r as T,m as f,j as i}from"./index-
|
|
1
|
+
import{c as $,r as T,m as f,j as i}from"./index-DQ2alWk2.js";import{c as k,T as I,a as P}from"./tooltip-DUUOKWW2.js";const M={sm:{button:"size-7",buttonWithLabel:"h-7",icon:"size-4"},md:{button:"size-9",buttonWithLabel:"h-9",icon:"size-5"},lg:{button:"size-12",buttonWithLabel:"h-12",icon:"size-6"}};function B(E){const t=$.c(27),{value:s,onValueChange:y,options:o,size:C,fullWidth:L,className:z}=E,_=C===void 0?"sm":C,b=L===void 0?!1:L;let h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];const R=T.useRef(h);let x;t[1]===Symbol.for("react.memo_cache_sentinel")?(x={left:0,width:0,opacity:0},t[1]=x):x=t[1];const[d,S]=T.useState(x);let g,p;t[2]!==o||t[3]!==s?(g=()=>{const e=o.findIndex(j=>j.value===s),m=R.current[e];m&&S({left:m.offsetLeft,width:m.offsetWidth,opacity:1})},p=[s,o],t[2]=o,t[3]=s,t[4]=g,t[5]=p):(g=t[4],p=t[5]),T.useEffect(g,p);const l=M[_];let n;t[6]!==z?(n=f("relative flex gap-0 bg-muted rounded-lg",z),t[6]=z,t[7]=n):n=t[7];let a;t[8]!==l||t[9]!==b||t[10]!==y||t[11]!==o||t[12]!==s?(a=o.map((e,m)=>{const j=i.jsxs("button",{ref:V=>{R.current[m]=V},type:"button",onClick:()=>y(e.value),"aria-label":e.label,className:f("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",b?"flex-1 h-12 px-4":e.label?f(l.buttonWithLabel,"px-3"):l.button),children:[i.jsx("span",{className:f("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",l.icon,s===e.value?"text-foreground":"text-muted-foreground"),children:e.icon}),e.label&&i.jsx("span",{className:f("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===e.value?"text-foreground":"text-muted-foreground"),children:e.label})]},e.value);return e.tooltip?i.jsxs(k,{children:[i.jsx(I,{asChild:!0,children:j}),i.jsx(P,{side:"bottom",children:e.tooltip})]},e.value):j}),t[8]=l,t[9]=b,t[10]=y,t[11]=o,t[12]=s,t[13]=a):a=t[13];const w=b?"h-12":l.button;let r;t[14]!==w?(r=f("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),t[14]=w,t[15]=r):r=t[15];const W=`${d.left}px`,N=`${d.width}px`;let c;t[16]!==d.opacity||t[17]!==W||t[18]!==N?(c={left:W,width:N,opacity:d.opacity},t[16]=d.opacity,t[17]=W,t[18]=N,t[19]=c):c=t[19];let u;t[20]!==r||t[21]!==c?(u=i.jsx("div",{className:r,style:c}),t[20]=r,t[21]=c,t[22]=u):u=t[22];let v;return t[23]!==u||t[24]!==n||t[25]!==a?(v=i.jsxs("div",{className:n,children:[a,u]}),t[23]=u,t[24]=n,t[25]=a,t[26]=v):v=t[26],v}export{B as V};
|
package/dist/client/index.html
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<meta name="twitter:description" content="Hire specialized agents, give them access to your tools, and let them deliver real projects — with planning, verification, and observability built in." />
|
|
51
51
|
<meta name="twitter:image" content="/og-image.png" />
|
|
52
52
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
53
|
-
<script type="module" crossorigin src="/assets/index-
|
|
53
|
+
<script type="module" crossorigin src="/assets/index-DQ2alWk2.js"></script>
|
|
54
54
|
<link rel="stylesheet" crossorigin href="/assets/index-uptMkyg_.css">
|
|
55
55
|
</head>
|
|
56
56
|
<body>
|
package/dist/server/cli.js
CHANGED
|
@@ -1332,7 +1332,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var Vm1=O(()=>{$f()});f
|
|
|
1332
1332
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await Vb`
|
|
1333
1333
|
DELETE FROM kysely_migration WHERE name = ${X}
|
|
1334
1334
|
`.execute($)}}async function it1($){await Yn6($),await Gn6($);let Z=new dt1({db:$,provider:{getMigrations:()=>Promise.resolve(om0)}}),{error:X,results:Q}=await Z.migrateToLatest(),Y=0;if(Q?.forEach((G)=>{if(G.status==="Success")Y++;else if(G.status==="Error")console.error(`Failed to execute migration "${G.migrationName}"`)}),X)throw console.error("Failed to migrate"),console.error(X),X;return Y}async function Jn6($){let{keepOpen:Z=!1,database:X,skipBetterAuth:Q=!1}=$??{},Y="skipped";if(!Q&&!X)Y=await zc0();let G=X??N6(),J=async()=>{if(!Z&&!X)await MB(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await it1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function Kn6(){let $=N6(),Z=new dt1({db:$.db,provider:{getMigrations:()=>Promise.resolve(om0)}}),{error:X,results:Q}=await Z.migrateDown();if(Q?.forEach((Y)=>{if(Y.status==="Success")console.log(`\u2705 Migration "${Y.migrationName}" rolled back successfully`);else if(Y.status==="Error")console.error(`\u274C Failed to rollback migration "${Y.migrationName}"`)}),X)throw console.error("Failed to rollback migration"),console.error(X),X}var pt1=O(()=>{lt1();jc0();ZX()});async function QZ0($){let Z={...process.env},X=t10($,Z);console.log(WO1(X.settings.encryptionKey));let Q=X.settings.betterAuthSecret||(X.settings.localMode?Yn1(X.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (N90(),U90)),{outputs:G,services:J}=await Y({home:X.settings.dataDir,externalDatabaseUrl:X.externalDatabaseUrl,externalNatsUrl:X.externalNatsUrl});if(!X.skipMigrations){let{migrateBetterAuth:W}=await Promise.resolve().then(() => (jc0(),Jn1));await W(G.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (ZX(),Ti1)),{migrateToLatest:U}=await Promise.resolve().then(() => (pt1(),nt1)),N=H(G.databaseUrl);await U({keepOpen:!0,database:N,skipBetterAuth:!0})}let K={...X.settings,betterAuthSecret:Q,databaseUrl:G.databaseUrl,natsUrls:G.natsUrls,...G.s3?{s3Endpoint:G.s3.endpoint,s3Bucket:G.s3.bucket,s3AccessKeyId:G.s3.accessKeyId,s3SecretAccessKey:G.s3.secretAccessKey,s3ForcePathStyle:G.s3.forcePathStyle}:{},...G.natsTunnel?{natsPublicUrl:G.natsTunnel.publicUrl,natsAccountJwt:G.natsTunnel.accountJwt,natsAccountSigningKey:G.natsTunnel.accountSigningKey,natsOperatorJwt:G.natsTunnel.operatorJwt,natsTunnelPublicEnabled:!0,natsCredsPath:G.natsTunnel.credsPath}:{}};return km1(K),{settings:K,services:J.map((W)=>({name:W.name==="PostgreSQL"?"Postgres":W.name,port:W.port})),managedServiceNames:J.filter((W)=>W.owner==="managed").map((W)=>W.name)}}var rm0=O(()=>{$f();Gn1();q8()});var rt1={};w0(rt1,{updateService:()=>WE,subscribeCliState:()=>em0,setTuiConsoleIntercepted:()=>YZ0,setServerUrl:()=>Oi,setMigrationsDone:()=>wi,setDevMode:()=>Un6,resetCliStateForTests:()=>Wn6,isTuiConsoleIntercepted:()=>GZ0,getCliState:()=>sm0,addLogEntry:()=>_B});function tt1(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function Wn6(){hQ=tt1()}function Hn6(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function Bi(){for(let $ of am0)$()}function sm0(){return hQ}function em0($){return am0.add($),()=>am0.delete($)}function WE($){hQ={...hQ,services:hQ.services.map((Z)=>Z.name===$.name?$:Z)},Bi()}function wi(){hQ={...hQ,migrationsStatus:"done"},Bi()}function Oi($){hQ={...hQ,serverUrl:$},Bi()}function _B($){let Z=[...hQ.logs,$];hQ={...hQ,logs:Z.length>500?Z.slice(-500):Z},Bi()}function Un6(){hQ={...hQ,services:[...Hn6(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},Bi()}function YZ0($){ot1=$}function GZ0(){return ot1}var hQ,am0,ot1=!1;var HE=O(()=>{hQ=tt1();am0=new Set});import{createServer as at1}from"net";function Nn6($){return new Promise((Z)=>{let X=at1();X.once("error",()=>Z(!1)),X.listen($,"0.0.0.0",()=>{X.close(()=>Z(!0))})})}async function Li($){if(await Nn6($))return $;let Z=await new Promise((X,Q)=>{let Y=at1();Y.once("error",Q),Y.listen(0,"0.0.0.0",()=>{let G=Y.address(),J=typeof G==="object"&&G?G.port:0;Y.close(()=>X(J))})});return console.warn(`Port ${$} is in use, using port ${Z} instead.`),Z}var $i0=()=>{};function Di($){return $.replace(/\x1b\[[0-9;]*m/g,"")}var Zi0={};w0(Zi0,{startDevServer:()=>Bn6});import{join as Fn6}from"path";function st1($){let Z=$.getReader(),X=new TextDecoder,Q="";function Y(){let G=Q.split(`
|
|
1335
|
-
`);Q=G.pop()??"";for(let J of G){let K=Di(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;_B({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}if(Q.trim()){let G=Di(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)_B({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Bn6($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await Li(Number(Y)+1):await Li(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await QZ0({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)WE({name:L.name,status:"ready",port:L.port});wi();let U=Fn6(import.meta.dir,"..","..","..","..",".."),N=X===!0,F=Bun.spawn(["bun","run","dev:servers"],{cwd:U,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)st1(F.stdout),st1(F.stderr);Oi(G),WE({name:"Vite",status:"ready",port:Number(Y)}),WE({name:"API",status:"ready",port:Number(K.port)});let w=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (N90(),U90));await D(K.dataDir)}};return process.on("SIGINT",()=>w("SIGINT")),process.on("SIGTERM",()=>w("SIGTERM")),{port:Number(Y),process:F}}var Xi0=O(()=>{rm0();HE();$i0()});var JZ0;var Qi0=O(()=>{JZ0={name:"decocms",version:"4.230.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/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@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/client-sts":"^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.21.6","@inkjs/ui":"^2.0.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","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.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","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as On6,Text as et1}from"ink";import{jsx as Ln6,jsxs as $o1}from"react/jsx-runtime";function Zo1({version:$}){return $o1(On6,{flexDirection:"column",marginTop:1,children:[x90.map((Z,X)=>Ln6(et1,{color:f90[X],children:Z},X)),$o1(et1,{dimColor:!0,children:[" v",$]})]})}var Xo1=O(()=>{Xi()});import{Box as UE,Text as vB}from"ink";import{Spinner as Dn6}from"@inkjs/ui";import{jsx as rY,jsxs as kb}from"react/jsx-runtime";function Qo1({status:$}){if($==="pending")return rY(Dn6,{label:""});return rY(vB,{color:"green",children:"\u2713"})}function En6($){return`${$.name}: ${$.port||"...."}`}function Yo1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return kb(UE,{flexDirection:"column",paddingBottom:1,children:[rY(Zo1,{version:JZ0.version}),rY(UE,{marginBottom:1,children:rY(vB,{dimColor:!0,children:"\u2500".repeat(80)})}),rY(UE,{children:kb(vB,{dimColor:!0,children:["Home: ",X]})}),kb(UE,{gap:2,children:[$.map((Y)=>kb(UE,{gap:1,children:[rY(vB,{children:En6(Y)}),rY(Qo1,{status:Y.status})]},Y.name)),kb(UE,{gap:1,children:[rY(vB,{children:"Migrations"}),rY(Qo1,{status:Z})]})]}),rY(UE,{children:Q?kb(vB,{children:["Open in browser: ",rY(vB,{color:"cyan",children:Q})]}):rY(vB,{dimColor:!0,children:"Starting..."})})]})}var Go1=O(()=>{Qi0();Xo1()});import{Box as zn6,Text as Ei}from"ink";import{jsx as Yi0,jsxs as Gi0}from"react/jsx-runtime";function jn6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function Jo1({logs:$}){return Yi0(zn6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return Yi0(Ei,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return Gi0(Ei,{children:[Gi0(Ei,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),Yi0(Ei,{color:jn6(Z.status),children:Z.status}),Gi0(Ei,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Ko1=()=>{};var Ji0={};w0(Ji0,{App:()=>Tn6});import{Box as Pn6}from"ink";import{useSyncExternalStore as An6}from"react";import{jsx as Wo1,jsxs as Rn6}from"react/jsx-runtime";function Tn6({home:$}){let Z=An6(em0,sm0);return Rn6(Pn6,{flexDirection:"column",children:[Wo1(Yo1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),Wo1(Jo1,{logs:Z.logs})]})}var Ki0=O(()=>{Go1();Ko1();HE()});var SJ="thread-gate",dU="decopilot-hosted-harness",H3="automations",xB="background-tools",NE="task-board-github-reads";var Ho1="7";function Uo1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Ho1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var No1=()=>{};function In6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Wi0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function Fo1(){let $=In6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Wi0($,"--cpu-prof-dir")??process.cwd(),name:Wi0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Wi0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}function Bo1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=YE();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),KZ0=setInterval(()=>void Z().catch(()=>{}),$),KZ0.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(KZ0)clearInterval(KZ0)}}var KZ0;var wo1=()=>{};import*as qn6 from"bun:jsc";function Oo1(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{Mn6()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=Vn6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let U of K){let N=U.frames.find((w)=>w.sourceURL&&!/Unknown Executable/.test(w.category??""))??U.frames[0];if(!N)continue;let F=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${N.name??"?"} @ ${F}:${N.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((U,N)=>N[1]-U[1]).slice(0,8).map(([U,N])=>({frame:U,count:N}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var Mn6,Vn6;var Lo1=O(()=>{({startSamplingProfiler:Mn6,samplingProfilerStackTraces:Vn6}=qn6)});function Do1(){Fo1();let $=[Bo1(),Oi1(),Oo1()];return()=>{for(let Z of $)Z()}}var Eo1=O(()=>{Hc0();wo1();Lo1()});var FE=_((zo1)=>{Object.defineProperty(zo1,"__esModule",{value:!0});zo1.RepublishHeaders=zo1.DirectMsgHeaders=zo1.JsHeaders=zo1.AdvisoryKind=void 0;zo1.isOrderedPushConsumerOptions=kn6;zo1.isPullConsumer=Sn6;zo1.isPushConsumer=Cn6;zo1.isBoundPushConsumerOptions=_n6;function kn6($){if($&&typeof $==="object")return"name_prefix"in $||"deliver_subject_prefix"in $||"filter_subjects"in $||"filter_subject"in $||"deliver_policy"in $||"opt_start_seq"in $||"opt_start_time"in $||"replay_policy"in $||"inactive_threshold"in $||"headers_only"in $||"deliver_prefix"in $;return!1}function Sn6($){return $.isPullConsumer()}function Cn6($){return $.isPushConsumer()}function _n6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}zo1.AdvisoryKind={API:"api_audit",StreamAction:"stream_action",ConsumerAction:"consumer_action",SnapshotCreate:"snapshot_create",SnapshotComplete:"snapshot_complete",RestoreCreate:"restore_create",RestoreComplete:"restore_complete",MaxDeliver:"max_deliver",Terminated:"terminated",Ack:"consumer_ack",StreamLeaderElected:"stream_leader_elected",StreamQuorumLost:"stream_quorum_lost",ConsumerLeaderElected:"consumer_leader_elected",ConsumerQuorumLost:"consumer_quorum_lost"};zo1.JsHeaders={StreamSourceHdr:"Nats-Stream-Source",LastConsumerSeqHdr:"Nats-Last-Consumer",LastStreamSeqHdr:"Nats-Last-Stream",ConsumerStalledHdr:"Nats-Consumer-Stalled",MessageSizeHdr:"Nats-Msg-Size",RollupHdr:"Nats-Rollup",RollupValueSubject:"sub",RollupValueAll:"all",PendingMessagesHdr:"Nats-Pending-Messages",PendingBytesHdr:"Nats-Pending-Bytes",RequiredApiLevel:"Nats-Required-Api-Level"};zo1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};zo1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var aY=_((Po1)=>{Object.defineProperty(Po1,"__esModule",{value:!0});Po1.TD=Po1.TE=Po1.Empty=void 0;Po1.encode=cn6;Po1.decode=ln6;Po1.Empty=new Uint8Array(0);Po1.TE=new TextEncoder;Po1.TD=new TextDecoder;function un6(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function cn6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Po1.TE.encode($[X]));if(Z.length===0)return Po1.Empty;if(Z.length===1)return Z[0];return un6(...Z)}function ln6($){if(!$||$.length===0)return"";return Po1.TD.decode($)}});var sY=_((Ro1)=>{Object.defineProperty(Ro1,"__esModule",{value:!0});Ro1.errors=Ro1.PermissionViolationError=Ro1.NoRespondersError=Ro1.TimeoutError=Ro1.RequestError=Ro1.ProtocolError=Ro1.ConnectionError=Ro1.DrainingConnectionError=Ro1.ClosedConnectionError=Ro1.AuthorizationError=Ro1.UserAuthenticationExpiredError=Ro1.InvalidOperationError=Ro1.InvalidArgumentError=Ro1.InvalidSubjectError=void 0;class Ui0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Ro1.InvalidSubjectError=Ui0;class WZ0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new WZ0(`${$} ${Z}`,X)}}Ro1.InvalidArgumentError=WZ0;class Ni0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Ro1.InvalidOperationError=Ni0;class HZ0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new HZ0($);return null}}Ro1.UserAuthenticationExpiredError=HZ0;class UZ0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new UZ0($);return null}}Ro1.AuthorizationError=UZ0;class Fi0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Ro1.ClosedConnectionError=Fi0;class Bi0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Ro1.DrainingConnectionError=Bi0;class wi0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Ro1.ConnectionError=wi0;class Oi0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Ro1.ProtocolError=Oi0;class Li0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof NZ0}}Ro1.RequestError=Li0;class Di0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Ro1.TimeoutError=Di0;class NZ0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Ro1.NoRespondersError=NZ0;class FZ0 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new FZ0($,X,Q,Y)}}Ro1.PermissionViolationError=FZ0;Ro1.errors={AuthorizationError:UZ0,ClosedConnectionError:Fi0,ConnectionError:wi0,DrainingConnectionError:Bi0,InvalidArgumentError:WZ0,InvalidOperationError:Ni0,InvalidSubjectError:Ui0,NoRespondersError:NZ0,PermissionViolationError:FZ0,ProtocolError:Oi0,RequestError:Li0,TimeoutError:Di0,UserAuthenticationExpiredError:HZ0}});var CJ=_((ko1)=>{Object.defineProperty(ko1,"__esModule",{value:!0});ko1.SimpleMutex=ko1.Perf=void 0;ko1.extend=Gp6;ko1.render=Jp6;ko1.timeout=Kp6;ko1.delay=Wp6;ko1.deadline=Hp6;ko1.deferred=zi0;ko1.debugDeferred=Up6;ko1.shuffle=Np6;ko1.collect=Fp6;ko1.jitter=Vo1;ko1.backoff=Bp6;ko1.nanos=wp6;ko1.millis=Op6;ko1.randomToken=Ep6;var Yp6=aY(),Ei0=sY();function Gp6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Jp6($){return Yp6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Kp6($,Z=!0){let X=Z?new Ei0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new Ei0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function Wp6($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function Hp6($,Z=1000){let X=zi0(),Q=setTimeout(()=>{X.reject(new Ei0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function zi0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function Up6(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function Np6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function Fp6($){let Z=[];for await(let X of $)Z.push(X);return Z}class qo1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}ko1.Perf=qo1;class Mo1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=zi0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}ko1.SimpleMutex=Mo1;function Vo1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function Bp6($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return Vo1(X>Z?$[Z]:$[X])}}}function wp6($){return $*1e6}function Op6($){return Math.floor($/1e6)}var Lp6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",mU=new Uint8Array(62);for(let $=0;$<62;$++)mU[$]=Lp6.charCodeAt($);var Dp6=218340105584896;function Ep6(){let $=Math.floor(Math.random()*Dp6),Z=$%62,X=mU[Z];$=($-Z)/62,Z=$%62;let Q=mU[Z];$=($-Z)/62,Z=$%62;let Y=mU[Z];$=($-Z)/62,Z=$%62;let G=mU[Z];$=($-Z)/62,Z=$%62;let J=mU[Z];$=($-Z)/62,Z=$%62;let K=mU[Z];$=($-Z)/62,Z=$%62;let W=mU[Z];$=($-Z)/62;let H=mU[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var yo1=_((fo1)=>{Object.defineProperty(fo1,"__esModule",{value:!0});fo1.nuid=fo1.NuidImpl=void 0;var xp6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",fB=62,wZ0=12,vo1=10,Co1=33,fp6=333,_o1=wZ0+vo1,Pi0=new Uint8Array(fB);for(let $=0;$<fB;$++)Pi0[$]=xp6.charCodeAt($);var BZ0=4294967296,xo1=BigInt(fB)**BigInt(vo1),zi=Number(xo1/(1n<<32n)),ji0=Number(xo1%(1n<<32n));function bp6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function yp6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else bp6($)}class Ai0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(_o1),this.cbuf=new Uint8Array(wZ0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(zi+1)),this.seqLo=Math.floor(Math.random()*BZ0);while($++<8&&this.seqHi===zi&&this.seqLo>=ji0);if(this.seqHi===zi&&this.seqLo>=ji0)this.seqLo=0;this.inc=Math.random()*(fp6-Co1)+Co1|0}setPre(){yp6(this.cbuf);for(let $=0;$<wZ0;$++)this.buf[$]=Pi0[this.cbuf[$]%fB]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=_o1-1;X>=wZ0;X--){let Q=Math.floor($/fB),G=($-Q*fB)*BZ0+Z,J=Math.floor(G/fB),K=G-J*fB;this.buf[X]=Pi0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=BZ0)this.seqLo-=BZ0,this.seqHi+=1;if(this.seqHi>zi||this.seqHi===zi&&this.seqLo>=ji0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}fo1.NuidImpl=Ai0;fo1.nuid=new Ai0});var co1=_((ho1)=>{Object.defineProperty(ho1,"__esModule",{value:!0});ho1.nuid=ho1.Nuid=void 0;var go1=yo1();ho1.Nuid=go1.NuidImpl;ho1.nuid=go1.nuid});var LZ0=_((OZ0)=>{Object.defineProperty(OZ0,"__esModule",{value:!0});OZ0.nuid=OZ0.Nuid=void 0;var lo1=co1();Object.defineProperty(OZ0,"Nuid",{enumerable:!0,get:function(){return lo1.Nuid}});Object.defineProperty(OZ0,"nuid",{enumerable:!0,get:function(){return lo1.nuid}})});var bB=_((do1)=>{Object.defineProperty(do1,"__esModule",{value:!0});do1.DEFAULT_HOST=do1.DEFAULT_PORT=do1.Match=void 0;do1.syncIterator=dp6;do1.createInbox=mp6;var cp6=LZ0(),lp6=sY();do1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function dp6($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function mp6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw lp6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${cp6.nuid.next()}`}do1.DEFAULT_PORT=4222;do1.DEFAULT_HOST="127.0.0.1"});var ji=_((po1)=>{Object.defineProperty(po1,"__esModule",{value:!0});po1.DataBuffer=void 0;var io1=aY();class no1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return io1.TE.encode($)}static toAscii($){return io1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}po1.DataBuffer=no1});var BE=_((ro1)=>{Object.defineProperty(ro1,"__esModule",{value:!0});ro1.LF=ro1.CR=ro1.CRLF=ro1.CR_LF_LEN=ro1.CR_LF=void 0;ro1.setTransportFactory=sp6;ro1.defaultPort=ep6;ro1.getUrlParseFn=$t6;ro1.newTransport=Zt6;ro1.getResolveFn=Xt6;ro1.protoLen=oo1;ro1.extractProtocolMessage=Qt6;var op6=aY(),rp6=bB(),ap6=ji(),eY;function sp6($){eY=$}function ep6(){return eY!==void 0&&eY.defaultPort!==void 0?eY.defaultPort:rp6.DEFAULT_PORT}function $t6(){return eY!==void 0&&eY.urlParseFn?eY.urlParseFn:void 0}function Zt6(){if(!eY||typeof eY.factory!=="function")throw Error("transport fn is not set");return eY.factory()}function Xt6(){return eY!==void 0&&eY.dnsResolveFn?eY.dnsResolveFn:void 0}ro1.CR_LF=`\r
|
|
1335
|
+
`);Q=G.pop()??"";for(let J of G){let K=Di(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;_B({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}if(Q.trim()){let G=Di(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)_B({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Bn6($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await Li(Number(Y)+1):await Li(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await QZ0({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)WE({name:L.name,status:"ready",port:L.port});wi();let U=Fn6(import.meta.dir,"..","..","..","..",".."),N=X===!0,F=Bun.spawn(["bun","run","dev:servers"],{cwd:U,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)st1(F.stdout),st1(F.stderr);Oi(G),WE({name:"Vite",status:"ready",port:Number(Y)}),WE({name:"API",status:"ready",port:Number(K.port)});let w=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (N90(),U90));await D(K.dataDir)}};return process.on("SIGINT",()=>w("SIGINT")),process.on("SIGTERM",()=>w("SIGTERM")),{port:Number(Y),process:F}}var Xi0=O(()=>{rm0();HE();$i0()});var JZ0;var Qi0=O(()=>{JZ0={name:"decocms",version:"4.230.8",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/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@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/client-sts":"^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.21.6","@inkjs/ui":"^2.0.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","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.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","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as On6,Text as et1}from"ink";import{jsx as Ln6,jsxs as $o1}from"react/jsx-runtime";function Zo1({version:$}){return $o1(On6,{flexDirection:"column",marginTop:1,children:[x90.map((Z,X)=>Ln6(et1,{color:f90[X],children:Z},X)),$o1(et1,{dimColor:!0,children:[" v",$]})]})}var Xo1=O(()=>{Xi()});import{Box as UE,Text as vB}from"ink";import{Spinner as Dn6}from"@inkjs/ui";import{jsx as rY,jsxs as kb}from"react/jsx-runtime";function Qo1({status:$}){if($==="pending")return rY(Dn6,{label:""});return rY(vB,{color:"green",children:"\u2713"})}function En6($){return`${$.name}: ${$.port||"...."}`}function Yo1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return kb(UE,{flexDirection:"column",paddingBottom:1,children:[rY(Zo1,{version:JZ0.version}),rY(UE,{marginBottom:1,children:rY(vB,{dimColor:!0,children:"\u2500".repeat(80)})}),rY(UE,{children:kb(vB,{dimColor:!0,children:["Home: ",X]})}),kb(UE,{gap:2,children:[$.map((Y)=>kb(UE,{gap:1,children:[rY(vB,{children:En6(Y)}),rY(Qo1,{status:Y.status})]},Y.name)),kb(UE,{gap:1,children:[rY(vB,{children:"Migrations"}),rY(Qo1,{status:Z})]})]}),rY(UE,{children:Q?kb(vB,{children:["Open in browser: ",rY(vB,{color:"cyan",children:Q})]}):rY(vB,{dimColor:!0,children:"Starting..."})})]})}var Go1=O(()=>{Qi0();Xo1()});import{Box as zn6,Text as Ei}from"ink";import{jsx as Yi0,jsxs as Gi0}from"react/jsx-runtime";function jn6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function Jo1({logs:$}){return Yi0(zn6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return Yi0(Ei,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return Gi0(Ei,{children:[Gi0(Ei,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),Yi0(Ei,{color:jn6(Z.status),children:Z.status}),Gi0(Ei,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Ko1=()=>{};var Ji0={};w0(Ji0,{App:()=>Tn6});import{Box as Pn6}from"ink";import{useSyncExternalStore as An6}from"react";import{jsx as Wo1,jsxs as Rn6}from"react/jsx-runtime";function Tn6({home:$}){let Z=An6(em0,sm0);return Rn6(Pn6,{flexDirection:"column",children:[Wo1(Yo1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),Wo1(Jo1,{logs:Z.logs})]})}var Ki0=O(()=>{Go1();Ko1();HE()});var SJ="thread-gate",dU="decopilot-hosted-harness",H3="automations",xB="background-tools",NE="task-board-github-reads";var Ho1="7";function Uo1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Ho1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var No1=()=>{};function In6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Wi0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function Fo1(){let $=In6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Wi0($,"--cpu-prof-dir")??process.cwd(),name:Wi0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Wi0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}function Bo1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=YE();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),KZ0=setInterval(()=>void Z().catch(()=>{}),$),KZ0.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(KZ0)clearInterval(KZ0)}}var KZ0;var wo1=()=>{};import*as qn6 from"bun:jsc";function Oo1(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{Mn6()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=Vn6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let U of K){let N=U.frames.find((w)=>w.sourceURL&&!/Unknown Executable/.test(w.category??""))??U.frames[0];if(!N)continue;let F=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${N.name??"?"} @ ${F}:${N.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((U,N)=>N[1]-U[1]).slice(0,8).map(([U,N])=>({frame:U,count:N}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var Mn6,Vn6;var Lo1=O(()=>{({startSamplingProfiler:Mn6,samplingProfilerStackTraces:Vn6}=qn6)});function Do1(){Fo1();let $=[Bo1(),Oi1(),Oo1()];return()=>{for(let Z of $)Z()}}var Eo1=O(()=>{Hc0();wo1();Lo1()});var FE=_((zo1)=>{Object.defineProperty(zo1,"__esModule",{value:!0});zo1.RepublishHeaders=zo1.DirectMsgHeaders=zo1.JsHeaders=zo1.AdvisoryKind=void 0;zo1.isOrderedPushConsumerOptions=kn6;zo1.isPullConsumer=Sn6;zo1.isPushConsumer=Cn6;zo1.isBoundPushConsumerOptions=_n6;function kn6($){if($&&typeof $==="object")return"name_prefix"in $||"deliver_subject_prefix"in $||"filter_subjects"in $||"filter_subject"in $||"deliver_policy"in $||"opt_start_seq"in $||"opt_start_time"in $||"replay_policy"in $||"inactive_threshold"in $||"headers_only"in $||"deliver_prefix"in $;return!1}function Sn6($){return $.isPullConsumer()}function Cn6($){return $.isPushConsumer()}function _n6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}zo1.AdvisoryKind={API:"api_audit",StreamAction:"stream_action",ConsumerAction:"consumer_action",SnapshotCreate:"snapshot_create",SnapshotComplete:"snapshot_complete",RestoreCreate:"restore_create",RestoreComplete:"restore_complete",MaxDeliver:"max_deliver",Terminated:"terminated",Ack:"consumer_ack",StreamLeaderElected:"stream_leader_elected",StreamQuorumLost:"stream_quorum_lost",ConsumerLeaderElected:"consumer_leader_elected",ConsumerQuorumLost:"consumer_quorum_lost"};zo1.JsHeaders={StreamSourceHdr:"Nats-Stream-Source",LastConsumerSeqHdr:"Nats-Last-Consumer",LastStreamSeqHdr:"Nats-Last-Stream",ConsumerStalledHdr:"Nats-Consumer-Stalled",MessageSizeHdr:"Nats-Msg-Size",RollupHdr:"Nats-Rollup",RollupValueSubject:"sub",RollupValueAll:"all",PendingMessagesHdr:"Nats-Pending-Messages",PendingBytesHdr:"Nats-Pending-Bytes",RequiredApiLevel:"Nats-Required-Api-Level"};zo1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};zo1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var aY=_((Po1)=>{Object.defineProperty(Po1,"__esModule",{value:!0});Po1.TD=Po1.TE=Po1.Empty=void 0;Po1.encode=cn6;Po1.decode=ln6;Po1.Empty=new Uint8Array(0);Po1.TE=new TextEncoder;Po1.TD=new TextDecoder;function un6(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function cn6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Po1.TE.encode($[X]));if(Z.length===0)return Po1.Empty;if(Z.length===1)return Z[0];return un6(...Z)}function ln6($){if(!$||$.length===0)return"";return Po1.TD.decode($)}});var sY=_((Ro1)=>{Object.defineProperty(Ro1,"__esModule",{value:!0});Ro1.errors=Ro1.PermissionViolationError=Ro1.NoRespondersError=Ro1.TimeoutError=Ro1.RequestError=Ro1.ProtocolError=Ro1.ConnectionError=Ro1.DrainingConnectionError=Ro1.ClosedConnectionError=Ro1.AuthorizationError=Ro1.UserAuthenticationExpiredError=Ro1.InvalidOperationError=Ro1.InvalidArgumentError=Ro1.InvalidSubjectError=void 0;class Ui0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Ro1.InvalidSubjectError=Ui0;class WZ0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new WZ0(`${$} ${Z}`,X)}}Ro1.InvalidArgumentError=WZ0;class Ni0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Ro1.InvalidOperationError=Ni0;class HZ0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new HZ0($);return null}}Ro1.UserAuthenticationExpiredError=HZ0;class UZ0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new UZ0($);return null}}Ro1.AuthorizationError=UZ0;class Fi0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Ro1.ClosedConnectionError=Fi0;class Bi0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Ro1.DrainingConnectionError=Bi0;class wi0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Ro1.ConnectionError=wi0;class Oi0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Ro1.ProtocolError=Oi0;class Li0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof NZ0}}Ro1.RequestError=Li0;class Di0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Ro1.TimeoutError=Di0;class NZ0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Ro1.NoRespondersError=NZ0;class FZ0 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new FZ0($,X,Q,Y)}}Ro1.PermissionViolationError=FZ0;Ro1.errors={AuthorizationError:UZ0,ClosedConnectionError:Fi0,ConnectionError:wi0,DrainingConnectionError:Bi0,InvalidArgumentError:WZ0,InvalidOperationError:Ni0,InvalidSubjectError:Ui0,NoRespondersError:NZ0,PermissionViolationError:FZ0,ProtocolError:Oi0,RequestError:Li0,TimeoutError:Di0,UserAuthenticationExpiredError:HZ0}});var CJ=_((ko1)=>{Object.defineProperty(ko1,"__esModule",{value:!0});ko1.SimpleMutex=ko1.Perf=void 0;ko1.extend=Gp6;ko1.render=Jp6;ko1.timeout=Kp6;ko1.delay=Wp6;ko1.deadline=Hp6;ko1.deferred=zi0;ko1.debugDeferred=Up6;ko1.shuffle=Np6;ko1.collect=Fp6;ko1.jitter=Vo1;ko1.backoff=Bp6;ko1.nanos=wp6;ko1.millis=Op6;ko1.randomToken=Ep6;var Yp6=aY(),Ei0=sY();function Gp6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Jp6($){return Yp6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Kp6($,Z=!0){let X=Z?new Ei0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new Ei0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function Wp6($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function Hp6($,Z=1000){let X=zi0(),Q=setTimeout(()=>{X.reject(new Ei0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function zi0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function Up6(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function Np6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function Fp6($){let Z=[];for await(let X of $)Z.push(X);return Z}class qo1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}ko1.Perf=qo1;class Mo1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=zi0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}ko1.SimpleMutex=Mo1;function Vo1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function Bp6($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return Vo1(X>Z?$[Z]:$[X])}}}function wp6($){return $*1e6}function Op6($){return Math.floor($/1e6)}var Lp6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",mU=new Uint8Array(62);for(let $=0;$<62;$++)mU[$]=Lp6.charCodeAt($);var Dp6=218340105584896;function Ep6(){let $=Math.floor(Math.random()*Dp6),Z=$%62,X=mU[Z];$=($-Z)/62,Z=$%62;let Q=mU[Z];$=($-Z)/62,Z=$%62;let Y=mU[Z];$=($-Z)/62,Z=$%62;let G=mU[Z];$=($-Z)/62,Z=$%62;let J=mU[Z];$=($-Z)/62,Z=$%62;let K=mU[Z];$=($-Z)/62,Z=$%62;let W=mU[Z];$=($-Z)/62;let H=mU[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var yo1=_((fo1)=>{Object.defineProperty(fo1,"__esModule",{value:!0});fo1.nuid=fo1.NuidImpl=void 0;var xp6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",fB=62,wZ0=12,vo1=10,Co1=33,fp6=333,_o1=wZ0+vo1,Pi0=new Uint8Array(fB);for(let $=0;$<fB;$++)Pi0[$]=xp6.charCodeAt($);var BZ0=4294967296,xo1=BigInt(fB)**BigInt(vo1),zi=Number(xo1/(1n<<32n)),ji0=Number(xo1%(1n<<32n));function bp6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function yp6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else bp6($)}class Ai0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(_o1),this.cbuf=new Uint8Array(wZ0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(zi+1)),this.seqLo=Math.floor(Math.random()*BZ0);while($++<8&&this.seqHi===zi&&this.seqLo>=ji0);if(this.seqHi===zi&&this.seqLo>=ji0)this.seqLo=0;this.inc=Math.random()*(fp6-Co1)+Co1|0}setPre(){yp6(this.cbuf);for(let $=0;$<wZ0;$++)this.buf[$]=Pi0[this.cbuf[$]%fB]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=_o1-1;X>=wZ0;X--){let Q=Math.floor($/fB),G=($-Q*fB)*BZ0+Z,J=Math.floor(G/fB),K=G-J*fB;this.buf[X]=Pi0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=BZ0)this.seqLo-=BZ0,this.seqHi+=1;if(this.seqHi>zi||this.seqHi===zi&&this.seqLo>=ji0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}fo1.NuidImpl=Ai0;fo1.nuid=new Ai0});var co1=_((ho1)=>{Object.defineProperty(ho1,"__esModule",{value:!0});ho1.nuid=ho1.Nuid=void 0;var go1=yo1();ho1.Nuid=go1.NuidImpl;ho1.nuid=go1.nuid});var LZ0=_((OZ0)=>{Object.defineProperty(OZ0,"__esModule",{value:!0});OZ0.nuid=OZ0.Nuid=void 0;var lo1=co1();Object.defineProperty(OZ0,"Nuid",{enumerable:!0,get:function(){return lo1.Nuid}});Object.defineProperty(OZ0,"nuid",{enumerable:!0,get:function(){return lo1.nuid}})});var bB=_((do1)=>{Object.defineProperty(do1,"__esModule",{value:!0});do1.DEFAULT_HOST=do1.DEFAULT_PORT=do1.Match=void 0;do1.syncIterator=dp6;do1.createInbox=mp6;var cp6=LZ0(),lp6=sY();do1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function dp6($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function mp6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw lp6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${cp6.nuid.next()}`}do1.DEFAULT_PORT=4222;do1.DEFAULT_HOST="127.0.0.1"});var ji=_((po1)=>{Object.defineProperty(po1,"__esModule",{value:!0});po1.DataBuffer=void 0;var io1=aY();class no1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return io1.TE.encode($)}static toAscii($){return io1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}po1.DataBuffer=no1});var BE=_((ro1)=>{Object.defineProperty(ro1,"__esModule",{value:!0});ro1.LF=ro1.CR=ro1.CRLF=ro1.CR_LF_LEN=ro1.CR_LF=void 0;ro1.setTransportFactory=sp6;ro1.defaultPort=ep6;ro1.getUrlParseFn=$t6;ro1.newTransport=Zt6;ro1.getResolveFn=Xt6;ro1.protoLen=oo1;ro1.extractProtocolMessage=Qt6;var op6=aY(),rp6=bB(),ap6=ji(),eY;function sp6($){eY=$}function ep6(){return eY!==void 0&&eY.defaultPort!==void 0?eY.defaultPort:rp6.DEFAULT_PORT}function $t6(){return eY!==void 0&&eY.urlParseFn?eY.urlParseFn:void 0}function Zt6(){if(!eY||typeof eY.factory!=="function")throw Error("transport fn is not set");return eY.factory()}function Xt6(){return eY!==void 0&&eY.dnsResolveFn?eY.dnsResolveFn:void 0}ro1.CR_LF=`\r
|
|
1336
1336
|
`;ro1.CR_LF_LEN=ro1.CR_LF.length;ro1.CRLF=ap6.DataBuffer.fromAscii(ro1.CR_LF);ro1.CR=new Uint8Array(ro1.CRLF)[0];ro1.LF=new Uint8Array(ro1.CRLF)[1];function oo1($){for(let Z=0;Z<$.length;Z++){let X=Z+1;if($.byteLength>X&&$[Z]===ro1.CR&&$[X]===ro1.LF)return X+1}return 0}function Qt6($){let Z=oo1($);if(Z>0){let Q=new Uint8Array($).slice(0,Z);return op6.TD.decode(Q)}return""}});var Mi0=_((Yr1)=>{Object.defineProperty(Yr1,"__esModule",{value:!0});Yr1.ipV4=Zr1;Yr1.isIP=wt6;Yr1.parseIP=Xr1;var Pi=4,wE=16,DZ0=48,$r1=57,so1=65,Ft6=70,eo1=97,Bt6=102,qi0=16777215;function Zr1($,Z,X,Q){let Y=new Uint8Array(wE);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((J,K)=>{Y[K]=J}),Y[12]=$,Y[13]=Z,Y[14]=X,Y[15]=Q,Y}function wt6($){return Xr1($)!==void 0}function Xr1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return Qr1($);case":":return Ot6($)}return}function Qr1($){let Z=new Uint8Array(Pi);for(let X=0;X<Pi;X++){if($.length===0)return;if(X>0){if($[0]!==".")return;$=$.substring(1)}let{n:Q,c:Y,ok:G}=Lt6($);if(!G||Q>255)return;$=$.substring(Y),Z[X]=Q}return Zr1(Z[0],Z[1],Z[2],Z[3])}function Ot6($){let Z=new Uint8Array(wE),X=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(X=0,$=$.substring(2),$.length===0)return Z}let Q=0;while(Q<wE){let{n:Y,c:G,ok:J}=Dt6($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(X<0&&Q!=wE-Pi)return;if(Q+Pi>wE)return;let K=Qr1($);if(K===void 0)return;Z[Q]=K[12],Z[Q+1]=K[13],Z[Q+2]=K[14],Z[Q+3]=K[15],$="",Q+=Pi;break}if(Z[Q]=Y>>8,Z[Q+1]=Y,Q+=2,$=$.substring(G),$.length===0)break;if($[0]!==":"||$.length==1)return;if($=$.substring(1),$[0]===":"){if(X>=0)return;if(X=Q,$=$.substring(1),$.length===0)break}}if($.length!==0)return;if(Q<wE){if(X<0)return;let Y=wE-Q;for(let G=Q-1;G>=X;G--)Z[G+Y]=Z[G];for(let G=X+Y-1;G>=X;G--)Z[G]=0}else if(X>=0)return;return Z}function Lt6($){let Z=0,X=0;for(Z=0;Z<$.length&&DZ0<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=$r1;Z++)if(X=X*10+($.charCodeAt(Z)-DZ0),X>=qi0)return{n:qi0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:X,c:Z,ok:!0}}function Dt6($){let Z=0,X=0;for(X=0;X<$.length;X++){if(DZ0<=$.charCodeAt(X)&&$.charCodeAt(X)<=$r1)Z*=16,Z+=$.charCodeAt(X)-DZ0;else if(eo1<=$.charCodeAt(X)&&$.charCodeAt(X)<=Bt6)Z*=16,Z+=$.charCodeAt(X)-eo1+10;else if(so1<=$.charCodeAt(X)&&$.charCodeAt(X)<=Ft6)Z*=16,Z+=$.charCodeAt(X)-so1+10;else break;if(Z>=qi0)return{n:0,c:X,ok:!1}}if(X===0)return{n:0,c:X,ok:!1};return{n:Z,c:X,ok:!0}}});var vi0=_((Jr1)=>{Object.defineProperty(Jr1,"__esModule",{value:!0});Jr1.Servers=Jr1.ServerImpl=void 0;Jr1.isIPV4OrHostname=Gr1;Jr1.hostPort=_i0;var Vi0=BE(),ki0=CJ(),Si0=Mi0(),Pt6=bB(),At6=sY();function Gr1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function Ci0($){return!Gr1($)}function Tt6($){let X=$.toUpperCase().indexOf("::FFFF:");if(X!==-1&&$.indexOf(".")!==-1){let Q=$.substring(X+7);return Q=Q.replace("[",""),Q.replace("]","")}return $}function _i0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=Tt6($),Ci0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=Ci0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),X=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):Pt6.DEFAULT_PORT,Y=new URL(`${X===80?"https":"http"}://${$}`);Y.port=`${X}`;let G=Y.hostname;if(G.charAt(0)==="[")G=G.substring(1,G.length-1);return{listen:Y.host,hostname:G,port:X}}class Sb{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let X=_i0($);this.listen=X.listen,this.hostname=X.hostname,this.port=X.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=Z}toString(){return this.listen}async resolve($){if(!$.fn||$.resolve===!1)return[this];let Z=[];if((0,Si0.isIP)(this.hostname))return[this];else{let X=await $.fn(this.hostname);if($.debug)console.log(`resolve ${this.hostname} = ${X.join(",")}`);for(let Q of X){let Y=this.port===80?"https":"http",G=new URL(`${Y}://${Ci0(Q)?"["+Q+"]":Q}`);G.port=`${this.port}`;let J=new Sb(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,ki0.shuffle)(Z);return this.resolves=Z,Z}}Jr1.ServerImpl=Sb;class EZ0{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw At6.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,Vi0.getUrlParseFn)(),X=new Map;for(let Y of this.servers)X.set(Y.listen,Y);let Q=[];for(let Y of $){Y=Z?Z(Y):Y;let{listen:G}=_i0(Y),J=X.get(G);if(J)J.gossiped=!1,Q.push(J);else Q.push(new Sb(Y))}if(this.randomize)(0,ki0.shuffle)(Q);if(this.servers=Q,this.currentServer===void 0||!Q.includes(this.currentServer))this.currentServer=Q[0],this.firstSelect=!0}clear(){this.servers.length=0}updateTLSName(){let $=this.getCurrentServer();if(!(0,Si0.isIP)($.hostname))this.tlsName=$.hostname,this.servers.forEach((Z)=>{if(Z.gossiped)Z.tlsName=this.tlsName})}getCurrentServer(){return this.currentServer}addServer($,Z=!1){let X=(0,Vi0.getUrlParseFn)();$=X?X($):$;let Q=new Sb($,Z);if((0,Si0.isIP)(Q.hostname))Q.tlsName=this.tlsName;this.servers.push(Q)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;let $=this.servers.shift();if($)this.servers.push($),this.currentServer=$;return $}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer($){if($){let Z=this.servers.indexOf($);this.servers.splice(Z,1)}}snapshot(){return EZ0.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return EZ0.freezeAll([$,...this.servers.slice(0,Z),...this.servers.slice(Z+1)])}static freezeAll($){return $.map((Z)=>Object.freeze({hostname:Z.hostname,port:Z.port,listen:Z.listen,src:Z.src,tlsName:Z.tlsName,reconnects:Z.reconnects,lastConnect:Z.lastConnect,gossiped:Z.gossiped,didConnect:Z.didConnect}))}find($){return this.servers.find((Z)=>Z.listen===$.listen)}setCurrent($){this.currentServer=$}length(){return this.servers.length}next(){return this.servers.length?this.servers[0]:void 0}getServers(){return this.servers}update($,Z){let X=[],Q=[],Y=(0,Vi0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new Sb(K,!0);G.set(K,W)});let J=[];if(this.servers.forEach((K,W)=>{let H=K.listen;if(K.gossiped&&this.currentServer.listen!==H&&G.get(H)===void 0)J.push(W);G.delete(H)}),J.reverse(),J.forEach((K)=>{let W=this.servers.splice(K,1);Q=Q.concat(W[0].listen)}),G.forEach((K,W)=>{this.servers.push(K),X.push(W)}),this.randomize&&X.length>0){let K=this.currentServer,W=this.servers.filter((H)=>H!==K);(0,ki0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:X,deleted:Q}}}Jr1.Servers=EZ0});var zZ0=_((Ur1)=>{Object.defineProperty(Ur1,"__esModule",{value:!0});Ur1.QueuedIteratorImpl=void 0;var xi0=CJ(),Wr1=sY();class Hr1{inflight;processed;received;noIterator;iterClosed;done;signal;yields;filtered;pendingFiltered;ctx;_data;err;time;profile;yielding;didBreak;constructor(){this.inflight=0,this.filtered=0,this.pendingFiltered=0,this.processed=0,this.received=0,this.noIterator=!1,this.done=!1,this.signal=(0,xi0.deferred)(),this.yields=[],this.iterClosed=(0,xi0.deferred)(),this.time=0,this.yielding=!1,this.didBreak=!1,this.profile=!1}[Symbol.asyncIterator](){return this.iterate()}push($){if(this.done)return;if(this.didBreak){if(typeof $==="function"){let Z=$;try{Z()}catch(X){}}return}if(typeof $==="function")this.pendingFiltered++;this.yields.push($),this.signal.resolve()}async*iterate(){if(this.noIterator)throw new Wr1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new Wr1.InvalidOperationError("iterator is already yielding");this.yielding=!0;try{while(!0){if(this.yields.length===0)await this.signal;if(this.err)throw this.err;let $=this.yields;this.inflight=$.length,this.yields=[];for(let Z=0;Z<$.length;Z++){if(typeof $[Z]==="function"){this.pendingFiltered--;let Q=$[Z];try{Q()}catch(Y){throw Y}if(this.err)throw this.err;continue}this.processed++,this.inflight--;let X=this.profile?Date.now():0;yield $[Z],this.time=this.profile?Date.now()-X:0}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,xi0.deferred)()}}finally{this.didBreak=!0,this.stop()}}stop($){if(this.done)return;this.err=$,this.done=!0,this.signal.resolve(),this.iterClosed.resolve($)}getProcessed(){return this.noIterator?this.received:this.processed}getPending(){return this.yields.length+this.inflight-this.pendingFiltered}getReceived(){return this.received-this.filtered}}Ur1.QueuedIteratorImpl=Hr1});var fi0=_((wr1)=>{Object.defineProperty(wr1,"__esModule",{value:!0});wr1.MuxSubscription=void 0;var Mt6=bB(),Fr1=sY();class Br1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,Mt6.createInbox)($)}.`,this.baseInbox}add($){if(!isNaN($.received))$.received=0;this.reqs.set($.token,$)}get($){return this.reqs.get($)}cancel($){this.reqs.delete($.token)}getToken($){let Z=$.subject||"";if(Z.indexOf(this.baseInbox)===0)return Z.substring(this.baseInbox.length);return null}all(){return Array.from(this.reqs.values())}handleError($,Z){if($)return this.all().forEach((X)=>{X.resolver(Z,{})}),!0;if(Z.operation==="publish"){let X=this.all().find((Q)=>{return Q.requestSubject===Z.subject});if(X)return X.resolver(Z,{}),!0}return!1}dispatcher(){return($,Z)=>{let X=this.getToken(Z);if(X){let Q=this.get(X);if(Q){if($===null)$=Z?.data?.length===0&&Z.headers?.code===503?new Fr1.NoRespondersError(Q.requestSubject):null;Q.resolver($,Z)}}}}close(){let $=new Fr1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}wr1.MuxSubscription=Br1});var bi0=_((Dr1)=>{Object.defineProperty(Dr1,"__esModule",{value:!0});Dr1.Heartbeat=void 0;var Vt6=CJ();class Lr1{ph;interval;maxOut;timer;pendings;constructor($,Z,X){this.ph=$,this.interval=Z,this.maxOut=X,this.pendings=[]}start(){this.cancel(),this._schedule()}cancel($){if(this.timer)clearTimeout(this.timer),this.timer=void 0;if(this._reset(),$)this.ph.disconnect()}_schedule(){this.timer=setTimeout(()=>{if(this.ph.dispatchStatus({type:"ping",pendingPings:this.pendings.length+1}),this.pendings.length===this.maxOut){this.cancel(!0);return}let $=(0,Vt6.deferred)();this.ph.flush($).then(()=>{this._reset()}).catch(()=>{this.cancel()}),this.pendings.push($),this._schedule()},this.interval)}_reset(){this.pendings=this.pendings.filter(($)=>{return $.resolve(),!1})}}Dr1.Heartbeat=Lr1});var hi0=_((Ar1)=>{Object.defineProperty(Ar1,"__esModule",{value:!0});Ar1.DenoBuffer=Ar1.MAX_SIZE=Ar1.AssertionError=void 0;Ar1.assert=jr1;Ar1.concat=Pr1;Ar1.append=St6;Ar1.readAll=Ct6;Ar1.writeAll=_t6;var kt6=aY();class yi0 extends Error{constructor($){super($);this.name="AssertionError"}}Ar1.AssertionError=yi0;function jr1($,Z="Assertion failed."){if(!$)throw new yi0(Z)}var zr1=32768;Ar1.MAX_SIZE=4294967294;function jZ0($,Z,X=0){let Q=Z.byteLength-X;if($.byteLength>Q)$=$.subarray(0,Q);return Z.set($,X),$.byteLength}function Pr1($,Z){if($===void 0&&Z===void 0)return new Uint8Array(0);if($===void 0)return Z;if(Z===void 0)return $;let X=new Uint8Array($.length+Z.length);return X.set($,0),X.set(Z,$.length),X}function St6($,Z){return Pr1($,Uint8Array.of(Z))}class gi0{_buf;_off;constructor($){if(this._off=0,$==null){this._buf=new Uint8Array(0);return}this._buf=new Uint8Array($)}bytes($={copy:!0}){if($.copy===!1)return this._buf.subarray(this._off);return this._buf.slice(this._off)}empty(){return this._buf.byteLength<=this._off}get length(){return this._buf.byteLength-this._off}get capacity(){return this._buf.buffer.byteLength}truncate($){if($===0){this.reset();return}if($<0||$>this.length)throw Error("bytes.Buffer: truncation out of range");this._reslice(this._off+$)}reset(){this._reslice(0),this._off=0}_tryGrowByReslice($){let Z=this._buf.byteLength;if($<=this.capacity-Z)return this._reslice(Z+$),Z;return-1}_reslice($){jr1($<=this._buf.buffer.byteLength),this._buf=new Uint8Array(this._buf.buffer,0,$)}readByte(){let $=new Uint8Array(1);if(this.read($))return $[0];return null}read($){if(this.empty()){if(this.reset(),$.byteLength===0)return 0;return null}let Z=jZ0(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(kt6.TE.encode($))}write($){let Z=this._grow($.byteLength);return jZ0($,this._buf,Z)}_grow($){let Z=this.length;if(Z===0&&this._off!==0)this.reset();let X=this._tryGrowByReslice($);if(X>=0)return X;let Q=this.capacity;if($<=Math.floor(Q/2)-Z)jZ0(this._buf.subarray(this._off),this._buf);else if(Q+$>Ar1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*Q+$,Ar1.MAX_SIZE));jZ0(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,Ar1.MAX_SIZE)),Z}grow($){if($<0)throw Error("Buffer._grow: negative count");let Z=this._grow($);this._reslice(Z)}readFrom($){let Z=0,X=new Uint8Array(zr1);while(!0){let Q=this.capacity-this.length<zr1,Y=Q?X:new Uint8Array(this._buf.buffer,this.length),G=$.read(Y);if(G===null)return Z;if(Q)this.write(Y.subarray(0,G));else this._reslice(this.length+G);Z+=G}}}Ar1.DenoBuffer=gi0;function Ct6($){let Z=new gi0;return Z.readFrom($),Z.bytes()}function _t6($,Z){let X=0;while(X<Z.length)X+=$.write(Z.subarray(X))}});var li0=_((Mr1)=>{Object.defineProperty(Mr1,"__esModule",{value:!0});Mr1.cc=Mr1.State=Mr1.Parser=Mr1.Kind=void 0;Mr1.describe=ht6;var ui0=hi0(),ci0=aY();Mr1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function ht6($){let Z,X="";switch($.kind){case Mr1.Kind.MSG:Z="MSG";break;case Mr1.Kind.OK:Z="OK";break;case Mr1.Kind.ERR:Z="ERR",X=ci0.TD.decode($.data);break;case Mr1.Kind.PING:Z="PING";break;case Mr1.Kind.PONG:Z="PONG";break;case Mr1.Kind.INFO:Z="INFO",X=ci0.TD.decode($.data)}return`${Z}: ${X}`}function Rr1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var Ir1=48,ut6=57,Cb=67108864;class qr1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=Mr1.State.OP_START,this.as=0,this.drop=0,this.hdr=0}parse($){let Z;for(Z=0;Z<$.length;Z++){let X=$[Z];switch(this.state){case Mr1.State.OP_START:switch(X){case Mr1.cc.M:case Mr1.cc.m:this.state=Mr1.State.OP_M,this.hdr=-1,this.ma=Rr1();break;case Mr1.cc.H:case Mr1.cc.h:this.state=Mr1.State.OP_H,this.hdr=0,this.ma=Rr1();break;case Mr1.cc.P:case Mr1.cc.p:this.state=Mr1.State.OP_P;break;case Mr1.cc.PLUS:this.state=Mr1.State.OP_PLUS;break;case Mr1.cc.MINUS:this.state=Mr1.State.OP_MINUS;break;case Mr1.cc.I:case Mr1.cc.i:this.state=Mr1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_H:switch(X){case Mr1.cc.M:case Mr1.cc.m:this.state=Mr1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_M:switch(X){case Mr1.cc.S:case Mr1.cc.s:this.state=Mr1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_MS:switch(X){case Mr1.cc.G:case Mr1.cc.g:this.state=Mr1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_MSG:switch(X){case Mr1.cc.SPACE:case Mr1.cc.TAB:this.state=Mr1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_MSG_SPC:switch(X){case Mr1.cc.SPACE:case Mr1.cc.TAB:continue;default:this.state=Mr1.State.MSG_ARG,this.as=Z}break;case Mr1.State.MSG_ARG:switch(X){case Mr1.cc.CR:this.drop=1;break;case Mr1.cc.NL:{let Q=this.argBuf?this.argBuf.bytes():$.subarray(this.as,Z-this.drop);this.processMsgArgs(Q),this.drop=0,this.as=Z+1,this.state=Mr1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;case Mr1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let Q=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:Mr1.Kind.MSG,msg:this.ma,data:Q}),this.argBuf=void 0,this.msgBuf=void 0,this.state=Mr1.State.MSG_END}else{let Q=this.ma.size-this.msgBuf.length,Y=$.length-Z;if(Y<Q)Q=Y;if(Q>0)this.msgBuf.write($.subarray(Z,Z+Q)),Z=Z+Q-1;else this.msgBuf.writeByte(X)}else if(Z-this.as>=this.ma.size)this.dispatcher.push({kind:Mr1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=Mr1.State.MSG_END;break;case Mr1.State.MSG_END:switch(X){case Mr1.cc.NL:this.drop=0,this.as=Z+1,this.state=Mr1.State.OP_START;break;default:continue}break;case Mr1.State.OP_PLUS:switch(X){case Mr1.cc.O:case Mr1.cc.o:this.state=Mr1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_PLUS_O:switch(X){case Mr1.cc.K:case Mr1.cc.k:this.state=Mr1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_PLUS_OK:switch(X){case Mr1.cc.NL:this.dispatcher.push({kind:Mr1.Kind.OK}),this.drop=0,this.state=Mr1.State.OP_START;break}break;case Mr1.State.OP_MINUS:switch(X){case Mr1.cc.E:case Mr1.cc.e:this.state=Mr1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_MINUS_E:switch(X){case Mr1.cc.R:case Mr1.cc.r:this.state=Mr1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_MINUS_ER:switch(X){case Mr1.cc.R:case Mr1.cc.r:this.state=Mr1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_MINUS_ERR:switch(X){case Mr1.cc.SPACE:case Mr1.cc.TAB:this.state=Mr1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_MINUS_ERR_SPC:switch(X){case Mr1.cc.SPACE:case Mr1.cc.TAB:continue;default:this.state=Mr1.State.MINUS_ERR_ARG,this.as=Z}break;case Mr1.State.MINUS_ERR_ARG:switch(X){case Mr1.cc.CR:this.drop=1;break;case Mr1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:Mr1.Kind.ERR,data:Q}),this.drop=0,this.as=Z+1,this.state=Mr1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(X))}break;case Mr1.State.OP_P:switch(X){case Mr1.cc.I:case Mr1.cc.i:this.state=Mr1.State.OP_PI;break;case Mr1.cc.O:case Mr1.cc.o:this.state=Mr1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_PO:switch(X){case Mr1.cc.N:case Mr1.cc.n:this.state=Mr1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_PON:switch(X){case Mr1.cc.G:case Mr1.cc.g:this.state=Mr1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_PONG:switch(X){case Mr1.cc.NL:this.dispatcher.push({kind:Mr1.Kind.PONG}),this.drop=0,this.state=Mr1.State.OP_START;break}break;case Mr1.State.OP_PI:switch(X){case Mr1.cc.N:case Mr1.cc.n:this.state=Mr1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_PIN:switch(X){case Mr1.cc.G:case Mr1.cc.g:this.state=Mr1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_PING:switch(X){case Mr1.cc.NL:this.dispatcher.push({kind:Mr1.Kind.PING}),this.drop=0,this.state=Mr1.State.OP_START;break}break;case Mr1.State.OP_I:switch(X){case Mr1.cc.N:case Mr1.cc.n:this.state=Mr1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_IN:switch(X){case Mr1.cc.F:case Mr1.cc.f:this.state=Mr1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_INF:switch(X){case Mr1.cc.O:case Mr1.cc.o:this.state=Mr1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_INFO:switch(X){case Mr1.cc.SPACE:case Mr1.cc.TAB:this.state=Mr1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case Mr1.State.OP_INFO_SPC:switch(X){case Mr1.cc.SPACE:case Mr1.cc.TAB:continue;default:this.state=Mr1.State.INFO_ARG,this.as=Z}break;case Mr1.State.INFO_ARG:switch(X){case Mr1.cc.CR:this.drop=1;break;case Mr1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:Mr1.Kind.INFO,data:Q}),this.drop=0,this.as=Z+1,this.state=Mr1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;default:throw this.fail($.subarray(Z))}}if((this.state===Mr1.State.MSG_ARG||this.state===Mr1.State.MINUS_ERR_ARG||this.state===Mr1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new ui0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===Mr1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new ui0.DenoBuffer($.subarray(this.as))}}cloneMsgArg(){let $=this.ma.subject.length,Z=this.ma.reply?this.ma.reply.length:0,X=new Uint8Array($+Z);if(X.set(this.ma.subject),this.ma.reply)X.set(this.ma.reply,$);if(this.argBuf=new ui0.DenoBuffer(X),this.ma.subject=X.subarray(0,$),this.ma.reply)this.ma.reply=X.subarray($)}processMsgArgs($){if(this.hdr>=0)return this.processHeaderMsgArgs($);let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case Mr1.cc.SPACE:case Mr1.cc.TAB:case Mr1.cc.CR:case Mr1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 3:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.size=this.protoParseInt(Z[2],Cb);break;case 4:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=Z[2],this.ma.size=this.protoParseInt(Z[3],Cb);break;default:throw this.fail($,"processMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail($,"processMsgArgs Bad or Missing Sid Error");if(this.ma.size<0)throw this.fail($,"processMsgArgs Bad or Missing Size Error")}fail($,Z=""){if(!Z)Z=`parse error [${this.state}]`;else Z=`${Z} [${this.state}]`;return Error(`${Z}: ${ci0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case Mr1.cc.SPACE:case Mr1.cc.TAB:case Mr1.cc.CR:case Mr1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 4:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.hdr=this.protoParseInt(Z[2],Cb),this.ma.size=this.protoParseInt(Z[3],Cb);break;case 5:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=Z[2],this.ma.hdr=this.protoParseInt(Z[3],Cb),this.ma.size=this.protoParseInt(Z[4],Cb);break;default:throw this.fail($,"processHeaderMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Sid Error");if(this.ma.hdr<0||this.ma.hdr>this.ma.size)throw this.fail($,"processHeaderMsgArgs Bad or Missing Header Size Error");if(this.ma.size<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Size Error")}protoParseInt($,Z){if($.length===0||$.length>15)return-1;let X=0;for(let Q=0;Q<$.length;Q++){if($[Q]<Ir1||$[Q]>ut6)return-1;X=X*10+($[Q]-Ir1)}return Z!==void 0&&X>Z?-1:X}}Mr1.Parser=qr1;Mr1.State={OP_START:0,OP_PLUS:1,OP_PLUS_O:2,OP_PLUS_OK:3,OP_MINUS:4,OP_MINUS_E:5,OP_MINUS_ER:6,OP_MINUS_ERR:7,OP_MINUS_ERR_SPC:8,MINUS_ERR_ARG:9,OP_M:10,OP_MS:11,OP_MSG:12,OP_MSG_SPC:13,MSG_ARG:14,MSG_PAYLOAD:15,MSG_END:16,OP_H:17,OP_P:18,OP_PI:19,OP_PIN:20,OP_PING:21,OP_PO:22,OP_PON:23,OP_PONG:24,OP_I:25,OP_IN:26,OP_INF:27,OP_INFO:28,OP_INFO_SPC:29,INFO_ARG:30};Mr1.cc={CR:13,E:69,e:101,F:70,f:102,G:71,g:103,H:72,h:104,I:73,i:105,K:75,k:107,M:77,m:109,MINUS:45,N:78,n:110,NL:10,O:79,o:111,P:80,p:112,PLUS:43,R:82,r:114,S:83,s:115,SPACE:32,TAB:9}});var TZ0=_((kr1)=>{Object.defineProperty(kr1,"__esModule",{value:!0});kr1.MsgHdrsImpl=void 0;kr1.canonicalMIMEHeaderKey=mi0;kr1.headers=dt6;var Vr1=aY(),_J=bB(),AZ0=sY();function mi0($){let U=!0,N=Array($.length);for(let F=0;F<$.length;F++){let B=$.charCodeAt(F);if(B===58||B<33||B>126)throw AZ0.InvalidArgumentError.format("header",`'${$[F]}' is not a valid character in a header name`);if(U&&97<=B&&B<=122)B-=32;else if(!U&&65<=B&&B<=90)B+=32;N[F]=B,U=B==45}return String.fromCharCode(...N)}function dt6($=0,Z=""){if($===0&&Z!=="")throw AZ0.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw AZ0.InvalidArgumentError.format("description","is required");return new _b($,Z)}var di0="NATS/1.0";class _b{_code;headers;_description;constructor($=0,Z=""){this._code=$,this._description=Z,this.headers=new Map}[Symbol.iterator](){return this.headers.entries()}size(){return this.headers.size}equals($){if($&&this.headers.size===$.headers.size&&this._code===$._code){for(let[Z,X]of this.headers){let Q=$.values(Z);if(X.length!==Q.length)return!1;let Y=[...X].sort(),G=[...Q].sort();for(let J=0;J<Y.length;J++)if(Y[J]!==G[J])return!1}return!0}return!1}static decode($){let Z=new _b,Q=Vr1.TD.decode($).split(`\r
|
|
1337
1337
|
`),Y=Q[0];if(Y!==di0){let G=Y.replace(di0,"").trim();if(G.length>0){if(Z._code=parseInt(G,10),isNaN(Z._code))Z._code=0;let J=Z._code.toString();G=G.replace(J,""),Z._description=G.trim()}}if(Q.length>=1)Q.slice(1).map((G)=>{if(G){let J=G.indexOf(":");if(J>-1){let K=G.slice(0,J),W=G.slice(J+1).trim();Z.append(K,W)}}});return Z}toString(){if(this.headers.size===0&&this._code===0)return"";let $=di0;if(this._code>0&&this._description!=="")$+=` ${this._code} ${this._description}`;for(let[Z,X]of this.headers)for(let Q=0;Q<X.length;Q++)$=`${$}\r
|
|
1338
1338
|
${Z}: ${X[Q]}`;return`${$}\r
|
|
@@ -1386,7 +1386,7 @@ You are running the brand-context onboarding for the user's organization. Your o
|
|
|
1386
1386
|
4. Do NOT call any other tools in this thread. Do NOT call \`brand_context_setup\` more than once.
|
|
1387
1387
|
|
|
1388
1388
|
If the tool returns an error, surface the error message to the user and ask whether they want to try a different URL.
|
|
1389
|
-
`.trim();f58=JG("site-diagnostics_"),Lw5=f58.is,Dw5=f58.get,b58=JG("commerce-discovery_"),Ew5=b58.is,oX0=b58.get;WN={AGENT_MANAGER:JG("studio-agent-manager_"),AUTOMATION_MANAGER:JG("studio-automation-manager_"),CONNECTION_MANAGER:JG("studio-connection-manager_"),API_KEY_MANAGER:JG("studio-api-key-manager_"),STORE_MANAGER:JG("studio-store-manager_"),BRAND_MANAGER:JG("studio-brand-manager_"),TASK_MANAGER:JG("studio-task-manager_"),USAGE_MANAGER:JG("studio-usage-manager_")},WX={AGENT_MANAGER:WN.AGENT_MANAGER.get,AUTOMATION_MANAGER:WN.AUTOMATION_MANAGER.get,CONNECTION_MANAGER:WN.CONNECTION_MANAGER.get,API_KEY_MANAGER:WN.API_KEY_MANAGER.get,STORE_MANAGER:WN.STORE_MANAGER.get,BRAND_MANAGER:WN.BRAND_MANAGER.get,TASK_MANAGER:WN.TASK_MANAGER.get,USAGE_MANAGER:WN.USAGE_MANAGER.get}});function l58($){return $.toLowerCase().replace(/[^a-z0-9]/g,"")}function DX4($){return l58($).includes("deepresearch")}function d58($){let Z=l58($);if(Z.includes("deepresearch"))return!1;return EX4.some((X)=>Z.includes(X))}function zX4($){return $.asyncResearch!==!0&&d58($.modelId)}function jX4($){return $.asyncResearch===!0||DX4($.modelId)||d58($.modelId)}function ky($,Z,X,Q){for(let Y of X){let G=$.find((J)=>J.modelId===Y);if(G)return{keyId:Z,modelId:G.modelId,title:G.title}}for(let Y of X){let G=$.find((J)=>J.modelId.includes(Y));if(G)return{keyId:Z,modelId:G.modelId,title:G.title}}if(Q){let Y=$.find(Q);if(Y)return{keyId:Z,modelId:Y.modelId,title:Y.title}}return null}function m58($,Z){let X={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(let Q of $){let Y=Z[Q.id]??[],G=Q.providerId;if(!X.chat.fast)X.chat.fast=ky(Y,Q.id,NX4[G]??[]);if(!X.chat.smart)X.chat.smart=ky(Y,Q.id,FX4[G]??[]);if(!X.chat.thinking)X.chat.thinking=ky(Y,Q.id,BX4[G]??[]);if(!X.image)X.image=ky(Y,Q.id,wX4[G]??[],(J)=>J.capabilities?.includes("image")===!0);if(!X.webSearch)X.webSearch=ky(Y,Q.id,OX4[G]??[],zX4);if(!X.deepResearch)X.deepResearch=ky(Y,Q.id,LX4[G]??[],jX4)}return X}var NX4,FX4,BX4,wX4,OX4,LX4,EX4;var i58=O(()=>{NX4={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"]},FX4={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"]},BX4={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"]},wX4={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"]},OX4={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},LX4={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};EX4=["sonar","searchpreview","online"]});function rX0($){if(!$)return;let Z={};for(let X in $){let Q=$[X];if(typeof Q==="object"&&Q!==null){let Y={};for(let G of PX4)if(G in Q)Y[G]=Q[G];Z[X]=Y}}return Object.keys(Z).length>0?Z:void 0}var PX4;var n58=O(()=>{PX4=["usage","cost","model"]});var j6=O(()=>{V70();c58();i58();n58()});function aX0($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Uw($){if($.app_name)return $.app_name;if($.connection_url)try{let Z=new URL($.connection_url),Q=((Z.port?`${Z.hostname}-${Z.port}`:Z.hostname)+Z.pathname).replace(/\/+$/,"");return aX0(Q)}catch{return aX0($.connection_url)}if($.title)return aX0($.title);return $.id??"unknown"}var sX0=()=>{};var Sy=300000,eX0=5000,Hr0=3,Ur0=30000,p58=65000,$Q0=1000,Cy=3,t58=5,o58=60000,r58=300000,Nr0=60000;function a58(){if(HN.size<$Q0)return;let $=null,Z=1/0;for(let[X,Q]of HN)if(Q.lastFailureAt<Z)Z=Q.lastFailureAt,$=X;if($)HN.delete($)}function s58($){let Z=HN.get($);if(!Z)return a58(),HN.set($,{consecutiveFailures:1,disabled:!1,lastFailureAt:Date.now()}),{consecutiveFailures:1,thresholdCrossed:1>=Cy};return Z.consecutiveFailures++,Z.lastFailureAt=Date.now(),{consecutiveFailures:Z.consecutiveFailures,thresholdCrossed:Z.consecutiveFailures>=Cy}}function Fr0($){let Z=HN.get($);if(Z){Z.disabled=!0;return}a58(),HN.set($,{consecutiveFailures:Cy,disabled:!0,lastFailureAt:Date.now()})}function e58($){return HN.get($)?.disabled??!1}function $98($){HN.delete($)}var HN;var Z98=O(()=>{HN=new Map});import{sql as r8}from"kysely";function Q98($){if($.length===0)return null;let Z=$[0];if($.length===1&&TX4.has(Z))return r8.ref(Z);if($.length===2&&X98.has(Z)){let X=$[1];return r8`${r8.ref(Z)}->>${r8.lit(X)}`}if($.length>2&&X98.has(Z)){let X=`{${$.slice(1).join(",")}}`;return r8`${r8.ref(Z)}#>>${r8.lit(X)}`}return null}function Y98($){if("conditions"in $){let{operator:G,conditions:J}=$;if(J.length===0)return r8`true`;let K=J.map((W)=>Y98(W));switch(G){case"and":return r8`(${r8.join(K,r8` AND `)})`;case"or":return r8`(${r8.join(K,r8` OR `)})`;case"not":return r8`NOT (${r8.join(K,r8` AND `)})`;default:return r8`true`}}let{field:Z,operator:X,value:Q}=$,Y=Q98(Z);if(!Y)return r8`true`;switch(X){case"eq":return Q===null?r8`${Y} IS NULL`:r8`${Y} = ${r8.val(Q)}`;case"gt":return r8`${Y} > ${r8.val(Q)}`;case"gte":return r8`${Y} >= ${r8.val(Q)}`;case"lt":return r8`${Y} < ${r8.val(Q)}`;case"lte":return r8`${Y} <= ${r8.val(Q)}`;case"in":if(!Array.isArray(Q)||Q.length===0)return r8`false`;return r8`${Y} IN (${r8.join(Q.map((G)=>r8.val(G)))})`;case"like":return r8`${Y} ILIKE ${r8.val(Q)}`;case"contains":{let G=String(Q).replace(/[%_\\]/g,"\\$&");return r8`${Y} ILIKE ${r8.val(`%${G}%`)}`}default:return r8`true`}}class nn{db;vault;constructor($,Z){this.db=$;this.vault=Z}async create($){let Z=$.id??Z4("conn"),X=new Date().toISOString(),Q=await this.findById(Z);if(Q){if(Q.organization_id!==$.organization_id)throw Error("Connection ID already exists");return this.update(Z,$)}let Y=Uw($),G=await this.serializeConnection({...$,id:$.id??Z,slug:Y,status:"active",created_at:X,updated_at:X}),J=await this.db.insertInto("connections").values(G).returningAll().executeTakeFirst();if(!J)throw Error(`Failed to create connection with id: ${Z}`);return this.deserializeConnection(J)}async createNew($){let Z=$.id??Z4("conn"),X=new Date().toISOString(),Q=Uw($),Y=await this.serializeConnection({...$,id:Z,slug:Q,status:"active",created_at:X,updated_at:X}),G;try{G=await this.db.insertInto("connections").values(Y).returningAll().executeTakeFirst()}catch(J){if(J instanceof Error&&(J.message.includes("duplicate key")||J.message.includes("unique constraint")))throw Error("Connection ID already exists");throw J}if(!G)throw Error(`Failed to create connection with id: ${Z}`);return this.deserializeConnection(G)}async findById($,Z){let X=L3($);if(X)return u58(Z??X);let Q=this.db.selectFrom("connections").selectAll().where("id","=",$);if(Z)Q=Q.where("organization_id","=",Z);let Y=await Q.executeTakeFirst();return Y?this.deserializeConnection(Y):null}async list($,Z){let X=this.db.selectFrom("connections").selectAll().where("organization_id","=",$);if(!Z?.includeVirtual)X=X.where("connection_type","!=","VIRTUAL");if(Z?.slug)X=X.where("slug","=",Z.slug);if(Z?.where)X=X.where(Y98(Z.where));let G=(await this.db.selectFrom(X.as("filtered")).select(r8`count(*)::int`.as("count")).executeTakeFirst())?.count??0;if(Z?.orderBy&&Z.orderBy.length>0)for(let W of Z.orderBy){let H=Q98(W.field);if(!H)continue;let U=W.direction==="desc"?r8`desc`:r8`asc`,N=W.nulls==="first"?r8`nulls first`:r8`nulls last`;X=X.orderBy(r8`${H} ${U} ${N}`)}if(Z?.limit)X=X.limit(Z.limit);if(Z?.offset)X=X.offset(Z.offset);let J=await X.execute();return{items:await Promise.all(J.map((W)=>this.deserializeConnection(W))),totalCount:G}}async update($,Z){if(Object.keys(Z).length===0){let J=await this.findById($);if(!J)throw Error("Connection not found");return J}let X={...Z},Q=await this.findById($);if(Q){let J=(K)=>Z[K]===void 0?Q[K]:Z[K];X.slug=Uw({app_name:J("app_name"),connection_url:J("connection_url"),title:J("title"),id:$})}let Y=await this.serializeConnection({...X,updated_at:new Date().toISOString()}),G=await this.db.updateTable("connections").set(Y).where("id","=",$).returningAll().executeTakeFirst();if(!G)throw Error("Connection not found after update");return this.deserializeConnection(G)}async isReferencedByThread($){return await this.db.selectFrom("threads").select("id").where(r8`metadata -> 'githubRepo' ->> 'connectionId' = ${$}`).limit(1).executeTakeFirst()!==void 0}async delete($){await this.db.deleteFrom("connections").where("id","=",$).execute()}async testConnection($,Z){let X=await this.findById($);if(!X)throw Error("Connection not found");let Q=Date.now();if(X.connection_type==="STDIO")return{healthy:!0,latencyMs:Date.now()-Q};if(!X.connection_url)return{healthy:!1,latencyMs:Date.now()-Q};try{if(await My(X.connection_url))return{healthy:!1,latencyMs:Date.now()-Q};let G=X.connection_headers,J=new AbortController,K=setTimeout(()=>J.abort(),1e4),W;try{W=await Vy()(X.connection_url,{method:"POST",signal:J.signal,headers:{"Content-Type":"application/json",...X.connection_token&&{Authorization:`Bearer ${X.connection_token}`},...G?.headers,...Z},body:JSON.stringify({jsonrpc:"2.0",method:"ping",id:1})})}finally{clearTimeout(K)}return{healthy:W.ok||W.status===404,latencyMs:Date.now()-Q}}catch{return{healthy:!1,latencyMs:Date.now()-Q}}}async serializeConnection($){let Z={};for(let[X,Q]of Object.entries($)){if(Q===void 0)continue;if(X==="tools")continue;if(X==="connection_token"&&Q)Z[X]=await this.vault.encrypt(Q);else if(X==="configuration_state"&&Q){let Y=JSON.stringify(Q);Z[X]=await this.vault.encrypt(Y)}else if(X==="connection_headers"&&Q){let Y=Q;if(kW(Y)&&Y.envVars){let G={};for(let[J,K]of Object.entries(Y.envVars))G[J]=await this.vault.encrypt(K);Z[X]=JSON.stringify({...Y,envVars:G})}else Z[X]=JSON.stringify(Y)}else if(AX4.includes(X))Z[X]=Q?JSON.stringify(Q):null;else Z[X]=Q}return Z}async handleDecryptFailures($,Z){let X=`connection ${$.id} (org: ${$.organization_id}, type: ${$.connection_type}, title: ${$.title})`;if(e58($.id))return;if($.status!=="active"){Fr0($.id);return}let{thresholdCrossed:Q}=s58($.id);if(!Q){for(let{label:Y,error:G}of Z)console.error(`Failed to decrypt ${Y} for ${X}:`,G);return}try{await this.db.updateTable("connections").set({status:"error"}).where("id","=",$.id).execute(),Fr0($.id),console.error(`Disabled ${X} after ${Cy} consecutive decryption failures.`,Z[0]?.error)}catch(Y){console.error(`Failed to disable ${X} after decryption failures:`,Y)}}async deserializeConnection($){let Z=[],X=null;if($.connection_token)try{X=await this.vault.decrypt($.connection_token)}catch(J){Z.push({label:"connection token",error:J})}let Q=null;if($.configuration_state)try{let J=await this.vault.decrypt($.configuration_state);Q=JSON.parse(J)}catch(J){Z.push({label:"configuration state",error:J})}if(Z.length>0)await this.handleDecryptFailures($,Z);else if($.connection_token||$.configuration_state)$98($.id);let Y=null;if($.connection_headers)try{let J=JSON.parse($.connection_headers);if(kW(J)&&J.envVars){let K={};for(let[W,H]of Object.entries(J.envVars))try{K[W]=await this.vault.decrypt(H)}catch{K[W]=H}Y={...J,envVars:K}}else Y=J}catch(J){console.error(`Failed to parse connection_headers for connection ${$.id} (org: ${$.organization_id}, type: ${$.connection_type}, title: ${$.title}):`,J)}let G=(J)=>{if(J===null)return null;if(typeof J==="string")try{return JSON.parse(J)}catch{return null}return J};return{id:$.id,organization_id:$.organization_id,created_by:$.created_by,updated_by:$.updated_by??void 0,title:$.title,description:$.description,icon:$.icon,app_name:$.app_name,app_id:$.app_id,slug:$.slug,connection_type:$.connection_type,connection_url:$.connection_url,connection_token:X,connection_headers:Y,oauth_config:G($.oauth_config),configuration_state:Q,configuration_scopes:G($.configuration_scopes),metadata:G($.metadata),tools:null,bindings:G($.bindings),status:$.status,created_at:$.created_at,updated_at:$.updated_at}}}var AX4,TX4,X98;var Br0=O(()=>{CW();mn();QQ();j6();sX0();Z98();AX4=["connection_headers","oauth_config","configuration_scopes","metadata","bindings"],TX4=new Set(["id","organization_id","created_by","updated_by","title","description","icon","app_name","app_id","slug","connection_type","connection_url","status","created_at","updated_at"]),X98=new Set(["metadata","configuration_scopes","bindings"])});import{createHash as RX4,randomBytes as IX4,timingSafeEqual as dw5}from"crypto";function MX4($){return $.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Or0($){return RX4("sha256").update($).digest("hex")}function K98($){let Z=wr0.length+1,X=Z+J98;if(!$.startsWith(`${wr0}_`)||$.length<=X+1||$[X]!=="_")return null;let Q=$.slice(Z,X),Y=$.slice(X+1);if(!G98.test(Q)||!G98.test(Y))return null;return Q}function W98(){let $=MX4(IX4(qX4)),Z=$.slice(0,J98),X=`${wr0}_${Z}_${$}`;return{plaintext:X,prefix:Z,hash:Or0(X)}}var wr0="stv",qX4=32,J98=12,G98;var H98=O(()=>{G98=/^[A-Za-z0-9_-]+$/});function U98($){return{id:$.id,organizationId:$.organization_id,subjectConnectionId:$.subject_connection_id,tokenHash:$.token_hash,tokenPrefix:$.token_prefix,name:$.name,revokedAt:$.revoked_at,lastUsedAt:$.last_used_at,createdAt:$.created_at,updatedAt:$.updated_at}}class Lr0{db;constructor($){this.db=$}async createOrRotateWorkloadToken($){let Z=$.name??"default";return await this.db.transaction().execute(async(Q)=>{if(!await Q.selectFrom("connections").select("id").where("id","=",$.subjectConnectionId).where("organization_id","=",$.organizationId).executeTakeFirst())throw Error("Subject connection not found in organization");let G=W98(),J=new Date().toISOString();await Q.updateTable("connection_workload_tokens").set({revoked_at:J,updated_at:J}).where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("name","=",Z).where("revoked_at","is",null).execute();let K=await Q.insertInto("connection_workload_tokens").values({id:Z4("cwt"),organization_id:$.organizationId,subject_connection_id:$.subjectConnectionId,token_hash:G.hash,token_prefix:G.prefix,name:Z,revoked_at:null,last_used_at:null,created_at:J,updated_at:J}).returningAll().executeTakeFirstOrThrow();return{plaintextToken:G.plaintext,record:U98(K)}})}async findActiveWorkloadToken($){let Z=await this.db.selectFrom("connection_workload_tokens").selectAll().where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("name","=",$.name??"default").where("revoked_at","is",null).executeTakeFirst();return Z?U98(Z):null}async revokeWorkloadToken($){let Z=new Date().toISOString();await this.db.updateTable("connection_workload_tokens").set({revoked_at:Z,updated_at:Z}).where("id","=",$.tokenId).where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("revoked_at","is",null).execute()}async authenticateWorkloadToken($){let Z=K98($);if(!Z)return null;let X=Or0($),Q=await this.db.selectFrom("connection_workload_tokens").select(["id","organization_id","subject_connection_id","token_prefix"]).where("token_prefix","=",Z).where("token_hash","=",X).where("revoked_at","is",null).executeTakeFirst();if(!Q)return null;let Y=new Date().toISOString();return await this.db.updateTable("connection_workload_tokens").set({last_used_at:Y,updated_at:Y}).where("id","=",Q.id).execute(),{tokenId:Q.id,tokenPrefix:Q.token_prefix,organizationId:Q.organization_id,subjectConnectionId:Q.subject_connection_id}}async replaceGrantsForSubject($){await this.db.transaction().execute(async(Z)=>{if(!await Z.selectFrom("connections").select("id").where("id","=",$.subjectConnectionId).where("organization_id","=",$.organizationId).executeTakeFirst())throw Error("Referenced connection not found in organization");let Q=[...new Set($.grants.map((J)=>J.targetConnectionId))];if(Q.length>0){if((await Z.selectFrom("connections").select("id").where("organization_id","=",$.organizationId).where("id","in",Q).execute()).length!==Q.length)throw Error("Referenced connection not found in organization")}if(await Z.deleteFrom("connection_credential_grants").where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).execute(),$.grants.length===0)return;let Y=new Date().toISOString(),G=$.grants.map((J)=>({id:Z4("ccg"),organization_id:$.organizationId,subject_connection_id:$.subjectConnectionId,target_connection_id:J.targetConnectionId,scope:J.scope,created_by:$.createdBy,created_at:Y,updated_at:Y}));await Z.insertInto("connection_credential_grants").values(G).execute()})}async hasGrant($){return!!await this.db.selectFrom("connection_credential_grants").select("id").where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("target_connection_id","=",$.targetConnectionId).where("scope","=",$.scope).executeTakeFirst()}}var ZQ0="credential:access-token:read",XQ0="credential:configuration:read";var QQ0=O(()=>{QQ();H98()});class _y{db;constructor($){this.db=$}async create($,Z,X,Q){let Y=Q?.id??Z4("vir"),G=new Date().toISOString();await this.db.transaction().execute(async(K)=>{if(await K.insertInto("connections").values({id:Y,organization_id:$,created_by:Z,title:X.title,description:X.description??null,icon:X.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",pinned:X.pinned??!1,connection_url:`virtual://${Y}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:X.metadata?JSON.stringify(X.metadata):null,bindings:null,status:X.status??"active",created_at:G,updated_at:G}).execute(),X.connections.length>0)await K.insertInto("connection_aggregations").values(X.connections.map((W)=>({id:Z4("agg"),parent_connection_id:Y,child_connection_id:W.connection_id,selected_tools:W.selected_tools?JSON.stringify(W.selected_tools):null,selected_resources:W.selected_resources?JSON.stringify(W.selected_resources):null,selected_prompts:W.selected_prompts?JSON.stringify(W.selected_prompts):null,dependency_mode:"direct",created_at:G}))).execute()});let J=await this.findById(Y);if(!J)throw Error(`Failed to create virtual MCP with id: ${Y}`);return J}async findById($,Z){let X=L3($);if(X)return{...Wr0(Z??X),pinned:!1,connections:[]};let Q=tX0($);if(Q)return{...x58(Z??Q),pinned:!1,connections:[]};return this.findByIdInternal(this.db,$)}async findByIdInternal($,Z){let X=await $.selectFrom("connections").selectAll().where("id","=",Z).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return null;let Q=await $.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","=",Z).where("dependency_mode","=","direct").execute();return this.deserializeVirtualMCPEntity(X,Q)}async list($,Z){let X=this.db.selectFrom("connections").selectAll().where("organization_id","=",$).where("connection_type","=","VIRTUAL");if(Z?.pinnedOnly)X=X.where("pinned","=",!0);let Q=await X.execute(),Y=Q.map((K)=>K.id);if(Y.length===0)return[];let G=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",Y).where("dependency_mode","=","direct").execute(),J=new Map;for(let K of G){let W=J.get(K.parent_connection_id)??[];W.push(K),J.set(K.parent_connection_id,W)}return Q.map((K)=>this.deserializeVirtualMCPEntity(K,J.get(K.id)??[]))}async listByIds($,Z){if(Z.length===0)return[];let X=await this.db.selectFrom("connections").selectAll().where("id","in",Z).where("organization_id","=",$).where("connection_type","=","VIRTUAL").execute();if(X.length===0)return[];let Q=X.map((J)=>J.id),Y=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",Q).where("dependency_mode","=","direct").execute(),G=new Map;for(let J of Y){let K=G.get(J.parent_connection_id)??[];K.push(J),G.set(J.parent_connection_id,K)}return X.map((J)=>this.deserializeVirtualMCPEntity(J,G.get(J.id)??[]))}async listByConnectionId($,Z){let Q=(await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",Z).execute()).map((W)=>W.parent_connection_id);if(Q.length===0)return[];let Y=await this.db.selectFrom("connections").selectAll().where("id","in",Q).where("organization_id","=",$).where("connection_type","=","VIRTUAL").execute();if(Y.length===0)return[];let G=Y.map((W)=>W.id),J=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",G).where("dependency_mode","=","direct").execute(),K=new Map;for(let W of J){let H=K.get(W.parent_connection_id)??[];H.push(W),K.set(W.parent_connection_id,H)}return Y.map((W)=>this.deserializeVirtualMCPEntity(W,K.get(W.id)??[]))}async update($,Z,X){let Q=new Date().toISOString(),Y={updated_at:Q,updated_by:Z};if(X.title!==void 0)Y.title=X.title;if(X.description!==void 0)Y.description=X.description;if(X.icon!==void 0)Y.icon=X.icon;if(X.status!==void 0)Y.status=X.status;if(X.pinned!==void 0)Y.pinned=X.pinned;if(X.metadata!==void 0)Y.metadata=X.metadata?JSON.stringify(X.metadata):null;let G=[];await this.db.transaction().execute(async(K)=>{if(await K.updateTable("connections").set(Y).where("id","=",$).where("connection_type","=","VIRTUAL").execute(),X.connections!==void 0){let W=await K.selectFrom("connection_aggregations").select("child_connection_id").where("parent_connection_id","=",$).where("dependency_mode","=","direct").execute(),H=new Set(W.map((N)=>N.child_connection_id));if(await K.deleteFrom("connection_aggregations").where("parent_connection_id","=",$).where("dependency_mode","=","direct").execute(),X.connections.length>0)await K.insertInto("connection_aggregations").values(X.connections.map((N)=>({id:Z4("agg"),parent_connection_id:$,child_connection_id:N.connection_id,selected_tools:N.selected_tools?JSON.stringify(N.selected_tools):null,selected_resources:N.selected_resources?JSON.stringify(N.selected_resources):null,selected_prompts:N.selected_prompts?JSON.stringify(N.selected_prompts):null,dependency_mode:"direct",created_at:Q}))).execute();let U=new Set(X.connections.map((N)=>N.connection_id));for(let N of H)if(!U.has(N))G.push(N)}});for(let K of G)await this.cleanOrphanedPinnedViews([$],K);let J=await this.findById($);if(!J)throw Error("Virtual MCP not found after update");return J}async delete($){await this.db.transaction().execute(async(Z)=>{await Z.deleteFrom("threads").where("virtual_mcp_id","=",$).execute(),await Z.deleteFrom("connection_aggregations").where("parent_connection_id","=",$).execute(),await Z.deleteFrom("connections").where("id","=",$).where("connection_type","=","VIRTUAL").execute()})}async removeConnectionReferences($){let Z=await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",$).execute();await this.db.deleteFrom("connection_aggregations").where("child_connection_id","=",$).execute(),await this.cleanOrphanedPinnedViews(Z.map((X)=>X.parent_connection_id),$)}async cleanOrphanedPinnedViews($,Z){for(let X of $){let Q=await this.db.selectFrom("connections").select("metadata").where("id","=",X).executeTakeFirst();if(!Q?.metadata)continue;let Y;try{Y=typeof Q.metadata==="string"?JSON.parse(Q.metadata):Q.metadata}catch{continue}let G=Y?.ui?.pinnedViews;if(!Array.isArray(G))continue;let J=G.filter((H)=>H.connectionId!==Z);if(J.length===G.length)continue;let K=Y.ui??{},W={...Y,ui:{...K,pinnedViews:J.length>0?J:null}};await this.db.updateTable("connections").set({metadata:JSON.stringify(W)}).where("id","=",X).execute()}}deserializeVirtualMCPEntity($,Z){let X=$.created_at instanceof Date?$.created_at.toISOString():$.created_at,Q=$.updated_at instanceof Date?$.updated_at.toISOString():$.updated_at,Y=$.status==="active"?"active":"inactive",G=this.parseJson($.metadata),{sandboxMap:J,...K}=G??{},W=J!==void 0?xp0(J):void 0;return{id:$.id,organization_id:$.organization_id,title:$.title,description:$.description,icon:$.icon,status:Y,pinned:$.pinned,created_at:X,updated_at:Q,created_by:$.created_by,updated_by:$.updated_by??void 0,metadata:{...K,instructions:G?.instructions??null,...W!==void 0?{sandboxMap:W}:{}},connections:Z.map((H)=>({connection_id:H.child_connection_id,selected_tools:this.parseJson(H.selected_tools),selected_resources:this.parseJson(H.selected_resources),selected_prompts:this.parseJson(H.selected_prompts)}))}}parseJson($){if($===null)return null;if(typeof $==="string")try{return JSON.parse($)}catch{return null}return $}}function N98($){let Z=new Map,X=(Q,Y)=>{let G=Z.get(Q);if(G)return G;let J=Y();return Z.set(Q,J),J};return new Proxy($,{get(Q,Y,G){if(Y==="list")return(J,K)=>X(`list:${J}:${K?.pinnedOnly?1:0}`,()=>Q.list(J,K));if(Y==="create"||Y==="update"||Y==="delete"||Y==="removeConnectionReferences")return(...J)=>{return Z.clear(),Q[Y](...J)};return Reflect.get(Q,Y,G)}})}var Dr0=O(()=>{QQ();j6()});function lE($){let Z=String($??"");if(Z&&!Z.includes("T"))return Z.replace(" ","T")+"Z";return Z}function R8($){return $.replace(/\0/g,"").replace(/\\/g,"\\\\").replace(/'/g,"''")}function p6($){let Z=Number($??0);return Number.isFinite(Z)?Z:0}function kX4($){if(!VX4.has($))throw Error(`Invalid groupByColumn: ${$}`);return $}function Er0($){if(!SX4.test($))throw Error(`Invalid JSONPath: ${$}`);if($.startsWith("$."))return $;if($.startsWith("."))return`$${$}`;return`$.${$}`}function Ar0($){return $.replace(/^\$\./,"").split(".").map((X)=>`'${R8(X)}'`).join(", ")}function vX4($){let Z=CX4.exec($);if(!Z||!Z[1]||!Z[2])throw Error(`Invalid interval: ${$}`);let X=parseInt(Z[1],10),Q=Z[2],Y=_X4[Q];if(X<1||X>Y)throw Error(`Invalid interval amount: ${X}${Q} (max ${Y}${Q})`);return{amount:X,unit:Q}}function Nw($,Z,X="timestamp"){let{amount:Q,unit:Y}=vX4($),J={m:"MINUTE",h:"HOUR",d:"DAY"}[Y];if(Z==="duckdb")return`time_bucket(INTERVAL '${Q} ${J}', CAST(${X} AS TIMESTAMP))`;return`toStartOfInterval(${X}, INTERVAL ${Q} ${J})`}function pn($,Z,X){if(X==="duckdb")return`json_extract_string(${$}, '${Z}')`;let Q=Ar0(Z);return`JSONExtractString(${$}, ${Q})`}function xX4($,Z,X){if(X==="duckdb")return`CAST(json_extract_string(${$}, '${Z}') AS DOUBLE)`;let Q=Ar0(Z);return`JSONExtractFloat(${$}, ${Q})`}function F98($,Z,X){if(X==="duckdb")return`TRY_CAST(json_extract_string(${$}, '${Z}') AS DOUBLE)`;let Q=Ar0(Z);return`toFloat64OrZero(JSONExtractString(${$}, ${Q}))`}function zr0($){if($===null||$===void 0)return{};if(typeof $==="object")return $;let Z=String($);try{return JSON.parse(Z)}catch{return{_decocms_truncated:Z}}}function jr0($){return{id:String($.id??""),organizationId:String($.organization_id??""),connectionId:String($.connection_id??""),toolName:String($.tool_name??""),input:zr0($.input),output:zr0($.output),isError:$.is_error===1||$.is_error===!0||$.is_error==="1"||typeof $.is_error==="bigint"&&$.is_error===1n,errorMessage:$.error_message!=null?String($.error_message):null,durationMs:Number($.duration_ms??0),timestamp:(()=>{if($.timestamp instanceof Date)return $.timestamp.toISOString();let Z=String($.timestamp??""),X=new Date(Z.includes("T")?Z:Z.replace(" ","T")+"Z");return Number.isNaN(X.getTime())?Z:X.toISOString()})(),userId:$.user_id!=null?String($.user_id):null,requestId:String($.request_id??""),userAgent:$.user_agent!=null?String($.user_agent):null,virtualMcpId:$.virtual_mcp_id!=null?String($.virtual_mcp_id):null,properties:$.properties?zr0($.properties):null}}function L98($,Z){let X=[];if($.properties)for(let[Q,Y]of Object.entries($.properties)){let G=R8(Q),J=R8(Y);if(Z==="duckdb")X.push(`json_extract_string(properties, '$.${G}') = '${J}'`);else X.push(`JSONExtractString(properties, '${G}') = '${J}'`)}if($.propertyKeys)for(let Q of $.propertyKeys){let Y=R8(Q);if(Z==="duckdb")X.push(`json_extract_string(properties, '$.${Y}') IS NOT NULL AND json_extract_string(properties, '$.${Y}') != ''`);else X.push(`JSONExtractString(properties, '${Y}') IS NOT NULL AND JSONExtractString(properties, '${Y}') != ''`)}if($.propertyPatterns)for(let[Q,Y]of Object.entries($.propertyPatterns)){let G=R8(Q),J=R8(Y);if(Z==="duckdb")X.push(`json_extract_string(properties, '$.${G}') ILIKE '${J}'`);else X.push(`JSONExtractString(properties, '${G}') ILIKE '${J}'`)}if($.propertyInValues)for(let[Q,Y]of Object.entries($.propertyInValues)){let G=R8(Q),J=R8(Y);if(Z==="duckdb")X.push(`list_contains(string_split(json_extract_string(properties, '$.${G}'), ','), '${J}')`);else X.push(`has(splitByChar(',', JSONExtractString(properties, '${G}')), '${J}')`)}return X}function w98($,Z){let X=[];if(E3(X,Z?.startDate,$),!Z)return X;if(Z.connectionIds?.length){let Q=Z.connectionIds.map((Y)=>`'${R8(Y)}'`).join(",");X.push(`connection_id IN (${Q})`)}if(Z.toolNames?.length){let Q=Z.toolNames.map((Y)=>`'${R8(Y)}'`).join(",");X.push(`tool_name IN (${Q})`)}if(Z.virtualMcpIds?.length){let Q=Z.virtualMcpIds.map((Y)=>`'${R8(Y)}'`).join(",");X.push(`virtual_mcp_id IN (${Q})`)}if(Z.endDate)X.push(D3(Z.endDate,$));if(Z.propertyFilters)X.push(...L98(Z.propertyFilters,$));return X}function O98($,Z,X="timestamp"){if(Z==="duckdb")return`CAST(${X} AS TIMESTAMP) >= TIMESTAMP '${$.toISOString()}'`;if(X==="bucket")return`${X} >= parseDateTimeBestEffort('${$.toISOString()}')`;return`${X} >= parseDateTime64BestEffort('${$.toISOString()}', 9)`}function D3($,Z,X="timestamp"){if(Z==="duckdb")return`CAST(${X} AS TIMESTAMP) <= TIMESTAMP '${$.toISOString()}'`;if(X==="bucket")return`${X} <= parseDateTimeBestEffort('${$.toISOString()}')`;return`${X} <= parseDateTime64BestEffort('${$.toISOString()}', 9)`}function E3($,Z,X,Q="timestamp"){if(Z)$.push(O98(Z,X,Q));else if(X==="clickhouse")$.push(O98(new Date(Date.now()-fX4),X,Q))}class Tr0{engine;sourceFactory;metricEngine;metricSourceFactory;dialect;metricsFromLogs;constructor($,Z,X,Q,Y="clickhouse",G=!1){this.engine=$;this.sourceFactory=Z;this.metricEngine=X;this.metricSourceFactory=Q;this.dialect=Y;this.metricsFromLogs=G}async query($){if(!$.organizationId)throw Error("organizationId is required");let Z=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),X=[`organization_id = '${R8($.organizationId)}'`];if($.connectionId)X.push(`connection_id = '${R8($.connectionId)}'`);if($.excludeConnectionIds?.length){let F=$.excludeConnectionIds.map((B)=>`'${R8(B)}'`).join(",");X.push(`connection_id NOT IN (${F})`)}if($.virtualMcpId)X.push(`virtual_mcp_id = '${R8($.virtualMcpId)}'`);if($.toolName)X.push(`tool_name = '${R8($.toolName)}'`);if($.isError!==void 0)X.push(`is_error = ${$.isError?1:0}`);if(E3(X,$.startDate,this.dialect),$.endDate)X.push(D3($.endDate,this.dialect));if($.propertyFilters)X.push(...L98($.propertyFilters,this.dialect));let Q=1000,Y=Math.min(Math.max(1,Math.floor($.limit??50)),Q),G=Math.max(0,Math.floor($.offset??0)),J=X.join(" AND ");if(this.dialect==="duckdb"){let F=`SELECT ${B98}, count(*) OVER () AS _total FROM ${Z} WHERE ${J} ORDER BY timestamp DESC LIMIT ${Y} OFFSET ${G}`,B=await this.engine.query(F);if(B.length===0)return{logs:[],total:0};let w=Number(B[0]._total??0);return{logs:B.map(jr0),total:w}}let K=`SELECT count(*) AS total FROM ${Z} WHERE ${J}`,W=`SELECT ${B98} FROM ${Z} WHERE ${J} ORDER BY timestamp DESC LIMIT ${Y} OFFSET ${G}`,[H,U]=await Promise.all([this.engine.query(K),this.engine.query(W)]),N=Number(H[0]?.total??0);return{logs:U.map(jr0),total:N}}async getById($,Z){if(!$||!Z)return null;let Q=`SELECT * FROM ${this.sourceFactory($)} WHERE organization_id = '${R8($)}' AND id = '${R8(Z)}' LIMIT 1`,Y=await this.engine.query(Q);if(Y.length===0)return null;return jr0(Y[0])}async getStats($){if(!$.organizationId)throw Error("organizationId is required");let Z=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),X=[`organization_id = '${R8($.organizationId)}'`];if(E3(X,$.startDate,this.dialect),$.endDate)X.push(D3($.endDate,this.dialect));let Q=`SELECT count(*) AS total_calls, coalesce(sum(CASE WHEN is_error = 1 THEN 1.0 ELSE 0.0 END) / NULLIF(count(*), 0), 0) AS error_rate, coalesce(avg(duration_ms), 0) AS avg_duration_ms FROM ${Z} WHERE ${X.join(" AND ")}`,G=(await this.engine.query(Q))[0]??{};return{totalCalls:Number(G.total_calls??0),errorRate:Number(G.error_rate??0),avgDurationMs:Number(G.avg_duration_ms??0)}}async queryToolCallHeatmap($){if(!$.organizationId)throw Error("organizationId is required");let Z=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),X=[`organization_id = '${R8($.organizationId)}'`,"type = 'tool_call'"];if($.filters?.virtualMcpIds?.length){let J=$.filters.virtualMcpIds.map((K)=>`'${R8(K)}'`).join(",");X.push(`virtual_mcp_id IN (${J})`)}if($.filters?.excludeConnectionIds?.length){let J=$.filters.excludeConnectionIds.map((K)=>`'${R8(K)}'`).join(",");X.push(`connection_id NOT IN (${J})`)}if(E3(X,$.startDate,this.dialect),$.endDate)X.push(D3($.endDate,this.dialect));let Q=Math.min(Math.max(1,Math.floor($.limit??500)),1000),Y=`SELECT virtual_mcp_id, tool_name, count(*) AS calls, coalesce(sum(CASE WHEN is_error = 1 THEN 1 ELSE 0 END), 0) AS errors, coalesce(sum(length(output)), 0) AS output_size FROM ${Z} WHERE ${X.join(" AND ")} GROUP BY virtual_mcp_id, tool_name ORDER BY calls DESC LIMIT ${Q}`;return{cells:(await this.engine.query(Y)).map((J)=>({virtualMcpId:J.virtual_mcp_id?String(J.virtual_mcp_id):null,toolName:String(J.tool_name??""),calls:Number(J.calls??0),errors:Number(J.errors??0),outputSize:Number(J.output_size??0)}))}}async queryLlmUsageStats($){let Z={totalCalls:0,totalErrors:0,avgDurationMs:0,p50DurationMs:0,p95DurationMs:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,topTools:[],timeseries:[]};if(!$.organizationId||!$.connectionId)return Z;let X=this.dialect,Q=X==="clickhouse",Y=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),G=Nw($.interval,X,"timestamp"),J=(E)=>`coalesce(${F98("properties",`$.${E}`,X)}, 0)`,K=Q?"count()":"count(*)",W=Q?"countIf(is_error = 1)":"count(*) FILTER (WHERE is_error = 1)",H=(E)=>Q?`quantile(${E})(duration_ms)`:`quantile_cont(duration_ms, ${E})`,U=[`organization_id = '${R8($.organizationId)}'`,`connection_id = '${R8($.connectionId)}'`];if(E3(U,$.startDate,X),$.endDate)U.push(D3($.endDate,X));if($.userIds?.length){let E=$.userIds.slice(0,100).map((z)=>`'${R8(z)}'`).join(",");U.push(`user_id IN (${E})`)}let N=U.join(" AND "),F=Math.min(Math.max(1,Math.floor($.topN??5)),20),B=`${K} AS calls,
|
|
1389
|
+
`.trim();f58=JG("site-diagnostics_"),Lw5=f58.is,Dw5=f58.get,b58=JG("commerce-discovery_"),Ew5=b58.is,oX0=b58.get;WN={AGENT_MANAGER:JG("studio-agent-manager_"),AUTOMATION_MANAGER:JG("studio-automation-manager_"),CONNECTION_MANAGER:JG("studio-connection-manager_"),API_KEY_MANAGER:JG("studio-api-key-manager_"),STORE_MANAGER:JG("studio-store-manager_"),BRAND_MANAGER:JG("studio-brand-manager_"),TASK_MANAGER:JG("studio-task-manager_"),USAGE_MANAGER:JG("studio-usage-manager_")},WX={AGENT_MANAGER:WN.AGENT_MANAGER.get,AUTOMATION_MANAGER:WN.AUTOMATION_MANAGER.get,CONNECTION_MANAGER:WN.CONNECTION_MANAGER.get,API_KEY_MANAGER:WN.API_KEY_MANAGER.get,STORE_MANAGER:WN.STORE_MANAGER.get,BRAND_MANAGER:WN.BRAND_MANAGER.get,TASK_MANAGER:WN.TASK_MANAGER.get,USAGE_MANAGER:WN.USAGE_MANAGER.get}});function l58($){return $.toLowerCase().replace(/[^a-z0-9]/g,"")}function DX4($){return l58($).includes("deepresearch")}function d58($){let Z=l58($);if(Z.includes("deepresearch"))return!1;return EX4.some((X)=>Z.includes(X))}function zX4($){return $.asyncResearch!==!0&&d58($.modelId)}function jX4($){return $.asyncResearch===!0||DX4($.modelId)||d58($.modelId)}function ky($,Z,X,Q){for(let Y of X){let G=$.find((J)=>J.modelId===Y);if(G)return{keyId:Z,modelId:G.modelId,title:G.title}}for(let Y of X){let G=$.find((J)=>J.modelId.includes(Y));if(G)return{keyId:Z,modelId:G.modelId,title:G.title}}if(Q){let Y=$.find(Q);if(Y)return{keyId:Z,modelId:Y.modelId,title:Y.title}}return null}function m58($,Z){let X={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(let Q of $){let Y=Z[Q.id]??[],G=Q.providerId;if(!X.chat.fast)X.chat.fast=ky(Y,Q.id,NX4[G]??[]);if(!X.chat.smart)X.chat.smart=ky(Y,Q.id,FX4[G]??[]);if(!X.chat.thinking)X.chat.thinking=ky(Y,Q.id,BX4[G]??[]);if(!X.image)X.image=ky(Y,Q.id,wX4[G]??[],(J)=>J.capabilities?.includes("image")===!0);if(!X.webSearch)X.webSearch=ky(Y,Q.id,OX4[G]??[],zX4);if(!X.deepResearch)X.deepResearch=ky(Y,Q.id,LX4[G]??[],jX4)}return X}var NX4,FX4,BX4,wX4,OX4,LX4,EX4;var i58=O(()=>{NX4={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"]},FX4={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"]},BX4={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"]},wX4={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"]},OX4={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},LX4={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};EX4=["sonar","searchpreview","online"]});function rX0($){if(!$)return;let Z={};for(let X in $){let Q=$[X];if(typeof Q==="object"&&Q!==null){let Y={};for(let G of PX4)if(G in Q)Y[G]=Q[G];Z[X]=Y}}return Object.keys(Z).length>0?Z:void 0}var PX4;var n58=O(()=>{PX4=["usage","cost","model"]});var j6=O(()=>{V70();c58();i58();n58()});function aX0($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Uw($){if($.app_name)return $.app_name;if($.connection_url)try{let Z=new URL($.connection_url),Q=((Z.port?`${Z.hostname}-${Z.port}`:Z.hostname)+Z.pathname).replace(/\/+$/,"");return aX0(Q)}catch{return aX0($.connection_url)}if($.title)return aX0($.title);return $.id??"unknown"}var sX0=()=>{};var Sy=300000,eX0=5000,Hr0=3,Ur0=30000,p58=65000,$Q0=1000,Cy=3,t58=5,o58=60000,r58=300000,Nr0=60000;function a58(){if(HN.size<$Q0)return;let $=null,Z=1/0;for(let[X,Q]of HN)if(Q.lastFailureAt<Z)Z=Q.lastFailureAt,$=X;if($)HN.delete($)}function s58($){let Z=HN.get($);if(!Z)return a58(),HN.set($,{consecutiveFailures:1,disabled:!1,lastFailureAt:Date.now()}),{consecutiveFailures:1,thresholdCrossed:1>=Cy};return Z.consecutiveFailures++,Z.lastFailureAt=Date.now(),{consecutiveFailures:Z.consecutiveFailures,thresholdCrossed:Z.consecutiveFailures>=Cy}}function Fr0($){let Z=HN.get($);if(Z){Z.disabled=!0;return}a58(),HN.set($,{consecutiveFailures:Cy,disabled:!0,lastFailureAt:Date.now()})}function e58($){return HN.get($)?.disabled??!1}function $98($){HN.delete($)}var HN;var Z98=O(()=>{HN=new Map});import{sql as r8}from"kysely";function Q98($){if($.length===0)return null;let Z=$[0];if($.length===1&&TX4.has(Z))return r8.ref(Z);if($.length===2&&X98.has(Z)){let X=$[1];return r8`${r8.ref(Z)}->>${r8.lit(X)}`}if($.length>2&&X98.has(Z)){let X=`{${$.slice(1).join(",")}}`;return r8`${r8.ref(Z)}#>>${r8.lit(X)}`}return null}function Y98($){if("conditions"in $){let{operator:G,conditions:J}=$;if(J.length===0)return r8`true`;let K=J.map((W)=>Y98(W));switch(G){case"and":return r8`(${r8.join(K,r8` AND `)})`;case"or":return r8`(${r8.join(K,r8` OR `)})`;case"not":return r8`NOT (${r8.join(K,r8` AND `)})`;default:return r8`true`}}let{field:Z,operator:X,value:Q}=$,Y=Q98(Z);if(!Y)return r8`true`;switch(X){case"eq":return Q===null?r8`${Y} IS NULL`:r8`${Y} = ${r8.val(Q)}`;case"gt":return r8`${Y} > ${r8.val(Q)}`;case"gte":return r8`${Y} >= ${r8.val(Q)}`;case"lt":return r8`${Y} < ${r8.val(Q)}`;case"lte":return r8`${Y} <= ${r8.val(Q)}`;case"in":if(!Array.isArray(Q)||Q.length===0)return r8`false`;return r8`${Y} IN (${r8.join(Q.map((G)=>r8.val(G)))})`;case"like":return r8`${Y} ILIKE ${r8.val(Q)}`;case"contains":{let G=String(Q).replace(/[%_\\]/g,"\\$&");return r8`${Y} ILIKE ${r8.val(`%${G}%`)}`}default:return r8`true`}}class nn{db;vault;constructor($,Z){this.db=$;this.vault=Z}async create($){let Z=$.id??Z4("conn"),X=new Date().toISOString(),Q=await this.findById(Z);if(Q){if(Q.organization_id!==$.organization_id)throw Error("Connection ID already exists");return this.update(Z,$)}let Y=Uw($),G=await this.serializeConnection({...$,id:$.id??Z,slug:Y,status:"active",created_at:X,updated_at:X}),J=await this.db.insertInto("connections").values(G).returningAll().executeTakeFirst();if(!J)throw Error(`Failed to create connection with id: ${Z}`);return this.deserializeConnection(J)}async createNew($){let Z=$.id??Z4("conn"),X=new Date().toISOString(),Q=Uw($),Y=await this.serializeConnection({...$,id:Z,slug:Q,status:"active",created_at:X,updated_at:X}),G;try{G=await this.db.insertInto("connections").values(Y).returningAll().executeTakeFirst()}catch(J){if(J instanceof Error&&(J.message.includes("duplicate key")||J.message.includes("unique constraint")))throw Error("Connection ID already exists");throw J}if(!G)throw Error(`Failed to create connection with id: ${Z}`);return this.deserializeConnection(G)}async findById($,Z){let X=L3($);if(X)return u58(Z??X);let Q=this.db.selectFrom("connections").selectAll().where("id","=",$);if(Z)Q=Q.where("organization_id","=",Z);let Y=await Q.executeTakeFirst();return Y?this.deserializeConnection(Y):null}async list($,Z){let X=this.db.selectFrom("connections").selectAll().where("organization_id","=",$);if(!Z?.includeVirtual)X=X.where("connection_type","!=","VIRTUAL");if(Z?.slug)X=X.where("slug","=",Z.slug);if(Z?.where)X=X.where(Y98(Z.where));let G=(await this.db.selectFrom(X.as("filtered")).select(r8`count(*)::int`.as("count")).executeTakeFirst())?.count??0;if(Z?.orderBy&&Z.orderBy.length>0)for(let W of Z.orderBy){let H=Q98(W.field);if(!H)continue;let U=W.direction==="desc"?r8`desc`:r8`asc`,N=W.nulls==="first"?r8`nulls first`:r8`nulls last`;X=X.orderBy(r8`${H} ${U} ${N}`)}if(Z?.limit)X=X.limit(Z.limit);if(Z?.offset)X=X.offset(Z.offset);let J=await X.execute();return{items:await Promise.all(J.map((W)=>this.deserializeConnection(W))),totalCount:G}}async update($,Z){if(Object.keys(Z).length===0){let J=await this.findById($);if(!J)throw Error("Connection not found");return J}let X={...Z},Q=await this.db.selectFrom("connections").select(["app_name","connection_url","title"]).where("id","=",$).executeTakeFirst();if(Q){let J=(K)=>Z[K]===void 0?Q[K]:Z[K];X.slug=Uw({app_name:J("app_name"),connection_url:J("connection_url"),title:J("title"),id:$})}let Y=await this.serializeConnection({...X,updated_at:new Date().toISOString()}),G=await this.db.updateTable("connections").set(Y).where("id","=",$).returningAll().executeTakeFirst();if(!G)throw Error("Connection not found after update");return this.deserializeConnection(G)}async isReferencedByThread($){return await this.db.selectFrom("threads").select("id").where(r8`metadata -> 'githubRepo' ->> 'connectionId' = ${$}`).limit(1).executeTakeFirst()!==void 0}async delete($){await this.db.deleteFrom("connections").where("id","=",$).execute()}async testConnection($,Z){let X=await this.findById($);if(!X)throw Error("Connection not found");let Q=Date.now();if(X.connection_type==="STDIO")return{healthy:!0,latencyMs:Date.now()-Q};if(!X.connection_url)return{healthy:!1,latencyMs:Date.now()-Q};try{if(await My(X.connection_url))return{healthy:!1,latencyMs:Date.now()-Q};let G=X.connection_headers,J=new AbortController,K=setTimeout(()=>J.abort(),1e4),W;try{W=await Vy()(X.connection_url,{method:"POST",signal:J.signal,headers:{"Content-Type":"application/json",...X.connection_token&&{Authorization:`Bearer ${X.connection_token}`},...G?.headers,...Z},body:JSON.stringify({jsonrpc:"2.0",method:"ping",id:1})})}finally{clearTimeout(K)}return{healthy:W.ok||W.status===404,latencyMs:Date.now()-Q}}catch{return{healthy:!1,latencyMs:Date.now()-Q}}}async serializeConnection($){let Z={};for(let[X,Q]of Object.entries($)){if(Q===void 0)continue;if(X==="tools")continue;if(X==="connection_token"&&Q)Z[X]=await this.vault.encrypt(Q);else if(X==="configuration_state"&&Q){let Y=JSON.stringify(Q);Z[X]=await this.vault.encrypt(Y)}else if(X==="connection_headers"&&Q){let Y=Q;if(kW(Y)&&Y.envVars){let G={};for(let[J,K]of Object.entries(Y.envVars))G[J]=await this.vault.encrypt(K);Z[X]=JSON.stringify({...Y,envVars:G})}else Z[X]=JSON.stringify(Y)}else if(AX4.includes(X))Z[X]=Q?JSON.stringify(Q):null;else Z[X]=Q}return Z}async handleDecryptFailures($,Z){let X=`connection ${$.id} (org: ${$.organization_id}, type: ${$.connection_type}, title: ${$.title})`;if(e58($.id))return;if($.status!=="active"){Fr0($.id);return}let{thresholdCrossed:Q}=s58($.id);if(!Q){for(let{label:Y,error:G}of Z)console.error(`Failed to decrypt ${Y} for ${X}:`,G);return}try{await this.db.updateTable("connections").set({status:"error"}).where("id","=",$.id).execute(),Fr0($.id),console.error(`Disabled ${X} after ${Cy} consecutive decryption failures.`,Z[0]?.error)}catch(Y){console.error(`Failed to disable ${X} after decryption failures:`,Y)}}async deserializeConnection($){let Z=[],X=null;if($.connection_token)try{X=await this.vault.decrypt($.connection_token)}catch(J){Z.push({label:"connection token",error:J})}let Q=null;if($.configuration_state)try{let J=await this.vault.decrypt($.configuration_state);Q=JSON.parse(J)}catch(J){Z.push({label:"configuration state",error:J})}if(Z.length>0)await this.handleDecryptFailures($,Z);else if($.connection_token||$.configuration_state)$98($.id);let Y=null;if($.connection_headers)try{let J=JSON.parse($.connection_headers);if(kW(J)&&J.envVars){let K={};for(let[W,H]of Object.entries(J.envVars))try{K[W]=await this.vault.decrypt(H)}catch{K[W]=H}Y={...J,envVars:K}}else Y=J}catch(J){console.error(`Failed to parse connection_headers for connection ${$.id} (org: ${$.organization_id}, type: ${$.connection_type}, title: ${$.title}):`,J)}let G=(J)=>{if(J===null)return null;if(typeof J==="string")try{return JSON.parse(J)}catch{return null}return J};return{id:$.id,organization_id:$.organization_id,created_by:$.created_by,updated_by:$.updated_by??void 0,title:$.title,description:$.description,icon:$.icon,app_name:$.app_name,app_id:$.app_id,slug:$.slug,connection_type:$.connection_type,connection_url:$.connection_url,connection_token:X,connection_headers:Y,oauth_config:G($.oauth_config),configuration_state:Q,configuration_scopes:G($.configuration_scopes),metadata:G($.metadata),tools:null,bindings:G($.bindings),status:$.status,created_at:$.created_at,updated_at:$.updated_at}}}var AX4,TX4,X98;var Br0=O(()=>{CW();mn();QQ();j6();sX0();Z98();AX4=["connection_headers","oauth_config","configuration_scopes","metadata","bindings"],TX4=new Set(["id","organization_id","created_by","updated_by","title","description","icon","app_name","app_id","slug","connection_type","connection_url","status","created_at","updated_at"]),X98=new Set(["metadata","configuration_scopes","bindings"])});import{createHash as RX4,randomBytes as IX4,timingSafeEqual as dw5}from"crypto";function MX4($){return $.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Or0($){return RX4("sha256").update($).digest("hex")}function K98($){let Z=wr0.length+1,X=Z+J98;if(!$.startsWith(`${wr0}_`)||$.length<=X+1||$[X]!=="_")return null;let Q=$.slice(Z,X),Y=$.slice(X+1);if(!G98.test(Q)||!G98.test(Y))return null;return Q}function W98(){let $=MX4(IX4(qX4)),Z=$.slice(0,J98),X=`${wr0}_${Z}_${$}`;return{plaintext:X,prefix:Z,hash:Or0(X)}}var wr0="stv",qX4=32,J98=12,G98;var H98=O(()=>{G98=/^[A-Za-z0-9_-]+$/});function U98($){return{id:$.id,organizationId:$.organization_id,subjectConnectionId:$.subject_connection_id,tokenHash:$.token_hash,tokenPrefix:$.token_prefix,name:$.name,revokedAt:$.revoked_at,lastUsedAt:$.last_used_at,createdAt:$.created_at,updatedAt:$.updated_at}}class Lr0{db;constructor($){this.db=$}async createOrRotateWorkloadToken($){let Z=$.name??"default";return await this.db.transaction().execute(async(Q)=>{if(!await Q.selectFrom("connections").select("id").where("id","=",$.subjectConnectionId).where("organization_id","=",$.organizationId).executeTakeFirst())throw Error("Subject connection not found in organization");let G=W98(),J=new Date().toISOString();await Q.updateTable("connection_workload_tokens").set({revoked_at:J,updated_at:J}).where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("name","=",Z).where("revoked_at","is",null).execute();let K=await Q.insertInto("connection_workload_tokens").values({id:Z4("cwt"),organization_id:$.organizationId,subject_connection_id:$.subjectConnectionId,token_hash:G.hash,token_prefix:G.prefix,name:Z,revoked_at:null,last_used_at:null,created_at:J,updated_at:J}).returningAll().executeTakeFirstOrThrow();return{plaintextToken:G.plaintext,record:U98(K)}})}async findActiveWorkloadToken($){let Z=await this.db.selectFrom("connection_workload_tokens").selectAll().where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("name","=",$.name??"default").where("revoked_at","is",null).executeTakeFirst();return Z?U98(Z):null}async revokeWorkloadToken($){let Z=new Date().toISOString();await this.db.updateTable("connection_workload_tokens").set({revoked_at:Z,updated_at:Z}).where("id","=",$.tokenId).where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("revoked_at","is",null).execute()}async authenticateWorkloadToken($){let Z=K98($);if(!Z)return null;let X=Or0($),Q=await this.db.selectFrom("connection_workload_tokens").select(["id","organization_id","subject_connection_id","token_prefix"]).where("token_prefix","=",Z).where("token_hash","=",X).where("revoked_at","is",null).executeTakeFirst();if(!Q)return null;let Y=new Date().toISOString();return await this.db.updateTable("connection_workload_tokens").set({last_used_at:Y,updated_at:Y}).where("id","=",Q.id).execute(),{tokenId:Q.id,tokenPrefix:Q.token_prefix,organizationId:Q.organization_id,subjectConnectionId:Q.subject_connection_id}}async replaceGrantsForSubject($){await this.db.transaction().execute(async(Z)=>{if(!await Z.selectFrom("connections").select("id").where("id","=",$.subjectConnectionId).where("organization_id","=",$.organizationId).executeTakeFirst())throw Error("Referenced connection not found in organization");let Q=[...new Set($.grants.map((J)=>J.targetConnectionId))];if(Q.length>0){if((await Z.selectFrom("connections").select("id").where("organization_id","=",$.organizationId).where("id","in",Q).execute()).length!==Q.length)throw Error("Referenced connection not found in organization")}if(await Z.deleteFrom("connection_credential_grants").where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).execute(),$.grants.length===0)return;let Y=new Date().toISOString(),G=$.grants.map((J)=>({id:Z4("ccg"),organization_id:$.organizationId,subject_connection_id:$.subjectConnectionId,target_connection_id:J.targetConnectionId,scope:J.scope,created_by:$.createdBy,created_at:Y,updated_at:Y}));await Z.insertInto("connection_credential_grants").values(G).execute()})}async hasGrant($){return!!await this.db.selectFrom("connection_credential_grants").select("id").where("organization_id","=",$.organizationId).where("subject_connection_id","=",$.subjectConnectionId).where("target_connection_id","=",$.targetConnectionId).where("scope","=",$.scope).executeTakeFirst()}}var ZQ0="credential:access-token:read",XQ0="credential:configuration:read";var QQ0=O(()=>{QQ();H98()});class _y{db;constructor($){this.db=$}async create($,Z,X,Q){let Y=Q?.id??Z4("vir"),G=new Date().toISOString();await this.db.transaction().execute(async(K)=>{if(await K.insertInto("connections").values({id:Y,organization_id:$,created_by:Z,title:X.title,description:X.description??null,icon:X.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",pinned:X.pinned??!1,connection_url:`virtual://${Y}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:X.metadata?JSON.stringify(X.metadata):null,bindings:null,status:X.status??"active",created_at:G,updated_at:G}).execute(),X.connections.length>0)await K.insertInto("connection_aggregations").values(X.connections.map((W)=>({id:Z4("agg"),parent_connection_id:Y,child_connection_id:W.connection_id,selected_tools:W.selected_tools?JSON.stringify(W.selected_tools):null,selected_resources:W.selected_resources?JSON.stringify(W.selected_resources):null,selected_prompts:W.selected_prompts?JSON.stringify(W.selected_prompts):null,dependency_mode:"direct",created_at:G}))).execute()});let J=await this.findById(Y);if(!J)throw Error(`Failed to create virtual MCP with id: ${Y}`);return J}async findById($,Z){let X=L3($);if(X)return{...Wr0(Z??X),pinned:!1,connections:[]};let Q=tX0($);if(Q)return{...x58(Z??Q),pinned:!1,connections:[]};return this.findByIdInternal(this.db,$)}async findByIdInternal($,Z){let X=await $.selectFrom("connections").selectAll().where("id","=",Z).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return null;let Q=await $.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","=",Z).where("dependency_mode","=","direct").execute();return this.deserializeVirtualMCPEntity(X,Q)}async list($,Z){let X=this.db.selectFrom("connections").selectAll().where("organization_id","=",$).where("connection_type","=","VIRTUAL");if(Z?.pinnedOnly)X=X.where("pinned","=",!0);let Q=await X.execute(),Y=Q.map((K)=>K.id);if(Y.length===0)return[];let G=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",Y).where("dependency_mode","=","direct").execute(),J=new Map;for(let K of G){let W=J.get(K.parent_connection_id)??[];W.push(K),J.set(K.parent_connection_id,W)}return Q.map((K)=>this.deserializeVirtualMCPEntity(K,J.get(K.id)??[]))}async listByIds($,Z){if(Z.length===0)return[];let X=await this.db.selectFrom("connections").selectAll().where("id","in",Z).where("organization_id","=",$).where("connection_type","=","VIRTUAL").execute();if(X.length===0)return[];let Q=X.map((J)=>J.id),Y=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",Q).where("dependency_mode","=","direct").execute(),G=new Map;for(let J of Y){let K=G.get(J.parent_connection_id)??[];K.push(J),G.set(J.parent_connection_id,K)}return X.map((J)=>this.deserializeVirtualMCPEntity(J,G.get(J.id)??[]))}async listByConnectionId($,Z){let Q=(await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",Z).execute()).map((W)=>W.parent_connection_id);if(Q.length===0)return[];let Y=await this.db.selectFrom("connections").selectAll().where("id","in",Q).where("organization_id","=",$).where("connection_type","=","VIRTUAL").execute();if(Y.length===0)return[];let G=Y.map((W)=>W.id),J=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",G).where("dependency_mode","=","direct").execute(),K=new Map;for(let W of J){let H=K.get(W.parent_connection_id)??[];H.push(W),K.set(W.parent_connection_id,H)}return Y.map((W)=>this.deserializeVirtualMCPEntity(W,K.get(W.id)??[]))}async update($,Z,X){let Q=new Date().toISOString(),Y={updated_at:Q,updated_by:Z};if(X.title!==void 0)Y.title=X.title;if(X.description!==void 0)Y.description=X.description;if(X.icon!==void 0)Y.icon=X.icon;if(X.status!==void 0)Y.status=X.status;if(X.pinned!==void 0)Y.pinned=X.pinned;if(X.metadata!==void 0)Y.metadata=X.metadata?JSON.stringify(X.metadata):null;let G=[];await this.db.transaction().execute(async(K)=>{if(await K.updateTable("connections").set(Y).where("id","=",$).where("connection_type","=","VIRTUAL").execute(),X.connections!==void 0){let W=await K.selectFrom("connection_aggregations").select("child_connection_id").where("parent_connection_id","=",$).where("dependency_mode","=","direct").execute(),H=new Set(W.map((N)=>N.child_connection_id));if(await K.deleteFrom("connection_aggregations").where("parent_connection_id","=",$).where("dependency_mode","=","direct").execute(),X.connections.length>0)await K.insertInto("connection_aggregations").values(X.connections.map((N)=>({id:Z4("agg"),parent_connection_id:$,child_connection_id:N.connection_id,selected_tools:N.selected_tools?JSON.stringify(N.selected_tools):null,selected_resources:N.selected_resources?JSON.stringify(N.selected_resources):null,selected_prompts:N.selected_prompts?JSON.stringify(N.selected_prompts):null,dependency_mode:"direct",created_at:Q}))).execute();let U=new Set(X.connections.map((N)=>N.connection_id));for(let N of H)if(!U.has(N))G.push(N)}});for(let K of G)await this.cleanOrphanedPinnedViews([$],K);let J=await this.findById($);if(!J)throw Error("Virtual MCP not found after update");return J}async delete($){await this.db.transaction().execute(async(Z)=>{await Z.deleteFrom("threads").where("virtual_mcp_id","=",$).execute(),await Z.deleteFrom("connection_aggregations").where("parent_connection_id","=",$).execute(),await Z.deleteFrom("connections").where("id","=",$).where("connection_type","=","VIRTUAL").execute()})}async removeConnectionReferences($){let Z=await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",$).execute();await this.db.deleteFrom("connection_aggregations").where("child_connection_id","=",$).execute(),await this.cleanOrphanedPinnedViews(Z.map((X)=>X.parent_connection_id),$)}async cleanOrphanedPinnedViews($,Z){for(let X of $){let Q=await this.db.selectFrom("connections").select("metadata").where("id","=",X).executeTakeFirst();if(!Q?.metadata)continue;let Y;try{Y=typeof Q.metadata==="string"?JSON.parse(Q.metadata):Q.metadata}catch{continue}let G=Y?.ui?.pinnedViews;if(!Array.isArray(G))continue;let J=G.filter((H)=>H.connectionId!==Z);if(J.length===G.length)continue;let K=Y.ui??{},W={...Y,ui:{...K,pinnedViews:J.length>0?J:null}};await this.db.updateTable("connections").set({metadata:JSON.stringify(W)}).where("id","=",X).execute()}}deserializeVirtualMCPEntity($,Z){let X=$.created_at instanceof Date?$.created_at.toISOString():$.created_at,Q=$.updated_at instanceof Date?$.updated_at.toISOString():$.updated_at,Y=$.status==="active"?"active":"inactive",G=this.parseJson($.metadata),{sandboxMap:J,...K}=G??{},W=J!==void 0?xp0(J):void 0;return{id:$.id,organization_id:$.organization_id,title:$.title,description:$.description,icon:$.icon,status:Y,pinned:$.pinned,created_at:X,updated_at:Q,created_by:$.created_by,updated_by:$.updated_by??void 0,metadata:{...K,instructions:G?.instructions??null,...W!==void 0?{sandboxMap:W}:{}},connections:Z.map((H)=>({connection_id:H.child_connection_id,selected_tools:this.parseJson(H.selected_tools),selected_resources:this.parseJson(H.selected_resources),selected_prompts:this.parseJson(H.selected_prompts)}))}}parseJson($){if($===null)return null;if(typeof $==="string")try{return JSON.parse($)}catch{return null}return $}}function N98($){let Z=new Map,X=(Q,Y)=>{let G=Z.get(Q);if(G)return G;let J=Y();return Z.set(Q,J),J};return new Proxy($,{get(Q,Y,G){if(Y==="list")return(J,K)=>X(`list:${J}:${K?.pinnedOnly?1:0}`,()=>Q.list(J,K));if(Y==="create"||Y==="update"||Y==="delete"||Y==="removeConnectionReferences")return(...J)=>{return Z.clear(),Q[Y](...J)};return Reflect.get(Q,Y,G)}})}var Dr0=O(()=>{QQ();j6()});function lE($){let Z=String($??"");if(Z&&!Z.includes("T"))return Z.replace(" ","T")+"Z";return Z}function R8($){return $.replace(/\0/g,"").replace(/\\/g,"\\\\").replace(/'/g,"''")}function p6($){let Z=Number($??0);return Number.isFinite(Z)?Z:0}function kX4($){if(!VX4.has($))throw Error(`Invalid groupByColumn: ${$}`);return $}function Er0($){if(!SX4.test($))throw Error(`Invalid JSONPath: ${$}`);if($.startsWith("$."))return $;if($.startsWith("."))return`$${$}`;return`$.${$}`}function Ar0($){return $.replace(/^\$\./,"").split(".").map((X)=>`'${R8(X)}'`).join(", ")}function vX4($){let Z=CX4.exec($);if(!Z||!Z[1]||!Z[2])throw Error(`Invalid interval: ${$}`);let X=parseInt(Z[1],10),Q=Z[2],Y=_X4[Q];if(X<1||X>Y)throw Error(`Invalid interval amount: ${X}${Q} (max ${Y}${Q})`);return{amount:X,unit:Q}}function Nw($,Z,X="timestamp"){let{amount:Q,unit:Y}=vX4($),J={m:"MINUTE",h:"HOUR",d:"DAY"}[Y];if(Z==="duckdb")return`time_bucket(INTERVAL '${Q} ${J}', CAST(${X} AS TIMESTAMP))`;return`toStartOfInterval(${X}, INTERVAL ${Q} ${J})`}function pn($,Z,X){if(X==="duckdb")return`json_extract_string(${$}, '${Z}')`;let Q=Ar0(Z);return`JSONExtractString(${$}, ${Q})`}function xX4($,Z,X){if(X==="duckdb")return`CAST(json_extract_string(${$}, '${Z}') AS DOUBLE)`;let Q=Ar0(Z);return`JSONExtractFloat(${$}, ${Q})`}function F98($,Z,X){if(X==="duckdb")return`TRY_CAST(json_extract_string(${$}, '${Z}') AS DOUBLE)`;let Q=Ar0(Z);return`toFloat64OrZero(JSONExtractString(${$}, ${Q}))`}function zr0($){if($===null||$===void 0)return{};if(typeof $==="object")return $;let Z=String($);try{return JSON.parse(Z)}catch{return{_decocms_truncated:Z}}}function jr0($){return{id:String($.id??""),organizationId:String($.organization_id??""),connectionId:String($.connection_id??""),toolName:String($.tool_name??""),input:zr0($.input),output:zr0($.output),isError:$.is_error===1||$.is_error===!0||$.is_error==="1"||typeof $.is_error==="bigint"&&$.is_error===1n,errorMessage:$.error_message!=null?String($.error_message):null,durationMs:Number($.duration_ms??0),timestamp:(()=>{if($.timestamp instanceof Date)return $.timestamp.toISOString();let Z=String($.timestamp??""),X=new Date(Z.includes("T")?Z:Z.replace(" ","T")+"Z");return Number.isNaN(X.getTime())?Z:X.toISOString()})(),userId:$.user_id!=null?String($.user_id):null,requestId:String($.request_id??""),userAgent:$.user_agent!=null?String($.user_agent):null,virtualMcpId:$.virtual_mcp_id!=null?String($.virtual_mcp_id):null,properties:$.properties?zr0($.properties):null}}function L98($,Z){let X=[];if($.properties)for(let[Q,Y]of Object.entries($.properties)){let G=R8(Q),J=R8(Y);if(Z==="duckdb")X.push(`json_extract_string(properties, '$.${G}') = '${J}'`);else X.push(`JSONExtractString(properties, '${G}') = '${J}'`)}if($.propertyKeys)for(let Q of $.propertyKeys){let Y=R8(Q);if(Z==="duckdb")X.push(`json_extract_string(properties, '$.${Y}') IS NOT NULL AND json_extract_string(properties, '$.${Y}') != ''`);else X.push(`JSONExtractString(properties, '${Y}') IS NOT NULL AND JSONExtractString(properties, '${Y}') != ''`)}if($.propertyPatterns)for(let[Q,Y]of Object.entries($.propertyPatterns)){let G=R8(Q),J=R8(Y);if(Z==="duckdb")X.push(`json_extract_string(properties, '$.${G}') ILIKE '${J}'`);else X.push(`JSONExtractString(properties, '${G}') ILIKE '${J}'`)}if($.propertyInValues)for(let[Q,Y]of Object.entries($.propertyInValues)){let G=R8(Q),J=R8(Y);if(Z==="duckdb")X.push(`list_contains(string_split(json_extract_string(properties, '$.${G}'), ','), '${J}')`);else X.push(`has(splitByChar(',', JSONExtractString(properties, '${G}')), '${J}')`)}return X}function w98($,Z){let X=[];if(E3(X,Z?.startDate,$),!Z)return X;if(Z.connectionIds?.length){let Q=Z.connectionIds.map((Y)=>`'${R8(Y)}'`).join(",");X.push(`connection_id IN (${Q})`)}if(Z.toolNames?.length){let Q=Z.toolNames.map((Y)=>`'${R8(Y)}'`).join(",");X.push(`tool_name IN (${Q})`)}if(Z.virtualMcpIds?.length){let Q=Z.virtualMcpIds.map((Y)=>`'${R8(Y)}'`).join(",");X.push(`virtual_mcp_id IN (${Q})`)}if(Z.endDate)X.push(D3(Z.endDate,$));if(Z.propertyFilters)X.push(...L98(Z.propertyFilters,$));return X}function O98($,Z,X="timestamp"){if(Z==="duckdb")return`CAST(${X} AS TIMESTAMP) >= TIMESTAMP '${$.toISOString()}'`;if(X==="bucket")return`${X} >= parseDateTimeBestEffort('${$.toISOString()}')`;return`${X} >= parseDateTime64BestEffort('${$.toISOString()}', 9)`}function D3($,Z,X="timestamp"){if(Z==="duckdb")return`CAST(${X} AS TIMESTAMP) <= TIMESTAMP '${$.toISOString()}'`;if(X==="bucket")return`${X} <= parseDateTimeBestEffort('${$.toISOString()}')`;return`${X} <= parseDateTime64BestEffort('${$.toISOString()}', 9)`}function E3($,Z,X,Q="timestamp"){if(Z)$.push(O98(Z,X,Q));else if(X==="clickhouse")$.push(O98(new Date(Date.now()-fX4),X,Q))}class Tr0{engine;sourceFactory;metricEngine;metricSourceFactory;dialect;metricsFromLogs;constructor($,Z,X,Q,Y="clickhouse",G=!1){this.engine=$;this.sourceFactory=Z;this.metricEngine=X;this.metricSourceFactory=Q;this.dialect=Y;this.metricsFromLogs=G}async query($){if(!$.organizationId)throw Error("organizationId is required");let Z=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),X=[`organization_id = '${R8($.organizationId)}'`];if($.connectionId)X.push(`connection_id = '${R8($.connectionId)}'`);if($.excludeConnectionIds?.length){let F=$.excludeConnectionIds.map((B)=>`'${R8(B)}'`).join(",");X.push(`connection_id NOT IN (${F})`)}if($.virtualMcpId)X.push(`virtual_mcp_id = '${R8($.virtualMcpId)}'`);if($.toolName)X.push(`tool_name = '${R8($.toolName)}'`);if($.isError!==void 0)X.push(`is_error = ${$.isError?1:0}`);if(E3(X,$.startDate,this.dialect),$.endDate)X.push(D3($.endDate,this.dialect));if($.propertyFilters)X.push(...L98($.propertyFilters,this.dialect));let Q=1000,Y=Math.min(Math.max(1,Math.floor($.limit??50)),Q),G=Math.max(0,Math.floor($.offset??0)),J=X.join(" AND ");if(this.dialect==="duckdb"){let F=`SELECT ${B98}, count(*) OVER () AS _total FROM ${Z} WHERE ${J} ORDER BY timestamp DESC LIMIT ${Y} OFFSET ${G}`,B=await this.engine.query(F);if(B.length===0)return{logs:[],total:0};let w=Number(B[0]._total??0);return{logs:B.map(jr0),total:w}}let K=`SELECT count(*) AS total FROM ${Z} WHERE ${J}`,W=`SELECT ${B98} FROM ${Z} WHERE ${J} ORDER BY timestamp DESC LIMIT ${Y} OFFSET ${G}`,[H,U]=await Promise.all([this.engine.query(K),this.engine.query(W)]),N=Number(H[0]?.total??0);return{logs:U.map(jr0),total:N}}async getById($,Z){if(!$||!Z)return null;let Q=`SELECT * FROM ${this.sourceFactory($)} WHERE organization_id = '${R8($)}' AND id = '${R8(Z)}' LIMIT 1`,Y=await this.engine.query(Q);if(Y.length===0)return null;return jr0(Y[0])}async getStats($){if(!$.organizationId)throw Error("organizationId is required");let Z=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),X=[`organization_id = '${R8($.organizationId)}'`];if(E3(X,$.startDate,this.dialect),$.endDate)X.push(D3($.endDate,this.dialect));let Q=`SELECT count(*) AS total_calls, coalesce(sum(CASE WHEN is_error = 1 THEN 1.0 ELSE 0.0 END) / NULLIF(count(*), 0), 0) AS error_rate, coalesce(avg(duration_ms), 0) AS avg_duration_ms FROM ${Z} WHERE ${X.join(" AND ")}`,G=(await this.engine.query(Q))[0]??{};return{totalCalls:Number(G.total_calls??0),errorRate:Number(G.error_rate??0),avgDurationMs:Number(G.avg_duration_ms??0)}}async queryToolCallHeatmap($){if(!$.organizationId)throw Error("organizationId is required");let Z=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),X=[`organization_id = '${R8($.organizationId)}'`,"type = 'tool_call'"];if($.filters?.virtualMcpIds?.length){let J=$.filters.virtualMcpIds.map((K)=>`'${R8(K)}'`).join(",");X.push(`virtual_mcp_id IN (${J})`)}if($.filters?.excludeConnectionIds?.length){let J=$.filters.excludeConnectionIds.map((K)=>`'${R8(K)}'`).join(",");X.push(`connection_id NOT IN (${J})`)}if(E3(X,$.startDate,this.dialect),$.endDate)X.push(D3($.endDate,this.dialect));let Q=Math.min(Math.max(1,Math.floor($.limit??500)),1000),Y=`SELECT virtual_mcp_id, tool_name, count(*) AS calls, coalesce(sum(CASE WHEN is_error = 1 THEN 1 ELSE 0 END), 0) AS errors, coalesce(sum(length(output)), 0) AS output_size FROM ${Z} WHERE ${X.join(" AND ")} GROUP BY virtual_mcp_id, tool_name ORDER BY calls DESC LIMIT ${Q}`;return{cells:(await this.engine.query(Y)).map((J)=>({virtualMcpId:J.virtual_mcp_id?String(J.virtual_mcp_id):null,toolName:String(J.tool_name??""),calls:Number(J.calls??0),errors:Number(J.errors??0),outputSize:Number(J.output_size??0)}))}}async queryLlmUsageStats($){let Z={totalCalls:0,totalErrors:0,avgDurationMs:0,p50DurationMs:0,p95DurationMs:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,topTools:[],timeseries:[]};if(!$.organizationId||!$.connectionId)return Z;let X=this.dialect,Q=X==="clickhouse",Y=this.sourceFactory($.organizationId,{startDate:$.startDate,endDate:$.endDate}),G=Nw($.interval,X,"timestamp"),J=(E)=>`coalesce(${F98("properties",`$.${E}`,X)}, 0)`,K=Q?"count()":"count(*)",W=Q?"countIf(is_error = 1)":"count(*) FILTER (WHERE is_error = 1)",H=(E)=>Q?`quantile(${E})(duration_ms)`:`quantile_cont(duration_ms, ${E})`,U=[`organization_id = '${R8($.organizationId)}'`,`connection_id = '${R8($.connectionId)}'`];if(E3(U,$.startDate,X),$.endDate)U.push(D3($.endDate,X));if($.userIds?.length){let E=$.userIds.slice(0,100).map((z)=>`'${R8(z)}'`).join(",");U.push(`user_id IN (${E})`)}let N=U.join(" AND "),F=Math.min(Math.max(1,Math.floor($.topN??5)),20),B=`${K} AS calls,
|
|
1390
1390
|
${W} AS errors,
|
|
1391
1391
|
avg(duration_ms) AS avg,
|
|
1392
1392
|
sum(${J("input_tokens")}) AS in_tok,
|