decocms 4.204.27 → 4.204.28
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-BJ4u1LNq.js → AlertCircle-Cohgq6lh.js} +1 -1
- package/dist/client/assets/{AreaChart-KeE0liN4.js → AreaChart-DiGiqsfy.js} +1 -1
- package/dist/client/assets/{ArrowLeft-COdsfj2V.js → ArrowLeft-DmHfF6RM.js} +1 -1
- package/dist/client/assets/{ArrowUp-CEGDa237.js → ArrowUp-CIDZhzpR.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-DHTeHu8E.js → ArrowUpRight-CtYCotKE.js} +1 -1
- package/dist/client/assets/{Check-CmDhVxZZ.js → Check-BRfKndvv.js} +1 -1
- package/dist/client/assets/{CheckCircle-C_EisSg1.js → CheckCircle-BteJTMCd.js} +1 -1
- package/dist/client/assets/{ChevronDown-D2aV4uYJ.js → ChevronDown-BBbYstuO.js} +1 -1
- package/dist/client/assets/{ChevronRight-o1szzahj.js → ChevronRight-CzSAqn-p.js} +1 -1
- package/dist/client/assets/{ChevronUp-BMrzjhlA.js → ChevronUp-CpNPbg9Y.js} +1 -1
- package/dist/client/assets/{Copy01-CNrtrXXp.js → Copy01-j-DqJkKA.js} +1 -1
- package/dist/client/assets/{CpuChip01-B1Kk-CK2.js → CpuChip01-Fo6Lp-R4.js} +1 -1
- package/dist/client/assets/{CreditCard01-1LSwKFJH.js → CreditCard01-CPHcbRdu.js} +1 -1
- package/dist/client/assets/{DotsVertical-CU8E3sqr.js → DotsVertical-B0PdyNu4.js} +1 -1
- package/dist/client/assets/{Eye-DN-_cDkS.js → Eye-CiKWRM58.js} +1 -1
- package/dist/client/assets/{FilterLines-DngQkbOc.js → FilterLines-CNds4p1n.js} +1 -1
- package/dist/client/assets/{Globe01-VkznGgrP.js → Globe01-DVWWq2Fd.js} +1 -1
- package/dist/client/assets/{Globe04-MMOElABl.js → Globe04-BXdkCdK_.js} +1 -1
- package/dist/client/assets/{HardDrive-DpezqEZu.js → HardDrive-DTOSnpOj.js} +1 -1
- package/dist/client/assets/{Key01-Db2doMM9.js → Key01-CVkw96YD.js} +1 -1
- package/dist/client/assets/{LayoutLeft-DFppQNDY.js → LayoutLeft-B7ySqFPh.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DJm37cNM.js → LinkExternal01-H4Ni38TQ.js} +1 -1
- package/dist/client/assets/{LogOut01-v1g9Iwsk.js → LogOut01-DRqDD5DS.js} +1 -1
- package/dist/client/assets/{Monitor01-DcbkmAKe.js → Monitor01-seizlVVd.js} +1 -1
- package/dist/client/assets/{Palette-C3_K1GYN.js → Palette-Cer35omb.js} +1 -1
- package/dist/client/assets/{Play-CRTwNzmQ.js → Play-CA9EbSJZ.js} +1 -1
- package/dist/client/assets/{Plus-C49eK1Kt.js → Plus-BSD8nnDF.js} +1 -1
- package/dist/client/assets/{SearchLg-DctRe2MU.js → SearchLg-CT1ilOhC.js} +1 -1
- package/dist/client/assets/{SearchMd-BWJLbIUX.js → SearchMd-Ck9ENP60.js} +1 -1
- package/dist/client/assets/{Settings02-TmC46E5n.js → Settings02-Cq93OAUr.js} +1 -1
- package/dist/client/assets/{Share07-R51nl62g.js → Share07-D8xx88Gm.js} +1 -1
- package/dist/client/assets/{Shield01-DILA9VM_.js → Shield01-Dta8uJvX.js} +1 -1
- package/dist/client/assets/{Star01-B4dzxTj5.js → Star01-CjCTbn_X.js} +1 -1
- package/dist/client/assets/{Stars01-Cwd9v9t_.js → Stars01-BrBwOThG.js} +1 -1
- package/dist/client/assets/{Stars02-D_03bla-.js → Stars02-BVdfuJYn.js} +1 -1
- package/dist/client/assets/{Sun-DyOogoMJ.js → Sun-tVYcq2Un.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-Cjb0sr4O.js → SwitchHorizontal01-BXuFdy4l.js} +1 -1
- package/dist/client/assets/{Tool01-CjZ53ZMS.js → Tool01-CTeAIlZ-.js} +1 -1
- package/dist/client/assets/{Tool02-rU9XQFpI.js → Tool02-BSKeLIc_.js} +1 -1
- package/dist/client/assets/{Trash01-tK4K99vA.js → Trash01-BHei3-1A.js} +1 -1
- package/dist/client/assets/{TrendUp01-D27FEg-C.js → TrendUp01-I0A1loAP.js} +1 -1
- package/dist/client/assets/{Upload01-DSUZBmBp.js → Upload01-DnbNz6Ov.js} +1 -1
- package/dist/client/assets/{User01-Cj8Wp7xl.js → User01-BoiuosvX.js} +1 -1
- package/dist/client/assets/{Users01-BZZA3ogM.js → Users01-D-urTxZg.js} +1 -1
- package/dist/client/assets/{Users03-Di0uTc2Q.js → Users03-DEeGC-rC.js} +1 -1
- package/dist/client/assets/{X-DfYSrtsP.js → X-i6IhQaQU.js} +1 -1
- package/dist/client/assets/{XCircle-qpK_kqPe.js → XCircle-BEdtYqZ8.js} +1 -1
- package/dist/client/assets/{XClose-12YlNOHD.js → XClose-CjRgtYBF.js} +1 -1
- package/dist/client/assets/{Zap-CH3hcTqa.js → Zap-CHemnnQE.js} +1 -1
- package/dist/client/assets/{ZapSquare-CnLn4FOt.js → ZapSquare-Dbi00kmE.js} +1 -1
- package/dist/client/assets/{access-gate-cvXzJplE.js → access-gate-DbU4zFvY.js} +1 -1
- package/dist/client/assets/{agent-icon-uGxZgmT5.js → agent-icon-BHrI0FSU.js} +1 -1
- package/dist/client/assets/{agents-list-CvKAPt9B.js → agents-list-DVYEq37N.js} +1 -1
- package/dist/client/assets/{ai-providers-B73cYps2.js → ai-providers-CLjBJbBu.js} +1 -1
- package/dist/client/assets/{alert-KoYOVZIz.js → alert-CVaX3jbh.js} +1 -1
- package/dist/client/assets/{alert-dialog-CmIT68hi.js → alert-dialog-DlLYrIvu.js} +1 -1
- package/dist/client/assets/{app-editor-BFNR2aWN.js → app-editor-CQLbNshj.js} +1 -1
- package/dist/client/assets/{auth-catchall-BwX4xAzv.js → auth-catchall-BIcuzkBj.js} +1 -1
- package/dist/client/assets/{auth-entry-G_GcCfEz.js → auth-entry-CDR6L-Vc.js} +1 -1
- package/dist/client/assets/{auth-kcDuWg5m.js → auth-hsjKOIO7.js} +1 -1
- package/dist/client/assets/{auth-split-layout-B4t94PaH.js → auth-split-layout-Bw2-CFNS.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-CLs1joFC.js → authenticate-and-persist-oauth-C4JAiafB.js} +1 -1
- package/dist/client/assets/{automation-list-row-BKZJshnJ.js → automation-list-row-Dm7aEuT_.js} +1 -1
- package/dist/client/assets/{automation-runs-PuF5AbVS.js → automation-runs-CpLWVgng.js} +1 -1
- package/dist/client/assets/{automations-CMjhsFGh.js → automations-CkhUvE2c.js} +1 -1
- package/dist/client/assets/{avatar-B2adRmoB.js → avatar-HtrXU6Z7.js} +1 -1
- package/dist/client/assets/{badge-DhKmR772.js → badge-DXi83mxE.js} +1 -1
- package/dist/client/assets/{billing-CgwvIXZZ.js → billing-CFvKsPOr.js} +1 -1
- package/dist/client/assets/{block-document-DcUYAdse.js → block-document-t3H5hGMv.js} +1 -1
- package/dist/client/assets/{brand-context-leAdbfQS.js → brand-context-JOUciSd3.js} +1 -1
- package/dist/client/assets/{buckets-D2ePTM44.js → buckets-BR2GhLD8.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-DHlyXMpk.js → bulk-category-panel-fCYhsius.js} +1 -1
- package/dist/client/assets/{capability-load-error-BfRRVGZo.js → capability-load-error-D9yLx2IQ.js} +1 -1
- package/dist/client/assets/{card-Q_LZufkY.js → card-CuHdv9e6.js} +1 -1
- package/dist/client/assets/{cards-B_z-KI8u.js → cards-CVOLVgAk.js} +1 -1
- package/dist/client/assets/{category-editor-CGhNjKlg.js → category-editor-D4PhkUKV.js} +1 -1
- package/dist/client/assets/{chat-context-vqeOpJcC.js → chat-context-DjVsh8vX.js} +1 -1
- package/dist/client/assets/{checkbox-21Zv7EO_.js → checkbox-D-dv0qF-.js} +1 -1
- package/dist/client/assets/{cli-auth-success-nTdxTjml.js → cli-auth-success-ChGnZ2S8.js} +1 -1
- package/dist/client/assets/{collection-detail-DrRq41NO.js → collection-detail-CCpFfqpc.js} +1 -1
- package/dist/client/assets/{collection-display-button-ByVKH493.js → collection-display-button-Bw9uyTso.js} +1 -1
- package/dist/client/assets/{collection-search-Clpho75A.js → collection-search-Ce9t0LhM.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-r0Wm9wG6.js → collection-table-wrapper-CDrewrQ-.js} +1 -1
- package/dist/client/assets/{collection-tabs-zbKjyv7S.js → collection-tabs-CiHwKil5.js} +1 -1
- package/dist/client/assets/{command-9Hapyspy.js → command-Bsbq3QpO.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-P0aZEplf.js → commerce-onboarding-CTewqj_4.js} +1 -1
- package/dist/client/assets/{connect-CaY-FYQt.js → connect-BaVmuh7q.js} +1 -1
- package/dist/client/assets/{connection-CvAvnOKo.js → connection-Dp7Yugla.js} +1 -1
- package/dist/client/assets/{connection-card-BPA_ciDY.js → connection-card-CWdYF2Eu.js} +1 -1
- package/dist/client/assets/{connection-detail-tWktJgIH.js → connection-detail-BiOfqFop.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-BBr3tXNB.js → connection-form-helpers-BQvF6kD8.js} +1 -1
- package/dist/client/assets/{connections-DeEu2hC-.js → connections-C695UxAJ.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-CYYcJZsd.js → decopilot-sse-pool-BXN-Ix7F.js} +1 -1
- package/dist/client/assets/{dialog-BpVHnSDD.js → dialog-Dq_Vcm2T.js} +1 -1
- package/dist/client/assets/{domain-settings-Qwu0ugkX.js → domain-settings-S9x7278h.js} +1 -1
- package/dist/client/assets/{drawer-DUh-zRkp.js → drawer-DWxOP4Jw.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CFMtoqEW.js → dropdown-menu-hh_Zv-Q-.js} +1 -1
- package/dist/client/assets/{empty-state-B5HPM0gX.js → empty-state-D1qLwRAv.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DGVVOwJz.js → extract-connection-data-DF4As47R.js} +1 -1
- package/dist/client/assets/{file-explorer-IDeh3Lrb.js → file-explorer-CFOXtGQ8.js} +1 -1
- package/dist/client/assets/{file-type-icon-Mvl_zwj_.js → file-type-icon-44IHC-uV.js} +1 -1
- package/dist/client/assets/{form-D1a_IqXm.js → form-D45VpJol.js} +1 -1
- package/dist/client/assets/{general-B-vWyX3K.js → general-CNpXfRtj.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BLG8G5JH.js → github-repo-picker-C8nSBUvP.js} +1 -1
- package/dist/client/assets/{hooks--gOmeeSY.js → hooks-OOS7OQQT.js} +1 -1
- package/dist/client/assets/{index-5myhCn3H.js → index-4qPz0ywE.js} +1 -1
- package/dist/client/assets/{index-CsSyoUYc.js → index-BEaSM_In.js} +1 -1
- package/dist/client/assets/{index-sl9MQ04X.js → index-BHQat6cG.js} +1 -1
- package/dist/client/assets/{index-BnBej5fr.js → index-Bsc-MowH.js} +3 -3
- package/dist/client/assets/{index-CZhHbFPn.js → index-CgqQMyzX.js} +1 -1
- package/dist/client/assets/{index-Dzwh9haO.js → index-D_Y0gbq6.js} +5 -5
- package/dist/client/assets/{index-DnuC20ir.js → index-D_pdm6Y8.js} +1 -1
- package/dist/client/assets/{index-FhFLpn87.js → index-Dg-pmy_Q.js} +1 -1
- package/dist/client/assets/{index-I6LnWi3w.js → index-HFyR3kv3.js} +1 -1
- package/dist/client/assets/{index-udfqk96K.js → index-J4LQccyd.js} +1 -1
- package/dist/client/assets/{index-redirect-Dpl41zHA.js → index-redirect-uAw08PNL.js} +1 -1
- package/dist/client/assets/{input-D45VK5gg.js → input-BaC-B-m_.js} +1 -1
- package/dist/client/assets/{integration-icon-BHWWNxKg.js → integration-icon-7TzMS_97.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-Mrqx0uuQ.js → invite-member-dialog-BvKDOkGd.js} +1 -1
- package/dist/client/assets/{label-DwOiNfie.js → label-C05j-8BC.js} +1 -1
- package/dist/client/assets/{layout-p86BY98h.js → layout-dTvzPXiY.js} +1 -1
- package/dist/client/assets/{login-BNz9lzKr.js → login-Cw6SKiPO.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CKZLEnpQ.js → mcp-oauth-BK3v_IkA.js} +1 -1
- package/dist/client/assets/{members-am9oVqpl.js → members-BAVt1OWS.js} +1 -1
- package/dist/client/assets/{monaco-editor-Z4tvlQad.js → monaco-editor-Cg0chtg3.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-BxU2OM6L.js → monitoring-stats-row-5EehcFic.js} +1 -1
- package/dist/client/assets/{multi-select-DI3dxguj.js → multi-select-BM_vGAse.js} +1 -1
- package/dist/client/assets/{oauth-callback-DL2jUgcu.js → oauth-callback-7--pAg2i.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CapZ_Zyq.js → oauth-callback-ai-provider-BNhqpaL_.js} +1 -1
- package/dist/client/assets/{onboarding-Bv7uA6bp.js → onboarding-BfDtWXTo.js} +1 -1
- package/dist/client/assets/{org-layout-917Q4L7A.js → org-layout-BLPhC5Fk.js} +1 -1
- package/dist/client/assets/{organization-choice-ftzpkGXg.js → organization-choice-Cq5lDvGN.js} +1 -1
- package/dist/client/assets/{orgs-vwl43Qpa.js → orgs-B64JcvTw.js} +1 -1
- package/dist/client/assets/{page-seo-form-BvSnMPxH.js → page-seo-form-C4HdDDIK.js} +1 -1
- package/dist/client/assets/{popover-CDVvJyBS.js → popover-DusSYnOh.js} +1 -1
- package/dist/client/assets/{post-editor-4jvB5Rmm.js → post-editor-x-Q3ZOiY.js} +1 -1
- package/dist/client/assets/{primitives-6-8uRIFY.js → primitives-CI1srYvZ.js} +1 -1
- package/dist/client/assets/{profile-DDPCa8mk.js → profile-BXhMMov5.js} +1 -1
- package/dist/client/assets/{project-app-view-l6khLebl.js → project-app-view-uTDsG22V.js} +1 -1
- package/dist/client/assets/record-editor-DTKiZ22A.js +1 -0
- package/dist/client/assets/{redirect-editor-C7IWuaip.js → redirect-editor-DsOu95aI.js} +1 -1
- package/dist/client/assets/{registry-layout-CXsZWCVT.js → registry-layout-DemdziZ-.js} +1 -1
- package/dist/client/assets/registry-xEiAKrKA.js +2 -0
- package/dist/client/assets/{reports-Dv5nG-kg.js → reports-BEcpAXiC.js} +1 -1
- package/dist/client/assets/{require-capability-CgIBgzlW.js → require-capability-Cw1kGB80.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Dn93p_4-.js → required-auth-layout-BbQ_J2Si.js} +1 -1
- package/dist/client/assets/{reset-password-j3ZXahIm.js → reset-password-DAywOW__.js} +1 -1
- package/dist/client/assets/{roles-Kv6W4wwR.js → roles-DW4ATrAt.js} +1 -1
- package/dist/client/assets/{search-input-BSItHW5H.js → search-input-DZUjFABt.js} +1 -1
- package/dist/client/assets/{secrets-DTe_17N1.js → secrets-Bku7Vp0C.js} +1 -1
- package/dist/client/assets/{sections-editor-BgtYpQXf.js → sections-editor-ts7AiCVW.js} +1 -1
- package/dist/client/assets/{select-43Rkdq9D.js → select-BEKnZ56Q.js} +1 -1
- package/dist/client/assets/{select-model-DH-92zWQ.js → select-model-CbCRlwP0.js} +1 -1
- package/dist/client/assets/{self-tool-result-Dzpf6msm.js → self-tool-result-Bowrf1oO.js} +1 -1
- package/dist/client/assets/{seo-editor-CzHaNmtZ.js → seo-editor-BT_DtFur.js} +1 -1
- package/dist/client/assets/{settings-layout-0JOcVlMC.js → settings-layout-Cmg46xwC.js} +1 -1
- package/dist/client/assets/{settings-section-DRjx7fIl.js → settings-section-DP9Hv20l.js} +1 -1
- package/dist/client/assets/{shell-controls-BFxg28P2.js → shell-controls-DclSFGd8.js} +1 -1
- package/dist/client/assets/{shell-layout-DIEbEPvV.js → shell-layout-CxcE-BHh.js} +1 -1
- package/dist/client/assets/{sidebar-dsG1Z8e2.js → sidebar-Ky3sLiDS.js} +1 -1
- package/dist/client/assets/{skeleton-1Awasb8g.js → skeleton-BO1kr6St.js} +1 -1
- package/dist/client/assets/{spinner-DKO3cCAd.js → spinner-B3t5NIBx.js} +1 -1
- package/dist/client/assets/{sso-CEn-Zgu2.js → sso-CxdyAfkg.js} +1 -1
- package/dist/client/assets/{store-BROLEMiX.js → store-DDGHRklc.js} +1 -1
- package/dist/client/assets/store-registry-6piF1cxM.js +2 -0
- package/dist/client/assets/{studio-tools-BjAdIBB2.js → studio-tools-_NDCXZn7.js} +1 -1
- package/dist/client/assets/{switch-DJ99yslh.js → switch-Bn9_IHRI.js} +1 -1
- package/dist/client/assets/{synced-repos-DI804MH9.js → synced-repos-BYuG_Q_F.js} +1 -1
- package/dist/client/assets/{tab-id-C-m4oCcl.js → tab-id-DhRKox2f.js} +1 -1
- package/dist/client/assets/{table-BcRlgHaE.js → table-BcojRcOT.js} +1 -1
- package/dist/client/assets/{tabs-CuU_YbWc.js → tabs-3ECf9Pbz.js} +1 -1
- package/dist/client/assets/{textarea-Bdz31Rsu.js → textarea-Cv28vfkI.js} +1 -1
- package/dist/client/assets/{toggle-group-D7iAgO0q.js → toggle-group-DZAji_Za.js} +1 -1
- package/dist/client/assets/{toolbar-BTMw9ln-.js → toolbar-aK3lbKVc.js} +1 -1
- package/dist/client/assets/{tooltip-oRmDcD75.js → tooltip-BUpwb4D0.js} +1 -1
- package/dist/client/assets/{use-ai-providers-D2vnkr2u.js → use-ai-providers-BnQy3cTo.js} +1 -1
- package/dist/client/assets/{use-automations-dAcNLXfJ.js → use-automations-13mdeqt6.js} +1 -1
- package/dist/client/assets/{use-autosave-DYAo_6ne.js → use-autosave-DbHEXUkz.js} +1 -1
- package/dist/client/assets/{use-capability-DDcBU6AW.js → use-capability-DrZ9WXJu.js} +1 -1
- package/dist/client/assets/{use-clock-tick-DnvEnFRg.js → use-clock-tick-d3nBPuNx.js} +1 -1
- package/dist/client/assets/{use-connection-DBFA-LYh.js → use-connection-Ca7nXoJO.js} +1 -1
- package/dist/client/assets/{use-copy-BHftyx8f.js → use-copy-DwVuRFiv.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-C8W2VKOJ.js → use-create-virtual-mcp-Chgoq-l1.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D3do20xr.js → use-debounced-autosave-BQ6SZ2Cg.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CZxsBVm7.js → use-debounced-value-3h4sFody.js} +1 -1
- package/dist/client/assets/{use-deco-credits-CBaEID7T.js → use-deco-credits-B4v_c6bT.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BdvZcFx8.js → use-decopilot-events-B1noXUdN.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DFM5LXTv.js → use-delete-connection-BL2UdFie.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-DBZ_xzPR.js → use-deployment-admin-DfD6MSru.js} +1 -1
- package/dist/client/assets/{use-file-configs-HfJtJ83T.js → use-file-configs-CTIy5Uv3.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-BSgjZcr1.js → use-infinite-scroll-Dm8XacS4.js} +1 -1
- package/dist/client/assets/{use-join-requests-BIMv8glc.js → use-join-requests-YGeAuz0z.js} +1 -1
- package/dist/client/assets/{use-mcp-client-BS6hmpTS.js → use-mcp-client-C2u04vNp.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-D4fstDaR.js → use-mcp-tools-DZFOFJZg.js} +1 -1
- package/dist/client/assets/{use-members-CXN6hXVe.js → use-members-CojQgum9.js} +1 -1
- package/dist/client/assets/{use-mobile-DTaXNzPX.js → use-mobile-DEwEai3d.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-DrENIyCe.js → use-navigate-to-agent-D_evLTpL.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-yasc2rXQ.js → use-open-billing-url-QNDxzf3f.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CkN27o9h.js → use-org-auth-client-D1p_fXMf.js} +1 -1
- package/dist/client/assets/{use-org-sso-B2rchNrW.js → use-org-sso-DWke4Jse.js} +1 -1
- package/dist/client/assets/{use-organization-roles-VVr1O_s5.js → use-organization-roles-C3GSWA6d.js} +1 -1
- package/dist/client/assets/{use-organization-settings-1E18cYDy.js → use-organization-settings-DaKU1Ugq.js} +1 -1
- package/dist/client/assets/{use-registry-connections-BK0EAcqh.js → use-registry-connections-CvS2D8QF.js} +1 -1
- package/dist/client/assets/{use-secrets-k5Ni2-YC.js → use-secrets-DDJe_d4w.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-BkthuUzB.js → use-section-preview-base-DR1U8bZL.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DHj8fExA.js → use-status-sounds-Be30Ti5W.js} +1 -1
- package/dist/client/assets/{use-tags-Dw2bcih1.js → use-tags-hbOFHGDs.js} +1 -1
- package/dist/client/assets/{use-view-mode-9sIRBLOh.js → use-view-mode-B5i2JLn6.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-VlsWfdQ_.js → use-virtual-mcp-Ld7j-glh.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-O_60c8gU.js +1 -0
- package/dist/client/assets/{useRouterState-BrXXki2j.js → useRouterState-BAm_zUGf.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DbpxpdOS.js +1 -0
- package/dist/client/assets/{users-lkJCC7p9.js → users-DUqkYkub.js} +1 -1
- package/dist/client/assets/{variant-calendar-7uLiKxx3.js → variant-calendar-BLvDgzzT.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-1z1e1NUl.js → view-mode-toggle-Cuwx-a-_.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-D4zg1JqZ.js +0 -1
- package/dist/client/assets/registry-CcNMfDk6.js +0 -2
- package/dist/client/assets/store-registry-BUOFSEay.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Bw8gFj0W.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-xCB5P025.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -1332,7 +1332,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var pc1=O(()=>{Vx()});f
|
|
|
1332
1332
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await Qb`
|
|
1333
1333
|
DELETE FROM kysely_migration WHERE name = ${X}
|
|
1334
1334
|
`.execute($)}}async function Nn1($){await pc6($),await tc6($);let Z=new Hn1({db:$,provider:{getMigrations:()=>Promise.resolve(rl0)}}),{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 oc6($){let{keepOpen:Z=!1,database:X,skipBetterAuth:Q=!1}=$??{},Y="skipped";if(!Q&&!X)Y=await Ph0();let G=X??U6(),J=async()=>{if(!Z&&!X)await Lw(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await Nn1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function rc6(){let $=U6(),Z=new Hn1({db:$.db,provider:{getMigrations:()=>Promise.resolve(rl0)}}),{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 wn1=O(()=>{Wn1();Ah0();o7()});async function Z90($){let Z={...process.env},X=t00($,Z);console.log(MF1(X.settings.encryptionKey));let Q=X.settings.betterAuthSecret||(X.settings.localMode?Rd1(X.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (N50(),U50)),{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(() => (Ah0(),qd1));await W(G.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (o7(),ll1)),{migrateToLatest:U}=await Promise.resolve().then(() => (wn1(),Fn1)),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 tc1(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 al0=O(()=>{Vx();Id1();b8()});var Ln1={};B0(Ln1,{updateService:()=>oD,subscribeCliState:()=>$d0,setTuiConsoleIntercepted:()=>X90,setServerUrl:()=>_m,setMigrationsDone:()=>Cm,setDevMode:()=>ec6,resetCliStateForTests:()=>ac6,isTuiConsoleIntercepted:()=>Q90,getCliState:()=>el0,addLogEntry:()=>Pw});function Bn1(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function ac6(){_Q=Bn1()}function sc6(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function Sm(){for(let $ of sl0)$()}function el0(){return _Q}function $d0($){return sl0.add($),()=>sl0.delete($)}function oD($){_Q={..._Q,services:_Q.services.map((Z)=>Z.name===$.name?$:Z)},Sm()}function Cm(){_Q={..._Q,migrationsStatus:"done"},Sm()}function _m($){_Q={..._Q,serverUrl:$},Sm()}function Pw($){let Z=[..._Q.logs,$];_Q={..._Q,logs:Z.length>500?Z.slice(-500):Z},Sm()}function ec6(){_Q={..._Q,services:[...sc6(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},Sm()}function X90($){On1=$}function Q90(){return On1}var _Q,sl0,On1=!1;var rD=O(()=>{_Q=Bn1();sl0=new Set});import{createServer as Dn1}from"net";function $l6($){return new Promise((Z)=>{let X=Dn1();X.once("error",()=>Z(!1)),X.listen($,"0.0.0.0",()=>{X.close(()=>Z(!0))})})}async function vm($){if(await $l6($))return $;let Z=await new Promise((X,Q)=>{let Y=Dn1();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 Zd0=()=>{};function xm($){return $.replace(/\x1b\[[0-9;]*m/g,"")}var Xd0={};B0(Xd0,{startDevServer:()=>Xl6});import{join as Zl6}from"path";function En1($){let Z=$.getReader(),X=new TextDecoder,Q="";function Y(){let G=Q.split(`
|
|
1335
|
-
`);Q=G.pop()??"";for(let J of G){let K=xm(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;Pw({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=xm(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)Pw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Xl6($){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 vm(Number(Y)+1):await vm(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await Z90({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)oD({name:L.name,status:"ready",port:L.port});Cm();let U=Zl6(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)En1(F.stdout),En1(F.stderr);_m(G),oD({name:"Vite",status:"ready",port:Number(Y)}),oD({name:"API",status:"ready",port:Number(K.port)});let B=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (N50(),U50));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var Qd0=O(()=>{al0();rD();Zd0()});var Y90;var Yd0=O(()=>{Y90={name:"decocms",version:"4.204.27",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",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.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 Yl6,Text as zn1}from"ink";import{jsx as Gl6,jsxs as jn1}from"react/jsx-runtime";function Pn1({version:$}){return jn1(Yl6,{flexDirection:"column",marginTop:1,children:[_50.map((Z,X)=>Gl6(zn1,{color:v50[X],children:Z},X)),jn1(zn1,{dimColor:!0,children:[" v",$]})]})}var An1=O(()=>{zm()});import{Box as aD,Text as Aw}from"ink";import{Spinner as Jl6}from"@inkjs/ui";import{jsx as lY,jsxs as Yb}from"react/jsx-runtime";function Tn1({status:$}){if($==="pending")return lY(Jl6,{label:""});return lY(Aw,{color:"green",children:"\u2713"})}function Kl6($){return`${$.name}: ${$.port||"...."}`}function Rn1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Yb(aD,{flexDirection:"column",paddingBottom:1,children:[lY(Pn1,{version:Y90.version}),lY(aD,{marginBottom:1,children:lY(Aw,{dimColor:!0,children:"\u2500".repeat(80)})}),lY(aD,{children:Yb(Aw,{dimColor:!0,children:["Home: ",X]})}),Yb(aD,{gap:2,children:[$.map((Y)=>Yb(aD,{gap:1,children:[lY(Aw,{children:Kl6(Y)}),lY(Tn1,{status:Y.status})]},Y.name)),Yb(aD,{gap:1,children:[lY(Aw,{children:"Migrations"}),lY(Tn1,{status:Z})]})]}),lY(aD,{children:Q?Yb(Aw,{children:["Open in browser: ",lY(Aw,{color:"cyan",children:Q})]}):lY(Aw,{dimColor:!0,children:"Starting..."})})]})}var In1=O(()=>{Yd0();An1()});import{Box as Wl6,Text as fm}from"ink";import{jsx as Gd0,jsxs as Jd0}from"react/jsx-runtime";function Hl6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function qn1({logs:$}){return Gd0(Wl6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return Gd0(fm,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return Jd0(fm,{children:[Jd0(fm,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),Gd0(fm,{color:Hl6(Z.status),children:Z.status}),Jd0(fm,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Mn1=()=>{};var Kd0={};B0(Kd0,{App:()=>Fl6});import{Box as Ul6}from"ink";import{useSyncExternalStore as Nl6}from"react";import{jsx as kn1,jsxs as wl6}from"react/jsx-runtime";function Fl6({home:$}){let Z=Nl6($d0,el0);return wl6(Ul6,{flexDirection:"column",children:[kn1(Rn1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),kn1(qn1,{logs:Z.logs})]})}var Wd0=O(()=>{In1();Mn1();rD()});var OJ="thread-gate",xU="decopilot-hosted-harness",tG="automations",Tw="background-tools";var Vn1="7";function Sn1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Vn1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var Cn1=()=>{};function Bl6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Hd0($,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 _n1(){let $=Bl6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Hd0($,"--cpu-prof-dir")??process.cwd(),name:Hd0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Hd0($,"--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 vn1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=iD();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(()=>{}),G90=setInterval(()=>void Z().catch(()=>{}),$),G90.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(G90)clearInterval(G90)}}var G90;var xn1=()=>{};import*as Ol6 from"bun:jsc";function fn1(){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{Ll6()}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=Dl6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let U of K){let N=U.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??U.frames[0];if(!N)continue;let F=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),w=`${N.name??"?"} @ ${F}:${N.line??"?"}`;W.set(w,(W.get(w)??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 Ll6,Dl6;var bn1=O(()=>{({startSamplingProfiler:Ll6,samplingProfilerStackTraces:Dl6}=Ol6)});function yn1(){_n1();let $=[vn1(),xl1(),fn1()];return()=>{for(let Z of $)Z()}}var gn1=O(()=>{Nh0();xn1();bn1()});var sD=_((hn1)=>{Object.defineProperty(hn1,"__esModule",{value:!0});hn1.RepublishHeaders=hn1.DirectMsgHeaders=hn1.JsHeaders=hn1.AdvisoryKind=void 0;hn1.isOrderedPushConsumerOptions=El6;hn1.isPullConsumer=zl6;hn1.isPushConsumer=jl6;hn1.isBoundPushConsumerOptions=Pl6;function El6($){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 zl6($){return $.isPullConsumer()}function jl6($){return $.isPushConsumer()}function Pl6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}hn1.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"};hn1.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"};hn1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};hn1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var dY=_((cn1)=>{Object.defineProperty(cn1,"__esModule",{value:!0});cn1.TD=cn1.TE=cn1.Empty=void 0;cn1.encode=Sl6;cn1.decode=Cl6;cn1.Empty=new Uint8Array(0);cn1.TE=new TextEncoder;cn1.TD=new TextDecoder;function Vl6(...$){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 Sl6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(cn1.TE.encode($[X]));if(Z.length===0)return cn1.Empty;if(Z.length===1)return Z[0];return Vl6(...Z)}function Cl6($){if(!$||$.length===0)return"";return cn1.TD.decode($)}});var mY=_((mn1)=>{Object.defineProperty(mn1,"__esModule",{value:!0});mn1.errors=mn1.PermissionViolationError=mn1.NoRespondersError=mn1.TimeoutError=mn1.RequestError=mn1.ProtocolError=mn1.ConnectionError=mn1.DrainingConnectionError=mn1.ClosedConnectionError=mn1.AuthorizationError=mn1.UserAuthenticationExpiredError=mn1.InvalidOperationError=mn1.InvalidArgumentError=mn1.InvalidSubjectError=void 0;class Nd0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}mn1.InvalidSubjectError=Nd0;class J90 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 J90(`${$} ${Z}`,X)}}mn1.InvalidArgumentError=J90;class Fd0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}mn1.InvalidOperationError=Fd0;class K90 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new K90($);return null}}mn1.UserAuthenticationExpiredError=K90;class W90 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 W90($);return null}}mn1.AuthorizationError=W90;class wd0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}mn1.ClosedConnectionError=wd0;class Bd0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}mn1.DrainingConnectionError=Bd0;class Od0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}mn1.ConnectionError=Od0;class Ld0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}mn1.ProtocolError=Ld0;class Dd0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof H90}}mn1.RequestError=Dd0;class Ed0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}mn1.TimeoutError=Ed0;class H90 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}mn1.NoRespondersError=H90;class U90 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 U90($,X,Q,Y)}}mn1.PermissionViolationError=U90;mn1.errors={AuthorizationError:W90,ClosedConnectionError:wd0,ConnectionError:Od0,DrainingConnectionError:Bd0,InvalidArgumentError:J90,InvalidOperationError:Fd0,InvalidSubjectError:Nd0,NoRespondersError:H90,PermissionViolationError:U90,ProtocolError:Ld0,RequestError:Dd0,TimeoutError:Ed0,UserAuthenticationExpiredError:K90}});var LJ=_((on1)=>{Object.defineProperty(on1,"__esModule",{value:!0});on1.SimpleMutex=on1.Perf=void 0;on1.extend=tl6;on1.render=ol6;on1.timeout=rl6;on1.delay=al6;on1.deadline=sl6;on1.deferred=jd0;on1.debugDeferred=el6;on1.shuffle=$d6;on1.collect=Zd6;on1.jitter=tn1;on1.backoff=Xd6;on1.nanos=Qd6;on1.millis=Yd6;on1.randomToken=Kd6;var pl6=dY(),zd0=mY();function tl6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function ol6($){return pl6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function rl6($,Z=!0){let X=Z?new zd0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new zd0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function al6($=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 sl6($,Z=1000){let X=jd0(),Q=setTimeout(()=>{X.reject(new zd0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function jd0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function el6(){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 $d6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function Zd6($){let Z=[];for await(let X of $)Z.push(X);return Z}class nn1{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})}),$}}on1.Perf=nn1;class pn1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=jd0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}on1.SimpleMutex=pn1;function tn1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function Xd6($=[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 tn1(X>Z?$[Z]:$[X])}}}function Qd6($){return $*1e6}function Yd6($){return Math.floor($/1e6)}var Gd6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",fU=new Uint8Array(62);for(let $=0;$<62;$++)fU[$]=Gd6.charCodeAt($);var Jd6=218340105584896;function Kd6(){let $=Math.floor(Math.random()*Jd6),Z=$%62,X=fU[Z];$=($-Z)/62,Z=$%62;let Q=fU[Z];$=($-Z)/62,Z=$%62;let Y=fU[Z];$=($-Z)/62,Z=$%62;let G=fU[Z];$=($-Z)/62,Z=$%62;let J=fU[Z];$=($-Z)/62,Z=$%62;let K=fU[Z];$=($-Z)/62,Z=$%62;let W=fU[Z];$=($-Z)/62;let H=fU[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var Qp1=_((Zp1)=>{Object.defineProperty(Zp1,"__esModule",{value:!0});Zp1.nuid=Zp1.NuidImpl=void 0;var Td6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Rw=62,F90=12,en1=10,an1=33,Rd6=333,sn1=F90+en1,Ad0=new Uint8Array(Rw);for(let $=0;$<Rw;$++)Ad0[$]=Td6.charCodeAt($);var N90=4294967296,$p1=BigInt(Rw)**BigInt(en1),bm=Number($p1/(1n<<32n)),Pd0=Number($p1%(1n<<32n));function Id6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function qd6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Id6($)}class Td0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(sn1),this.cbuf=new Uint8Array(F90),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(bm+1)),this.seqLo=Math.floor(Math.random()*N90);while($++<8&&this.seqHi===bm&&this.seqLo>=Pd0);if(this.seqHi===bm&&this.seqLo>=Pd0)this.seqLo=0;this.inc=Math.random()*(Rd6-an1)+an1|0}setPre(){qd6(this.cbuf);for(let $=0;$<F90;$++)this.buf[$]=Ad0[this.cbuf[$]%Rw]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=sn1-1;X>=F90;X--){let Q=Math.floor($/Rw),G=($-Q*Rw)*N90+Z,J=Math.floor(G/Rw),K=G-J*Rw;this.buf[X]=Ad0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=N90)this.seqLo-=N90,this.seqHi+=1;if(this.seqHi>bm||this.seqHi===bm&&this.seqLo>=Pd0)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()}}Zp1.NuidImpl=Td0;Zp1.nuid=new Td0});var Kp1=_((Gp1)=>{Object.defineProperty(Gp1,"__esModule",{value:!0});Gp1.nuid=Gp1.Nuid=void 0;var Yp1=Qp1();Gp1.Nuid=Yp1.NuidImpl;Gp1.nuid=Yp1.nuid});var B90=_((w90)=>{Object.defineProperty(w90,"__esModule",{value:!0});w90.nuid=w90.Nuid=void 0;var Wp1=Kp1();Object.defineProperty(w90,"Nuid",{enumerable:!0,get:function(){return Wp1.Nuid}});Object.defineProperty(w90,"nuid",{enumerable:!0,get:function(){return Wp1.nuid}})});var Iw=_((Hp1)=>{Object.defineProperty(Hp1,"__esModule",{value:!0});Hp1.DEFAULT_HOST=Hp1.DEFAULT_PORT=Hp1.Match=void 0;Hp1.syncIterator=_d6;Hp1.createInbox=vd6;var Sd6=B90(),Cd6=mY();Hp1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function _d6($){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 vd6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Cd6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Sd6.nuid.next()}`}Hp1.DEFAULT_PORT=4222;Hp1.DEFAULT_HOST="127.0.0.1"});var ym=_((wp1)=>{Object.defineProperty(wp1,"__esModule",{value:!0});wp1.DataBuffer=void 0;var Np1=dY();class Fp1{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 Np1.TE.encode($)}static toAscii($){return Np1.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}}wp1.DataBuffer=Fp1});var eD=_((Lp1)=>{Object.defineProperty(Lp1,"__esModule",{value:!0});Lp1.LF=Lp1.CR=Lp1.CRLF=Lp1.CR_LF_LEN=Lp1.CR_LF=void 0;Lp1.setTransportFactory=cd6;Lp1.defaultPort=ld6;Lp1.getUrlParseFn=dd6;Lp1.newTransport=md6;Lp1.getResolveFn=id6;Lp1.protoLen=Op1;Lp1.extractProtocolMessage=nd6;var gd6=dY(),hd6=Iw(),ud6=ym(),iY;function cd6($){iY=$}function ld6(){return iY!==void 0&&iY.defaultPort!==void 0?iY.defaultPort:hd6.DEFAULT_PORT}function dd6(){return iY!==void 0&&iY.urlParseFn?iY.urlParseFn:void 0}function md6(){if(!iY||typeof iY.factory!=="function")throw Error("transport fn is not set");return iY.factory()}function id6(){return iY!==void 0&&iY.dnsResolveFn?iY.dnsResolveFn:void 0}Lp1.CR_LF=`\r
|
|
1335
|
+
`);Q=G.pop()??"";for(let J of G){let K=xm(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;Pw({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=xm(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)Pw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Xl6($){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 vm(Number(Y)+1):await vm(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await Z90({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)oD({name:L.name,status:"ready",port:L.port});Cm();let U=Zl6(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)En1(F.stdout),En1(F.stderr);_m(G),oD({name:"Vite",status:"ready",port:Number(Y)}),oD({name:"API",status:"ready",port:Number(K.port)});let B=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (N50(),U50));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var Qd0=O(()=>{al0();rD();Zd0()});var Y90;var Yd0=O(()=>{Y90={name:"decocms",version:"4.204.28",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",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.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 Yl6,Text as zn1}from"ink";import{jsx as Gl6,jsxs as jn1}from"react/jsx-runtime";function Pn1({version:$}){return jn1(Yl6,{flexDirection:"column",marginTop:1,children:[_50.map((Z,X)=>Gl6(zn1,{color:v50[X],children:Z},X)),jn1(zn1,{dimColor:!0,children:[" v",$]})]})}var An1=O(()=>{zm()});import{Box as aD,Text as Aw}from"ink";import{Spinner as Jl6}from"@inkjs/ui";import{jsx as lY,jsxs as Yb}from"react/jsx-runtime";function Tn1({status:$}){if($==="pending")return lY(Jl6,{label:""});return lY(Aw,{color:"green",children:"\u2713"})}function Kl6($){return`${$.name}: ${$.port||"...."}`}function Rn1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Yb(aD,{flexDirection:"column",paddingBottom:1,children:[lY(Pn1,{version:Y90.version}),lY(aD,{marginBottom:1,children:lY(Aw,{dimColor:!0,children:"\u2500".repeat(80)})}),lY(aD,{children:Yb(Aw,{dimColor:!0,children:["Home: ",X]})}),Yb(aD,{gap:2,children:[$.map((Y)=>Yb(aD,{gap:1,children:[lY(Aw,{children:Kl6(Y)}),lY(Tn1,{status:Y.status})]},Y.name)),Yb(aD,{gap:1,children:[lY(Aw,{children:"Migrations"}),lY(Tn1,{status:Z})]})]}),lY(aD,{children:Q?Yb(Aw,{children:["Open in browser: ",lY(Aw,{color:"cyan",children:Q})]}):lY(Aw,{dimColor:!0,children:"Starting..."})})]})}var In1=O(()=>{Yd0();An1()});import{Box as Wl6,Text as fm}from"ink";import{jsx as Gd0,jsxs as Jd0}from"react/jsx-runtime";function Hl6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function qn1({logs:$}){return Gd0(Wl6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return Gd0(fm,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return Jd0(fm,{children:[Jd0(fm,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),Gd0(fm,{color:Hl6(Z.status),children:Z.status}),Jd0(fm,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Mn1=()=>{};var Kd0={};B0(Kd0,{App:()=>Fl6});import{Box as Ul6}from"ink";import{useSyncExternalStore as Nl6}from"react";import{jsx as kn1,jsxs as wl6}from"react/jsx-runtime";function Fl6({home:$}){let Z=Nl6($d0,el0);return wl6(Ul6,{flexDirection:"column",children:[kn1(Rn1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),kn1(qn1,{logs:Z.logs})]})}var Wd0=O(()=>{In1();Mn1();rD()});var OJ="thread-gate",xU="decopilot-hosted-harness",tG="automations",Tw="background-tools";var Vn1="7";function Sn1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Vn1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var Cn1=()=>{};function Bl6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Hd0($,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 _n1(){let $=Bl6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Hd0($,"--cpu-prof-dir")??process.cwd(),name:Hd0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Hd0($,"--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 vn1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=iD();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(()=>{}),G90=setInterval(()=>void Z().catch(()=>{}),$),G90.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(G90)clearInterval(G90)}}var G90;var xn1=()=>{};import*as Ol6 from"bun:jsc";function fn1(){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{Ll6()}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=Dl6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let U of K){let N=U.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??U.frames[0];if(!N)continue;let F=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),w=`${N.name??"?"} @ ${F}:${N.line??"?"}`;W.set(w,(W.get(w)??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 Ll6,Dl6;var bn1=O(()=>{({startSamplingProfiler:Ll6,samplingProfilerStackTraces:Dl6}=Ol6)});function yn1(){_n1();let $=[vn1(),xl1(),fn1()];return()=>{for(let Z of $)Z()}}var gn1=O(()=>{Nh0();xn1();bn1()});var sD=_((hn1)=>{Object.defineProperty(hn1,"__esModule",{value:!0});hn1.RepublishHeaders=hn1.DirectMsgHeaders=hn1.JsHeaders=hn1.AdvisoryKind=void 0;hn1.isOrderedPushConsumerOptions=El6;hn1.isPullConsumer=zl6;hn1.isPushConsumer=jl6;hn1.isBoundPushConsumerOptions=Pl6;function El6($){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 zl6($){return $.isPullConsumer()}function jl6($){return $.isPushConsumer()}function Pl6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}hn1.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"};hn1.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"};hn1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};hn1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var dY=_((cn1)=>{Object.defineProperty(cn1,"__esModule",{value:!0});cn1.TD=cn1.TE=cn1.Empty=void 0;cn1.encode=Sl6;cn1.decode=Cl6;cn1.Empty=new Uint8Array(0);cn1.TE=new TextEncoder;cn1.TD=new TextDecoder;function Vl6(...$){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 Sl6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(cn1.TE.encode($[X]));if(Z.length===0)return cn1.Empty;if(Z.length===1)return Z[0];return Vl6(...Z)}function Cl6($){if(!$||$.length===0)return"";return cn1.TD.decode($)}});var mY=_((mn1)=>{Object.defineProperty(mn1,"__esModule",{value:!0});mn1.errors=mn1.PermissionViolationError=mn1.NoRespondersError=mn1.TimeoutError=mn1.RequestError=mn1.ProtocolError=mn1.ConnectionError=mn1.DrainingConnectionError=mn1.ClosedConnectionError=mn1.AuthorizationError=mn1.UserAuthenticationExpiredError=mn1.InvalidOperationError=mn1.InvalidArgumentError=mn1.InvalidSubjectError=void 0;class Nd0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}mn1.InvalidSubjectError=Nd0;class J90 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 J90(`${$} ${Z}`,X)}}mn1.InvalidArgumentError=J90;class Fd0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}mn1.InvalidOperationError=Fd0;class K90 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new K90($);return null}}mn1.UserAuthenticationExpiredError=K90;class W90 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 W90($);return null}}mn1.AuthorizationError=W90;class wd0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}mn1.ClosedConnectionError=wd0;class Bd0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}mn1.DrainingConnectionError=Bd0;class Od0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}mn1.ConnectionError=Od0;class Ld0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}mn1.ProtocolError=Ld0;class Dd0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof H90}}mn1.RequestError=Dd0;class Ed0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}mn1.TimeoutError=Ed0;class H90 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}mn1.NoRespondersError=H90;class U90 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 U90($,X,Q,Y)}}mn1.PermissionViolationError=U90;mn1.errors={AuthorizationError:W90,ClosedConnectionError:wd0,ConnectionError:Od0,DrainingConnectionError:Bd0,InvalidArgumentError:J90,InvalidOperationError:Fd0,InvalidSubjectError:Nd0,NoRespondersError:H90,PermissionViolationError:U90,ProtocolError:Ld0,RequestError:Dd0,TimeoutError:Ed0,UserAuthenticationExpiredError:K90}});var LJ=_((on1)=>{Object.defineProperty(on1,"__esModule",{value:!0});on1.SimpleMutex=on1.Perf=void 0;on1.extend=tl6;on1.render=ol6;on1.timeout=rl6;on1.delay=al6;on1.deadline=sl6;on1.deferred=jd0;on1.debugDeferred=el6;on1.shuffle=$d6;on1.collect=Zd6;on1.jitter=tn1;on1.backoff=Xd6;on1.nanos=Qd6;on1.millis=Yd6;on1.randomToken=Kd6;var pl6=dY(),zd0=mY();function tl6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function ol6($){return pl6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function rl6($,Z=!0){let X=Z?new zd0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new zd0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function al6($=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 sl6($,Z=1000){let X=jd0(),Q=setTimeout(()=>{X.reject(new zd0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function jd0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function el6(){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 $d6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function Zd6($){let Z=[];for await(let X of $)Z.push(X);return Z}class nn1{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})}),$}}on1.Perf=nn1;class pn1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=jd0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}on1.SimpleMutex=pn1;function tn1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function Xd6($=[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 tn1(X>Z?$[Z]:$[X])}}}function Qd6($){return $*1e6}function Yd6($){return Math.floor($/1e6)}var Gd6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",fU=new Uint8Array(62);for(let $=0;$<62;$++)fU[$]=Gd6.charCodeAt($);var Jd6=218340105584896;function Kd6(){let $=Math.floor(Math.random()*Jd6),Z=$%62,X=fU[Z];$=($-Z)/62,Z=$%62;let Q=fU[Z];$=($-Z)/62,Z=$%62;let Y=fU[Z];$=($-Z)/62,Z=$%62;let G=fU[Z];$=($-Z)/62,Z=$%62;let J=fU[Z];$=($-Z)/62,Z=$%62;let K=fU[Z];$=($-Z)/62,Z=$%62;let W=fU[Z];$=($-Z)/62;let H=fU[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var Qp1=_((Zp1)=>{Object.defineProperty(Zp1,"__esModule",{value:!0});Zp1.nuid=Zp1.NuidImpl=void 0;var Td6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Rw=62,F90=12,en1=10,an1=33,Rd6=333,sn1=F90+en1,Ad0=new Uint8Array(Rw);for(let $=0;$<Rw;$++)Ad0[$]=Td6.charCodeAt($);var N90=4294967296,$p1=BigInt(Rw)**BigInt(en1),bm=Number($p1/(1n<<32n)),Pd0=Number($p1%(1n<<32n));function Id6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function qd6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Id6($)}class Td0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(sn1),this.cbuf=new Uint8Array(F90),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(bm+1)),this.seqLo=Math.floor(Math.random()*N90);while($++<8&&this.seqHi===bm&&this.seqLo>=Pd0);if(this.seqHi===bm&&this.seqLo>=Pd0)this.seqLo=0;this.inc=Math.random()*(Rd6-an1)+an1|0}setPre(){qd6(this.cbuf);for(let $=0;$<F90;$++)this.buf[$]=Ad0[this.cbuf[$]%Rw]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=sn1-1;X>=F90;X--){let Q=Math.floor($/Rw),G=($-Q*Rw)*N90+Z,J=Math.floor(G/Rw),K=G-J*Rw;this.buf[X]=Ad0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=N90)this.seqLo-=N90,this.seqHi+=1;if(this.seqHi>bm||this.seqHi===bm&&this.seqLo>=Pd0)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()}}Zp1.NuidImpl=Td0;Zp1.nuid=new Td0});var Kp1=_((Gp1)=>{Object.defineProperty(Gp1,"__esModule",{value:!0});Gp1.nuid=Gp1.Nuid=void 0;var Yp1=Qp1();Gp1.Nuid=Yp1.NuidImpl;Gp1.nuid=Yp1.nuid});var B90=_((w90)=>{Object.defineProperty(w90,"__esModule",{value:!0});w90.nuid=w90.Nuid=void 0;var Wp1=Kp1();Object.defineProperty(w90,"Nuid",{enumerable:!0,get:function(){return Wp1.Nuid}});Object.defineProperty(w90,"nuid",{enumerable:!0,get:function(){return Wp1.nuid}})});var Iw=_((Hp1)=>{Object.defineProperty(Hp1,"__esModule",{value:!0});Hp1.DEFAULT_HOST=Hp1.DEFAULT_PORT=Hp1.Match=void 0;Hp1.syncIterator=_d6;Hp1.createInbox=vd6;var Sd6=B90(),Cd6=mY();Hp1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function _d6($){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 vd6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Cd6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Sd6.nuid.next()}`}Hp1.DEFAULT_PORT=4222;Hp1.DEFAULT_HOST="127.0.0.1"});var ym=_((wp1)=>{Object.defineProperty(wp1,"__esModule",{value:!0});wp1.DataBuffer=void 0;var Np1=dY();class Fp1{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 Np1.TE.encode($)}static toAscii($){return Np1.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}}wp1.DataBuffer=Fp1});var eD=_((Lp1)=>{Object.defineProperty(Lp1,"__esModule",{value:!0});Lp1.LF=Lp1.CR=Lp1.CRLF=Lp1.CR_LF_LEN=Lp1.CR_LF=void 0;Lp1.setTransportFactory=cd6;Lp1.defaultPort=ld6;Lp1.getUrlParseFn=dd6;Lp1.newTransport=md6;Lp1.getResolveFn=id6;Lp1.protoLen=Op1;Lp1.extractProtocolMessage=nd6;var gd6=dY(),hd6=Iw(),ud6=ym(),iY;function cd6($){iY=$}function ld6(){return iY!==void 0&&iY.defaultPort!==void 0?iY.defaultPort:hd6.DEFAULT_PORT}function dd6(){return iY!==void 0&&iY.urlParseFn?iY.urlParseFn:void 0}function md6(){if(!iY||typeof iY.factory!=="function")throw Error("transport fn is not set");return iY.factory()}function id6(){return iY!==void 0&&iY.dnsResolveFn?iY.dnsResolveFn:void 0}Lp1.CR_LF=`\r
|
|
1336
1336
|
`;Lp1.CR_LF_LEN=Lp1.CR_LF.length;Lp1.CRLF=ud6.DataBuffer.fromAscii(Lp1.CR_LF);Lp1.CR=new Uint8Array(Lp1.CRLF)[0];Lp1.LF=new Uint8Array(Lp1.CRLF)[1];function Op1($){for(let Z=0;Z<$.length;Z++){let X=Z+1;if($.byteLength>X&&$[Z]===Lp1.CR&&$[X]===Lp1.LF)return X+1}return 0}function nd6($){let Z=Op1($);if(Z>0){let Q=new Uint8Array($).slice(0,Z);return gd6.TD.decode(Q)}return""}});var kd0=_((Rp1)=>{Object.defineProperty(Rp1,"__esModule",{value:!0});Rp1.ipV4=Pp1;Rp1.isIP=Qm6;Rp1.parseIP=Ap1;var gm=4,$E=16,O90=48,jp1=57,Ep1=65,Zm6=70,zp1=97,Xm6=102,Md0=16777215;function Pp1($,Z,X,Q){let Y=new Uint8Array($E);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 Qm6($){return Ap1($)!==void 0}function Ap1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return Tp1($);case":":return Ym6($)}return}function Tp1($){let Z=new Uint8Array(gm);for(let X=0;X<gm;X++){if($.length===0)return;if(X>0){if($[0]!==".")return;$=$.substring(1)}let{n:Q,c:Y,ok:G}=Gm6($);if(!G||Q>255)return;$=$.substring(Y),Z[X]=Q}return Pp1(Z[0],Z[1],Z[2],Z[3])}function Ym6($){let Z=new Uint8Array($E),X=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(X=0,$=$.substring(2),$.length===0)return Z}let Q=0;while(Q<$E){let{n:Y,c:G,ok:J}=Jm6($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(X<0&&Q!=$E-gm)return;if(Q+gm>$E)return;let K=Tp1($);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+=gm;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<$E){if(X<0)return;let Y=$E-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 Gm6($){let Z=0,X=0;for(Z=0;Z<$.length&&O90<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=jp1;Z++)if(X=X*10+($.charCodeAt(Z)-O90),X>=Md0)return{n:Md0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:X,c:Z,ok:!0}}function Jm6($){let Z=0,X=0;for(X=0;X<$.length;X++){if(O90<=$.charCodeAt(X)&&$.charCodeAt(X)<=jp1)Z*=16,Z+=$.charCodeAt(X)-O90;else if(zp1<=$.charCodeAt(X)&&$.charCodeAt(X)<=Xm6)Z*=16,Z+=$.charCodeAt(X)-zp1+10;else if(Ep1<=$.charCodeAt(X)&&$.charCodeAt(X)<=Zm6)Z*=16,Z+=$.charCodeAt(X)-Ep1+10;else break;if(Z>=Md0)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 xd0=_((qp1)=>{Object.defineProperty(qp1,"__esModule",{value:!0});qp1.Servers=qp1.ServerImpl=void 0;qp1.isIPV4OrHostname=Ip1;qp1.hostPort=vd0;var Vd0=eD(),Sd0=LJ(),Cd0=kd0(),Um6=Iw(),Nm6=mY();function Ip1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function _d0($){return!Ip1($)}function Fm6($){let X=$.toUpperCase().indexOf("::FFFF:");if(X!==-1&&$.indexOf(".")!==-1){let Q=$.substring(X+7);return Q=Q.replace("[",""),Q.replace("]","")}return $}function vd0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=Fm6($),_d0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=_d0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),X=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):Um6.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 Gb{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let X=vd0($);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,Cd0.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}://${_d0(Q)?"["+Q+"]":Q}`);G.port=`${this.port}`;let J=new Gb(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,Sd0.shuffle)(Z);return this.resolves=Z,Z}}qp1.ServerImpl=Gb;class L90{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw Nm6.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,Vd0.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}=vd0(Y),J=X.get(G);if(J)J.gossiped=!1,Q.push(J);else Q.push(new Gb(Y))}if(this.randomize)(0,Sd0.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,Cd0.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,Vd0.getUrlParseFn)();$=X?X($):$;let Q=new Gb($,Z);if((0,Cd0.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 L90.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return L90.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,Vd0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new Gb(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,Sd0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:X,deleted:Q}}}qp1.Servers=L90});var D90=_((Sp1)=>{Object.defineProperty(Sp1,"__esModule",{value:!0});Sp1.QueuedIteratorImpl=void 0;var fd0=LJ(),kp1=mY();class Vp1{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,fd0.deferred)(),this.yields=[],this.iterClosed=(0,fd0.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 kp1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new kp1.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,fd0.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}}Sp1.QueuedIteratorImpl=Vp1});var bd0=_((xp1)=>{Object.defineProperty(xp1,"__esModule",{value:!0});xp1.MuxSubscription=void 0;var Lm6=Iw(),_p1=mY();class vp1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,Lm6.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 _p1.NoRespondersError(Q.requestSubject):null;Q.resolver($,Z)}}}}close(){let $=new _p1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}xp1.MuxSubscription=vp1});var yd0=_((yp1)=>{Object.defineProperty(yp1,"__esModule",{value:!0});yp1.Heartbeat=void 0;var Dm6=LJ();class bp1{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,Dm6.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})}}yp1.Heartbeat=bp1});var ud0=_((lp1)=>{Object.defineProperty(lp1,"__esModule",{value:!0});lp1.DenoBuffer=lp1.MAX_SIZE=lp1.AssertionError=void 0;lp1.assert=up1;lp1.concat=cp1;lp1.append=zm6;lp1.readAll=jm6;lp1.writeAll=Pm6;var Em6=dY();class gd0 extends Error{constructor($){super($);this.name="AssertionError"}}lp1.AssertionError=gd0;function up1($,Z="Assertion failed."){if(!$)throw new gd0(Z)}var hp1=32768;lp1.MAX_SIZE=4294967294;function E90($,Z,X=0){let Q=Z.byteLength-X;if($.byteLength>Q)$=$.subarray(0,Q);return Z.set($,X),$.byteLength}function cp1($,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 zm6($,Z){return cp1($,Uint8Array.of(Z))}class hd0{_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($){up1($<=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=E90(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(Em6.TE.encode($))}write($){let Z=this._grow($.byteLength);return E90($,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)E90(this._buf.subarray(this._off),this._buf);else if(Q+$>lp1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*Q+$,lp1.MAX_SIZE));E90(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,lp1.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(hp1);while(!0){let Q=this.capacity-this.length<hp1,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}}}lp1.DenoBuffer=hd0;function jm6($){let Z=new hd0;return Z.readFrom($),Z.bytes()}function Pm6($,Z){let X=0;while(X<Z.length)X+=$.write(Z.subarray(X))}});var dd0=_((pp1)=>{Object.defineProperty(pp1,"__esModule",{value:!0});pp1.cc=pp1.State=pp1.Parser=pp1.Kind=void 0;pp1.describe=km6;var cd0=ud0(),ld0=dY();pp1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function km6($){let Z,X="";switch($.kind){case pp1.Kind.MSG:Z="MSG";break;case pp1.Kind.OK:Z="OK";break;case pp1.Kind.ERR:Z="ERR",X=ld0.TD.decode($.data);break;case pp1.Kind.PING:Z="PING";break;case pp1.Kind.PONG:Z="PONG";break;case pp1.Kind.INFO:Z="INFO",X=ld0.TD.decode($.data)}return`${Z}: ${X}`}function mp1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var ip1=48,Vm6=57,Jb=67108864;class np1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=pp1.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 pp1.State.OP_START:switch(X){case pp1.cc.M:case pp1.cc.m:this.state=pp1.State.OP_M,this.hdr=-1,this.ma=mp1();break;case pp1.cc.H:case pp1.cc.h:this.state=pp1.State.OP_H,this.hdr=0,this.ma=mp1();break;case pp1.cc.P:case pp1.cc.p:this.state=pp1.State.OP_P;break;case pp1.cc.PLUS:this.state=pp1.State.OP_PLUS;break;case pp1.cc.MINUS:this.state=pp1.State.OP_MINUS;break;case pp1.cc.I:case pp1.cc.i:this.state=pp1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_H:switch(X){case pp1.cc.M:case pp1.cc.m:this.state=pp1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_M:switch(X){case pp1.cc.S:case pp1.cc.s:this.state=pp1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_MS:switch(X){case pp1.cc.G:case pp1.cc.g:this.state=pp1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_MSG:switch(X){case pp1.cc.SPACE:case pp1.cc.TAB:this.state=pp1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_MSG_SPC:switch(X){case pp1.cc.SPACE:case pp1.cc.TAB:continue;default:this.state=pp1.State.MSG_ARG,this.as=Z}break;case pp1.State.MSG_ARG:switch(X){case pp1.cc.CR:this.drop=1;break;case pp1.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=pp1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;case pp1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let Q=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:pp1.Kind.MSG,msg:this.ma,data:Q}),this.argBuf=void 0,this.msgBuf=void 0,this.state=pp1.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:pp1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=pp1.State.MSG_END;break;case pp1.State.MSG_END:switch(X){case pp1.cc.NL:this.drop=0,this.as=Z+1,this.state=pp1.State.OP_START;break;default:continue}break;case pp1.State.OP_PLUS:switch(X){case pp1.cc.O:case pp1.cc.o:this.state=pp1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_PLUS_O:switch(X){case pp1.cc.K:case pp1.cc.k:this.state=pp1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_PLUS_OK:switch(X){case pp1.cc.NL:this.dispatcher.push({kind:pp1.Kind.OK}),this.drop=0,this.state=pp1.State.OP_START;break}break;case pp1.State.OP_MINUS:switch(X){case pp1.cc.E:case pp1.cc.e:this.state=pp1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_MINUS_E:switch(X){case pp1.cc.R:case pp1.cc.r:this.state=pp1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_MINUS_ER:switch(X){case pp1.cc.R:case pp1.cc.r:this.state=pp1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_MINUS_ERR:switch(X){case pp1.cc.SPACE:case pp1.cc.TAB:this.state=pp1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_MINUS_ERR_SPC:switch(X){case pp1.cc.SPACE:case pp1.cc.TAB:continue;default:this.state=pp1.State.MINUS_ERR_ARG,this.as=Z}break;case pp1.State.MINUS_ERR_ARG:switch(X){case pp1.cc.CR:this.drop=1;break;case pp1.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:pp1.Kind.ERR,data:Q}),this.drop=0,this.as=Z+1,this.state=pp1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(X))}break;case pp1.State.OP_P:switch(X){case pp1.cc.I:case pp1.cc.i:this.state=pp1.State.OP_PI;break;case pp1.cc.O:case pp1.cc.o:this.state=pp1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_PO:switch(X){case pp1.cc.N:case pp1.cc.n:this.state=pp1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_PON:switch(X){case pp1.cc.G:case pp1.cc.g:this.state=pp1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_PONG:switch(X){case pp1.cc.NL:this.dispatcher.push({kind:pp1.Kind.PONG}),this.drop=0,this.state=pp1.State.OP_START;break}break;case pp1.State.OP_PI:switch(X){case pp1.cc.N:case pp1.cc.n:this.state=pp1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_PIN:switch(X){case pp1.cc.G:case pp1.cc.g:this.state=pp1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_PING:switch(X){case pp1.cc.NL:this.dispatcher.push({kind:pp1.Kind.PING}),this.drop=0,this.state=pp1.State.OP_START;break}break;case pp1.State.OP_I:switch(X){case pp1.cc.N:case pp1.cc.n:this.state=pp1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_IN:switch(X){case pp1.cc.F:case pp1.cc.f:this.state=pp1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_INF:switch(X){case pp1.cc.O:case pp1.cc.o:this.state=pp1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_INFO:switch(X){case pp1.cc.SPACE:case pp1.cc.TAB:this.state=pp1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case pp1.State.OP_INFO_SPC:switch(X){case pp1.cc.SPACE:case pp1.cc.TAB:continue;default:this.state=pp1.State.INFO_ARG,this.as=Z}break;case pp1.State.INFO_ARG:switch(X){case pp1.cc.CR:this.drop=1;break;case pp1.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:pp1.Kind.INFO,data:Q}),this.drop=0,this.as=Z+1,this.state=pp1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;default:throw this.fail($.subarray(Z))}}if((this.state===pp1.State.MSG_ARG||this.state===pp1.State.MINUS_ERR_ARG||this.state===pp1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new cd0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===pp1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new cd0.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 cd0.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 pp1.cc.SPACE:case pp1.cc.TAB:case pp1.cc.CR:case pp1.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],Jb);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],Jb);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}: ${ld0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case pp1.cc.SPACE:case pp1.cc.TAB:case pp1.cc.CR:case pp1.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],Jb),this.ma.size=this.protoParseInt(Z[3],Jb);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],Jb),this.ma.size=this.protoParseInt(Z[4],Jb);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]<ip1||$[Q]>Vm6)return-1;X=X*10+($[Q]-ip1)}return Z!==void 0&&X>Z?-1:X}}pp1.Parser=np1;pp1.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};pp1.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 P90=_((op1)=>{Object.defineProperty(op1,"__esModule",{value:!0});op1.MsgHdrsImpl=void 0;op1.canonicalMIMEHeaderKey=id0;op1.headers=_m6;var tp1=dY(),DJ=Iw(),j90=mY();function id0($){let U=!0,N=Array($.length);for(let F=0;F<$.length;F++){let w=$.charCodeAt(F);if(w===58||w<33||w>126)throw j90.InvalidArgumentError.format("header",`'${$[F]}' is not a valid character in a header name`);if(U&&97<=w&&w<=122)w-=32;else if(!U&&65<=w&&w<=90)w+=32;N[F]=w,U=w==45}return String.fromCharCode(...N)}function _m6($=0,Z=""){if($===0&&Z!=="")throw j90.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw j90.InvalidArgumentError.format("description","is required");return new Kb($,Z)}var md0="NATS/1.0";class Kb{_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 Kb,Q=tp1.TD.decode($).split(`\r
|
|
1337
1337
|
`),Y=Q[0];if(Y!==md0){let G=Y.replace(md0,"").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 $=md0;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
|
|
@@ -2742,7 +2742,7 @@ ${"text"in A?A.text:""}`.trim()}});else j=[{type:"text",text:L},...E];return[...
|
|
|
2742
2742
|
from task_board_items
|
|
2743
2743
|
where organization_id = ${$.organizationId}
|
|
2744
2744
|
and status = ${Q}
|
|
2745
|
-
)`,created_by:$.by,created_at:X,updated_by:$.by,updated_at:X}).returningAll().executeTakeFirstOrThrow();return this.itemFromDbRow(Y)}async update($,Z,X,Q){let Y=await this.db.updateTable("task_board_items").set({...X.title!==void 0?{title:X.title}:{},...X.description!==void 0?{description:X.description}:{},...X.status!==void 0?{status:X.status}:{},...X.priority!==void 0?{priority:X.priority}:{},...X.assigneeId!==void 0?{assignee_id:X.assigneeId}:{},...X.assignedBy!==void 0?{assigned_by:X.assignedBy}:{},...X.dueDate!==void 0?{due_date:X.dueDate}:{},...X.sortOrder!==void 0?{sort_order:X.sortOrder}:{},updated_by:Q,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).returningAll().executeTakeFirstOrThrow(),G=this.itemFromDbRow(Y);return await this.attachRefs([G],Z),G}async delete($,Z,X){return this.inTransaction(async(Q)=>{let Y=await Q.selectFrom("task_board_items").select(["created_by"]).where("id","=",$).where("organization_id","=",Z).executeTakeFirst();if(!Y)return!1;if(oQ({createdBy:Y.created_by}))return await Q.updateTable("task_board_items").set({dismissed_at:new Date().toISOString(),updated_by:X}).where("id","=",$).where("organization_id","=",Z).where("dismissed_at","is",null).execute(),!0;return await Q.deleteFrom("task_board_item_threads").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_item_prs").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_items").where("id","=",$).where("organization_id","=",Z).execute(),!0})}async dismissedFindingKeys($,Z){if(Z.length===0)return new Set;let X=await this.db.selectFrom("task_board_items").select(["external_key"]).where("organization_id","=",$).where("external_key","in",Z).where("dismissed_at","is not",null).execute();return new Set(X.flatMap((Q)=>Q.external_key??[]))}async listDismissedFindings($){return(await this.db.selectFrom("task_board_items").select(["external_key","updated_by","dismissed_at"]).where("organization_id","=",$).where("dismissed_at","is not",null).orderBy("dismissed_at","desc").execute()).flatMap((X)=>X.external_key&&X.dismissed_at?[{externalKey:X.external_key,dismissedBy:X.updated_by,dismissedAt:X.dismissed_at instanceof Date?X.dismissed_at.toISOString():X.dismissed_at}]:[])}async restoreDismissedFindings($,Z){if(Z&&Z.length===0)return 0;let X=this.db.updateTable("task_board_items").set({dismissed_at:null}).where("organization_id","=",$).where("dismissed_at","is not",null);if(Z)X=X.where("external_key","in",Z);let Q=await X.executeTakeFirst();return Number(Q.numUpdatedRows??0n)}async setItemTags($,Z,X){await this.inTransaction(async(Q)=>{if(await Q.deleteFrom("task_board_item_tags").where("task_board_item_id","=",$).$if(Z.length>0,(Y)=>Y.where("id","not in",Z)).execute(),Z.length>0)await Q.insertInto("task_board_item_tags").values(Z.map((Y)=>({task_board_item_id:$,id:Y,created_by:X,created_at:new Date().toISOString()}))).onConflict((Y)=>Y.doNothing()).execute()})}async addItemTags($,Z,X){if(Z.length===0)return;await this.db.insertInto("task_board_item_tags").values(Z.map((Q)=>({task_board_item_id:$,id:Q,created_by:X,created_at:new Date().toISOString()}))).onConflict((Q)=>Q.doNothing()).execute()}async linkThread($,Z,X){await this.db.insertInto("task_board_item_threads").values({task_board_item_id:$,thread_id:Z,organization_id:X}).onConflict((Q)=>Q.columns(["task_board_item_id","thread_id"]).doNothing()).execute()}async listItemsPendingReview($,Z,X){let Q=this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","updated_at"]).where("status","=","in_review").where("assignee_id","=",Z$).where("dismissed_at","is",null);if(X)Q=Q.where((G)=>G.or([G("last_swept_at","is",null),G("last_swept_at","<",X)]));if(Z){let G=new Date(Z.updatedAt);Q=Q.where((J)=>J.or([J("updated_at",">",G),J.and([J("updated_at","=",G),J("id",">",Z.id)])]))}return(await Q.orderBy("updated_at","asc").orderBy("id","asc").limit($).execute()).map((G)=>({id:G.id,organizationId:G.organizationId,updatedAt:G.updated_at instanceof Date?G.updated_at.toISOString():String(G.updated_at)}))}async markSwept($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:new Date}).where("id","=",$).where("organization_id","=",Z).execute()}async failedRunInfo($,Z){let X=await this.db.selectFrom("threads as t").leftJoinLateral((Q)=>Q.selectFrom("thread_message_parts as p").select("p.payload").whereRef("p.thread_id","=","t.id").where("p.kind","=","error").orderBy("p.created_at","desc").limit(1).as("err"),(Q)=>Q.onTrue()).select(["t.status","t.failure_kind as kind","err.payload as payload"]).where("t.id","=",$).where("t.organization_id","=",Z).executeTakeFirst();if(!X||X.status!=="failed")return null;return{kind:X.kind??null,errorText:uM8(X.payload)}}async scheduleRunRetry($,Z,X,Q){return(await this.db.updateTable("task_board_items").set({retry_at:Q,retry_attempts:X}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returning("id").execute()).length>0}async returnToTodoAfterFailure($,Z,X){if((await this.db.updateTable("task_board_items").set({status:"todo",retry_at:null,retry_attempts:0,updated_by:X,updated_at:new Date}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returning("id").execute()).length===0)return null;return await this.getById($,Z)}async failNeverStartedLinkedThreads($,Z,X){let Q=await this.db.selectFrom("threads as t").innerJoin("task_board_item_threads as l","l.thread_id","t.id").select(["t.id as threadId","l.task_board_item_id as itemId","l.organization_id as organizationId"]).where("t.status","=","in_progress").where("t.run_started_at","is",null).where((K)=>K.and([K("t.updated_at","<",Z),K.or([K("t.last_progress_at","is",null),K("t.last_progress_at","<",Z)])])).limit($).execute();if(Q.length===0)return[];let Y=Q.map((K)=>K.threadId),G=await this.db.updateTable("threads").set({status:"failed",failure_reason:X,failure_kind:"abandoned",run_owner_pod:null,run_config:null,run_started_at:null,updated_at:new Date().toISOString()}).where("id","in",Y).where("status","=","in_progress").returning("id").execute(),J=new Set(G.map((K)=>K.id));return Q.filter((K)=>J.has(K.threadId))}async listItemsStuckAfterFailure($,Z){let X=await this.db.selectFrom("task_board_items as i").innerJoin("task_board_item_threads as l","l.task_board_item_id","i.id").innerJoin("threads as t","t.id","l.thread_id").select(["i.id as id","i.organization_id as organizationId","t.id as threadId"]).where("i.status","=","in_progress").where("i.assignee_id","=",Z$).where("i.dismissed_at","is",null).where("i.retry_at","is",null).where("t.status","=","failed").where("t.updated_at","<",Z).where((Y)=>Y.not(Y.exists(Y.selectFrom("task_board_item_threads as l2").innerJoin("threads as t2","t2.id","l2.thread_id").select("t2.id").whereRef("l2.task_board_item_id","=","i.id").where("t2.status","in",["in_progress","requires_action"])))).orderBy("t.updated_at","desc").limit($).execute(),Q=new Set;return X.filter((Y)=>!Q.has(Y.id)&&Q.add(Y.id))}async listItemsDueForRetry($,Z){return await this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","retry_attempts as attempts"]).where("retry_at","is not",null).where("retry_at","<=",Z).where("status","=","in_progress").where("dismissed_at","is",null).orderBy("retry_at","asc").limit($).execute()}async claimDueRetry($,Z,X){return(await this.db.updateTable("task_board_items").set({retry_at:null}).where("id","=",$).where("organization_id","=",Z).where("retry_at","is not",null).where("retry_at","<=",X).returning("id").execute()).length>0}async clearRunRetry($,Z){await this.db.updateTable("task_board_items").set({retry_at:null,retry_attempts:0}).where("id","=",$).where("organization_id","=",Z).execute()}async clearSweepBudget($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:null}).where("id","=",$).where("organization_id","=",Z).execute()}async linkedTaskIds($,Z){return(await this.db.selectFrom("task_board_item_threads").select("task_board_item_id as taskId").where("thread_id","=",$).where("organization_id","=",Z).execute()).map((Q)=>Q.taskId)}async linkPr($){await this.db.insertInto("task_board_item_prs").values({task_board_item_id:$.taskBoardItemId,organization_id:$.organizationId,url:$.url,pr_number:$.prNumber,repo_owner:$.repoOwner,repo_name:$.repoName,connection_id:$.connectionId??null}).onConflict((Z)=>Z.columns(["task_board_item_id","url"]).doNothing()).execute()}async listPrs($,Z){return(await this.db.selectFrom("task_board_item_prs").select(["url","pr_number as prNumber","repo_owner as repoOwner","repo_name as repoName","connection_id as connectionId","created_at as createdAt"]).where("task_board_item_id","=",$).where("organization_id","=",Z).orderBy("created_at","desc").execute()).map((Q)=>({url:Q.url,number:Q.prNumber,repoOwner:Q.repoOwner,repoName:Q.repoName,connectionId:Q.connectionId??null,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}async advanceLinkedTasksToReviewOnThreadFinish($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||!j$1(Y))continue;let G=await this.advanceToReviewIfInProgress(Q,Z,Y.updatedBy);if(!G)continue;X.push(G),await this.recordActivity({taskBoardItemId:Q,action:"status_changed",actorId:null,data:{from:Y.status,to:"in_review"}}).catch((J)=>console.error("[task-board] in_review activity write failed",J))}return X}async advanceToReviewIfInProgress($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_review",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").where("dismissed_at","is",null).returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async reopenLinkedTasksOnThreadRun($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||Y.status!=="in_review")continue;X.push(await this.update(Q,Z,{status:"in_progress"},Y.updatedBy))}return X}claimConflictResolution($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}claimReviewChangesBounce($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}async claimInReviewSuperAgentSlot($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_progress",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_review").where("assignee_id","=",Z$).returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async attachRefs($,Z){if($.length===0)return;await this.inTransaction(async(X)=>{await this.attachThreads(X,$,Z),await this.attachTags(X,$)})}async attachThreads($,Z,X){let Q=Z.map((J)=>J.id),Y=await $.selectFrom("task_board_item_threads as link").innerJoin("threads as t","t.id","link.thread_id").leftJoinLateral((J)=>J.selectFrom("thread_message_parts as p").select("p.payload as payload").whereRef("p.thread_id","=","link.thread_id").where("p.role","=","assistant").where("p.kind","=","text").orderBy("p.created_at","desc").limit(1).as("lastmsg"),(J)=>J.onTrue()).select((J)=>["link.task_board_item_id as taskId","link.thread_id as threadId","link.created_at as createdAt","t.status as status","t.title as title","t.virtual_mcp_id as virtualMcpId","t.metadata as metadata","lastmsg.payload as lastMessagePayload",J.or([J.exists(J.selectFrom("thread_message_parts as mp").select("mp.id").whereRef("mp.thread_id","=","link.thread_id")),J.exists(J.selectFrom("thread_messages as tm").select("tm.id").whereRef("tm.thread_id","=","link.thread_id"))]).as("hasMessages")]).where("link.organization_id","=",X).where("link.task_board_item_id","in",Q).orderBy("link.created_at","desc").execute(),G=new Map;for(let J of Y){let K={threadId:J.threadId,virtualMcpId:J.virtualMcpId??null,status:J.status??null,title:J.title??null,lastMessage:uM8(J.lastMessagePayload),hasPreview:Eu4(J.metadata),hasMessages:!!J.hasMessages,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt},W=G.get(J.taskId);if(W)W.push(K);else G.set(J.taskId,[K])}for(let J of Z)J.threads=G.get(J.id)??[]}async attachTags($,Z){let X=Z.map((G)=>G.id),Q=await $.selectFrom("task_board_item_tags as link").innerJoin("organization_tags as tag","tag.id","link.id").select(["link.task_board_item_id as taskId","link.created_by as createdBy","link.created_at as createdAt","tag.id as id","tag.name as name","tag.color as color"]).where("link.task_board_item_id","in",X).orderBy("tag.name","asc").execute(),Y=new Map;for(let G of Q){let J={id:G.id,name:G.name,color:G.color??null,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt},K=Y.get(G.taskId);if(K)K.push(J);else Y.set(G.taskId,[J])}for(let G of Z)G.tags=Y.get(G.id)??[]}async recordActivity($){await this.db.insertInto("task_board_activity").values({id:Z4("act"),task_board_item_id:$.taskBoardItemId,action:$.action,actor_id:$.actorId,data:$.data?JSON.stringify($.data):null,occurred_at:new Date().toISOString()}).execute()}async claimReviewer($,Z,X){let Q=`rtok_${crypto.randomUUID()}`,Y=await this.db.insertInto("task_board_review_claims").values({task_board_item_id:$,reviewer:Z,cycle_at:X,token:Q}).onConflict((J)=>J.columns(["task_board_item_id","reviewer","cycle_at"]).doNothing()).returning("token").executeTakeFirst();if(Y)return{claimed:!0,token:Y.token};return{claimed:!1,token:(await this.db.selectFrom("task_board_review_claims").select("token").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).executeTakeFirst())?.token??Q}}async releaseReviewerClaim($,Z,X){await this.db.deleteFrom("task_board_review_claims").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).execute()}async resolveReviewClaimByToken($,Z){let X=await this.db.selectFrom("task_board_review_claims").select(["reviewer","cycle_at"]).where("task_board_item_id","=",$).where("token","=",Z).executeTakeFirst();return X?{reviewer:X.reviewer,cycleAt:X.cycle_at}:null}async recordActivities($){if($.length===0)return;let Z=new Date().toISOString();await this.db.insertInto("task_board_activity").values($.map((X)=>({id:Z4("act"),task_board_item_id:X.taskBoardItemId,action:X.action,actor_id:X.actorId,data:X.data?JSON.stringify(X.data):null,occurred_at:Z}))).execute()}async listActivity($,Z){return(await this.db.selectFrom("task_board_activity as a").innerJoin("task_board_items as item","item.id","a.task_board_item_id").selectAll("a").where("item.organization_id","=",Z).where("a.task_board_item_id","=",$).orderBy("a.occurred_at","asc").execute()).map((Q)=>({id:Q.id,taskBoardItemId:Q.task_board_item_id,action:Q.action,actorId:Q.actor_id,data:typeof Q.data==="string"?JSON.parse(Q.data):Q.data??{},occurredAt:Q.occurred_at instanceof Date?Q.occurred_at.toISOString():Q.occurred_at}))}async listComments($,Z){return(await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").selectAll("c").where("item.organization_id","=",Z).where("c.task_board_item_id","=",$).orderBy("c.created_at","asc").execute()).map((Q)=>z$1(Q))}async createComment($){if(!await this.db.selectFrom("task_board_items").select("id").where("id","=",$.taskBoardItemId).where("organization_id","=",$.organizationId).executeTakeFirst())return null;let X=null;if($.parentId){let Y=await this.db.selectFrom("task_board_comments").select(["id","parent_id"]).where("id","=",$.parentId).where("task_board_item_id","=",$.taskBoardItemId).executeTakeFirst();if(!Y)return null;X=Y.parent_id??Y.id}let Q=await this.db.insertInto("task_board_comments").values({id:Z4("cmt"),task_board_item_id:$.taskBoardItemId,parent_id:X,author_id:$.authorId,body:$.body}).returningAll().executeTakeFirstOrThrow();return z$1(Q)}async updateComment($){let Z=await this.commentInOrg($.id,$.organizationId);if(!Z)return null;if($.body!==void 0&&Z.authorId!==$.callerId)return null;if($.resolved!==void 0&&Z.parentId!==null)return null;let X=await this.db.updateTable("task_board_comments").set({...$.body===void 0?{}:{body:$.body},...$.resolved===void 0?{}:{resolved:$.resolved},updated_at:new Date().toISOString()}).where("id","=",$.id).returningAll().executeTakeFirst();return X?z$1(X):null}async deleteComment($,Z,X){let Q=await this.commentInOrg($,Z);if(!Q)return!1;if(Q.authorId!==X&&Q.authorId!==Z$)return!1;return await this.db.deleteFrom("task_board_comments").where("id","=",$).execute(),!0}async commentInOrg($,Z){let X=await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").select(["c.id","c.author_id","c.parent_id"]).where("c.id","=",$).where("item.organization_id","=",Z).executeTakeFirst();return X?{authorId:X.author_id,parentId:X.parent_id}:null}itemFromDbRow($){return{id:$.id,organizationId:$.organization_id,title:$.title,description:$.description,status:$.status,priority:$.priority,assigneeId:$.assignee_id,assignedBy:$.assigned_by,dueDate:$.due_date instanceof Date?$.due_date.toISOString():$.due_date,sortOrder:$.sort_order,retryAttempts:$.retry_attempts??0,threads:[],tags:[],createdBy:$.created_by,createdAt:$.created_at instanceof Date?$.created_at.toISOString():$.created_at,updatedBy:$.updated_by,updatedAt:$.updated_at instanceof Date?$.updated_at.toISOString():$.updated_at}}}var Dr;var g_=O(()=>{ZK();aX();tZ();Dr=new Set(["completed","failed","expired"])});function cM8($){let Z=$[1],X=$[2],Q=Number($[3]);return{owner:Z,repo:X,number:Q,url:`https://github.com/${Z}/${X}/pull/${Q}`}}function Pj0($){let Z=$.length>200000?$.slice(0,200000):$,X=zu4.exec(Z);if(X&&Number(X[3])>0)return cM8(X);let Q=ju4.exec(Z);if(Q&&Number(Q[3])>0)return cM8(Q);return null}function lM8($){if($==null)return null;if(typeof $==="string")return Pj0($);let Z;try{Z=JSON.stringify($)}catch{return null}return Z?Pj0(Z):null}var zu4,ju4;var P$1=O(()=>{zu4=/https?:\/\/github\.com\/([^/\s"']+)\/([^/\s"']+)\/pull\/(\d+)/,ju4=/https?:\/\/api\.github\.com\/repos\/([^/\s"']+)\/([^/\s"']+)\/pulls\/(\d+)/});function mM8($){if(dM8.has($.kind??""))return 0;return Iu4($)?Tu4:Ru4}function Iu4($){let Z=$.kind??"";if(dM8.has(Z))return!1;if(Pu4.has(Z))return!0;let X=$.errorText??"";if(!X)return!1;if(X.includes(rz0))return!0;return Au4.some((Q)=>Q.test(X))}var Pu4,dM8,Au4,Tu4=3,Ru4=1;var iM8=O(()=>{c41();Pu4=new Set(["stall","liveness","projection","abandoned"]),dM8=new Set(["cancelled","superseded"]),Au4=[/sandbox did not become ready/i,/sandbox (?:provisioning|claim) failed/i,/mcp is unusable/i,/harness_crashed: unexpected eof/i,/too many clients already|timeout exceeded when trying to connect/i,/\b(?:429|503)\b|too many requests|service unavailable/i]});class tM8{listeners=new Map;totalCount=0;strategy=null;started=!1;async start($){if(this.started){if(!$)return;await this.stop()}this.strategy=$,await this.strategy.start((Z,X)=>this.localEmit(Z,X)),this.started=!0}async stop(){if(!this.started||!this.strategy)return;await this.strategy.stop(),this.started=!1}add($){if(this.totalCount>=pM8)return console.warn(`[SSEHub] Total connection limit reached (${pM8})`),null;let Z=this.listeners.get($.organizationId);if(!Z)Z=new Map,this.listeners.set($.organizationId,Z);if(Z.size>=nM8)return console.warn(`[SSEHub] Per-org connection limit reached for ${$.organizationId} (${nM8})`),null;return Z.set($.id,$),this.totalCount++,$.id}remove($,Z){let X=this.listeners.get($);if(!X)return;if(X.delete(Z)){if(this.totalCount--,X.size===0)this.listeners.delete($)}}emit($,Z){if(this.strategy)this.strategy.broadcast($,Z);else this.localEmit($,Z)}countForOrg($){return this.listeners.get($)?.size??0}get count(){return this.totalCount}localEmit($,Z){let X=this.listeners.get($);if(!X||X.size===0)return;for(let Q of X.values()){if(Q.typePatterns&&!qu4(Z.type,Q.typePatterns))continue;try{Q.push(Z)}catch{this.remove($,Q.id)}}}}function qu4($,Z){for(let X of Z){if(X===$)return!0;if(X.endsWith(".*")){let Q=X.slice(0,-1);if($.startsWith(Q))return!0}}return!1}var nM8=50,pM8=500,B9;var Aj0=O(()=>{D5();B9=new tM8;E6.createObservableGauge("sse_hub.connections",{description:"Active SSE listeners held by this pod",unit:"{connections}"}).addCallback(($)=>$.observe(B9.count))});function A$1($,Z,X,Q){dJ({event:$,organizationId:Z,properties:{task_id:X.id,reports_task:oQ(X),...Q}})}function p4($,Z){B9.emit($,{id:crypto.randomUUID(),type:nH8,source:"task-board",subject:Z.id,data:Z,time:new Date().toISOString()})}function oM8($,Z){B9.emit($,{id:crypto.randomUUID(),type:pH8,source:"task-board",subject:Z,data:{id:Z},time:new Date().toISOString()})}function Mu4($,Z){return $?[$]:Z}async function Rj0($,Z,X){let Q=$.metadata?.runMetadata?.taskBoardItemId,Y=!Q&&X?await $.storage.taskBoard.linkedTaskIds(X,Z):[];return Mu4(Q,Y)}async function Vh($,Z,X){let Q=$.organization?.id;if(!Q)return;try{for(let Y of await Rj0($,Q,X)){let G=await $.storage.taskBoard.getById(Y,Q);if(!G||Tj0[Z]<=Tj0[G.status])continue;let J=await $.storage.taskBoard.update(Y,Q,{status:Z},$.auth?.user?.id??G.updatedBy);if(await $.storage.taskBoard.recordActivity({taskBoardItemId:Y,action:"status_changed",actorId:null,data:{from:G.status,to:Z}}).catch((K)=>console.error("[task-board] activity log write failed",K)),p4(Q,J),Z==="in_progress"||Z==="in_review")A$1(Z==="in_progress"?"task_run_started":"task_run_completed",Q,J,{from:G.status,via:"pr_open"})}}catch(Y){console.error("[task-board] run transition failed",Y)}}async function Ij0($,Z,X,Q){let Y=$.organization?.id;if(!Y)return;try{let G=lM8(Z);if(!G)return;let J=await Rj0($,Y,Q);for(let K of J)await $.storage.taskBoard.linkPr({taskBoardItemId:K,organizationId:Y,url:G.url,prNumber:G.number,repoOwner:G.owner,repoName:G.repo,connectionId:X??null})}catch(G){console.error("[task-board] PR capture failed",G)}}async function Sh($,Z,X,Q){try{let Y=await $.advanceLinkedTasksToReviewOnThreadFinish(Z,X);for(let G of Y)p4(X,G),A$1("task_run_completed",X,G,{from:"in_progress",via:"thread_finish"});for(let G of Y)await $.clearRunRetry(G.id,X).catch(()=>{})}catch(Y){console.error("[task-board] thread-finish transition failed",Y)}await T$1($,Z,X),await R$1($,Q,Z,X)}async function T$1($,Z,X){try{let Q=await $.failedRunInfo(Z,X);if(!Q)return;let Y=mM8(Q);for(let G of await $.linkedTaskIds(Z,X)){let J=await $.getById(G,X);if(!J||J.status!=="in_progress")continue;if(J.threads.some((H)=>H.hasMessages&&H.status==="in_progress"))continue;let K=J.retryAttempts;if(K<Y){let H=xX(Vu4,ku4,K,2,0.5);if(!await $.scheduleRunRetry(G,X,K+1,new Date(Date.now()+H)))continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"in_progress",retry:K+1,of:Y,reason:Q.errorText??Q.kind}}).catch(()=>{});continue}let W=await $.returnToTodoAfterFailure(G,X,J.updatedBy);if(!W)continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"todo",reason:Q.errorText??Q.kind,retriesSpent:K}}).catch(()=>{}),p4(X,W),A$1("task_run_failed",X,J,{reason:Q.kind??"error",retries_spent:K})}}catch(Q){console.error("[task-board] failed-run reaction failed",Q)}}async function R$1($,Z,X,Q){try{for(let Y of await $.linkedTaskIds(X,Q)){let G=await $.getById(Y,Q);if(!G)continue;if(Tj0[G.status]>=Tj0.in_review)continue;if(G.threads.some((K)=>K.hasMessages&&(K.status===null||!Dr.has(K.status))))continue;if((await $.listPrs(Y,Q)).length>0)continue;await aH8(Z,Q,Y)}}catch(Y){console.error("[task-board] quota refund pass failed",Y)}}async function rM8($,Z){let X=$.organization?.id;if(!X)return;try{let Q=await $.storage.taskBoard.reopenLinkedTasksOnThreadRun(Z,X);for(let Y of Q)p4(X,Y)}catch(Q){console.error("[task-board] thread-run reopen failed",Q)}}function aM8($){return $.includes("create_pull_request")||$.includes("createPullRequest")}function sM8($){if(Su4.test($))return!0;return Cu4.test($)&&_u4.test($)}var Tj0,ku4=30000,Vu4=120000,Su4,Cu4,_u4;var zZ=O(()=>{ZK();n4();g_();P$1();iM8();F$();Aj0();tZ();Tj0={triage:0,todo:1,in_progress:2,in_review:3,done:4};Su4=/\bgh\s+pr\s+create\b/,Cu4=/api\.github\.com\/repos\/[^\s"']+\/pulls\b/,_u4=/(?:-X|--request)\s+POST/});function qj0($,Z){return{resolveArgs:(X)=>hM8(X,$),onToolCalled:(X)=>{if(!X.isError&&aM8(X.toolName))Vh($,"in_review",Z);let Q=$.organization?.id,Y=$.auth?.user?.id;if(!Q||!Y)return;n1.capture({distinctId:Y,event:"tool_called",groups:{organization:Q},properties:{organization_id:Q,tool_source:"mcp",tool_name:X.toolName,tool_safe_name:X.toolSafeName,read_only:X.annotations?.readOnlyHint??null,destructive:X.annotations?.destructiveHint??null,idempotent:X.annotations?.idempotentHint??null,open_world:X.annotations?.openWorldHint??null,latency_ms:Math.round(X.latencyMs),is_error:X.isError}})},onPrOpened:(X)=>{Ij0($,X.result,X.connectionId,Z)}}}var I$1=O(()=>{n4();kh();zZ()});function eM8($){if($ instanceof Error)return $.message;if(typeof $==="string")return $;if(typeof $==="object"&&$!==null){let Z=$.message;if(typeof Z==="string")return Z;try{return JSON.stringify($)}catch{return String($)}}return String($)}function $k8($){let Z,X,Q=new Promise((K)=>{X=K}),Y=(K)=>{if(Z===void 0)Z=K;X(Z)},J=($.streamText??HO)({model:$.model,system:$.systemMessages,messages:$.messages,tools:$.tools,providerOptions:$q8,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:$.maxOutputTokens,stopWhen:$.stopWhen,abortSignal:$.abortSignal,onStepFinish:$.onStepFinish,onError:async(K)=>{let W=K.error??K,H=eM8(W);$.onError?.(H,W),Y(H)},onAbort:async()=>{Y(Z??"Run aborted before completion.")}});return Promise.resolve(J.finishReason).then(()=>{if(Z===void 0)X(void 0)}).catch((K)=>{let W=eM8(K);$.onError?.(W,K),Y(W)}),{result:J,error:Q}}var Zk8=O(()=>{h4();t41()});import{SpanStatusCode as q$1,trace as vu4}from"@opentelemetry/api";async function Ch($){let Z=$.tracer??vu4.getTracer("decopilot"),X=$.stepLimit??($.kind==="agent"?DI8:gN),Q=$.planMode??!1,Y=$.toolApprovalLevel??"auto",G=Z.startSpan("decopilot.agent_loop",{attributes:{"decopilot.agent.id":$.virtualMcp.id,"decopilot.agent.kind":$.kind,"decopilot.organization.id":$.organization.id,"decopilot.model.id":$.models.thinking.id}}),J=await Lq8({ctx:$.ctx,organization:$.organization,virtualMcp:$.virtualMcp,kind:$.kind,planMode:Q,isDecopilot:$.isDecopilot,agentInstructions:$.systemAgentInstructions,currentThreadId:$.currentThreadId,user:$.user,userContext:$.userContext,codingWorkspace:$.codingWorkspace,passthroughClient:$.passthroughClient,connectionsData:$.connectionsData}),K=$.additionalSystemMessages&&$.additionalSystemMessages.length>0?[...J,...$.additionalSystemMessages]:J,{resolveArgs:W,onToolCalled:H,onPrOpened:U}=qj0($.ctx,$.currentThreadId),{tools:N}=await IM8({kind:$.kind,ctx:$.ctx,mcpClient:$.mcpClient,writer:$.writer,planMode:Q,toolApprovalLevel:Y,subtaskParams:$.subtaskParams,resolveArgs:W,onToolCalled:H,onPrOpened:U,fullBuiltInParams:$.subagentBuiltInParams,toolOutputMap:$.toolOutputMap}),F=$.extraTools?{...N,...$.extraTools}:N,w=$.__streamText?void 0:oz0($.provider,$.models.thinking),B=(D)=>{for(let E of D.toolCalls??[]){let z=E.input?.command;if(E.toolName==="bash"&&z&&sM8(z)){Vh($.ctx,"in_review",$.currentThreadId);let j=(D.toolResults??[]).find((A)=>A.toolCallId===E.toolCallId);Ij0($.ctx,j?.output,null,$.currentThreadId);break}}return $.onStepFinish?.(D)},L=$k8({model:w,systemMessages:K,messages:$.messages,tools:F,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:rI8($.models.thinking.limits,jX(K)+jX($.messages)+jX(oI8(F,$.activeToolNames))),stopWhen:JO(X),abortSignal:$.abortSignal,onStepFinish:B,streamText:$.__streamText,onError:(D,E)=>{if(console.error(`[runAgentLoop:${$.kind}:${$.virtualMcp.id}] Error`,D),G.setStatus({code:q$1.ERROR,message:D}),E instanceof Error)G.recordException(E)}});return Promise.resolve(L.result.finishReason).then(()=>{G.setStatus({code:q$1.OK})}).catch((D)=>{let E=D instanceof Error?D.message:typeof D==="string"?D:`${D}`;G.setStatus({code:q$1.ERROR,message:E})}).finally(()=>G.end()),{result:L.result,error:L.error,span:G,assembledSystemMessages:K}}var Mj0=O(()=>{h4();S41();uN();V_();Dq8();qM8();I$1();zZ();Zk8()});function kj0($){let Z=Number.isFinite($)?Math.max(1,$):1,X=0,Q=0,Y=[];return{async acquire(G=0){if(X<Z)X++;else await new Promise((K)=>{let W={priority:G,seq:Q++,wake:K},H=Y.length;while(H>0&&Y[H-1].priority>G)H--;Y.splice(H,0,W)});let J=!1;return()=>{if(J)return;J=!0;let K=Y.shift();if(K)K.wake();else X--}},get active(){return X},get pending(){return Y.length}}}var xu4,Xk8=()=>xu4.acquire();var M$1=O(()=>{b8();xu4=kj0(Z1().decopilotMaxConcurrentSubagents)});import{z as k$1}from"zod";function S$1($){return/socket connection was closed|econnreset|epipe|etimedout|fetch failed|terminated|network error|premature close|\b(429|500|502|503|504)\b|overloaded|rate.?limit|timed? ?out/i.test($)}function bu4($,Z,X=!1){if(!$.repo)return X?Z:void 0;return{repo:{owner:$.repo.owner,name:$.repo.name,connectedGithub:Boolean($.repo.connectionId)},branch:Z?.branch,cwd:Z?.cwd,workspaceKind:"github"}}function V$1($){if($==="{}")return"";return $.length>Yk8?$.slice(0,Yk8)+"\u2026":$}function yu4($,Z){let X="";try{X=typeof Z==="string"?Z:JSON.stringify(Z??{})}catch{X=""}let Q=V$1(X);return Q?`${$} ${Q}`:$}function w$1($,Z,X){let{provider:Q,organization:Y,models:G,needsApproval:J,self:K,onChildUsage:W,vmTools:H,codingWorkspace:U,parentBuiltInParams:N,currentThreadId:F}=Z;return l8({description:fu4,inputSchema:K0(F$1),needsApproval:J,execute:async function*({prompt:w,agent_id:B},{abortSignal:L,toolCallId:D}){let E=performance.now(),z=!!K&&(!B||B===K.id),j=z?K.id:B,A=K?" Omit agent_id to clone yourself (a fresh subagent with your tools + instructions).":"";if(!j){yield{text:"",error:`agent_id is required here.${A}`,finishReason:"error"};return}if(!z&&K){let f=(await X.storage.virtualMcps.findById(K.id,Y.id))?.metadata?.subAgents;if(Array.isArray(f)&&!f.includes(j)){let y=f.length>0?" Or pass an id from <available-agents> or <available-connections>.":"";yield{text:"",error:`Target '${j}' is not in this agent's delegation allowlist (allow=${JSON.stringify(f)}).${A}${y}`,finishReason:"error"};return}}let P;try{P=await Xj0(X,Y.id,j,{superUser:z})}catch(m){yield{text:"",error:`${m.message} (agent_id="${j}").${A}`,finishReason:"error"};return}let{mcpClient:q,targetRef:k}=P,M=k.id,C=await Xk8();L?.addEventListener("abort",()=>C(),{once:!0});try{let m=bu4(k,U,z),f=N?(()=>{let{toolOutputMap:H0,...k0}=N;return{...k0,passthroughClient:q,agentId:k.id,vmContext:z?k0.vmContext:null,backgroundDispatcher:null,onChildUsage:void 0,pendingImages:[]}})():void 0,y="",o=null,b=0,a=200,F0=()=>{if(!o)return;let H0=V$1(o.args),k0=y&&!y.endsWith(`
|
|
2745
|
+
)`,created_by:$.by,created_at:X,updated_by:$.by,updated_at:X}).returningAll().executeTakeFirstOrThrow();return this.itemFromDbRow(Y)}async update($,Z,X,Q){let Y=await this.db.updateTable("task_board_items").set({...X.title!==void 0?{title:X.title}:{},...X.description!==void 0?{description:X.description}:{},...X.status!==void 0?{status:X.status}:{},...X.priority!==void 0?{priority:X.priority}:{},...X.assigneeId!==void 0?{assignee_id:X.assigneeId}:{},...X.assignedBy!==void 0?{assigned_by:X.assignedBy}:{},...X.dueDate!==void 0?{due_date:X.dueDate}:{},...X.sortOrder!==void 0?{sort_order:X.sortOrder}:{},updated_by:Q,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).returningAll().executeTakeFirstOrThrow(),G=this.itemFromDbRow(Y);return await this.attachRefs([G],Z),G}async delete($,Z,X){return this.inTransaction(async(Q)=>{let Y=await Q.selectFrom("task_board_items").select(["created_by"]).where("id","=",$).where("organization_id","=",Z).executeTakeFirst();if(!Y)return!1;if(oQ({createdBy:Y.created_by}))return await Q.updateTable("task_board_items").set({dismissed_at:new Date().toISOString(),updated_by:X}).where("id","=",$).where("organization_id","=",Z).where("dismissed_at","is",null).execute(),!0;return await Q.deleteFrom("task_board_item_threads").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_item_prs").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_items").where("id","=",$).where("organization_id","=",Z).execute(),!0})}async dismissedFindingKeys($,Z){if(Z.length===0)return new Set;let X=await this.db.selectFrom("task_board_items").select(["external_key"]).where("organization_id","=",$).where("external_key","in",Z).where("dismissed_at","is not",null).execute();return new Set(X.flatMap((Q)=>Q.external_key??[]))}async listDismissedFindings($){return(await this.db.selectFrom("task_board_items").select(["external_key","updated_by","dismissed_at"]).where("organization_id","=",$).where("dismissed_at","is not",null).orderBy("dismissed_at","desc").execute()).flatMap((X)=>X.external_key&&X.dismissed_at?[{externalKey:X.external_key,dismissedBy:X.updated_by,dismissedAt:X.dismissed_at instanceof Date?X.dismissed_at.toISOString():X.dismissed_at}]:[])}async restoreDismissedFindings($,Z){if(Z&&Z.length===0)return 0;let X=this.db.updateTable("task_board_items").set({dismissed_at:null}).where("organization_id","=",$).where("dismissed_at","is not",null);if(Z)X=X.where("external_key","in",Z);let Q=await X.executeTakeFirst();return Number(Q.numUpdatedRows??0n)}async setItemTags($,Z,X){await this.inTransaction(async(Q)=>{if(await Q.deleteFrom("task_board_item_tags").where("task_board_item_id","=",$).$if(Z.length>0,(Y)=>Y.where("id","not in",Z)).execute(),Z.length>0)await Q.insertInto("task_board_item_tags").values(Z.map((Y)=>({task_board_item_id:$,id:Y,created_by:X,created_at:new Date().toISOString()}))).onConflict((Y)=>Y.doNothing()).execute()})}async addItemTags($,Z,X){if(Z.length===0)return;await this.db.insertInto("task_board_item_tags").values(Z.map((Q)=>({task_board_item_id:$,id:Q,created_by:X,created_at:new Date().toISOString()}))).onConflict((Q)=>Q.doNothing()).execute()}async linkThread($,Z,X){await this.db.insertInto("task_board_item_threads").values({task_board_item_id:$,thread_id:Z,organization_id:X}).onConflict((Q)=>Q.columns(["task_board_item_id","thread_id"]).doNothing()).execute()}async listItemsPendingReview($,Z,X){let Q=this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","updated_at"]).where("status","=","in_review").where("assignee_id","=",Z$).where("dismissed_at","is",null);if(X)Q=Q.where((G)=>G.or([G("last_swept_at","is",null),G("last_swept_at","<",X)]));if(Z){let G=new Date(Z.updatedAt);Q=Q.where((J)=>J.or([J("updated_at",">",G),J.and([J("updated_at","=",G),J("id",">",Z.id)])]))}return(await Q.orderBy("updated_at","asc").orderBy("id","asc").limit($).execute()).map((G)=>({id:G.id,organizationId:G.organizationId,updatedAt:G.updated_at instanceof Date?G.updated_at.toISOString():String(G.updated_at)}))}async markSwept($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:new Date}).where("id","=",$).where("organization_id","=",Z).execute()}async failedRunInfo($,Z){let X=await this.db.selectFrom("threads as t").leftJoinLateral((Q)=>Q.selectFrom("thread_message_parts as p").select("p.payload").whereRef("p.thread_id","=","t.id").where("p.kind","=","error").orderBy("p.created_at","desc").limit(1).as("err"),(Q)=>Q.onTrue()).select(["t.status","t.failure_kind as kind","err.payload as payload"]).where("t.id","=",$).where("t.organization_id","=",Z).executeTakeFirst();if(!X||X.status!=="failed")return null;return{kind:X.kind??null,errorText:uM8(X.payload)}}async scheduleRunRetry($,Z,X,Q){return(await this.db.updateTable("task_board_items").set({retry_at:Q,retry_attempts:X}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").where("dismissed_at","is",null).returning("id").execute()).length>0}async returnToTodoAfterFailure($,Z,X){if((await this.db.updateTable("task_board_items").set({status:"todo",retry_at:null,retry_attempts:0,updated_by:X,updated_at:new Date}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").where("dismissed_at","is",null).returning("id").execute()).length===0)return null;return await this.getById($,Z)}async failNeverStartedLinkedThreads($,Z,X){let Q=await this.db.selectFrom("threads as t").innerJoin("task_board_item_threads as l","l.thread_id","t.id").select(["t.id as threadId","l.task_board_item_id as itemId","l.organization_id as organizationId"]).where("t.status","=","in_progress").where("t.run_started_at","is",null).where((K)=>K.and([K("t.updated_at","<",Z),K.or([K("t.last_progress_at","is",null),K("t.last_progress_at","<",Z)])])).limit($).execute();if(Q.length===0)return[];let Y=Q.map((K)=>K.threadId),G=await this.db.updateTable("threads").set({status:"failed",failure_reason:X,failure_kind:"abandoned",run_owner_pod:null,run_config:null,run_started_at:null,updated_at:new Date().toISOString()}).where("id","in",Y).where("status","=","in_progress").returning("id").execute(),J=new Set(G.map((K)=>K.id));return Q.filter((K)=>J.has(K.threadId))}async listItemsStuckAfterFailure($,Z){let X=await this.db.selectFrom("task_board_items as i").innerJoin("task_board_item_threads as l","l.task_board_item_id","i.id").innerJoin("threads as t","t.id","l.thread_id").select(["i.id as id","i.organization_id as organizationId","t.id as threadId"]).where("i.status","=","in_progress").where("i.assignee_id","=",Z$).where("i.dismissed_at","is",null).where("i.retry_at","is",null).where("t.status","=","failed").where("t.updated_at","<",Z).where((Y)=>Y.not(Y.exists(Y.selectFrom("task_board_item_threads as l2").innerJoin("threads as t2","t2.id","l2.thread_id").select("t2.id").whereRef("l2.task_board_item_id","=","i.id").where("t2.status","in",["in_progress","requires_action"])))).orderBy("t.updated_at","desc").limit($).execute(),Q=new Set;return X.filter((Y)=>!Q.has(Y.id)&&Q.add(Y.id))}async listItemsDueForRetry($,Z){return await this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","retry_attempts as attempts"]).where("retry_at","is not",null).where("retry_at","<=",Z).where("status","=","in_progress").where("dismissed_at","is",null).orderBy("retry_at","asc").limit($).execute()}async claimDueRetry($,Z,X){return(await this.db.updateTable("task_board_items").set({retry_at:null}).where("id","=",$).where("organization_id","=",Z).where("retry_at","is not",null).where("retry_at","<=",X).returning("id").execute()).length>0}async clearRunRetry($,Z){await this.db.updateTable("task_board_items").set({retry_at:null,retry_attempts:0}).where("id","=",$).where("organization_id","=",Z).execute()}async clearSweepBudget($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:null}).where("id","=",$).where("organization_id","=",Z).execute()}async linkedTaskIds($,Z){return(await this.db.selectFrom("task_board_item_threads").select("task_board_item_id as taskId").where("thread_id","=",$).where("organization_id","=",Z).execute()).map((Q)=>Q.taskId)}async linkPr($){await this.db.insertInto("task_board_item_prs").values({task_board_item_id:$.taskBoardItemId,organization_id:$.organizationId,url:$.url,pr_number:$.prNumber,repo_owner:$.repoOwner,repo_name:$.repoName,connection_id:$.connectionId??null}).onConflict((Z)=>Z.columns(["task_board_item_id","url"]).doNothing()).execute()}async listPrs($,Z){return(await this.db.selectFrom("task_board_item_prs").select(["url","pr_number as prNumber","repo_owner as repoOwner","repo_name as repoName","connection_id as connectionId","created_at as createdAt"]).where("task_board_item_id","=",$).where("organization_id","=",Z).orderBy("created_at","desc").execute()).map((Q)=>({url:Q.url,number:Q.prNumber,repoOwner:Q.repoOwner,repoName:Q.repoName,connectionId:Q.connectionId??null,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}async advanceLinkedTasksToReviewOnThreadFinish($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||!j$1(Y))continue;let G=await this.advanceToReviewIfInProgress(Q,Z,Y.updatedBy);if(!G)continue;X.push(G),await this.recordActivity({taskBoardItemId:Q,action:"status_changed",actorId:null,data:{from:Y.status,to:"in_review"}}).catch((J)=>console.error("[task-board] in_review activity write failed",J))}return X}async advanceToReviewIfInProgress($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_review",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").where("dismissed_at","is",null).returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async reopenLinkedTasksOnThreadRun($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||Y.status!=="in_review")continue;X.push(await this.update(Q,Z,{status:"in_progress"},Y.updatedBy))}return X}claimConflictResolution($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}claimReviewChangesBounce($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}async claimInReviewSuperAgentSlot($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_progress",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_review").where("assignee_id","=",Z$).returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async attachRefs($,Z){if($.length===0)return;await this.inTransaction(async(X)=>{await this.attachThreads(X,$,Z),await this.attachTags(X,$)})}async attachThreads($,Z,X){let Q=Z.map((J)=>J.id),Y=await $.selectFrom("task_board_item_threads as link").innerJoin("threads as t","t.id","link.thread_id").leftJoinLateral((J)=>J.selectFrom("thread_message_parts as p").select("p.payload as payload").whereRef("p.thread_id","=","link.thread_id").where("p.role","=","assistant").where("p.kind","=","text").orderBy("p.created_at","desc").limit(1).as("lastmsg"),(J)=>J.onTrue()).select((J)=>["link.task_board_item_id as taskId","link.thread_id as threadId","link.created_at as createdAt","t.status as status","t.title as title","t.virtual_mcp_id as virtualMcpId","t.metadata as metadata","lastmsg.payload as lastMessagePayload",J.or([J.exists(J.selectFrom("thread_message_parts as mp").select("mp.id").whereRef("mp.thread_id","=","link.thread_id")),J.exists(J.selectFrom("thread_messages as tm").select("tm.id").whereRef("tm.thread_id","=","link.thread_id"))]).as("hasMessages")]).where("link.organization_id","=",X).where("link.task_board_item_id","in",Q).orderBy("link.created_at","desc").execute(),G=new Map;for(let J of Y){let K={threadId:J.threadId,virtualMcpId:J.virtualMcpId??null,status:J.status??null,title:J.title??null,lastMessage:uM8(J.lastMessagePayload),hasPreview:Eu4(J.metadata),hasMessages:!!J.hasMessages,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt},W=G.get(J.taskId);if(W)W.push(K);else G.set(J.taskId,[K])}for(let J of Z)J.threads=G.get(J.id)??[]}async attachTags($,Z){let X=Z.map((G)=>G.id),Q=await $.selectFrom("task_board_item_tags as link").innerJoin("organization_tags as tag","tag.id","link.id").select(["link.task_board_item_id as taskId","link.created_by as createdBy","link.created_at as createdAt","tag.id as id","tag.name as name","tag.color as color"]).where("link.task_board_item_id","in",X).orderBy("tag.name","asc").execute(),Y=new Map;for(let G of Q){let J={id:G.id,name:G.name,color:G.color??null,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt},K=Y.get(G.taskId);if(K)K.push(J);else Y.set(G.taskId,[J])}for(let G of Z)G.tags=Y.get(G.id)??[]}async recordActivity($){await this.db.insertInto("task_board_activity").values({id:Z4("act"),task_board_item_id:$.taskBoardItemId,action:$.action,actor_id:$.actorId,data:$.data?JSON.stringify($.data):null,occurred_at:new Date().toISOString()}).execute()}async claimReviewer($,Z,X){let Q=`rtok_${crypto.randomUUID()}`,Y=await this.db.insertInto("task_board_review_claims").values({task_board_item_id:$,reviewer:Z,cycle_at:X,token:Q}).onConflict((J)=>J.columns(["task_board_item_id","reviewer","cycle_at"]).doNothing()).returning("token").executeTakeFirst();if(Y)return{claimed:!0,token:Y.token};return{claimed:!1,token:(await this.db.selectFrom("task_board_review_claims").select("token").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).executeTakeFirst())?.token??Q}}async releaseReviewerClaim($,Z,X){await this.db.deleteFrom("task_board_review_claims").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).execute()}async resolveReviewClaimByToken($,Z){let X=await this.db.selectFrom("task_board_review_claims").select(["reviewer","cycle_at"]).where("task_board_item_id","=",$).where("token","=",Z).executeTakeFirst();return X?{reviewer:X.reviewer,cycleAt:X.cycle_at}:null}async recordActivities($){if($.length===0)return;let Z=new Date().toISOString();await this.db.insertInto("task_board_activity").values($.map((X)=>({id:Z4("act"),task_board_item_id:X.taskBoardItemId,action:X.action,actor_id:X.actorId,data:X.data?JSON.stringify(X.data):null,occurred_at:Z}))).execute()}async listActivity($,Z){return(await this.db.selectFrom("task_board_activity as a").innerJoin("task_board_items as item","item.id","a.task_board_item_id").selectAll("a").where("item.organization_id","=",Z).where("a.task_board_item_id","=",$).orderBy("a.occurred_at","asc").execute()).map((Q)=>({id:Q.id,taskBoardItemId:Q.task_board_item_id,action:Q.action,actorId:Q.actor_id,data:typeof Q.data==="string"?JSON.parse(Q.data):Q.data??{},occurredAt:Q.occurred_at instanceof Date?Q.occurred_at.toISOString():Q.occurred_at}))}async listComments($,Z){return(await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").selectAll("c").where("item.organization_id","=",Z).where("c.task_board_item_id","=",$).orderBy("c.created_at","asc").execute()).map((Q)=>z$1(Q))}async createComment($){if(!await this.db.selectFrom("task_board_items").select("id").where("id","=",$.taskBoardItemId).where("organization_id","=",$.organizationId).executeTakeFirst())return null;let X=null;if($.parentId){let Y=await this.db.selectFrom("task_board_comments").select(["id","parent_id"]).where("id","=",$.parentId).where("task_board_item_id","=",$.taskBoardItemId).executeTakeFirst();if(!Y)return null;X=Y.parent_id??Y.id}let Q=await this.db.insertInto("task_board_comments").values({id:Z4("cmt"),task_board_item_id:$.taskBoardItemId,parent_id:X,author_id:$.authorId,body:$.body}).returningAll().executeTakeFirstOrThrow();return z$1(Q)}async updateComment($){let Z=await this.commentInOrg($.id,$.organizationId);if(!Z)return null;if($.body!==void 0&&Z.authorId!==$.callerId)return null;if($.resolved!==void 0&&Z.parentId!==null)return null;let X=await this.db.updateTable("task_board_comments").set({...$.body===void 0?{}:{body:$.body},...$.resolved===void 0?{}:{resolved:$.resolved},updated_at:new Date().toISOString()}).where("id","=",$.id).returningAll().executeTakeFirst();return X?z$1(X):null}async deleteComment($,Z,X){let Q=await this.commentInOrg($,Z);if(!Q)return!1;if(Q.authorId!==X&&Q.authorId!==Z$)return!1;return await this.db.deleteFrom("task_board_comments").where("id","=",$).execute(),!0}async commentInOrg($,Z){let X=await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").select(["c.id","c.author_id","c.parent_id"]).where("c.id","=",$).where("item.organization_id","=",Z).executeTakeFirst();return X?{authorId:X.author_id,parentId:X.parent_id}:null}itemFromDbRow($){return{id:$.id,organizationId:$.organization_id,title:$.title,description:$.description,status:$.status,priority:$.priority,assigneeId:$.assignee_id,assignedBy:$.assigned_by,dueDate:$.due_date instanceof Date?$.due_date.toISOString():$.due_date,sortOrder:$.sort_order,retryAttempts:$.retry_attempts??0,threads:[],tags:[],createdBy:$.created_by,createdAt:$.created_at instanceof Date?$.created_at.toISOString():$.created_at,updatedBy:$.updated_by,updatedAt:$.updated_at instanceof Date?$.updated_at.toISOString():$.updated_at}}}var Dr;var g_=O(()=>{ZK();aX();tZ();Dr=new Set(["completed","failed","expired"])});function cM8($){let Z=$[1],X=$[2],Q=Number($[3]);return{owner:Z,repo:X,number:Q,url:`https://github.com/${Z}/${X}/pull/${Q}`}}function Pj0($){let Z=$.length>200000?$.slice(0,200000):$,X=zu4.exec(Z);if(X&&Number(X[3])>0)return cM8(X);let Q=ju4.exec(Z);if(Q&&Number(Q[3])>0)return cM8(Q);return null}function lM8($){if($==null)return null;if(typeof $==="string")return Pj0($);let Z;try{Z=JSON.stringify($)}catch{return null}return Z?Pj0(Z):null}var zu4,ju4;var P$1=O(()=>{zu4=/https?:\/\/github\.com\/([^/\s"']+)\/([^/\s"']+)\/pull\/(\d+)/,ju4=/https?:\/\/api\.github\.com\/repos\/([^/\s"']+)\/([^/\s"']+)\/pulls\/(\d+)/});function mM8($){if(dM8.has($.kind??""))return 0;return Iu4($)?Tu4:Ru4}function Iu4($){let Z=$.kind??"";if(dM8.has(Z))return!1;if(Pu4.has(Z))return!0;let X=$.errorText??"";if(!X)return!1;if(X.includes(rz0))return!0;return Au4.some((Q)=>Q.test(X))}var Pu4,dM8,Au4,Tu4=3,Ru4=1;var iM8=O(()=>{c41();Pu4=new Set(["stall","liveness","projection","abandoned"]),dM8=new Set(["cancelled","superseded"]),Au4=[/sandbox did not become ready/i,/sandbox (?:provisioning|claim) failed/i,/mcp is unusable/i,/harness_crashed: unexpected eof/i,/too many clients already|timeout exceeded when trying to connect/i,/\b(?:429|503)\b|too many requests|service unavailable/i]});class tM8{listeners=new Map;totalCount=0;strategy=null;started=!1;async start($){if(this.started){if(!$)return;await this.stop()}this.strategy=$,await this.strategy.start((Z,X)=>this.localEmit(Z,X)),this.started=!0}async stop(){if(!this.started||!this.strategy)return;await this.strategy.stop(),this.started=!1}add($){if(this.totalCount>=pM8)return console.warn(`[SSEHub] Total connection limit reached (${pM8})`),null;let Z=this.listeners.get($.organizationId);if(!Z)Z=new Map,this.listeners.set($.organizationId,Z);if(Z.size>=nM8)return console.warn(`[SSEHub] Per-org connection limit reached for ${$.organizationId} (${nM8})`),null;return Z.set($.id,$),this.totalCount++,$.id}remove($,Z){let X=this.listeners.get($);if(!X)return;if(X.delete(Z)){if(this.totalCount--,X.size===0)this.listeners.delete($)}}emit($,Z){if(this.strategy)this.strategy.broadcast($,Z);else this.localEmit($,Z)}countForOrg($){return this.listeners.get($)?.size??0}get count(){return this.totalCount}localEmit($,Z){let X=this.listeners.get($);if(!X||X.size===0)return;for(let Q of X.values()){if(Q.typePatterns&&!qu4(Z.type,Q.typePatterns))continue;try{Q.push(Z)}catch{this.remove($,Q.id)}}}}function qu4($,Z){for(let X of Z){if(X===$)return!0;if(X.endsWith(".*")){let Q=X.slice(0,-1);if($.startsWith(Q))return!0}}return!1}var nM8=50,pM8=500,B9;var Aj0=O(()=>{D5();B9=new tM8;E6.createObservableGauge("sse_hub.connections",{description:"Active SSE listeners held by this pod",unit:"{connections}"}).addCallback(($)=>$.observe(B9.count))});function A$1($,Z,X,Q){dJ({event:$,organizationId:Z,properties:{task_id:X.id,reports_task:oQ(X),...Q}})}function p4($,Z){B9.emit($,{id:crypto.randomUUID(),type:nH8,source:"task-board",subject:Z.id,data:Z,time:new Date().toISOString()})}function oM8($,Z){B9.emit($,{id:crypto.randomUUID(),type:pH8,source:"task-board",subject:Z,data:{id:Z},time:new Date().toISOString()})}function Mu4($,Z){return $?[$]:Z}async function Rj0($,Z,X){let Q=$.metadata?.runMetadata?.taskBoardItemId,Y=!Q&&X?await $.storage.taskBoard.linkedTaskIds(X,Z):[];return Mu4(Q,Y)}async function Vh($,Z,X){let Q=$.organization?.id;if(!Q)return;try{for(let Y of await Rj0($,Q,X)){let G=await $.storage.taskBoard.getById(Y,Q);if(!G||Tj0[Z]<=Tj0[G.status])continue;let J=await $.storage.taskBoard.update(Y,Q,{status:Z},$.auth?.user?.id??G.updatedBy);if(await $.storage.taskBoard.recordActivity({taskBoardItemId:Y,action:"status_changed",actorId:null,data:{from:G.status,to:Z}}).catch((K)=>console.error("[task-board] activity log write failed",K)),p4(Q,J),Z==="in_progress"||Z==="in_review")A$1(Z==="in_progress"?"task_run_started":"task_run_completed",Q,J,{from:G.status,via:"pr_open"})}}catch(Y){console.error("[task-board] run transition failed",Y)}}async function Ij0($,Z,X,Q){let Y=$.organization?.id;if(!Y)return;try{let G=lM8(Z);if(!G)return;let J=await Rj0($,Y,Q);for(let K of J)await $.storage.taskBoard.linkPr({taskBoardItemId:K,organizationId:Y,url:G.url,prNumber:G.number,repoOwner:G.owner,repoName:G.repo,connectionId:X??null})}catch(G){console.error("[task-board] PR capture failed",G)}}async function Sh($,Z,X,Q){try{let Y=await $.advanceLinkedTasksToReviewOnThreadFinish(Z,X);for(let G of Y)p4(X,G),A$1("task_run_completed",X,G,{from:"in_progress",via:"thread_finish"});for(let G of Y)await $.clearRunRetry(G.id,X).catch(()=>{})}catch(Y){console.error("[task-board] thread-finish transition failed",Y)}await T$1($,Z,X),await R$1($,Q,Z,X)}async function T$1($,Z,X){try{let Q=await $.failedRunInfo(Z,X);if(!Q)return;let Y=mM8(Q);for(let G of await $.linkedTaskIds(Z,X)){let J=await $.getById(G,X);if(!J||J.status!=="in_progress")continue;if(J.threads.some((H)=>H.hasMessages&&H.status==="in_progress"))continue;let K=J.retryAttempts;if(K<Y){let H=xX(Vu4,ku4,K,2,0.5);if(!await $.scheduleRunRetry(G,X,K+1,new Date(Date.now()+H)))continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"in_progress",retry:K+1,of:Y,reason:Q.errorText??Q.kind}}).catch(()=>{});continue}let W=await $.returnToTodoAfterFailure(G,X,J.updatedBy);if(!W)continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"todo",reason:Q.errorText??Q.kind,retriesSpent:K}}).catch(()=>{}),p4(X,W),A$1("task_run_failed",X,J,{reason:Q.kind??"error",retries_spent:K})}}catch(Q){console.error("[task-board] failed-run reaction failed",Q)}}async function R$1($,Z,X,Q){try{for(let Y of await $.linkedTaskIds(X,Q)){let G=await $.getById(Y,Q);if(!G)continue;if(Tj0[G.status]>=Tj0.in_review)continue;if(G.threads.some((K)=>K.hasMessages&&(K.status===null||!Dr.has(K.status))))continue;if((await $.listPrs(Y,Q)).length>0)continue;await aH8(Z,Q,Y)}}catch(Y){console.error("[task-board] quota refund pass failed",Y)}}async function rM8($,Z){let X=$.organization?.id;if(!X)return;try{let Q=await $.storage.taskBoard.reopenLinkedTasksOnThreadRun(Z,X);for(let Y of Q)p4(X,Y)}catch(Q){console.error("[task-board] thread-run reopen failed",Q)}}function aM8($){return $.includes("create_pull_request")||$.includes("createPullRequest")}function sM8($){if(Su4.test($))return!0;return Cu4.test($)&&_u4.test($)}var Tj0,ku4=30000,Vu4=120000,Su4,Cu4,_u4;var zZ=O(()=>{ZK();n4();g_();P$1();iM8();F$();Aj0();tZ();Tj0={triage:0,todo:1,in_progress:2,in_review:3,done:4};Su4=/\bgh\s+pr\s+create\b/,Cu4=/api\.github\.com\/repos\/[^\s"']+\/pulls\b/,_u4=/(?:-X|--request)\s+POST/});function qj0($,Z){return{resolveArgs:(X)=>hM8(X,$),onToolCalled:(X)=>{if(!X.isError&&aM8(X.toolName))Vh($,"in_review",Z);let Q=$.organization?.id,Y=$.auth?.user?.id;if(!Q||!Y)return;n1.capture({distinctId:Y,event:"tool_called",groups:{organization:Q},properties:{organization_id:Q,tool_source:"mcp",tool_name:X.toolName,tool_safe_name:X.toolSafeName,read_only:X.annotations?.readOnlyHint??null,destructive:X.annotations?.destructiveHint??null,idempotent:X.annotations?.idempotentHint??null,open_world:X.annotations?.openWorldHint??null,latency_ms:Math.round(X.latencyMs),is_error:X.isError}})},onPrOpened:(X)=>{Ij0($,X.result,X.connectionId,Z)}}}var I$1=O(()=>{n4();kh();zZ()});function eM8($){if($ instanceof Error)return $.message;if(typeof $==="string")return $;if(typeof $==="object"&&$!==null){let Z=$.message;if(typeof Z==="string")return Z;try{return JSON.stringify($)}catch{return String($)}}return String($)}function $k8($){let Z,X,Q=new Promise((K)=>{X=K}),Y=(K)=>{if(Z===void 0)Z=K;X(Z)},J=($.streamText??HO)({model:$.model,system:$.systemMessages,messages:$.messages,tools:$.tools,providerOptions:$q8,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:$.maxOutputTokens,stopWhen:$.stopWhen,abortSignal:$.abortSignal,onStepFinish:$.onStepFinish,onError:async(K)=>{let W=K.error??K,H=eM8(W);$.onError?.(H,W),Y(H)},onAbort:async()=>{Y(Z??"Run aborted before completion.")}});return Promise.resolve(J.finishReason).then(()=>{if(Z===void 0)X(void 0)}).catch((K)=>{let W=eM8(K);$.onError?.(W,K),Y(W)}),{result:J,error:Q}}var Zk8=O(()=>{h4();t41()});import{SpanStatusCode as q$1,trace as vu4}from"@opentelemetry/api";async function Ch($){let Z=$.tracer??vu4.getTracer("decopilot"),X=$.stepLimit??($.kind==="agent"?DI8:gN),Q=$.planMode??!1,Y=$.toolApprovalLevel??"auto",G=Z.startSpan("decopilot.agent_loop",{attributes:{"decopilot.agent.id":$.virtualMcp.id,"decopilot.agent.kind":$.kind,"decopilot.organization.id":$.organization.id,"decopilot.model.id":$.models.thinking.id}}),J=await Lq8({ctx:$.ctx,organization:$.organization,virtualMcp:$.virtualMcp,kind:$.kind,planMode:Q,isDecopilot:$.isDecopilot,agentInstructions:$.systemAgentInstructions,currentThreadId:$.currentThreadId,user:$.user,userContext:$.userContext,codingWorkspace:$.codingWorkspace,passthroughClient:$.passthroughClient,connectionsData:$.connectionsData}),K=$.additionalSystemMessages&&$.additionalSystemMessages.length>0?[...J,...$.additionalSystemMessages]:J,{resolveArgs:W,onToolCalled:H,onPrOpened:U}=qj0($.ctx,$.currentThreadId),{tools:N}=await IM8({kind:$.kind,ctx:$.ctx,mcpClient:$.mcpClient,writer:$.writer,planMode:Q,toolApprovalLevel:Y,subtaskParams:$.subtaskParams,resolveArgs:W,onToolCalled:H,onPrOpened:U,fullBuiltInParams:$.subagentBuiltInParams,toolOutputMap:$.toolOutputMap}),F=$.extraTools?{...N,...$.extraTools}:N,w=$.__streamText?void 0:oz0($.provider,$.models.thinking),B=(D)=>{for(let E of D.toolCalls??[]){let z=E.input?.command;if(E.toolName==="bash"&&z&&sM8(z)){Vh($.ctx,"in_review",$.currentThreadId);let j=(D.toolResults??[]).find((A)=>A.toolCallId===E.toolCallId);Ij0($.ctx,j?.output,null,$.currentThreadId);break}}return $.onStepFinish?.(D)},L=$k8({model:w,systemMessages:K,messages:$.messages,tools:F,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:rI8($.models.thinking.limits,jX(K)+jX($.messages)+jX(oI8(F,$.activeToolNames))),stopWhen:JO(X),abortSignal:$.abortSignal,onStepFinish:B,streamText:$.__streamText,onError:(D,E)=>{if(console.error(`[runAgentLoop:${$.kind}:${$.virtualMcp.id}] Error`,D),G.setStatus({code:q$1.ERROR,message:D}),E instanceof Error)G.recordException(E)}});return Promise.resolve(L.result.finishReason).then(()=>{G.setStatus({code:q$1.OK})}).catch((D)=>{let E=D instanceof Error?D.message:typeof D==="string"?D:`${D}`;G.setStatus({code:q$1.ERROR,message:E})}).finally(()=>G.end()),{result:L.result,error:L.error,span:G,assembledSystemMessages:K}}var Mj0=O(()=>{h4();S41();uN();V_();Dq8();qM8();I$1();zZ();Zk8()});function kj0($){let Z=Number.isFinite($)?Math.max(1,$):1,X=0,Q=0,Y=[];return{async acquire(G=0){if(X<Z)X++;else await new Promise((K)=>{let W={priority:G,seq:Q++,wake:K},H=Y.length;while(H>0&&Y[H-1].priority>G)H--;Y.splice(H,0,W)});let J=!1;return()=>{if(J)return;J=!0;let K=Y.shift();if(K)K.wake();else X--}},get active(){return X},get pending(){return Y.length}}}var xu4,Xk8=()=>xu4.acquire();var M$1=O(()=>{b8();xu4=kj0(Z1().decopilotMaxConcurrentSubagents)});import{z as k$1}from"zod";function S$1($){return/socket connection was closed|econnreset|epipe|etimedout|fetch failed|terminated|network error|premature close|\b(429|500|502|503|504)\b|overloaded|rate.?limit|timed? ?out/i.test($)}function bu4($,Z,X=!1){if(!$.repo)return X?Z:void 0;return{repo:{owner:$.repo.owner,name:$.repo.name,connectedGithub:Boolean($.repo.connectionId)},branch:Z?.branch,cwd:Z?.cwd,workspaceKind:"github"}}function V$1($){if($==="{}")return"";return $.length>Yk8?$.slice(0,Yk8)+"\u2026":$}function yu4($,Z){let X="";try{X=typeof Z==="string"?Z:JSON.stringify(Z??{})}catch{X=""}let Q=V$1(X);return Q?`${$} ${Q}`:$}function w$1($,Z,X){let{provider:Q,organization:Y,models:G,needsApproval:J,self:K,onChildUsage:W,vmTools:H,codingWorkspace:U,parentBuiltInParams:N,currentThreadId:F}=Z;return l8({description:fu4,inputSchema:K0(F$1),needsApproval:J,execute:async function*({prompt:w,agent_id:B},{abortSignal:L,toolCallId:D}){let E=performance.now(),z=!!K&&(!B||B===K.id),j=z?K.id:B,A=K?" Omit agent_id to clone yourself (a fresh subagent with your tools + instructions).":"";if(!j){yield{text:"",error:`agent_id is required here.${A}`,finishReason:"error"};return}if(!z&&K){let f=(await X.storage.virtualMcps.findById(K.id,Y.id))?.metadata?.subAgents;if(Array.isArray(f)&&!f.includes(j)){let y=f.length>0?" Or pass an id from <available-agents> or <available-connections>.":"";yield{text:"",error:`Target '${j}' is not in this agent's delegation allowlist (allow=${JSON.stringify(f)}).${A}${y}`,finishReason:"error"};return}}let P;try{P=await Xj0(X,Y.id,j,{superUser:z})}catch(m){yield{text:"",error:`${m.message} (agent_id="${j}").${A}`,finishReason:"error"};return}let{mcpClient:q,targetRef:k}=P,M=k.id,C=await Xk8();L?.addEventListener("abort",()=>C(),{once:!0});try{let m=bu4(k,U,z),f=N?(()=>{let{toolOutputMap:H0,...k0}=N;return{...k0,passthroughClient:q,agentId:k.id,vmContext:z?k0.vmContext:null,backgroundDispatcher:null,onChildUsage:void 0,pendingImages:[]}})():void 0,y="",o=null,b=0,a=200,F0=()=>{if(!o)return;let H0=V$1(o.args),k0=y&&!y.endsWith(`
|
|
2746
2746
|
`)?`
|
|
2747
2747
|
`:"";y+=`${k0}\u21B3 ${H0?`${o.name} ${H0}`:o.name}
|
|
2748
2748
|
`,o=null},E0=()=>{if(!o)return y;let H0=V$1(o.args),k0=y&&!y.endsWith(`
|