decocms 4.422.2 → 4.422.3
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-BXSufl6j.js → AlertCircle-CVtZx7OF.js} +1 -1
- package/dist/client/assets/{AreaChart-DbCufTIo.js → AreaChart-BhhKa5WC.js} +1 -1
- package/dist/client/assets/{ArrowLeft-Bg94ri8a.js → ArrowLeft-BCkbM4b4.js} +1 -1
- package/dist/client/assets/{ArrowRight-DOlgHs_c.js → ArrowRight-BBBInn6h.js} +1 -1
- package/dist/client/assets/{ArrowUp-BU2zE5PE.js → ArrowUp-DA3O9Q_5.js} +1 -1
- package/dist/client/assets/{CartesianChart-CrkR48tg.js → CartesianChart-Dz5ej5Gk.js} +1 -1
- package/dist/client/assets/{Check-D4OBVOQK.js → Check-FcxjuFt6.js} +1 -1
- package/dist/client/assets/{CheckCircle-DTMooFdK.js → CheckCircle-BO45x9RP.js} +1 -1
- package/dist/client/assets/{ChevronUp-OYdX8Epa.js → ChevronUp-CFC5Ebq0.js} +1 -1
- package/dist/client/assets/{Copy01-CUyKIs1u.js → Copy01-C6Pi2Z_V.js} +1 -1
- package/dist/client/assets/{CreditCard01-DO19eKL2.js → CreditCard01-C5pPfXKY.js} +1 -1
- package/dist/client/assets/{DotsVertical-CZ2LcpRf.js → DotsVertical-BLLrg_XP.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-CqXrleQQ.js → ErrorBarContext-KVNuaRbI.js} +1 -1
- package/dist/client/assets/{Image01-ToCOyagY.js → Image01-B1u2Kql2.js} +1 -1
- package/dist/client/assets/{Key01-DhhAc-y6.js → Key01-ClN_3drg.js} +1 -1
- package/dist/client/assets/{Line-BMRBGn3Q.js → Line-CZINWoIp.js} +1 -1
- package/dist/client/assets/{Link01-CBVAebr8.js → Link01-Vtq2lkbp.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Dqq_SVBL.js → LinkExternal01-F44g-br4.js} +1 -1
- package/dist/client/assets/{Monitor01-CxUGtgTL.js → Monitor01-DzDXiiSe.js} +1 -1
- package/dist/client/assets/{Palette-vgUG55EQ.js → Palette-mWfzFBxF.js} +1 -1
- package/dist/client/assets/{Plus-CrbzCaEi.js → Plus-KRmPLJ6h.js} +1 -1
- package/dist/client/assets/{SearchMd-Dageowq2.js → SearchMd-V0a6RI0u.js} +1 -1
- package/dist/client/assets/{Sector-vJKmBFzw.js → Sector-DOnsMWPN.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-CSduEHHT.js → ShoppingBag01-CgMyE5tG.js} +1 -1
- package/dist/client/assets/{Sun-CNkCIupD.js → Sun-BsSXClq1.js} +1 -1
- package/dist/client/assets/{Tool01-zX3eYSxU.js → Tool01-DAEtx7Sx.js} +1 -1
- package/dist/client/assets/{Trash01-dt_6PAps.js → Trash01-Cakv0Q_K.js} +1 -1
- package/dist/client/assets/{Upload01-JsFvqamy.js → Upload01-CTQz1wiD.js} +1 -1
- package/dist/client/assets/{User01-B_F1DbN-.js → User01-P9l9chQ8.js} +1 -1
- package/dist/client/assets/{UserSquare-DmjVuiRE.js → UserSquare-C8CLmWk7.js} +1 -1
- package/dist/client/assets/{Users01-wEhPwNCC.js → Users01-CNwYnNBC.js} +1 -1
- package/dist/client/assets/{X-CEVCliW4.js → X-CKGbxNhB.js} +1 -1
- package/dist/client/assets/{XAxis-C-sUvjw3.js → XAxis-BtS9K8bJ.js} +1 -1
- package/dist/client/assets/{XClose-DUtg5A7y.js → XClose-YtRhiE3L.js} +1 -1
- package/dist/client/assets/{ZoomOut-DEvxpy2q.js → ZoomOut-C-nvVeIw.js} +1 -1
- package/dist/client/assets/{access-gate-CqbMoBhV.js → access-gate-D2ZebaFO.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-DtCvLZeU.js → add-connection-dialog-4toRZZCj.js} +1 -1
- package/dist/client/assets/{agent-analytics-CSO_01IV.js → agent-analytics-BcI4DPVo.js} +1 -1
- package/dist/client/assets/agent-app-CDw9NPar.js +1 -0
- package/dist/client/assets/{agent-assets-C2EpMYSW.js → agent-assets-oonhj5GS.js} +1 -1
- package/dist/client/assets/{agent-automation-DOVblMru.js → agent-automation-BJHlaGQQ.js} +1 -1
- package/dist/client/assets/{agent-automations-BILYi7D0.js → agent-automations-CesK4r4W.js} +1 -1
- package/dist/client/assets/{agent-connect-sources-BbB_NUgh.js → agent-connect-sources-CCZJyALU.js} +1 -1
- package/dist/client/assets/agent-deck-BQTunqEK.js +1 -0
- package/dist/client/assets/{agent-e2e-CQ0_dgXH.js → agent-e2e-DuBrWECi.js} +1 -1
- package/dist/client/assets/{agent-experiments-CldW9tdX.js → agent-experiments-vLmcxuue.js} +1 -1
- package/dist/client/assets/{agent-file-Bf85OEwX.js → agent-file-BjwSU2v3.js} +1 -1
- package/dist/client/assets/{agent-git-BMieuydB.js → agent-git-CFegXvbB.js} +1 -1
- package/dist/client/assets/{agent-hosting-uIsc6wO5.js → agent-hosting-Bg7A-Ube.js} +1 -1
- package/dist/client/assets/{agent-icon-OQScRNIi.js → agent-icon-BwVu9Y1n.js} +1 -1
- package/dist/client/assets/agent-library-CmLN_5gu.js +1 -0
- package/dist/client/assets/agent-library-file-exMsSt_M.js +1 -0
- package/dist/client/assets/{agent-monitor-NgZPxxTm.js → agent-monitor-dV--q695.js} +1 -1
- package/dist/client/assets/{agent-overview-A5OwSLP_.js → agent-overview-CKjEypvF.js} +1 -1
- package/dist/client/assets/agent-settings-j2_eVJKl.js +1 -0
- package/dist/client/assets/{agent-site-editor-C2V8Ko3H.js → agent-site-editor-DVoJkMOH.js} +1 -1
- package/dist/client/assets/agent-site-editor-code-DDFejzkU.js +2 -0
- package/dist/client/assets/{agent-site-editor-content-CzPgg7oz.js → agent-site-editor-content-DyztC_34.js} +3 -3
- package/dist/client/assets/{agent-site-editor-preview-LF82wziX.js → agent-site-editor-preview-iKb4i4S0.js} +3 -3
- package/dist/client/assets/agent-view-CBFrWHB9.js +1 -0
- package/dist/client/assets/{agent-view-guard-rc98Jj7R.js → agent-view-guard-CczFiEQW.js} +1 -1
- package/dist/client/assets/{agents-list-DsPUX6Lc.js → agents-list-Cx-MnAIR.js} +1 -1
- package/dist/client/assets/{ai-providers-DoMZ6u1e.js → ai-providers-aCtxSLrJ.js} +1 -1
- package/dist/client/assets/{alert-kbSVqQrJ.js → alert-BMhd1qkv.js} +1 -1
- package/dist/client/assets/{alert-dialog-jhLzElGE.js → alert-dialog-BIKJBSWY.js} +1 -1
- package/dist/client/assets/{analytics-sections-DS77yatS.js → analytics-sections-B9AYAPpL.js} +1 -1
- package/dist/client/assets/api-keys-B9-V0bqA.js +1 -0
- package/dist/client/assets/{api-keys-EhUmOPC6.js → api-keys-BiSnsj4I.js} +1 -1
- package/dist/client/assets/app-editor-DSMfMFFh.js +1 -0
- package/dist/client/assets/{asset-utils-BqdXZvPQ.js → asset-utils-DJ6ftbPl.js} +1 -1
- package/dist/client/assets/{auth-DsiaVynw.js → auth-Dy0n9IyK.js} +1 -1
- package/dist/client/assets/{auth-catchall-bFORe2X8.js → auth-catchall-CjRy2Hgy.js} +1 -1
- package/dist/client/assets/{auth-entry-BIVqsd5a.js → auth-entry-C3yDP8t5.js} +1 -1
- package/dist/client/assets/{auth-split-layout-Bp7wIsbI.js → auth-split-layout-DyTMFK4R.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-CN_JKC_U.js → authenticate-and-persist-oauth-B-9NlA8S.js} +1 -1
- package/dist/client/assets/{automation-list-row-OtIHUqku.js → automation-list-row-BcGgpCA_.js} +1 -1
- package/dist/client/assets/{automation-runs-Bq6gWqON.js → automation-runs-CjxY4TUG.js} +1 -1
- package/dist/client/assets/{automations-DCT4heGu.js → automations-UCKOjbB9.js} +1 -1
- package/dist/client/assets/{autosend-LKFy_YVz.js → autosend-VbZkWu24.js} +1 -1
- package/dist/client/assets/{avatar-D5RLqdNR.js → avatar-CRdtD8pR.js} +1 -1
- package/dist/client/assets/{badge-bmCMv_xp.js → badge-bFS7pJ24.js} +1 -1
- package/dist/client/assets/{block-document-2atOuLw7.js → block-document-B_MVuzvl.js} +1 -1
- package/dist/client/assets/{blocks-preview-workspace-context-DS-9O0Zp.js → blocks-preview-workspace-context-CKUsc--e.js} +1 -1
- package/dist/client/assets/{buckets-Bhoc9-dm.js → buckets-DH_9H2lm.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-Cgcjj0v9.js → build-improve-prompt-doc-B2nzL_xr.js} +1 -1
- package/dist/client/assets/{calendar-BCfKOtbE.js → calendar-ehgWJLe7.js} +1 -1
- package/dist/client/assets/{capability-load-error-CDaiQM38.js → capability-load-error-DjYRR0Ds.js} +1 -1
- package/dist/client/assets/{category-editor-N5wMwcTi.js → category-editor-C7ndb-3d.js} +1 -1
- package/dist/client/assets/{chart-BxwJQgJM.js → chart-S-xxRWdH.js} +1 -1
- package/dist/client/assets/{chat-context-DSEtfrxe.js → chat-context-DgElWmma.js} +1 -1
- package/dist/client/assets/{chat-draft-CxXr1QcU.js → chat-draft-Dm7KATsP.js} +1 -1
- package/dist/client/assets/{checkbox-CnBHJr4o.js → checkbox-DY0rH-TX.js} +1 -1
- package/dist/client/assets/{choose-editor-45hsb9MD.js → choose-editor-BIPaWgYh.js} +1 -1
- package/dist/client/assets/{claim-phase-copy-DyHxIAZj.js → claim-phase-copy-CUWSS9Lf.js} +1 -1
- package/dist/client/assets/{cli-auth-success-BjdNIB_w.js → cli-auth-success-5WpzIU3O.js} +1 -1
- package/dist/client/assets/{client-icons-Cy_SHLzm.js → client-icons-MslZBuS6.js} +1 -1
- package/dist/client/assets/{collapsible-B5mElSr3.js → collapsible-CHNqG-q-.js} +1 -1
- package/dist/client/assets/{collection-detail-CpCmOhse.js → collection-detail-PSCqQ-Ir.js} +1 -1
- package/dist/client/assets/{collection-display-button-kBWI3qeW.js → collection-display-button-CZEgfpX9.js} +1 -1
- package/dist/client/assets/{collection-search-CybZ8Ry-.js → collection-search-BnXIXF-r.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BTBZU1Z3.js → collection-table-wrapper-8Z-CE056.js} +1 -1
- package/dist/client/assets/{collection-tabs-D2go3mZA.js → collection-tabs-Bky3kPsU.js} +1 -1
- package/dist/client/assets/{combobox-BoLptvQU.js → combobox-CVLqBXTa.js} +1 -1
- package/dist/client/assets/{command-D4LU-a1H.js → command-CGF9V6Vl.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-BBaTiTBG.js → companion-mcps-section-DXACuT5k.js} +1 -1
- package/dist/client/assets/{config-nqkzqyjO.js → config-HRkFT4Cj.js} +1 -1
- package/dist/client/assets/{connect-qvYtOwfs.js → connect-CT9ioKHl.js} +1 -1
- package/dist/client/assets/{connect-layout-CO9Km3s-.js → connect-layout-BOxr1i7G.js} +1 -1
- package/dist/client/assets/{connection-D_Q5UGHI.js → connection-0cqQcMBd.js} +1 -1
- package/dist/client/assets/{connection-card-BUWVihOM.js → connection-card-CVXElGSe.js} +1 -1
- package/dist/client/assets/{connection-detail-BANy2UmA.js → connection-detail-hNgr8XT5.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-n_CXlODp.js → connection-form-helpers-ktc30XoJ.js} +1 -1
- package/dist/client/assets/{connections-PaiP8VV8.js → connections-DmEMDA2h.js} +1 -1
- package/dist/client/assets/{context-DivK5LFB.js → context-CP59lD4S.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-Cy9SEclp.js → create-organization-dialog-PFEV7FIE.js} +1 -1
- package/dist/client/assets/{decopilot-BtBIaxbS.js → decopilot-B7MHJNrn.js} +1 -1
- package/dist/client/assets/{dialog-B2l9l_j1.js → dialog-jyWPb2tC.js} +1 -1
- package/dist/client/assets/{discover-DD83-UoC.js → discover-DKjnWS0t.js} +1 -1
- package/dist/client/assets/{domain-settings-aeDCzzdy.js → domain-settings-Dg0qQkrr.js} +1 -1
- package/dist/client/assets/{download-app-dialog-C9SBAwaO.js → download-app-dialog-C5cTfPYs.js} +1 -1
- package/dist/client/assets/{drawer-GYb49TFL.js → drawer-CxXWX_ie.js} +1 -1
- package/dist/client/assets/{editor-Dnw5q5va.js → editor-DOUtwOEV.js} +1 -1
- package/dist/client/assets/{empty-state-BknvhPRu.js → empty-state-CcOT7JmW.js} +1 -1
- package/dist/client/assets/{empty-state-b9Z9X6JX.js → empty-state-pG1Fwit8.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Bf13vcSi.js → extract-connection-data-D5OmU01k.js} +1 -1
- package/dist/client/assets/{feature-gate-Bu57gz78.js → feature-gate-D_-FZKAB.js} +1 -1
- package/dist/client/assets/{feature-paywall-CckYhCHl.js → feature-paywall-BptzLvdT.js} +1 -1
- package/dist/client/assets/{file-explorer-CEbX9mVh.js → file-explorer-t_EBQrR9.js} +1 -1
- package/dist/client/assets/{file-preview-DhoS66-X.js → file-preview-CETzBHJs.js} +1 -1
- package/dist/client/assets/{file-share-button-IC0Samkm.js → file-share-button-CSpaHWIA.js} +1 -1
- package/dist/client/assets/{file-type-icon-DiOMa8kQ.js → file-type-icon-DOStMe7n.js} +1 -1
- package/dist/client/assets/flat-project-B7sqVExw.js +1 -0
- package/dist/client/assets/{folder-icon-GCWNnAPY.js → folder-icon-Jx8GrJQl.js} +1 -1
- package/dist/client/assets/{form-CC_EgInc.js → form-cnyZOBcC.js} +1 -1
- package/dist/client/assets/{gateway-client-CIPZw3gx.js → gateway-client-IjNlqnM5.js} +1 -1
- package/dist/client/assets/{general-CMJmLCHc.js → general-CqUUipBz.js} +1 -1
- package/dist/client/assets/{home-BwyaDhCk.js → home-RbvSpTmv.js} +1 -1
- package/dist/client/assets/{index-BxawD1pR.js → index-4_tDDtww.js} +1 -1
- package/dist/client/assets/{index-D3Rf8MXb.js → index-BOY7zOPH.js} +1 -1
- package/dist/client/assets/{index-DAtE7hxo.js → index-BdZDESUI.js} +1 -1
- package/dist/client/assets/{index-BOnGc-v1.js → index-C39MmaGO.js} +1 -1
- package/dist/client/assets/{index-nzqaTpax.js → index-CAk57bVW.js} +1 -1
- package/dist/client/assets/{index-CwGe5RrK.js → index-D40dM9_G.js} +1 -1
- package/dist/client/assets/{index-CeQX7GW9.js → index-DYOIplpK.js} +1 -1
- package/dist/client/assets/{index-DFUtINeE.js → index-DYUG2RXM.js} +1 -1
- package/dist/client/assets/{index-VtJ9fs8l.js → index-DcP5acbo.js} +1 -1
- package/dist/client/assets/{index-nfF18SoD.js → index-Dd54RIq4.js} +1 -1
- package/dist/client/assets/{index-B9exEe_1.js → index-DwDe_p-O.js} +3 -3
- package/dist/client/assets/{index-DqreUSoL.js → index-OnxdjRP9.js} +1 -1
- package/dist/client/assets/{index-B5529fJ7.js → index-b8fp8LDt.js} +2 -2
- package/dist/client/assets/{index-DpgEQEcQ.js → index-eyrB46Vy.js} +1 -1
- package/dist/client/assets/{index-redirect-BSelAIQc.js → index-redirect-7mEnGUFH.js} +1 -1
- package/dist/client/assets/{index-DVmHHGgB.js → index-rpTqXmHS.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-hSg3lLfs.js → infiniteQueryObserver-gIFPF-Q5.js} +1 -1
- package/dist/client/assets/{infra-billing-PEU6w7Kw.js → infra-billing-BA22s6Vk.js} +1 -1
- package/dist/client/assets/{input-YnYgvAnn.js → input-Ch2ik4AP.js} +3 -3
- package/dist/client/assets/{input-CWipHD7E.js → input-DDkZ4YtM.js} +1 -1
- package/dist/client/assets/{input-BtUI9YKx.js → input-Dhqv4uND.js} +1 -1
- package/dist/client/assets/{integration-icon-BcTtsuFL.js → integration-icon-BqF75Sx2.js} +1 -1
- package/dist/client/assets/{label-Dz9R0dvJ.js → label-CD-3KHsU.js} +1 -1
- package/dist/client/assets/{last-preview-page-Ds1GoawC.js → last-preview-page-CES2mhUS.js} +1 -1
- package/dist/client/assets/{layout-WEi67p02.js → layout-zn8XiMmQ.js} +1 -1
- package/dist/client/assets/{legacy-agents-deep-CVBa-hIL.js → legacy-agents-deep-CRrvqgvY.js} +1 -1
- package/dist/client/assets/{legacy-main-redirect-Ct881Lqb.js → legacy-main-redirect-C5owTiPN.js} +1 -1
- package/dist/client/assets/library-BZeSnq8u.js +1 -0
- package/dist/client/assets/{library-tab-CdswkVh2.js → library-tab-LDdmtC3E.js} +1 -1
- package/dist/client/assets/{login-C9nYzzCw.js → login-CzZNFZzZ.js} +1 -1
- package/dist/client/assets/{markdown-PP4foewW.js → markdown-C2wmhZNE.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-BKoTK83_.js → mcp-app-renderer-Bfgic9Y6.js} +1 -1
- package/dist/client/assets/{mcp-oauth-C1qpIKNK.js → mcp-oauth-btOLn9Vw.js} +1 -1
- package/dist/client/assets/{members-B86zngg8.js → members-BjeV4aYZ.js} +1 -1
- package/dist/client/assets/{message-templates-DgS9jM-T.js → message-templates-37PCcMuN.js} +1 -1
- package/dist/client/assets/{mini-report-page-T3VFNq4a.js → mini-report-page-Cpy1UAyy.js} +1 -1
- package/dist/client/assets/{mock-board-BFcJ-EBK.js → mock-board-BVug8wD7.js} +1 -1
- package/dist/client/assets/{monaco-editor-B6KdQSVY.js → monaco-editor-l78K65MA.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-Cnysg30p.js → monitoring-stats-row-Bb0H1Rix.js} +1 -1
- package/dist/client/assets/{multi-select-BZ1fnLB9.js → multi-select-RaNmnU24.js} +1 -1
- package/dist/client/assets/{mustache-DgN6gUMn.js → mustache-DqgZNsks.js} +1 -1
- package/dist/client/assets/{new-project-dialog-DyTwwC14.js → new-project-dialog-1J2k2mif.js} +1 -1
- package/dist/client/assets/{oauth-callback-DjVG2ekD.js → oauth-callback-W8QHmpa4.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Bg7V2n1W.js → oauth-callback-ai-provider-KD5D3EIS.js} +1 -1
- package/dist/client/assets/{onboarding-lw5MiBva.js → onboarding-cHYr2QVc.js} +1 -1
- package/dist/client/assets/{openai-conversation-DToe6zxy.js → openai-conversation-BIn1UYeU.js} +1 -1
- package/dist/client/assets/{optimistic-project-sidebar-views-DlMipv9N.js → optimistic-project-sidebar-views-CkEUPeDa.js} +1 -1
- package/dist/client/assets/{org-file-open-context-D-lxa77e.js → org-file-open-context-De0SRuVZ.js} +1 -1
- package/dist/client/assets/{organization-choice-BT-AFcSB.js → organization-choice-X7ttK6bk.js} +1 -1
- package/dist/client/assets/{orgs-DxG2W5po.js → orgs-xczr9FEW.js} +1 -1
- package/dist/client/assets/{page-seo-form-C16LJEZI.js → page-seo-form-B_DGL-5l.js} +1 -1
- package/dist/client/assets/{pair-BNHVD4OQ.js → pair-De735f7F.js} +1 -1
- package/dist/client/assets/{plan-ladder-4124cJFN.js → plan-ladder-DOpWTd4w.js} +1 -1
- package/dist/client/assets/{popover-Dn0zpmCU.js → popover-CrMowaoE.js} +1 -1
- package/dist/client/assets/{post-calendar-BdYJBc4N.js → post-calendar-BWaqiPVX.js} +1 -1
- package/dist/client/assets/{post-editor-Ci4L8Wzp.js → post-editor-DqTAcHZP.js} +1 -1
- package/dist/client/assets/{preview-content-Bqhig7nw.js → preview-content-DG2TyiDA.js} +1 -1
- package/dist/client/assets/{preview-dialog-BGRDeJ3b.js → preview-dialog-CGk8g9sa.js} +1 -1
- package/dist/client/assets/{profile-77gVUT6f.js → profile-DtU4frmg.js} +1 -1
- package/dist/client/assets/{project-app-view-BJbGJl92.js → project-app-view-Dzxt7FUO.js} +1 -1
- package/dist/client/assets/{project-feed-CcezmxZC.js → project-feed-i3l9B4EK.js} +1 -1
- package/dist/client/assets/{project-icon-DR_MT5ZQ.js → project-icon-DsbzSgwK.js} +1 -1
- package/dist/client/assets/project-reports-B2OszKpU.js +1 -0
- package/dist/client/assets/project-tasks-BDPijl-K.js +1 -0
- package/dist/client/assets/{projects-DvYd79Rn.js → projects-Dx-XXRrs.js} +1 -1
- package/dist/client/assets/{projects-empty-state-BlbMk2w2.js → projects-empty-state-DO7zF9CF.js} +1 -1
- package/dist/client/assets/{prompts-qhqXg_AL.js → prompts-CiuEgK_n.js} +1 -1
- package/dist/client/assets/record-editor-DfoUR1C9.js +1 -0
- package/dist/client/assets/{redirect-editor-YUDaCNiL.js → redirect-editor-oGDYVob4.js} +1 -1
- package/dist/client/assets/{reports-io0DHEEY.js → reports-DUKjGsub.js} +1 -1
- package/dist/client/assets/reports-fyqF0S5-.js +1 -0
- package/dist/client/assets/{reports-onboarding-BUS0GPgT.js → reports-onboarding-Cn1Pt5RV.js} +1 -1
- package/dist/client/assets/{reports-tab-DAMJxh3O.js → reports-tab-DVHMgSaX.js} +2 -2
- package/dist/client/assets/{repositories-B-d1qTlV.js → repositories-DdIRhlQT.js} +1 -1
- package/dist/client/assets/{repository-binding-ADpJwoNa.js → repository-binding-55R_NO8O.js} +1 -1
- package/dist/client/assets/{repository-import-picker-Di9Cb67o.js → repository-import-picker-CWfeZJ7D.js} +1 -1
- package/dist/client/assets/{repository-picker-DUPP-3KO.js → repository-picker-CuBjKX0n.js} +1 -1
- package/dist/client/assets/{require-capability-BfTRrqwd.js → require-capability-D-8Ab_Tx.js} +1 -1
- package/dist/client/assets/{required-auth-layout-D5Xt3Ssl.js → required-auth-layout-JHtblyUI.js} +1 -1
- package/dist/client/assets/{reset-password-BxprIdPt.js → reset-password-B-zxfe28.js} +1 -1
- package/dist/client/assets/{resizable-BPIngqGw.js → resizable-CKFWp7Oe.js} +1 -1
- package/dist/client/assets/{resolve-tab-icon-DatOuyHb.js → resolve-tab-icon-rlvTUfeF.js} +1 -1
- package/dist/client/assets/{review-settings-BvNdpEj7.js → review-settings-OjIn4a5N.js} +1 -1
- package/dist/client/assets/{rich-text-link-control-BKzyMDa4.js → rich-text-link-control-B2vsYy1E.js} +1 -1
- package/dist/client/assets/{roles-PDcVVjTP.js → roles-BEFxXVjZ.js} +1 -1
- package/dist/client/assets/{route-BSmokujU.js → route-BuhReajl.js} +1 -1
- package/dist/client/assets/{route-Byfzr96A.js → route-CBVJ52nh.js} +1 -1
- package/dist/client/assets/route-v5ayl4uV.js +1 -0
- package/dist/client/assets/{runnable-block-editor-C4MdIuiy.js → runnable-block-editor-DX7F5x5Z.js} +1 -1
- package/dist/client/assets/{sandbox-lifecycle-context-BfeNX1Rr.js → sandbox-lifecycle-context-3b2Ggym7.js} +1 -1
- package/dist/client/assets/{schema-5p6LaNu0.js → schema-NHiqAi8o.js} +1 -1
- package/dist/client/assets/{scroll-area-BjPFnLP0.js → scroll-area-COFydPyl.js} +1 -1
- package/dist/client/assets/{search-input-C6GD7nVf.js → search-input-DtchHiLr.js} +1 -1
- package/dist/client/assets/{search-toggle-BGPnTIb3.js → search-toggle-fuY2-Hrd.js} +1 -1
- package/dist/client/assets/{secret-picker-ahMp9F8M.js → secret-picker-53Y713pM.js} +1 -1
- package/dist/client/assets/{secrets-BJs8ccqw.js → secrets-B55lT9Jq.js} +1 -1
- package/dist/client/assets/{sections-editor-cqjpHlrR.js → sections-editor-BQGJ5syj.js} +1 -1
- package/dist/client/assets/{select-nKcp-eYE.js → select-CMOLfTUd.js} +1 -1
- package/dist/client/assets/{select-model-iI0SyCn5.js → select-model-D3yjsL9p.js} +1 -1
- package/dist/client/assets/{seo-editor-D6ph1GFm.js → seo-editor-BHnzEyxm.js} +1 -1
- package/dist/client/assets/{separator-BkzHgXJt.js → separator-Hq7O1iJL.js} +1 -1
- package/dist/client/assets/{settings-tab-DxZtmCnF.js → settings-tab-CZGv2Tk2.js} +1 -1
- package/dist/client/assets/{sheet-DiMneoHV.js → sheet-C50lnPyk.js} +1 -1
- package/dist/client/assets/{shell-layout-Bh7bDUIj.js → shell-layout-CdyVKBx2.js} +1 -1
- package/dist/client/assets/{skills-DpLzaR__.js → skills-D-nKBqvh.js} +1 -1
- package/dist/client/assets/{sso-Dd9_f8nv.js → sso-B0rQBNs2.js} +1 -1
- package/dist/client/assets/{suggestion-CcDCEJR9.js → suggestion-C9LFtFjS.js} +1 -1
- package/dist/client/assets/{switch-BYbSD2W6.js → switch-BDTLPd_5.js} +1 -1
- package/dist/client/assets/{synced-repos-BGkTgqSq.js → synced-repos-DtyQovA-.js} +1 -1
- package/dist/client/assets/{tab-icon-glyph-iRom8JMy.js → tab-icon-glyph-D06mui8p.js} +1 -1
- package/dist/client/assets/{table-EE8lbODy.js → table-DEMhEl9n.js} +1 -1
- package/dist/client/assets/{tabs-BwzwZVFf.js → tabs-BcDaFfJS.js} +1 -1
- package/dist/client/assets/{task-board-BsDeKUYz.js → task-board-Qc5P6Y-B.js} +1 -1
- package/dist/client/assets/{task-route-ByYiHyTK.js → task-route-BDuG5mFb.js} +1 -1
- package/dist/client/assets/{task-status-aVxjtFnr.js → task-status-gBMnpCuT.js} +1 -1
- package/dist/client/assets/{taskboard-analytics-CaGK0bu3.js → taskboard-analytics-CHiAQUS0.js} +1 -1
- package/dist/client/assets/tasks-4RXJBJM9.js +1 -0
- package/dist/client/assets/{tasks-CchHjvcF.js → tasks-DbomCk4g.js} +1 -1
- package/dist/client/assets/{textarea-DhdFrSEU.js → textarea-DCQxd4Ep.js} +1 -1
- package/dist/client/assets/{thread-analytics-BkfwwLKa.js → thread-analytics-CpoE5ieH.js} +1 -1
- package/dist/client/assets/{thread-button-D56h2N2d.js → thread-button-ehR7Dlp_.js} +1 -1
- package/dist/client/assets/{thread-intent-CYbvJQ6x.js → thread-intent-CRqPosFZ.js} +1 -1
- package/dist/client/assets/{thread-route-BYAN8iig.js → thread-route-BrcWXGFH.js} +1 -1
- package/dist/client/assets/{thread-route-DBhy_fRl.js → thread-route-CwwNa7rG.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-Dvm_3YPi.js → thread-sheet-body-CCzVo7LK.js} +1 -1
- package/dist/client/assets/{toggle-group-CroIzZw2.js → toggle-group-JvUFZ5EE.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-CQtSAhHk.js → toolbar-icon-button-B6sD_AsQ.js} +1 -1
- package/dist/client/assets/{tooltip-Dp6bzwHL.js → tooltip-Bi7JdvkB.js} +1 -1
- package/dist/client/assets/{track-CnYiuqsU.js → track-v0KVSx34.js} +1 -1
- package/dist/client/assets/{types-BWh6evBX.js → types-C6rRSCQU.js} +1 -1
- package/dist/client/assets/{usage-stats-CAdwz9Qk.js → usage-stats-CuEYS-wZ.js} +1 -1
- package/dist/client/assets/{use-ai-providers-DQJp7kRA.js → use-ai-providers-BtMw9gwm.js} +1 -1
- package/dist/client/assets/{use-automations-BAst_g6m.js → use-automations-C8zovgC-.js} +1 -1
- package/dist/client/assets/{use-autosave-D8l6P0hO.js → use-autosave-B-NujlgN.js} +1 -1
- package/dist/client/assets/{use-chat-layout-state-CLajc7Wz.js → use-chat-layout-state-CN6yuxIZ.js} +1 -1
- package/dist/client/assets/{use-connect-companion-tgkV7jld.js → use-connect-companion-CEePh-_4.js} +1 -1
- package/dist/client/assets/{use-connection-BLNENEpr.js → use-connection-Dow_xwpS.js} +1 -1
- package/dist/client/assets/{use-copy-kzXDu9-C.js → use-copy-COrhGZKC.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Czf2j9hl.js → use-create-virtual-mcp-B140hp4e.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-Ccz-jjUp.js → use-date-fns-locale-xhHRXAbX.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-mQTMLVDk.js → use-debounced-autosave-Djt-umpU.js} +1 -1
- package/dist/client/assets/{use-debounced-value-D8UoXpeq.js → use-debounced-value-B8lQINn7.js} +1 -1
- package/dist/client/assets/{use-deco-credits-fjjAfbPr.js → use-deco-credits-B8qqCrVJ.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-DxUTzmkJ.js → use-decopilot-events-CveMqPsg.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DlDWOZBS.js → use-delete-connection-SeG3ePOh.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-B9G8b2-Q.js → use-deployment-admin-BUnxG0jx.js} +1 -1
- package/dist/client/assets/{use-fast-preview-draft-url-CaAcSIcz.js → use-fast-preview-draft-url-Caoiz4Wa.js} +1 -1
- package/dist/client/assets/{use-file-configs-D1IILBke.js → use-file-configs-D3-24XdK.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CW86Xzvp.js → use-infinite-scroll-D7ld_EUt.js} +1 -1
- package/dist/client/assets/{use-join-requests-BHoWcZI5.js → use-join-requests-Bp-z6Voq.js} +1 -1
- package/dist/client/assets/{use-main-panel-tabs-Bui_yElq.js → use-main-panel-tabs-Hokx6WHS.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-Byqf9AUU.js → use-mcp-auth-status-CmbIVFHS.js} +1 -1
- package/dist/client/assets/{use-mcp-client-B_itYgog.js → use-mcp-client-D71dVc6F.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-DkO9a10M.js → use-mcp-prompts-5J9nyt1f.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CtWFKl0s.js → use-mcp-tools-CotgwWio.js} +1 -1
- package/dist/client/assets/{use-members-CdmwC-fO.js → use-members-DpznZCfa.js} +1 -1
- package/dist/client/assets/{use-mobile-D9DlyRFL.js → use-mobile-gFkCJFqu.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-B-LalQf4.js → use-navigate-to-agent-CKGWZY5B.js} +1 -1
- package/dist/client/assets/use-new-blocks-editor-_HCBNSrv.js +1 -0
- package/dist/client/assets/{use-open-billing-url-C_kSrdNp.js → use-open-billing-url-PTsUxw4z.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-DXk4jUQy.js → use-org-auth-client-CV7Jx-D7.js} +1 -1
- package/dist/client/assets/{use-org-fs-BlFd_hkS.js → use-org-fs-BA8EDTNB.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-C0OG7NNp.js → use-org-repo-syncs-BzITnjia.js} +1 -1
- package/dist/client/assets/{use-org-sso-CvnOzsCm.js → use-org-sso-4TSO8HVM.js} +1 -1
- package/dist/client/assets/{use-organization-roles-B8RQD2b_.js → use-organization-roles-BX_jzStw.js} +1 -1
- package/dist/client/assets/{use-organization-settings-OFULvS7k.js → use-organization-settings-DHUs001C.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-Cqc5Rx1f.js → use-panel-navigate-D3FhRJpf.js} +1 -1
- package/dist/client/assets/{use-project-native-view-presence-B8kBneeB.js → use-project-native-view-presence-Bm3KpKbG.js} +1 -1
- package/dist/client/assets/{use-project-scope-BIbbzzjC.js → use-project-scope-B0nCeJeZ.js} +1 -1
- package/dist/client/assets/{use-releases-BXcnVNgc.js → use-releases-BHojzkRf.js} +1 -1
- package/dist/client/assets/{use-reports-diagnostic-I4GF7Sz0.js → use-reports-diagnostic-ClFQn1-r.js} +1 -1
- package/dist/client/assets/{use-secrets-CdMFZWUC.js → use-secrets-CLdLiqbt.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-D3bgN7M8.js → use-section-preview-base-D1HQsXgu.js} +1 -1
- package/dist/client/assets/{use-session-runtime-DfyXlW9X.js → use-session-runtime-D4ohi0Ue.js} +1 -1
- package/dist/client/assets/{use-tags-BBexjHyF.js → use-tags-Ct_zjiKI.js} +1 -1
- package/dist/client/assets/{use-task-board-analytics-PUy-QLX_.js → use-task-board-analytics-DMpZjl1x.js} +1 -1
- package/dist/client/assets/{use-task-metadata-CoTaQ-yD.js → use-task-metadata-C8cu9VOd.js} +1 -1
- package/dist/client/assets/{use-thread-analytics-CgfXdvhV.js → use-thread-analytics-DyiU89Jz.js} +1 -1
- package/dist/client/assets/{use-thread-outputs-IDH7_ppL.js → use-thread-outputs-D6266alc.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-CzSAJb3p.js +1 -0
- package/dist/client/assets/{useQueries-KxFnOufe.js → useQueries-BTLfD8PB.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Bpkp3-ow.js +1 -0
- package/dist/client/assets/{users-BqjdDt6U.js → users-zGePYZ2o.js} +1 -1
- package/dist/client/assets/{utils-B2QB3ROM.js → utils-BIme68Ov.js} +1 -1
- package/dist/client/assets/{variant-calendar-BT04qWLG.js → variant-calendar-B6xlCfDG.js} +1 -1
- package/dist/client/assets/{variant-matcher-override-BCx9UTTI.js → variant-matcher-override-BQVeN4Ol.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DRMr8uWM.js → view-mode-toggle-BzJ8plfm.js} +1 -1
- package/dist/client/assets/{virtual-mcp-v1BXklbW.js → virtual-mcp-D0krbeEv.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/agent-app-kYYLCFxp.js +0 -1
- package/dist/client/assets/agent-deck-7ynTeMhK.js +0 -1
- package/dist/client/assets/agent-library-C762Wpka.js +0 -1
- package/dist/client/assets/agent-library-file-ZM8NmTGl.js +0 -1
- package/dist/client/assets/agent-settings-DUdUhCKq.js +0 -1
- package/dist/client/assets/agent-site-editor-code-Bq_a7mkW.js +0 -2
- package/dist/client/assets/agent-view-D4cqLsfU.js +0 -1
- package/dist/client/assets/api-keys-gMttN6wu.js +0 -1
- package/dist/client/assets/app-editor-DGp3x__S.js +0 -1
- package/dist/client/assets/flat-project-CrohTLBH.js +0 -1
- package/dist/client/assets/library-BmlVTf9T.js +0 -1
- package/dist/client/assets/project-reports-BDsW3Ds5.js +0 -1
- package/dist/client/assets/project-tasks-Bmy2qi49.js +0 -1
- package/dist/client/assets/record-editor-BnUd98Sr.js +0 -1
- package/dist/client/assets/reports-DlFADOKm.js +0 -1
- package/dist/client/assets/route-DIoqn4EA.js +0 -1
- package/dist/client/assets/tasks-DLkSVrCP.js +0 -1
- package/dist/client/assets/use-new-blocks-editor-C5Cw0fSB.js +0 -1
- package/dist/client/assets/useInfiniteQuery-Be_852t4.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-X1jPHdom.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -2178,7 +2178,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var QZ$=L(()=>{hu()});f
|
|
|
2178
2178
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${G}/${K}, keeping in old table`);continue}}await Nc`
|
|
2179
2179
|
DELETE FROM kysely_migration WHERE name = ${Q}
|
|
2180
2180
|
`.execute($)}}async function lJ$($){await ID4($),await VD4($);let Z=new hJ$({db:$,provider:{getMigrations:()=>Promise.resolve(f81)}}),{error:Q,results:X}=await Z.migrateToLatest(),Y=0;if(X?.forEach((J)=>{if(J.status==="Success")Y++;else if(J.status==="Error")console.error(`Failed to execute migration "${J.migrationName}"`)}),Q)throw console.error("Failed to migrate"),console.error(Q),Q;return Y}async function kD4($){let{keepOpen:Z=!1,database:Q,skipBetterAuth:X=!1}=$??{},Y="skipped";if(!X&&!Q)Y=await gs0();let J=Q??$8(),G=async()=>{if(!Z&&!Q)await Sw(J).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await lJ$(J.db);return await G(),{betterAuth:Y,kysely:K}}catch(K){throw await G(),K}}async function CD4(){let $=$8(),Z=new hJ$({db:$.db,provider:{getMigrations:()=>Promise.resolve(f81)}}),{error:Q,results:X}=await Z.migrateDown();if(X?.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}"`)}),Q)throw console.error("Failed to rollback migration"),console.error(Q),Q}var mJ$=L(()=>{gJ$();hs0();fQ()});async function YW0($){let Z={...process.env},Q=pQ0($,Z);console.log(Y_1(Q.settings.encryptionKey));let X=Q.settings.betterAuthSecret||(Q.settings.localMode?x7$(Q.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (YK0(),XK0)),{outputs:J,services:G}=await Y({home:Q.settings.dataDir,externalDatabaseUrl:Q.externalDatabaseUrl,externalNatsUrl:Q.externalNatsUrl});if(!Q.skipMigrations){let{migrateBetterAuth:W}=await Promise.resolve().then(() => (hs0(),b7$));await W(J.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (fQ(),sZ$)),{migrateToLatest:F}=await Promise.resolve().then(() => (mJ$(),cJ$)),U=H(J.databaseUrl);await F({keepOpen:!0,database:U,skipBetterAuth:!0})}let K={...Q.settings,betterAuthSecret:X,databaseUrl:J.databaseUrl,natsUrls:J.natsUrls,...J.s3?{s3Endpoint:J.s3.endpoint,s3Bucket:J.s3.bucket,s3AccessKeyId:J.s3.accessKeyId,s3SecretAccessKey:J.s3.secretAccessKey,s3ForcePathStyle:J.s3.forcePathStyle}:{}};return XZ$(K),{settings:K,services:G.map((W)=>({name:W.name==="PostgreSQL"?"Postgres":W.name,port:W.port})),managedServiceNames:G.filter((W)=>W.owner==="managed").map((W)=>W.name)}}var b81=L(()=>{hu();f7$();X$()});var nJ$={};G0(nJ$,{updateService:()=>QT,subscribeCliState:()=>h81,setTuiConsoleIntercepted:()=>JW0,setServerUrl:()=>ws,setMigrationsDone:()=>Os,setDevMode:()=>_D4,resetCliStateForTests:()=>SD4,isTuiConsoleIntercepted:()=>GW0,getCliState:()=>g81,addLogEntry:()=>yw});function dJ$(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function iJ$(){return{services:dJ$(),migrationsStatus:"pending",serverUrl:null,logs:[]}}function SD4(){kJ=iJ$()}function Ds(){for(let $ of y81)$()}function g81(){return kJ}function h81($){return y81.add($),()=>y81.delete($)}function QT($){kJ={...kJ,services:kJ.services.map((Z)=>Z.name===$.name?$:Z)},Ds()}function Os(){kJ={...kJ,migrationsStatus:"done"},Ds()}function ws($){kJ={...kJ,serverUrl:$},Ds()}function yw($){let Z=[...kJ.logs,$];kJ={...kJ,logs:Z.length>500?Z.slice(-500):Z},Ds()}function _D4(){kJ={...kJ,services:[...dJ$(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},Ds()}function JW0($){pJ$=$}function GW0(){return pJ$}var kJ,y81,pJ$=!1;var XT=L(()=>{kJ=iJ$();y81=new Set});import{createServer as tJ$}from"net";function vD4($){return new Promise((Z)=>{let Q=tJ$();Q.once("error",()=>Z(!1)),Q.listen($,"0.0.0.0",()=>{Q.close(()=>Z(!0))})})}async function js($){if(await vD4($))return $;let Z=await new Promise((Q,X)=>{let Y=tJ$();Y.once("error",X),Y.listen(0,"0.0.0.0",()=>{let J=Y.address(),G=typeof J==="object"&&J?J.port:0;Y.close(()=>Q(G))})});return console.warn(`Port ${$} is in use, using port ${Z} instead.`),Z}var u81=()=>{};var c81={};G0(c81,{startDevServer:()=>fD4,pipeToLogStore:()=>l81});import{join as xD4}from"path";function l81($){let Z=$.getReader(),Q=new TextDecoder,X="";function Y(){let J=X.split(`
|
|
2181
|
-
`);X=J.pop()??"";for(let G of J){let K=Bun.stripANSI(G).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;yw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:J,value:G}=await Z.read();if(J)break;X+=Q.decode(G,{stream:!0}),Y()}}catch{}if(X.trim()){let J=Bun.stripANSI(X).replace(/^\[\d+\]\s*/,"").trim();if(J)yw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:J})}})()}async function fD4($){let{baseUrl:Z,noTui:Q}=$,X=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=X?process.env.PORT:$.vitePort,J=Z||`http://localhost:${Y}`,G=X?await js(Number(Y)+1):await js(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await YW0({port:String(G),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let O of W)QT({name:O.name,status:"ready",port:O.port});Os();let F=xD4(import.meta.dir,"..","..","..","..",".."),U=Q===!0,N=Bun.spawn(["bun","run","dev:servers"],{cwd:F,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:J,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.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)l81(N.stdout),l81(N.stderr);ws(J),QT({name:"Vite",status:"ready",port:Number(Y)}),QT({name:"API",status:"ready",port:Number(K.port)});let D=async(O)=>{if(N.kill(O),await N.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (YK0(),XK0));await w(K.dataDir)}};return process.on("SIGINT",()=>D("SIGINT")),process.on("SIGTERM",()=>D("SIGTERM")),{port:Number(Y),process:N}}var m81=L(()=>{b81();XT();u81()});var KW0;var d81=L(()=>{KW0={name:"decocms",version:"4.422.2",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^4.0.58","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@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":"^3.1.0","@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":"^4.0.17","@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","@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:"^7.0.107","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 yD4,Text as oJ$}from"ink";import{jsx as gD4,jsxs as rJ$}from"react/jsx-runtime";function aJ$({version:$}){return rJ$(yD4,{flexDirection:"column",marginTop:1,children:[IK0.map((Z,Q)=>gD4(oJ$,{color:VK0[Q],children:Z},Q)),rJ$(oJ$,{dimColor:!0,children:[" v",$]})]})}var sJ$=L(()=>{ea()});import{Box as YT,Text as gw}from"ink";import{Spinner as hD4}from"@inkjs/ui";import{jsx as aG,jsxs as Bc}from"react/jsx-runtime";function eJ$({status:$}){if($==="pending")return aG(hD4,{label:""});return aG(gw,{color:"green",children:"\u2713"})}function uD4($){return`${$.name}: ${$.port||"...."}`}function $G$({services:$,migrationsStatus:Z,home:Q,serverUrl:X}){return Bc(YT,{flexDirection:"column",paddingBottom:1,children:[aG(aJ$,{version:KW0.version}),aG(YT,{marginBottom:1,children:aG(gw,{dimColor:!0,children:"\u2500".repeat(80)})}),aG(YT,{children:Bc(gw,{dimColor:!0,children:["Home: ",Q]})}),Bc(YT,{gap:2,children:[$.map((Y)=>Bc(YT,{gap:1,children:[aG(gw,{children:uD4(Y)}),aG(eJ$,{status:Y.status})]},Y.name)),Bc(YT,{gap:1,children:[aG(gw,{children:"Migrations"}),aG(eJ$,{status:Z})]})]}),aG(YT,{children:X?Bc(gw,{children:["Open in browser: ",aG(gw,{color:"cyan",children:X})]}):aG(gw,{dimColor:!0,children:"Starting..."})})]})}var ZG$=L(()=>{d81();sJ$()});import{Box as lD4,Text as Es}from"ink";import{jsx as i81,jsxs as p81}from"react/jsx-runtime";function cD4($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function QG$({logs:$}){return i81(lD4,{flexDirection:"column",children:$.map((Z,Q)=>{if(Z.rawLine)return i81(Es,{dimColor:!0,children:Z.rawLine},Q);let X=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return p81(Es,{children:[p81(Es,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),i81(Es,{color:cD4(Z.status),children:Z.status}),p81(Es,{dimColor:!0,children:[" ",X.padStart(8)]})]},Q)})})}var XG$=()=>{};var n81={};G0(n81,{App:()=>iD4});import{Box as mD4}from"ink";import{useSyncExternalStore as dD4}from"react";import{jsx as YG$,jsxs as pD4}from"react/jsx-runtime";function iD4({home:$}){let Z=dD4(h81,g81);return pD4(mD4,{flexDirection:"column",children:[YG$($G$,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),YG$(QG$,{logs:Z.logs})]})}var t81=L(()=>{ZG$();XG$();XT()});var CK="thread-gate",LL="decopilot-hosted-harness",DL="decopilot-hosted-harness-sandboxed",SK="automations",hw="background-tools",JT="task-board-github-reads";var JG$="13";function GG$($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:JG$,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var KG$=()=>{};import nD4 from"pg";async function HG$($,Z){let{databaseUrl:Q,lockTimeoutMs:X=tD4}=$,Y=$.log??((W)=>console.log(W)),J=new nD4.Client({connectionString:Q});await J.connect();let G=Date.now(),K=!1;try{while(!K){if(K=(await J.query("SELECT pg_try_advisory_lock($1) AS locked",[WG$.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-G>=X)throw Error(`Timed out after ${X}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await $$(oD4)}let W=Date.now()-G;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await J.query("SELECT pg_advisory_unlock($1)",[WG$.toString()])}catch{}await J.end().catch(()=>{})}}var WG$=8314027461559302n,tD4=600000,oD4=500;var FG$=L(()=>{X8()});function rD4(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function o81($,Z){for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X===void 0)continue;if(X===Z)return $[Q+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function UG$(){let $=rD4();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:o81($,"--cpu-prof-dir")??process.cwd(),name:o81($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(o81($,"--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 NG$(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=s2();if(!Q)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),J=Y(),G=Object.entries(J.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);X={objectCount:J.objectCount,heapSize:J.heapSize,top:Object.fromEntries(G)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:Q.rss,heapUsed:Q.heapUsed,heapTotal:Q.heapTotal,external:Q.external,arrayBuffers:Q.arrayBuffers,...X}))};return Z().catch(()=>{}),WW0=setInterval(()=>void Z().catch(()=>{}),$),WW0.unref?.(),process.on("SIGUSR2",()=>{try{let Q=Bun.generateHeapSnapshot("v8"),X=typeof Q==="string"?Q:JSON.stringify(Q),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(Q){console.error("[heap-watch] snapshot failed:",Q)}}),()=>{if(WW0)clearInterval(WW0)}}var WW0;var BG$=()=>{};import*as aD4 from"bun:jsc";function LG$(){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{sD4()}catch(J){return console.error("[stall-watchdog] failed to start sampling profiler:",J),()=>{}}let Q,X=performance.now()+Z,Y=()=>{let J=performance.now(),G=J-X;X=J+Z;let K=[];try{K=eD4()?.traces??[]}catch{}if(G>$&&K.length>0){let W=new Map;for(let F of K){let U=F.frames.find((D)=>D.sourceURL&&!/Unknown Executable/.test(D.category??""))??F.frames[0];if(!U)continue;let N=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${U.name??"?"} @ ${N}:${U.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,U)=>U[1]-F[1]).slice(0,8).map(([F,U])=>({frame:F,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(G),samplesInWindow:K.length,top:H}))}Q=setTimeout(Y,Z),Q.unref?.()};return Q=setTimeout(Y,Z),Q.unref?.(),()=>{if(Q)clearTimeout(Q)}}var sD4,eD4;var DG$=L(()=>{({startSamplingProfiler:sD4,samplingProfilerStackTraces:eD4}=aD4)});function OG$(){UG$();let $=[NG$(),dZ$(),LG$()];return()=>{for(let Z of $)Z()}}var wG$=L(()=>{Cs0();BG$();DG$()});var GT=b((jG$)=>{Object.defineProperty(jG$,"__esModule",{value:!0});jG$.RepublishHeaders=jG$.DirectMsgHeaders=jG$.JsHeaders=jG$.AdvisoryKind=void 0;jG$.isOrderedPushConsumerOptions=$O4;jG$.isPullConsumer=ZO4;jG$.isPushConsumer=QO4;jG$.isBoundPushConsumerOptions=XO4;function $O4($){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 ZO4($){return $.isPullConsumer()}function QO4($){return $.isPushConsumer()}function XO4($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}jG$.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"};jG$.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"};jG$.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};jG$.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var sG=b((zG$)=>{Object.defineProperty(zG$,"__esModule",{value:!0});zG$.TD=zG$.TE=zG$.Empty=void 0;zG$.encode=NO4;zG$.decode=BO4;zG$.Empty=new Uint8Array(0);zG$.TE=new TextEncoder;zG$.TD=new TextDecoder;function UO4(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}function NO4(...$){let Z=[];for(let Q=0;Q<$.length;Q++)Z.push(zG$.TE.encode($[Q]));if(Z.length===0)return zG$.Empty;if(Z.length===1)return Z[0];return UO4(...Z)}function BO4($){if(!$||$.length===0)return"";return zG$.TD.decode($)}});var eG=b((AG$)=>{Object.defineProperty(AG$,"__esModule",{value:!0});AG$.errors=AG$.PermissionViolationError=AG$.NoRespondersError=AG$.TimeoutError=AG$.RequestError=AG$.ProtocolError=AG$.ConnectionError=AG$.DrainingConnectionError=AG$.ClosedConnectionError=AG$.AuthorizationError=AG$.UserAuthenticationExpiredError=AG$.InvalidOperationError=AG$.InvalidArgumentError=AG$.InvalidSubjectError=void 0;class a81 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}AG$.InvalidSubjectError=a81;class HW0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,Q){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((X)=>`'${X}'`),$=$.join(",");else $=`'${$}'`;return new HW0(`${$} ${Z}`,Q)}}AG$.InvalidArgumentError=HW0;class s81 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}AG$.InvalidOperationError=s81;class FW0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new FW0($);return null}}AG$.UserAuthenticationExpiredError=FW0;class UW0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],Q=$.toLowerCase();for(let X=0;X<Z.length;X++)if(Q.indexOf(Z[X])!==-1)return new UW0($);return null}}AG$.AuthorizationError=UW0;class e81 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}AG$.ClosedConnectionError=e81;class $41 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}AG$.DrainingConnectionError=$41;class Z41 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}AG$.ConnectionError=Z41;class Q41 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}AG$.ProtocolError=Q41;class X41 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof NW0}}AG$.RequestError=X41;class Y41 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}AG$.TimeoutError=Y41;class NW0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}AG$.NoRespondersError=NW0;class BW0 extends Error{operation;subject;queue;constructor($,Z,Q,X,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=Q,this.queue=X}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let Q="publish",X="",Y=void 0,J=$.match(/(Publish|Subscription) to "(\S+)"/);if(J){if(Q=J[1].toLowerCase(),X=J[2],Q==="subscription"){let G=$.match(/using queue "(\S+)"/);if(G)Y=G[1]}}return new BW0($,Q,X,Y)}}AG$.PermissionViolationError=BW0;AG$.errors={AuthorizationError:UW0,ClosedConnectionError:e81,ConnectionError:Z41,DrainingConnectionError:$41,InvalidArgumentError:HW0,InvalidOperationError:s81,InvalidSubjectError:a81,NoRespondersError:NW0,PermissionViolationError:BW0,ProtocolError:Q41,RequestError:X41,TimeoutError:Y41,UserAuthenticationExpiredError:FW0}});var DH=b((VG$)=>{Object.defineProperty(VG$,"__esModule",{value:!0});VG$.SimpleMutex=VG$.Perf=void 0;VG$.extend=CO4;VG$.render=SO4;VG$.timeout=_O4;VG$.delay=vO4;VG$.deadline=xO4;VG$.deferred=G41;VG$.debugDeferred=fO4;VG$.shuffle=bO4;VG$.collect=yO4;VG$.jitter=IG$;VG$.backoff=gO4;VG$.nanos=hO4;VG$.millis=uO4;VG$.randomToken=mO4;var kO4=sG(),J41=eG();function CO4($,...Z){for(let Q=0;Q<Z.length;Q++){let X=Z[Q];Object.keys(X).forEach(function(Y){$[Y]=X[Y]})}return $}function SO4($){return kO4.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function _O4($,Z=!0){let Q=Z?new J41.TimeoutError:null,X,Y,J=new Promise((G,K)=>{X={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(Q===null)K(new J41.TimeoutError);else K(Q)},$)});return Object.assign(J,X)}function vO4($=0){let Z,Q=new Promise((X)=>{let Y=setTimeout(()=>{X()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),X()}}});return Object.assign(Q,Z)}async function xO4($,Z=1000){let Q=G41(),X=setTimeout(()=>{Q.reject(new J41.TimeoutError)},Z);try{return await Promise.race([$,Q])}finally{clearTimeout(X)}}function G41(){let $={},Z=new Promise((Q,X)=>{$={resolve:Q,reject:X}});return Object.assign(Z,$)}function fO4(){let $={},Z=new Promise((Q,X)=>{$={resolve:(Y)=>{console.trace("resolve",Y),Q(Y)},reject:(Y)=>{console.trace("reject"),X(Y)}}});return Object.assign(Z,$)}function bO4($){for(let Z=$.length-1;Z>0;Z--){let Q=Math.floor(Math.random()*(Z+1));[$[Z],$[Q]]=[$[Q],$[Z]]}return $}async function yO4($){let Z=[];for await(let Q of $)Z.push(Q);return Z}class qG${timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,Q){let X=this.timers.get(Z);if(X===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(Q);if(Y===void 0)throw Error(`${Q} is not defined`);this.measures.set($,Y-X)}getEntries(){let $=[];return this.measures.forEach((Z,Q)=>{$.push({name:Q,duration:Z})}),$}}VG$.Perf=qG$;class MG${max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=G41();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}VG$.SimpleMutex=MG$;function IG$($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function gO4($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(Q){return IG$(Q>Z?$[Z]:$[Q])}}}function hO4($){return $*1e6}function uO4($){return Math.floor($/1e6)}var lO4="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",OL=new Uint8Array(62);for(let $=0;$<62;$++)OL[$]=lO4.charCodeAt($);var cO4=218340105584896;function mO4(){let $=Math.floor(Math.random()*cO4),Z=$%62,Q=OL[Z];$=($-Z)/62,Z=$%62;let X=OL[Z];$=($-Z)/62,Z=$%62;let Y=OL[Z];$=($-Z)/62,Z=$%62;let J=OL[Z];$=($-Z)/62,Z=$%62;let G=OL[Z];$=($-Z)/62,Z=$%62;let K=OL[Z];$=($-Z)/62,Z=$%62;let W=OL[Z];$=($-Z)/62;let H=OL[$];return String.fromCharCode(Q,X,Y,J,G,K,W,H)}});var bG$=b((xG$)=>{Object.defineProperty(xG$,"__esModule",{value:!0});xG$.nuid=xG$.NuidImpl=void 0;var Jw4="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",uw=62,DW0=12,_G$=10,CG$=33,Gw4=333,SG$=DW0+_G$,W41=new Uint8Array(uw);for(let $=0;$<uw;$++)W41[$]=Jw4.charCodeAt($);var LW0=4294967296,vG$=BigInt(uw)**BigInt(_G$),zs=Number(vG$/(1n<<32n)),K41=Number(vG$%(1n<<32n));function Kw4($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Ww4($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Kw4($)}class H41{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(SG$),this.cbuf=new Uint8Array(DW0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(zs+1)),this.seqLo=Math.floor(Math.random()*LW0);while($++<8&&this.seqHi===zs&&this.seqLo>=K41);if(this.seqHi===zs&&this.seqLo>=K41)this.seqLo=0;this.inc=Math.random()*(Gw4-CG$)+CG$|0}setPre(){Ww4(this.cbuf);for(let $=0;$<DW0;$++)this.buf[$]=W41[this.cbuf[$]%uw]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let Q=SG$-1;Q>=DW0;Q--){let X=Math.floor($/uw),J=($-X*uw)*LW0+Z,G=Math.floor(J/uw),K=J-G*uw;this.buf[Q]=W41[K],$=X,Z=G}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=LW0)this.seqLo-=LW0,this.seqHi+=1;if(this.seqHi>zs||this.seqHi===zs&&this.seqLo>=K41)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()}}xG$.NuidImpl=H41;xG$.nuid=new H41});var uG$=b((gG$)=>{Object.defineProperty(gG$,"__esModule",{value:!0});gG$.nuid=gG$.Nuid=void 0;var yG$=bG$();gG$.Nuid=yG$.NuidImpl;gG$.nuid=yG$.nuid});var wW0=b((OW0)=>{Object.defineProperty(OW0,"__esModule",{value:!0});OW0.nuid=OW0.Nuid=void 0;var lG$=uG$();Object.defineProperty(OW0,"Nuid",{enumerable:!0,get:function(){return lG$.Nuid}});Object.defineProperty(OW0,"nuid",{enumerable:!0,get:function(){return lG$.nuid}})});var lw=b((cG$)=>{Object.defineProperty(cG$,"__esModule",{value:!0});cG$.DEFAULT_HOST=cG$.DEFAULT_PORT=cG$.Match=void 0;cG$.syncIterator=Lw4;cG$.createInbox=Dw4;var Nw4=wW0(),Bw4=eG();cG$.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Lw4($){let Z=$[Symbol.asyncIterator]();return{async next(){let Q=await Z.next();if(Q.done)return Promise.resolve(null);return Promise.resolve(Q.value)}}}function Dw4($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Bw4.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Nw4.nuid.next()}`}cG$.DEFAULT_PORT=4222;cG$.DEFAULT_HOST="127.0.0.1"});var Ps=b((pG$)=>{Object.defineProperty(pG$,"__esModule",{value:!0});pG$.DataBuffer=void 0;var dG$=sG();class iG${buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}static fromAscii($){if(!$)$="";return dG$.TE.encode($)}static toAscii($){return dG$.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 Q=0;Q<this.buffers.length;Q++)$.set(this.buffers[Q],Z),Z+=this.buffers[Q].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 Q=this.byteLength;if($===void 0||$>Q)$=Q;let X=Z.subarray(0,$);if(Q>$)this.buffers.push(Z.subarray($));return this.byteLength=Q-$,X}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let Q=0;Q<Z.length;Q++)if(Z[Q]&&Z[Q].length)this.buffers.push(Z[Q]),this.byteLength+=Z[Q].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}}pG$.DataBuffer=iG$});var KT=b((oG$)=>{Object.defineProperty(oG$,"__esModule",{value:!0});oG$.LF=oG$.CR=oG$.CRLF=oG$.CR_LF_LEN=oG$.CR_LF=void 0;oG$.setTransportFactory=Aw4;oG$.defaultPort=Rw4;oG$.getUrlParseFn=qw4;oG$.newTransport=Mw4;oG$.getResolveFn=Iw4;oG$.protoLen=tG$;oG$.extractProtocolMessage=Vw4;var zw4=sG(),Pw4=lw(),Tw4=Ps(),$3;function Aw4($){$3=$}function Rw4(){return $3!==void 0&&$3.defaultPort!==void 0?$3.defaultPort:Pw4.DEFAULT_PORT}function qw4(){return $3!==void 0&&$3.urlParseFn?$3.urlParseFn:void 0}function Mw4(){if(!$3||typeof $3.factory!=="function")throw Error("transport fn is not set");return $3.factory()}function Iw4(){return $3!==void 0&&$3.dnsResolveFn?$3.dnsResolveFn:void 0}oG$.CR_LF=`\r
|
|
2181
|
+
`);X=J.pop()??"";for(let G of J){let K=Bun.stripANSI(G).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;yw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:J,value:G}=await Z.read();if(J)break;X+=Q.decode(G,{stream:!0}),Y()}}catch{}if(X.trim()){let J=Bun.stripANSI(X).replace(/^\[\d+\]\s*/,"").trim();if(J)yw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:J})}})()}async function fD4($){let{baseUrl:Z,noTui:Q}=$,X=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=X?process.env.PORT:$.vitePort,J=Z||`http://localhost:${Y}`,G=X?await js(Number(Y)+1):await js(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await YW0({port:String(G),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let O of W)QT({name:O.name,status:"ready",port:O.port});Os();let F=xD4(import.meta.dir,"..","..","..","..",".."),U=Q===!0,N=Bun.spawn(["bun","run","dev:servers"],{cwd:F,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:J,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.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)l81(N.stdout),l81(N.stderr);ws(J),QT({name:"Vite",status:"ready",port:Number(Y)}),QT({name:"API",status:"ready",port:Number(K.port)});let D=async(O)=>{if(N.kill(O),await N.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (YK0(),XK0));await w(K.dataDir)}};return process.on("SIGINT",()=>D("SIGINT")),process.on("SIGTERM",()=>D("SIGTERM")),{port:Number(Y),process:N}}var m81=L(()=>{b81();XT();u81()});var KW0;var d81=L(()=>{KW0={name:"decocms",version:"4.422.3",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^4.0.58","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@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":"^3.1.0","@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":"^4.0.17","@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","@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:"^7.0.107","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 yD4,Text as oJ$}from"ink";import{jsx as gD4,jsxs as rJ$}from"react/jsx-runtime";function aJ$({version:$}){return rJ$(yD4,{flexDirection:"column",marginTop:1,children:[IK0.map((Z,Q)=>gD4(oJ$,{color:VK0[Q],children:Z},Q)),rJ$(oJ$,{dimColor:!0,children:[" v",$]})]})}var sJ$=L(()=>{ea()});import{Box as YT,Text as gw}from"ink";import{Spinner as hD4}from"@inkjs/ui";import{jsx as aG,jsxs as Bc}from"react/jsx-runtime";function eJ$({status:$}){if($==="pending")return aG(hD4,{label:""});return aG(gw,{color:"green",children:"\u2713"})}function uD4($){return`${$.name}: ${$.port||"...."}`}function $G$({services:$,migrationsStatus:Z,home:Q,serverUrl:X}){return Bc(YT,{flexDirection:"column",paddingBottom:1,children:[aG(aJ$,{version:KW0.version}),aG(YT,{marginBottom:1,children:aG(gw,{dimColor:!0,children:"\u2500".repeat(80)})}),aG(YT,{children:Bc(gw,{dimColor:!0,children:["Home: ",Q]})}),Bc(YT,{gap:2,children:[$.map((Y)=>Bc(YT,{gap:1,children:[aG(gw,{children:uD4(Y)}),aG(eJ$,{status:Y.status})]},Y.name)),Bc(YT,{gap:1,children:[aG(gw,{children:"Migrations"}),aG(eJ$,{status:Z})]})]}),aG(YT,{children:X?Bc(gw,{children:["Open in browser: ",aG(gw,{color:"cyan",children:X})]}):aG(gw,{dimColor:!0,children:"Starting..."})})]})}var ZG$=L(()=>{d81();sJ$()});import{Box as lD4,Text as Es}from"ink";import{jsx as i81,jsxs as p81}from"react/jsx-runtime";function cD4($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function QG$({logs:$}){return i81(lD4,{flexDirection:"column",children:$.map((Z,Q)=>{if(Z.rawLine)return i81(Es,{dimColor:!0,children:Z.rawLine},Q);let X=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return p81(Es,{children:[p81(Es,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),i81(Es,{color:cD4(Z.status),children:Z.status}),p81(Es,{dimColor:!0,children:[" ",X.padStart(8)]})]},Q)})})}var XG$=()=>{};var n81={};G0(n81,{App:()=>iD4});import{Box as mD4}from"ink";import{useSyncExternalStore as dD4}from"react";import{jsx as YG$,jsxs as pD4}from"react/jsx-runtime";function iD4({home:$}){let Z=dD4(h81,g81);return pD4(mD4,{flexDirection:"column",children:[YG$($G$,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),YG$(QG$,{logs:Z.logs})]})}var t81=L(()=>{ZG$();XG$();XT()});var CK="thread-gate",LL="decopilot-hosted-harness",DL="decopilot-hosted-harness-sandboxed",SK="automations",hw="background-tools",JT="task-board-github-reads";var JG$="13";function GG$($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:JG$,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var KG$=()=>{};import nD4 from"pg";async function HG$($,Z){let{databaseUrl:Q,lockTimeoutMs:X=tD4}=$,Y=$.log??((W)=>console.log(W)),J=new nD4.Client({connectionString:Q});await J.connect();let G=Date.now(),K=!1;try{while(!K){if(K=(await J.query("SELECT pg_try_advisory_lock($1) AS locked",[WG$.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-G>=X)throw Error(`Timed out after ${X}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await $$(oD4)}let W=Date.now()-G;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await J.query("SELECT pg_advisory_unlock($1)",[WG$.toString()])}catch{}await J.end().catch(()=>{})}}var WG$=8314027461559302n,tD4=600000,oD4=500;var FG$=L(()=>{X8()});function rD4(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function o81($,Z){for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X===void 0)continue;if(X===Z)return $[Q+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function UG$(){let $=rD4();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:o81($,"--cpu-prof-dir")??process.cwd(),name:o81($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(o81($,"--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 NG$(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=s2();if(!Q)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),J=Y(),G=Object.entries(J.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);X={objectCount:J.objectCount,heapSize:J.heapSize,top:Object.fromEntries(G)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:Q.rss,heapUsed:Q.heapUsed,heapTotal:Q.heapTotal,external:Q.external,arrayBuffers:Q.arrayBuffers,...X}))};return Z().catch(()=>{}),WW0=setInterval(()=>void Z().catch(()=>{}),$),WW0.unref?.(),process.on("SIGUSR2",()=>{try{let Q=Bun.generateHeapSnapshot("v8"),X=typeof Q==="string"?Q:JSON.stringify(Q),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(Q){console.error("[heap-watch] snapshot failed:",Q)}}),()=>{if(WW0)clearInterval(WW0)}}var WW0;var BG$=()=>{};import*as aD4 from"bun:jsc";function LG$(){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{sD4()}catch(J){return console.error("[stall-watchdog] failed to start sampling profiler:",J),()=>{}}let Q,X=performance.now()+Z,Y=()=>{let J=performance.now(),G=J-X;X=J+Z;let K=[];try{K=eD4()?.traces??[]}catch{}if(G>$&&K.length>0){let W=new Map;for(let F of K){let U=F.frames.find((D)=>D.sourceURL&&!/Unknown Executable/.test(D.category??""))??F.frames[0];if(!U)continue;let N=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${U.name??"?"} @ ${N}:${U.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,U)=>U[1]-F[1]).slice(0,8).map(([F,U])=>({frame:F,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(G),samplesInWindow:K.length,top:H}))}Q=setTimeout(Y,Z),Q.unref?.()};return Q=setTimeout(Y,Z),Q.unref?.(),()=>{if(Q)clearTimeout(Q)}}var sD4,eD4;var DG$=L(()=>{({startSamplingProfiler:sD4,samplingProfilerStackTraces:eD4}=aD4)});function OG$(){UG$();let $=[NG$(),dZ$(),LG$()];return()=>{for(let Z of $)Z()}}var wG$=L(()=>{Cs0();BG$();DG$()});var GT=b((jG$)=>{Object.defineProperty(jG$,"__esModule",{value:!0});jG$.RepublishHeaders=jG$.DirectMsgHeaders=jG$.JsHeaders=jG$.AdvisoryKind=void 0;jG$.isOrderedPushConsumerOptions=$O4;jG$.isPullConsumer=ZO4;jG$.isPushConsumer=QO4;jG$.isBoundPushConsumerOptions=XO4;function $O4($){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 ZO4($){return $.isPullConsumer()}function QO4($){return $.isPushConsumer()}function XO4($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}jG$.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"};jG$.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"};jG$.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};jG$.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var sG=b((zG$)=>{Object.defineProperty(zG$,"__esModule",{value:!0});zG$.TD=zG$.TE=zG$.Empty=void 0;zG$.encode=NO4;zG$.decode=BO4;zG$.Empty=new Uint8Array(0);zG$.TE=new TextEncoder;zG$.TD=new TextDecoder;function UO4(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}function NO4(...$){let Z=[];for(let Q=0;Q<$.length;Q++)Z.push(zG$.TE.encode($[Q]));if(Z.length===0)return zG$.Empty;if(Z.length===1)return Z[0];return UO4(...Z)}function BO4($){if(!$||$.length===0)return"";return zG$.TD.decode($)}});var eG=b((AG$)=>{Object.defineProperty(AG$,"__esModule",{value:!0});AG$.errors=AG$.PermissionViolationError=AG$.NoRespondersError=AG$.TimeoutError=AG$.RequestError=AG$.ProtocolError=AG$.ConnectionError=AG$.DrainingConnectionError=AG$.ClosedConnectionError=AG$.AuthorizationError=AG$.UserAuthenticationExpiredError=AG$.InvalidOperationError=AG$.InvalidArgumentError=AG$.InvalidSubjectError=void 0;class a81 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}AG$.InvalidSubjectError=a81;class HW0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,Q){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((X)=>`'${X}'`),$=$.join(",");else $=`'${$}'`;return new HW0(`${$} ${Z}`,Q)}}AG$.InvalidArgumentError=HW0;class s81 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}AG$.InvalidOperationError=s81;class FW0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new FW0($);return null}}AG$.UserAuthenticationExpiredError=FW0;class UW0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],Q=$.toLowerCase();for(let X=0;X<Z.length;X++)if(Q.indexOf(Z[X])!==-1)return new UW0($);return null}}AG$.AuthorizationError=UW0;class e81 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}AG$.ClosedConnectionError=e81;class $41 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}AG$.DrainingConnectionError=$41;class Z41 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}AG$.ConnectionError=Z41;class Q41 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}AG$.ProtocolError=Q41;class X41 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof NW0}}AG$.RequestError=X41;class Y41 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}AG$.TimeoutError=Y41;class NW0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}AG$.NoRespondersError=NW0;class BW0 extends Error{operation;subject;queue;constructor($,Z,Q,X,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=Q,this.queue=X}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let Q="publish",X="",Y=void 0,J=$.match(/(Publish|Subscription) to "(\S+)"/);if(J){if(Q=J[1].toLowerCase(),X=J[2],Q==="subscription"){let G=$.match(/using queue "(\S+)"/);if(G)Y=G[1]}}return new BW0($,Q,X,Y)}}AG$.PermissionViolationError=BW0;AG$.errors={AuthorizationError:UW0,ClosedConnectionError:e81,ConnectionError:Z41,DrainingConnectionError:$41,InvalidArgumentError:HW0,InvalidOperationError:s81,InvalidSubjectError:a81,NoRespondersError:NW0,PermissionViolationError:BW0,ProtocolError:Q41,RequestError:X41,TimeoutError:Y41,UserAuthenticationExpiredError:FW0}});var DH=b((VG$)=>{Object.defineProperty(VG$,"__esModule",{value:!0});VG$.SimpleMutex=VG$.Perf=void 0;VG$.extend=CO4;VG$.render=SO4;VG$.timeout=_O4;VG$.delay=vO4;VG$.deadline=xO4;VG$.deferred=G41;VG$.debugDeferred=fO4;VG$.shuffle=bO4;VG$.collect=yO4;VG$.jitter=IG$;VG$.backoff=gO4;VG$.nanos=hO4;VG$.millis=uO4;VG$.randomToken=mO4;var kO4=sG(),J41=eG();function CO4($,...Z){for(let Q=0;Q<Z.length;Q++){let X=Z[Q];Object.keys(X).forEach(function(Y){$[Y]=X[Y]})}return $}function SO4($){return kO4.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function _O4($,Z=!0){let Q=Z?new J41.TimeoutError:null,X,Y,J=new Promise((G,K)=>{X={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(Q===null)K(new J41.TimeoutError);else K(Q)},$)});return Object.assign(J,X)}function vO4($=0){let Z,Q=new Promise((X)=>{let Y=setTimeout(()=>{X()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),X()}}});return Object.assign(Q,Z)}async function xO4($,Z=1000){let Q=G41(),X=setTimeout(()=>{Q.reject(new J41.TimeoutError)},Z);try{return await Promise.race([$,Q])}finally{clearTimeout(X)}}function G41(){let $={},Z=new Promise((Q,X)=>{$={resolve:Q,reject:X}});return Object.assign(Z,$)}function fO4(){let $={},Z=new Promise((Q,X)=>{$={resolve:(Y)=>{console.trace("resolve",Y),Q(Y)},reject:(Y)=>{console.trace("reject"),X(Y)}}});return Object.assign(Z,$)}function bO4($){for(let Z=$.length-1;Z>0;Z--){let Q=Math.floor(Math.random()*(Z+1));[$[Z],$[Q]]=[$[Q],$[Z]]}return $}async function yO4($){let Z=[];for await(let Q of $)Z.push(Q);return Z}class qG${timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,Q){let X=this.timers.get(Z);if(X===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(Q);if(Y===void 0)throw Error(`${Q} is not defined`);this.measures.set($,Y-X)}getEntries(){let $=[];return this.measures.forEach((Z,Q)=>{$.push({name:Q,duration:Z})}),$}}VG$.Perf=qG$;class MG${max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=G41();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}VG$.SimpleMutex=MG$;function IG$($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function gO4($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(Q){return IG$(Q>Z?$[Z]:$[Q])}}}function hO4($){return $*1e6}function uO4($){return Math.floor($/1e6)}var lO4="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",OL=new Uint8Array(62);for(let $=0;$<62;$++)OL[$]=lO4.charCodeAt($);var cO4=218340105584896;function mO4(){let $=Math.floor(Math.random()*cO4),Z=$%62,Q=OL[Z];$=($-Z)/62,Z=$%62;let X=OL[Z];$=($-Z)/62,Z=$%62;let Y=OL[Z];$=($-Z)/62,Z=$%62;let J=OL[Z];$=($-Z)/62,Z=$%62;let G=OL[Z];$=($-Z)/62,Z=$%62;let K=OL[Z];$=($-Z)/62,Z=$%62;let W=OL[Z];$=($-Z)/62;let H=OL[$];return String.fromCharCode(Q,X,Y,J,G,K,W,H)}});var bG$=b((xG$)=>{Object.defineProperty(xG$,"__esModule",{value:!0});xG$.nuid=xG$.NuidImpl=void 0;var Jw4="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",uw=62,DW0=12,_G$=10,CG$=33,Gw4=333,SG$=DW0+_G$,W41=new Uint8Array(uw);for(let $=0;$<uw;$++)W41[$]=Jw4.charCodeAt($);var LW0=4294967296,vG$=BigInt(uw)**BigInt(_G$),zs=Number(vG$/(1n<<32n)),K41=Number(vG$%(1n<<32n));function Kw4($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Ww4($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Kw4($)}class H41{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(SG$),this.cbuf=new Uint8Array(DW0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(zs+1)),this.seqLo=Math.floor(Math.random()*LW0);while($++<8&&this.seqHi===zs&&this.seqLo>=K41);if(this.seqHi===zs&&this.seqLo>=K41)this.seqLo=0;this.inc=Math.random()*(Gw4-CG$)+CG$|0}setPre(){Ww4(this.cbuf);for(let $=0;$<DW0;$++)this.buf[$]=W41[this.cbuf[$]%uw]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let Q=SG$-1;Q>=DW0;Q--){let X=Math.floor($/uw),J=($-X*uw)*LW0+Z,G=Math.floor(J/uw),K=J-G*uw;this.buf[Q]=W41[K],$=X,Z=G}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=LW0)this.seqLo-=LW0,this.seqHi+=1;if(this.seqHi>zs||this.seqHi===zs&&this.seqLo>=K41)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()}}xG$.NuidImpl=H41;xG$.nuid=new H41});var uG$=b((gG$)=>{Object.defineProperty(gG$,"__esModule",{value:!0});gG$.nuid=gG$.Nuid=void 0;var yG$=bG$();gG$.Nuid=yG$.NuidImpl;gG$.nuid=yG$.nuid});var wW0=b((OW0)=>{Object.defineProperty(OW0,"__esModule",{value:!0});OW0.nuid=OW0.Nuid=void 0;var lG$=uG$();Object.defineProperty(OW0,"Nuid",{enumerable:!0,get:function(){return lG$.Nuid}});Object.defineProperty(OW0,"nuid",{enumerable:!0,get:function(){return lG$.nuid}})});var lw=b((cG$)=>{Object.defineProperty(cG$,"__esModule",{value:!0});cG$.DEFAULT_HOST=cG$.DEFAULT_PORT=cG$.Match=void 0;cG$.syncIterator=Lw4;cG$.createInbox=Dw4;var Nw4=wW0(),Bw4=eG();cG$.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Lw4($){let Z=$[Symbol.asyncIterator]();return{async next(){let Q=await Z.next();if(Q.done)return Promise.resolve(null);return Promise.resolve(Q.value)}}}function Dw4($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Bw4.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Nw4.nuid.next()}`}cG$.DEFAULT_PORT=4222;cG$.DEFAULT_HOST="127.0.0.1"});var Ps=b((pG$)=>{Object.defineProperty(pG$,"__esModule",{value:!0});pG$.DataBuffer=void 0;var dG$=sG();class iG${buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}static fromAscii($){if(!$)$="";return dG$.TE.encode($)}static toAscii($){return dG$.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 Q=0;Q<this.buffers.length;Q++)$.set(this.buffers[Q],Z),Z+=this.buffers[Q].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 Q=this.byteLength;if($===void 0||$>Q)$=Q;let X=Z.subarray(0,$);if(Q>$)this.buffers.push(Z.subarray($));return this.byteLength=Q-$,X}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let Q=0;Q<Z.length;Q++)if(Z[Q]&&Z[Q].length)this.buffers.push(Z[Q]),this.byteLength+=Z[Q].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}}pG$.DataBuffer=iG$});var KT=b((oG$)=>{Object.defineProperty(oG$,"__esModule",{value:!0});oG$.LF=oG$.CR=oG$.CRLF=oG$.CR_LF_LEN=oG$.CR_LF=void 0;oG$.setTransportFactory=Aw4;oG$.defaultPort=Rw4;oG$.getUrlParseFn=qw4;oG$.newTransport=Mw4;oG$.getResolveFn=Iw4;oG$.protoLen=tG$;oG$.extractProtocolMessage=Vw4;var zw4=sG(),Pw4=lw(),Tw4=Ps(),$3;function Aw4($){$3=$}function Rw4(){return $3!==void 0&&$3.defaultPort!==void 0?$3.defaultPort:Pw4.DEFAULT_PORT}function qw4(){return $3!==void 0&&$3.urlParseFn?$3.urlParseFn:void 0}function Mw4(){if(!$3||typeof $3.factory!=="function")throw Error("transport fn is not set");return $3.factory()}function Iw4(){return $3!==void 0&&$3.dnsResolveFn?$3.dnsResolveFn:void 0}oG$.CR_LF=`\r
|
|
2182
2182
|
`;oG$.CR_LF_LEN=oG$.CR_LF.length;oG$.CRLF=Tw4.DataBuffer.fromAscii(oG$.CR_LF);oG$.CR=new Uint8Array(oG$.CRLF)[0];oG$.LF=new Uint8Array(oG$.CRLF)[1];function tG$($){for(let Z=0;Z<$.length;Z++){let Q=Z+1;if($.byteLength>Q&&$[Z]===oG$.CR&&$[Q]===oG$.LF)return Q+1}return 0}function Vw4($){let Z=tG$($);if(Z>0){let X=new Uint8Array($).slice(0,Z);return zw4.TD.decode(X)}return""}});var L41=b((X3$)=>{Object.defineProperty(X3$,"__esModule",{value:!0});X3$.ipV4=$3$;X3$.isIP=hw4;X3$.parseIP=Z3$;var Ts=4,WT=16,jW0=48,eG$=57,aG$=65,yw4=70,sG$=97,gw4=102,B41=16777215;function $3$($,Z,Q,X){let Y=new Uint8Array(WT);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((G,K)=>{Y[K]=G}),Y[12]=$,Y[13]=Z,Y[14]=Q,Y[15]=X,Y}function hw4($){return Z3$($)!==void 0}function Z3$($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return Q3$($);case":":return uw4($)}return}function Q3$($){let Z=new Uint8Array(Ts);for(let Q=0;Q<Ts;Q++){if($.length===0)return;if(Q>0){if($[0]!==".")return;$=$.substring(1)}let{n:X,c:Y,ok:J}=lw4($);if(!J||X>255)return;$=$.substring(Y),Z[Q]=X}return $3$(Z[0],Z[1],Z[2],Z[3])}function uw4($){let Z=new Uint8Array(WT),Q=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(Q=0,$=$.substring(2),$.length===0)return Z}let X=0;while(X<WT){let{n:Y,c:J,ok:G}=cw4($);if(!G||Y>65535)return;if(J<$.length&&$[J]==="."){if(Q<0&&X!=WT-Ts)return;if(X+Ts>WT)return;let K=Q3$($);if(K===void 0)return;Z[X]=K[12],Z[X+1]=K[13],Z[X+2]=K[14],Z[X+3]=K[15],$="",X+=Ts;break}if(Z[X]=Y>>8,Z[X+1]=Y,X+=2,$=$.substring(J),$.length===0)break;if($[0]!==":"||$.length==1)return;if($=$.substring(1),$[0]===":"){if(Q>=0)return;if(Q=X,$=$.substring(1),$.length===0)break}}if($.length!==0)return;if(X<WT){if(Q<0)return;let Y=WT-X;for(let J=X-1;J>=Q;J--)Z[J+Y]=Z[J];for(let J=Q+Y-1;J>=Q;J--)Z[J]=0}else if(Q>=0)return;return Z}function lw4($){let Z=0,Q=0;for(Z=0;Z<$.length&&jW0<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=eG$;Z++)if(Q=Q*10+($.charCodeAt(Z)-jW0),Q>=B41)return{n:B41,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:Q,c:Z,ok:!0}}function cw4($){let Z=0,Q=0;for(Q=0;Q<$.length;Q++){if(jW0<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=eG$)Z*=16,Z+=$.charCodeAt(Q)-jW0;else if(sG$<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=gw4)Z*=16,Z+=$.charCodeAt(Q)-sG$+10;else if(aG$<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=yw4)Z*=16,Z+=$.charCodeAt(Q)-aG$+10;else break;if(Z>=B41)return{n:0,c:Q,ok:!1}}if(Q===0)return{n:0,c:Q,ok:!1};return{n:Z,c:Q,ok:!0}}});var z41=b((J3$)=>{Object.defineProperty(J3$,"__esModule",{value:!0});J3$.Servers=J3$.ServerImpl=void 0;J3$.isIPV4OrHostname=Y3$;J3$.hostPort=E41;var D41=KT(),O41=DH(),w41=L41(),pw4=lw(),nw4=eG();function Y3$($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function j41($){return!Y3$($)}function tw4($){let Q=$.toUpperCase().indexOf("::FFFF:");if(Q!==-1&&$.indexOf(".")!==-1){let X=$.substring(Q+7);return X=X.replace("[",""),X.replace("]","")}return $}function E41($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=tw4($),j41($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=j41($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),Q=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):pw4.DEFAULT_PORT,Y=new URL(`${Q===80?"https":"http"}://${$}`);Y.port=`${Q}`;let J=Y.hostname;if(J.charAt(0)==="[")J=J.substring(1,J.length-1);return{listen:Y.host,hostname:J,port:Q}}class Lc{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let Q=E41($);this.listen=Q.listen,this.hostname=Q.hostname,this.port=Q.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,w41.isIP)(this.hostname))return[this];else{let Q=await $.fn(this.hostname);if($.debug)console.log(`resolve ${this.hostname} = ${Q.join(",")}`);for(let X of Q){let Y=this.port===80?"https":"http",J=new URL(`${Y}://${j41(X)?"["+X+"]":X}`);J.port=`${this.port}`;let G=new Lc(J.host,!1);G.tlsName=this.hostname,Z.push(G)}}if($.randomize)(0,O41.shuffle)(Z);return this.resolves=Z,Z}}J3$.ServerImpl=Lc;class EW0{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw nw4.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,D41.getUrlParseFn)(),Q=new Map;for(let Y of this.servers)Q.set(Y.listen,Y);let X=[];for(let Y of $){Y=Z?Z(Y):Y;let{listen:J}=E41(Y),G=Q.get(J);if(G)G.gossiped=!1,X.push(G);else X.push(new Lc(Y))}if(this.randomize)(0,O41.shuffle)(X);if(this.servers=X,this.currentServer===void 0||!X.includes(this.currentServer))this.currentServer=X[0],this.firstSelect=!0}clear(){this.servers.length=0}updateTLSName(){let $=this.getCurrentServer();if(!(0,w41.isIP)($.hostname))this.tlsName=$.hostname,this.servers.forEach((Z)=>{if(Z.gossiped)Z.tlsName=this.tlsName})}getCurrentServer(){return this.currentServer}addServer($,Z=!1){let Q=(0,D41.getUrlParseFn)();$=Q?Q($):$;let X=new Lc($,Z);if((0,w41.isIP)(X.hostname))X.tlsName=this.tlsName;this.servers.push(X)}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 EW0.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return EW0.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 Q=[],X=[],Y=(0,D41.getUrlParseFn)(),J=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new Lc(K,!0);J.set(K,W)});let G=[];if(this.servers.forEach((K,W)=>{let H=K.listen;if(K.gossiped&&this.currentServer.listen!==H&&J.get(H)===void 0)G.push(W);J.delete(H)}),G.reverse(),G.forEach((K)=>{let W=this.servers.splice(K,1);X=X.concat(W[0].listen)}),J.forEach((K,W)=>{this.servers.push(K),Q.push(W)}),this.randomize&&Q.length>0){let K=this.currentServer,W=this.servers.filter((H)=>H!==K);(0,O41.shuffle)(W),this.servers=K?[K,...W]:W}return{added:Q,deleted:X}}}J3$.Servers=EW0});var zW0=b((H3$)=>{Object.defineProperty(H3$,"__esModule",{value:!0});H3$.QueuedIteratorImpl=void 0;var P41=DH(),K3$=eG();class W3${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,P41.deferred)(),this.yields=[],this.iterClosed=(0,P41.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(Q){}}return}if(typeof $==="function")this.pendingFiltered++;this.yields.push($),this.signal.resolve()}async*iterate(){if(this.noIterator)throw new K3$.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new K3$.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 X=$[Z];try{X()}catch(Y){throw Y}if(this.err)throw this.err;continue}this.processed++,this.inflight--;let Q=this.profile?Date.now():0;yield $[Z],this.time=this.profile?Date.now()-Q:0}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,P41.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}}H3$.QueuedIteratorImpl=W3$});var T41=b((B3$)=>{Object.defineProperty(B3$,"__esModule",{value:!0});B3$.MuxSubscription=void 0;var sw4=lw(),U3$=eG();class N3${baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,sw4.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((Q)=>{Q.resolver(Z,{})}),!0;if(Z.operation==="publish"){let Q=this.all().find((X)=>{return X.requestSubject===Z.subject});if(Q)return Q.resolver(Z,{}),!0}return!1}dispatcher(){return($,Z)=>{let Q=this.getToken(Z);if(Q){let X=this.get(Q);if(X){if($===null)$=Z?.data?.length===0&&Z.headers?.code===503?new U3$.NoRespondersError(X.requestSubject):null;X.resolver($,Z)}}}}close(){let $=new U3$.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}B3$.MuxSubscription=N3$});var A41=b((O3$)=>{Object.defineProperty(O3$,"__esModule",{value:!0});O3$.Heartbeat=void 0;var ew4=DH();class D3${ph;interval;maxOut;timer;pendings;constructor($,Z,Q){this.ph=$,this.interval=Z,this.maxOut=Q,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,ew4.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})}}O3$.Heartbeat=D3$});var M41=b((P3$)=>{Object.defineProperty(P3$,"__esModule",{value:!0});P3$.DenoBuffer=P3$.MAX_SIZE=P3$.AssertionError=void 0;P3$.assert=E3$;P3$.concat=z3$;P3$.append=Zj4;P3$.readAll=Qj4;P3$.writeAll=Xj4;var $j4=sG();class R41 extends Error{constructor($){super($);this.name="AssertionError"}}P3$.AssertionError=R41;function E3$($,Z="Assertion failed."){if(!$)throw new R41(Z)}var j3$=32768;P3$.MAX_SIZE=4294967294;function PW0($,Z,Q=0){let X=Z.byteLength-Q;if($.byteLength>X)$=$.subarray(0,X);return Z.set($,Q),$.byteLength}function z3$($,Z){if($===void 0&&Z===void 0)return new Uint8Array(0);if($===void 0)return Z;if(Z===void 0)return $;let Q=new Uint8Array($.length+Z.length);return Q.set($,0),Q.set(Z,$.length),Q}function Zj4($,Z){return z3$($,Uint8Array.of(Z))}class q41{_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($){E3$($<=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=PW0(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write($j4.TE.encode($))}write($){let Z=this._grow($.byteLength);return PW0($,this._buf,Z)}_grow($){let Z=this.length;if(Z===0&&this._off!==0)this.reset();let Q=this._tryGrowByReslice($);if(Q>=0)return Q;let X=this.capacity;if($<=Math.floor(X/2)-Z)PW0(this._buf.subarray(this._off),this._buf);else if(X+$>P3$.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*X+$,P3$.MAX_SIZE));PW0(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,P3$.MAX_SIZE)),Z}grow($){if($<0)throw Error("Buffer._grow: negative count");let Z=this._grow($);this._reslice(Z)}readFrom($){let Z=0,Q=new Uint8Array(j3$);while(!0){let X=this.capacity-this.length<j3$,Y=X?Q:new Uint8Array(this._buf.buffer,this.length),J=$.read(Y);if(J===null)return Z;if(X)this.write(Y.subarray(0,J));else this._reslice(this.length+J);Z+=J}}}P3$.DenoBuffer=q41;function Qj4($){let Z=new q41;return Z.readFrom($),Z.bytes()}function Xj4($,Z){let Q=0;while(Q<Z.length)Q+=$.write(Z.subarray(Q))}});var k41=b((M3$)=>{Object.defineProperty(M3$,"__esModule",{value:!0});M3$.cc=M3$.State=M3$.Parser=M3$.Kind=void 0;M3$.describe=Fj4;var I41=M41(),V41=sG();M3$.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function Fj4($){let Z,Q="";switch($.kind){case M3$.Kind.MSG:Z="MSG";break;case M3$.Kind.OK:Z="OK";break;case M3$.Kind.ERR:Z="ERR",Q=V41.TD.decode($.data);break;case M3$.Kind.PING:Z="PING";break;case M3$.Kind.PONG:Z="PONG";break;case M3$.Kind.INFO:Z="INFO",Q=V41.TD.decode($.data)}return`${Z}: ${Q}`}function A3$(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var R3$=48,Uj4=57,Dc=67108864;class q3${dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=M3$.State.OP_START,this.as=0,this.drop=0,this.hdr=0}parse($){let Z;for(Z=0;Z<$.length;Z++){let Q=$[Z];switch(this.state){case M3$.State.OP_START:switch(Q){case M3$.cc.M:case M3$.cc.m:this.state=M3$.State.OP_M,this.hdr=-1,this.ma=A3$();break;case M3$.cc.H:case M3$.cc.h:this.state=M3$.State.OP_H,this.hdr=0,this.ma=A3$();break;case M3$.cc.P:case M3$.cc.p:this.state=M3$.State.OP_P;break;case M3$.cc.PLUS:this.state=M3$.State.OP_PLUS;break;case M3$.cc.MINUS:this.state=M3$.State.OP_MINUS;break;case M3$.cc.I:case M3$.cc.i:this.state=M3$.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_H:switch(Q){case M3$.cc.M:case M3$.cc.m:this.state=M3$.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_M:switch(Q){case M3$.cc.S:case M3$.cc.s:this.state=M3$.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_MS:switch(Q){case M3$.cc.G:case M3$.cc.g:this.state=M3$.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_MSG:switch(Q){case M3$.cc.SPACE:case M3$.cc.TAB:this.state=M3$.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_MSG_SPC:switch(Q){case M3$.cc.SPACE:case M3$.cc.TAB:continue;default:this.state=M3$.State.MSG_ARG,this.as=Z}break;case M3$.State.MSG_ARG:switch(Q){case M3$.cc.CR:this.drop=1;break;case M3$.cc.NL:{let X=this.argBuf?this.argBuf.bytes():$.subarray(this.as,Z-this.drop);this.processMsgArgs(X),this.drop=0,this.as=Z+1,this.state=M3$.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(Q)}break;case M3$.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let X=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:M3$.Kind.MSG,msg:this.ma,data:X}),this.argBuf=void 0,this.msgBuf=void 0,this.state=M3$.State.MSG_END}else{let X=this.ma.size-this.msgBuf.length,Y=$.length-Z;if(Y<X)X=Y;if(X>0)this.msgBuf.write($.subarray(Z,Z+X)),Z=Z+X-1;else this.msgBuf.writeByte(Q)}else if(Z-this.as>=this.ma.size)this.dispatcher.push({kind:M3$.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=M3$.State.MSG_END;break;case M3$.State.MSG_END:switch(Q){case M3$.cc.NL:this.drop=0,this.as=Z+1,this.state=M3$.State.OP_START;break;default:continue}break;case M3$.State.OP_PLUS:switch(Q){case M3$.cc.O:case M3$.cc.o:this.state=M3$.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_PLUS_O:switch(Q){case M3$.cc.K:case M3$.cc.k:this.state=M3$.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_PLUS_OK:switch(Q){case M3$.cc.NL:this.dispatcher.push({kind:M3$.Kind.OK}),this.drop=0,this.state=M3$.State.OP_START;break}break;case M3$.State.OP_MINUS:switch(Q){case M3$.cc.E:case M3$.cc.e:this.state=M3$.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_MINUS_E:switch(Q){case M3$.cc.R:case M3$.cc.r:this.state=M3$.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_MINUS_ER:switch(Q){case M3$.cc.R:case M3$.cc.r:this.state=M3$.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_MINUS_ERR:switch(Q){case M3$.cc.SPACE:case M3$.cc.TAB:this.state=M3$.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_MINUS_ERR_SPC:switch(Q){case M3$.cc.SPACE:case M3$.cc.TAB:continue;default:this.state=M3$.State.MINUS_ERR_ARG,this.as=Z}break;case M3$.State.MINUS_ERR_ARG:switch(Q){case M3$.cc.CR:this.drop=1;break;case M3$.cc.NL:{let X;if(this.argBuf)X=this.argBuf.bytes(),this.argBuf=void 0;else X=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:M3$.Kind.ERR,data:X}),this.drop=0,this.as=Z+1,this.state=M3$.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(Q))}break;case M3$.State.OP_P:switch(Q){case M3$.cc.I:case M3$.cc.i:this.state=M3$.State.OP_PI;break;case M3$.cc.O:case M3$.cc.o:this.state=M3$.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_PO:switch(Q){case M3$.cc.N:case M3$.cc.n:this.state=M3$.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_PON:switch(Q){case M3$.cc.G:case M3$.cc.g:this.state=M3$.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_PONG:switch(Q){case M3$.cc.NL:this.dispatcher.push({kind:M3$.Kind.PONG}),this.drop=0,this.state=M3$.State.OP_START;break}break;case M3$.State.OP_PI:switch(Q){case M3$.cc.N:case M3$.cc.n:this.state=M3$.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_PIN:switch(Q){case M3$.cc.G:case M3$.cc.g:this.state=M3$.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_PING:switch(Q){case M3$.cc.NL:this.dispatcher.push({kind:M3$.Kind.PING}),this.drop=0,this.state=M3$.State.OP_START;break}break;case M3$.State.OP_I:switch(Q){case M3$.cc.N:case M3$.cc.n:this.state=M3$.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_IN:switch(Q){case M3$.cc.F:case M3$.cc.f:this.state=M3$.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_INF:switch(Q){case M3$.cc.O:case M3$.cc.o:this.state=M3$.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_INFO:switch(Q){case M3$.cc.SPACE:case M3$.cc.TAB:this.state=M3$.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case M3$.State.OP_INFO_SPC:switch(Q){case M3$.cc.SPACE:case M3$.cc.TAB:continue;default:this.state=M3$.State.INFO_ARG,this.as=Z}break;case M3$.State.INFO_ARG:switch(Q){case M3$.cc.CR:this.drop=1;break;case M3$.cc.NL:{let X;if(this.argBuf)X=this.argBuf.bytes(),this.argBuf=void 0;else X=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:M3$.Kind.INFO,data:X}),this.drop=0,this.as=Z+1,this.state=M3$.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(Q)}break;default:throw this.fail($.subarray(Z))}}if((this.state===M3$.State.MSG_ARG||this.state===M3$.State.MINUS_ERR_ARG||this.state===M3$.State.INFO_ARG)&&!this.argBuf)this.argBuf=new I41.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===M3$.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new I41.DenoBuffer($.subarray(this.as))}}cloneMsgArg(){let $=this.ma.subject.length,Z=this.ma.reply?this.ma.reply.length:0,Q=new Uint8Array($+Z);if(Q.set(this.ma.subject),this.ma.reply)Q.set(this.ma.reply,$);if(this.argBuf=new I41.DenoBuffer(Q),this.ma.subject=Q.subarray(0,$),this.ma.reply)this.ma.reply=Q.subarray($)}processMsgArgs($){if(this.hdr>=0)return this.processHeaderMsgArgs($);let Z=[],Q=-1;for(let X=0;X<$.length;X++)switch($[X]){case M3$.cc.SPACE:case M3$.cc.TAB:case M3$.cc.CR:case M3$.cc.NL:if(Q>=0)Z.push($.subarray(Q,X)),Q=-1;break;default:if(Q<0)Q=X}if(Q>=0)Z.push($.subarray(Q));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],Dc);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],Dc);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}: ${V41.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],Q=-1;for(let X=0;X<$.length;X++)switch($[X]){case M3$.cc.SPACE:case M3$.cc.TAB:case M3$.cc.CR:case M3$.cc.NL:if(Q>=0)Z.push($.subarray(Q,X)),Q=-1;break;default:if(Q<0)Q=X}if(Q>=0)Z.push($.subarray(Q));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],Dc),this.ma.size=this.protoParseInt(Z[3],Dc);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],Dc),this.ma.size=this.protoParseInt(Z[4],Dc);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 Q=0;for(let X=0;X<$.length;X++){if($[X]<R3$||$[X]>Uj4)return-1;Q=Q*10+($[X]-R3$)}return Z!==void 0&&Q>Z?-1:Q}}M3$.Parser=q3$;M3$.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};M3$.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 RW0=b((V3$)=>{Object.defineProperty(V3$,"__esModule",{value:!0});V3$.MsgHdrsImpl=void 0;V3$.canonicalMIMEHeaderKey=S41;V3$.headers=Lj4;var I3$=sG(),OH=lw(),AW0=eG();function S41($){let F=!0,U=Array($.length);for(let N=0;N<$.length;N++){let B=$.charCodeAt(N);if(B===58||B<33||B>126)throw AW0.InvalidArgumentError.format("header",`'${$[N]}' is not a valid character in a header name`);if(F&&97<=B&&B<=122)B-=32;else if(!F&&65<=B&&B<=90)B+=32;U[N]=B,F=B==45}return String.fromCharCode(...U)}function Lj4($=0,Z=""){if($===0&&Z!=="")throw AW0.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw AW0.InvalidArgumentError.format("description","is required");return new Oc($,Z)}var C41="NATS/1.0";class Oc{_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,Q]of this.headers){let X=$.values(Z);if(Q.length!==X.length)return!1;let Y=[...Q].sort(),J=[...X].sort();for(let G=0;G<Y.length;G++)if(Y[G]!==J[G])return!1}return!0}return!1}static decode($){let Z=new Oc,X=I3$.TD.decode($).split(`\r
|
|
2183
2183
|
`),Y=X[0];if(Y!==C41){let J=Y.replace(C41,"").trim();if(J.length>0){if(Z._code=parseInt(J,10),isNaN(Z._code))Z._code=0;let G=Z._code.toString();J=J.replace(G,""),Z._description=J.trim()}}if(X.length>=1)X.slice(1).map((J)=>{if(J){let G=J.indexOf(":");if(G>-1){let K=J.slice(0,G),W=J.slice(G+1).trim();Z.append(K,W)}}});return Z}toString(){if(this.headers.size===0&&this._code===0)return"";let $=C41;if(this._code>0&&this._description!=="")$+=` ${this._code} ${this._description}`;for(let[Z,Q]of this.headers)for(let X=0;X<Q.length;X++)$=`${$}\r
|
|
2184
2184
|
${Z}: ${Q[X]}`;return`${$}\r
|
|
@@ -3700,7 +3700,7 @@ ${Y}`:Y}case"media":return"";case"mediaSingle":case"mediaGroup":return Wn(tN(Q),
|
|
|
3700
3700
|
|
|
3701
3701
|
`);default:return H_0(Q,Z)}}function XO1($,Z=new Map){if(typeof $==="string")return O68($,Z);if(!$||typeof $!=="object")return"";return q68($,Z)}class YO1{client;names=new Map;lookupsDisabled=!1;constructor($){this.client=$}async resolve($){let Z=this.lookupsDisabled?[]:[...new Set($.filter((X)=>!this.names.has(X)))];for(let X=0;X<Z.length;X+=P68){let Y=Z.slice(X,X+P68);for(let J of Y)this.names.set(J,null);try{for(let J of await this.client.listUsersByAccountId(Y))if(J.displayName)this.names.set(J.accountId,J.displayName)}catch(J){this.lookupsDisabled=!0,console.warn("[jira] user lookup failed, mentions render as @unknown for this run:",J instanceof Error?J.message:J);break}}let Q=new Map;for(let X of $){let Y=this.names.get(X);if(Y)Q.set(X,Y)}return Q}}function Ak6($){if(!$)return null;return/\/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:[/?]|$)/i.exec($)?.[1]??null}var z68=15000,Xk6=60000,P68=50,Yk6="com.pyxis.greenhopper.jira:jsw-story-points",Jk6,Gk6="com.pyxis.greenhopper.jira:gh-sprint",Kk6="summary,status,priority,issuetype,updated,description,comment",Wk6=100,Hk6=1000,Fk6=5,Kn,Lk6,Dk6;var nz=L(()=>{X8();X$();tD1();sD1();Jk6=/^story points?( estimate)?$/i;Kn=class Kn extends Error{status;constructor($,Z){super($);this.status=Z;this.name="JiraRequestError"}};Lk6=/^[a-z0-9][a-z0-9-]*\.atlassian\.net$/,Dk6=new Set(["localhost","127.0.0.1"])});function Mk6($){let Z=$.split(".").pop()?.toLowerCase()??"";return qk6[Z]??"application/octet-stream"}function Ik6($){if(!$.startsWith(M68))return null;let Z=$.slice(M68.length).trim();if(Z===""||Z.includes(".."))return null;return Z}function Vk6($){return $.replace(/[^\w.-]+/g,"-").replace(/^-+|-+$/g,"")||"image"}async function I68($){let Z=new Map,{orgFs:Q,threadId:X}=$;if(!Q||!X)return Z;let Y=[...new Set(Z68($.markdown))];for(let J of Y){let G=Ik6(J);if(!G)continue;try{let K=await Q.read(Rk6,`${X}/${G}`),W=await $.client.uploadAttachment($.issueIdOrKey,Vk6(G),K,Mk6(G)),H=await $.client.attachmentMediaUuid(W.id);if(H)Z.set(J,{id:H})}catch(K){console.warn(`[jira] could not embed ${J} in the comment: ${K instanceof Error?K.message:String(K)}`)}}return Z}var Rk6="outputs",M68="org/output/",qk6;var V68=L(()=>{tD1();qk6={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp"}});function Hn($,Z){return`${$.replace(/\/+$/,"")}/browse/${encodeURIComponent(Z)}`}async function Fn($,Z,Q){let[X,Y,J]=await Promise.all([$.getIssue(Q),$.listComments(Q),$.listRemoteLinks(Q).catch(()=>[])]),K=await new YO1($).resolve([...QO1(X.fields.description),...Y.flatMap((W)=>QO1(W.body))]);return{id:X.id,key:X.key,url:Hn(Z,X.key),summary:X.fields.summary,status:X.fields.status.name,reporter:F_0(X.fields.reporter),assignee:F_0(X.fields.assignee),description:XO1(X.fields.description,K).trim(),comments:Y.map((W)=>({author:F_0(W.author)??"Unknown",created:W.created,body:XO1(W.body,K).trim()})),attachments:(X.fields.attachment??[]).map((W)=>({id:W.id,filename:W.filename,size:W.size})),links:J}}function F_0($){return $?A50($.accountId,$.displayName):null}function k68($,Z){return $.length>Z?`${$.slice(0,Z)}
|
|
3702
3702
|
|
|
3703
|
-
[\u2026 truncated]`:$}function Sk6($){if($<1024)return`${$} B`;if($<1048576)return`${Math.round($/1024)} KB`;return`${($/1048576).toFixed(1)} MB`}function _k6($){let Z=[`Moved into ${$.toStatus}`];if($.fromStatus)Z.push(`from ${$.fromStatus}`);let Q=F_0($.movedBy);if(Q)Z.push(`by ${Q}`);if($.movedAt)Z.push(`at ${$.movedAt}`);return`${Z.join(" ")} \u2014 the move that started this run.`}function U_0($,Z){let Q=[`# ${$.key}: ${$.summary}`,`Status: ${$.status}`,...Z?[_k6(Z)]:[],...$.reporter?[`Reporter: ${$.reporter}`]:[],...$.assignee?[`Assignee: ${$.assignee}`]:[],`Link: ${$.url}`,"","## Description",$.description?k68($.description,kk6):"_(empty)_"];if($.links.length>0){Q.push("","## Web links");for(let X of $.links)Q.push(`- [${X.title}](${X.url})`)}if($.attachments.length>0){Q.push("","## Attachments");for(let X of $.attachments)Q.push(`- ${X.filename} (${Sk6(X.size)}) \u2014 attachment id \`${X.id}\``);Q.push("","Fetch one with `JIRA_ATTACHMENT_DOWNLOAD` and the attachment id; it returns a short-lived URL to `curl` into the sandbox.")}if($.comments.length>0){Q.push("","## Comments");let X=Ck6;for(let
|
|
3703
|
+
[\u2026 truncated]`:$}function Sk6($){if($<1024)return`${$} B`;if($<1048576)return`${Math.round($/1024)} KB`;return`${($/1048576).toFixed(1)} MB`}function _k6($){let Z=[`Moved into ${$.toStatus}`];if($.fromStatus)Z.push(`from ${$.fromStatus}`);let Q=F_0($.movedBy);if(Q)Z.push(`by ${Q}`);if($.movedAt)Z.push(`at ${$.movedAt}`);return`${Z.join(" ")} \u2014 the move that started this run.`}function U_0($,Z){let Q=[`# ${$.key}: ${$.summary}`,`Status: ${$.status}`,...Z?[_k6(Z)]:[],...$.reporter?[`Reporter: ${$.reporter}`]:[],...$.assignee?[`Assignee: ${$.assignee}`]:[],`Link: ${$.url}`,"","## Description",$.description?k68($.description,kk6):"_(empty)_"];if($.links.length>0){Q.push("","## Web links");for(let X of $.links)Q.push(`- [${X.title}](${X.url})`)}if($.attachments.length>0){Q.push("","## Attachments");for(let X of $.attachments)Q.push(`- ${X.filename} (${Sk6(X.size)}) \u2014 attachment id \`${X.id}\``);Q.push("","Fetch one with `JIRA_ATTACHMENT_DOWNLOAD` and the attachment id; it returns a short-lived URL to `curl` into the sandbox.")}if($.comments.length>0){Q.push("","## Comments");let X=[],Y=Ck6;for(let G=$.comments.length-1;G>=0&&Y>0;G--){let K=$.comments[G];if(!K)continue;let W=k68(K.body,Y);X.unshift({...K,body:W}),Y-=W.length}let J=$.comments.length-X.length;if(J>0)Q.push(`[\u2026 ${J} older comment${J===1?"":"s"} omitted]`,"");for(let G of X)Q.push(`**${G.author}** (${G.created}):`,G.body,"")}return Q.join(`
|
|
3704
3704
|
`).trim()}function C68($){let Z=[`# ${$.length} Jira issues`,"This run works on every issue below. Each Jira tool takes `issueKey` to say which one it is about; `JIRA_ISSUE_GET` with a key returns that issue in "+"full \u2014 description, comments, attachments."];for(let Q of $)if(Z.push("",`## ${Q.key}: ${Q.summary}`,`Status: ${Q.status}`,...Q.reporter?[`Reporter: ${Q.reporter}`]:[],...Q.assignee?[`Assignee: ${Q.assignee}`]:[],`Link: ${Q.url}`),Q.links.length>0){Z.push("Web links:");for(let X of Q.links)Z.push(`- [${X.title}](${X.url})`)}return Z.join(`
|
|
3705
3705
|
`).trim()}var kk6=12000,Ck6=12000;var JO1=L(()=>{nz();sD1()});function GO1($){if($?.source!=="jira")return[];let Z=$.jira_issue_keys;if(Array.isArray(Z)){let X=Z.filter((Y)=>typeof Y==="string");if(X.length>0)return X}let Q=$.jira_issue_key;return typeof Q==="string"&&Q!==""?[Q]:[]}function S68($){if($?.source!=="jira")return[];let Z=$.jira_created_issue_keys;return Array.isArray(Z)?Z.filter((Q)=>typeof Q==="string"):[]}function KO1($,Z){if($.length===0)throw Error("This run is not working on a Jira issue");let Q=Z?.trim().toUpperCase();if(!Q){let Y=$[0];if($.length===1&&Y!==void 0)return{key:Y,inRun:!0};throw Error(`This run works on ${$.length} issues (${$.join(", ")}) \u2014 pass \`issueKey\` to say which one`)}let X=$.find((Y)=>Y.toUpperCase()===Q);if(X)return{key:X,inRun:!0};if(!vk6.test(Q))throw Error(`"${Z}" is not a Jira issue key, e.g. EX-12`);return{key:Q,inRun:!1}}var vk6;var _68=L(()=>{vk6=/^[A-Z][A-Z0-9_]*-\d+$/});import{z as y$}from"zod";async function M50($,Z,Q=S60().threadId){let X=W0($),Y=await $.storage.jiraIntegrations.getByOrg(X.id);if(!Y)throw Error("Jira is not connected for this org");let J=await $.storage.threads.get(Q),G=new JX(Y.siteUrl,Y.email,Y.apiToken),K=KO1(GO1(J?.metadata),Z);if(!K.inRun)await b68(G,Y,K.key);return{integration:Y,client:G,issueKey:K.key}}async function b68($,Z,Q){if(!Z.boardId)throw Error(`Jira has no board connected, so ${Q} cannot be checked \u2014 only this run's issues are reachable`);if(!await $.isOnBoard(Z.boardId,Q))throw Error(`${Q} is not on the connected Jira board`)}function gk6($){return $.slice(0,$.lastIndexOf("-"))}function x68($,Z){return $.trim().toLowerCase()===Z.trim().toLowerCase()}async function hk6($,Z,Q,X){for(let J of X){let G=await $.getIssue(J).catch(()=>null);if(G&&x68(G.fields.summary,Q))return G.key}let{issues:Y}=await $.searchIssues({jql:`project = "${Z}" AND reporter = currentUser() AND statusCategory != Done AND created >= ${bk6} ORDER BY created DESC`});return Y.find((J)=>x68(J.fields.summary,Q))?.key??null}var f68=50000,q50,bg,yg,WO1,gg,xk6=100,HO1,fk6=5,bk6="-14d",v68="Relates",yk6,FO1,hg;var UO1=L(()=>{v0();T9();gD1();nz();V68();JO1();_68();hD();q50=y$.string().optional().describe("Which issue: any on the board, e.g. one this run's issue links to or one you created. Leave out for this run's issue, when it has one.");bg=p({name:"JIRA_ISSUE_GET",description:"Read a Jira issue \u2014 this run's, or another on the board: summary, "+"status, description, comments, and attachments with the ids JIRA_ATTACHMENT_DOWNLOAD takes.",inputSchema:y$.object({issueKey:q50}),outputSchema:y$.object({key:y$.string(),url:y$.string(),status:y$.string(),markdown:y$.string()}),handler:async($,Z)=>{await Z.access.check();let{integration:Q,client:X,issueKey:Y}=await M50(Z,$.issueKey),J=await Fn(X,Q.siteUrl,Y);return{key:J.key,url:J.url,status:J.status,markdown:U_0(J)}}}),yg=p({name:"JIRA_COMMENT_ADD",description:"Post a comment on a Jira issue on the board. Markdown is rendered as Jira rich text, tables included. Leave one when you finish: what you did, and any pull request link. To mention someone so they are "+"notified, write `@[Name](accountid:<id>)` \u2014 the form people appear in "+"when you read an issue (reporter, assignee, comment authors, mentions); a plain `@name` is only text. To show evidence, write the image to `org/output/<name>.png` in your working pod and reference it as "+"`` \u2014 it is uploaded to the issue "+"and rendered inline. Any other URL stays a plain link.",inputSchema:y$.object({issueKey:q50,body:y$.string().min(1).max(f68)}),outputSchema:y$.object({commentId:y$.string(),embeddedImages:y$.array(y$.string())}),handler:async($,Z)=>{await Z.access.check();let{client:Q,issueKey:X}=await M50(Z,$.issueKey),Y=await I68({client:Q,orgFs:Z.orgFs,issueIdOrKey:X,threadId:m3.getStore()?.threadId??null,markdown:$.body}),{id:J}=await Q.addComment(X,$.body,{media:Y});return{commentId:J,embeddedImages:[...Y.keys()]}}}),WO1=p({name:"JIRA_REMOTE_LINK_ADD",description:"Put a link on a Jira issue on the board \u2014 its pull request, "+"its deploy preview. A link on the card is what a person clicks; the same URL inside a comment is not. Posting the same `key` again updates that link instead of adding a second.",inputSchema:y$.object({issueKey:q50,url:y$.string().min(1),title:y$.string().min(1).max(255),summary:y$.string().max(1000).optional(),key:y$.string().max(255).optional().describe("Stable id for this link, e.g. `pull-request` or `preview`.")}),outputSchema:y$.object({linkId:y$.number()}),handler:async($,Z)=>{await Z.access.check();let{client:Q,issueKey:X}=await M50(Z,$.issueKey),Y;try{Y=new URL($.url)}catch{throw Error(`"${$.url}" is not an absolute URL`)}if(Y.protocol!=="https:"&&Y.protocol!=="http:")throw Error(`${Y.protocol} is not a linkable scheme`);let{id:J}=await Q.addRemoteLink(X,{url:Y.toString(),title:$.title,...$.summary?{summary:$.summary}:{},...$.key?{globalId:`studio-${X}-${$.key}`}:{}});return{linkId:J}}}),gg=p({name:"JIRA_ISSUE_TRANSITION",description:"Move a Jira issue on the board to another status, by the status name (case-insensitive). Only a status the issue's workflow can reach from where it is; the error names the reachable ones.",inputSchema:y$.object({issueKey:q50,toStatus:y$.string().min(1)}),outputSchema:y$.object({status:y$.string()}),handler:async($,Z)=>{await Z.access.check();let{client:Q,issueKey:X}=await M50(Z,$.issueKey),Y=await Q.listTransitions(X),J=$.toStatus.trim().toLowerCase(),G=Y.find((K)=>K.to.name.toLowerCase()===J||K.name.toLowerCase()===J);if(!G)throw Error(`The issue cannot move to "${$.toStatus}" from here \u2014 reachable: ${Y.map((K)=>K.to.name).join(", ")||"none"}`);return await Q.transitionIssue(X,G.id),{status:G.to.name}}}),HO1=p({name:"JIRA_ISSUE_SEARCH",description:'Find issues on the board with JQL, e.g. `status = "Code Review"` or `text ~ "checkout" ORDER BY updated DESC`. The query is narrowed to the board, so name only the condition. Returns keys to read in full with JIRA_ISSUE_GET.',inputSchema:y$.object({jql:y$.string().max(2000),limit:y$.number().int().min(1).max(xk6).default(20)}),outputSchema:y$.object({issues:y$.array(y$.object({key:y$.string(),url:y$.string(),summary:y$.string(),status:y$.string(),type:y$.string().nullable(),updated:y$.string()})),truncated:y$.boolean()}),handler:async($,Z)=>{await Z.access.check();let Q=W0(Z),X=await Z.storage.jiraIntegrations.getByOrg(Q.id);if(!X)throw Error("Jira is not connected for this org");if(!X.boardId)throw Error("Jira has no board connected to search");let Y=new JX(X.siteUrl,X.email,X.apiToken),J=await Y.getBoardScopeJql(X.boardId),G=await Y.searchIssues({jql:ZO1(J,$.jql)});return{issues:G.issues.slice(0,$.limit).map((K)=>({key:K.key,url:Hn(X.siteUrl,K.key),summary:K.fields.summary,status:K.fields.status.name,type:K.fields.issuetype?.name??null,updated:K.fields.updated})),truncated:G.issues.length>$.limit||G.nextPageToken!==null}}}),yk6=/^[A-Z][A-Z0-9_]*$/;FO1=p({name:"JIRA_ISSUE_CREATE",description:"Create a Jira issue in the project this run works in \u2014 a release card, "+"a follow-up found along the way \u2014 then comment on it, link it and move "+"it with the other Jira tools by its key. If an open issue this integration created in the last two weeks already has this exact summary, that one is returned instead (`created: false`) and still linked, so calling again after a restart does not duplicate it. Write the full description now; there is no tool to edit it later.",inputSchema:y$.object({summary:y$.string().trim().min(1).max(255),issueType:y$.string().min(1).describe("The issue type's name as the Jira API names it (often English, e.g. Story or Task, even when the UI shows a translation). The error lists the project's types."),description:y$.string().max(f68).optional().describe("Markdown, rendered as Jira rich text, tables included; `@[Name](accountid:<id>)` mentions someone."),relatesTo:y$.array(y$.string().min(1)).max(100).default([]).describe("Issues on the board to link to the new one as `Relates`, e.g. the cards a release ships."),sprint:y$.enum(["active","none"]).default("none").describe("`active` puts it in the board's running sprint, which is what a sprint board shows; `none` leaves it in the backlog."),storyPoints:y$.number().min(0).max(1000).optional()}),outputSchema:y$.object({key:y$.string(),url:y$.string(),created:y$.boolean(),linked:y$.array(y$.string()),notLinked:y$.array(y$.object({key:y$.string(),reason:y$.string()}))}),handler:async($,Z)=>{await Z.access.check();let Q=W0(Z),{threadId:X}=S60(),Y=await Z.storage.jiraIntegrations.getByOrg(Q.id);if(!Y)throw Error("Jira is not connected for this org");let J=await Z.storage.threads.get(X),G=GO1(J?.metadata);if(G.length===0)throw Error("This run is not working on a Jira issue");let K=[...new Set(G.map(gk6))],W=K[0];if(K.length!==1||!W||!yk6.test(W))throw Error(`This run works in ${K.join(", ")}; it can only create in a single project`);let H=new JX(Y.siteUrl,Y.email,Y.apiToken),F=[];for(let j of $.relatesTo){let E=KO1(G,j);if(F.includes(E.key))continue;if(!E.inRun)await b68(H,Y,E.key);F.push(E.key)}let U=S68(J?.metadata),N=await hk6(H,W,$.summary,U),B=N===null;if(N===null){if(U.length>=fk6)throw Error(`This run already created ${U.length} issues (${U.join(", ")}), the most one run may`);let j=await H.getCreateMeta(W,$.issueType),E={};if($.storyPoints!==void 0){if(!j.storyPointsFieldId)throw Error(`${j.issueTypeName} in ${W} has no story points field to set`);E[j.storyPointsFieldId]=$.storyPoints}if($.sprint==="active"){if(!Y.boardId||!j.sprintFieldId)throw Error(`${j.issueTypeName} in ${W} cannot go in a sprint \u2014 pass sprint: "none"`);let z=await H.getActiveSprint(Y.boardId);if(!z)throw Error('The board has no active sprint \u2014 pass sprint: "none"');E[j.sprintFieldId]=z.id}({key:N}=await H.createIssue({projectKey:W,issueTypeId:j.issueTypeId,summary:$.summary,description:$.description,fields:E})),await Z.storage.threads.recordJiraIssueCreated(X,N)}let D=B?new Set:new Set(await H.listLinkedIssueKeys(N,v68)),O=[],w=[];for(let j of F){if(D.has(j)){O.push(j);continue}try{await H.linkIssues(v68,j,N),O.push(j)}catch(E){w.push({key:j,reason:E instanceof Error?E.message:String(E)})}}return{key:N,url:Hn(Y.siteUrl,N),created:B,linked:O,notLinked:w}}});hg=p({name:"JIRA_ATTACHMENT_DOWNLOAD",description:"Get a short-lived URL for one attachment of a Jira issue on the board, to `curl -L -o <path>` into the sandbox. Attachment ids are listed by JIRA_ISSUE_GET. The URL needs no credential and expires.",inputSchema:y$.object({issueKey:q50,attachmentId:y$.string().min(1)}),outputSchema:y$.object({url:y$.string(),filename:y$.string(),expiresAt:y$.string(),command:y$.string()}),handler:async($,Z)=>{await Z.access.check();let{integration:Q,client:X,issueKey:Y}=await M50(Z,$.issueKey),J=(await X.listAttachments(Y)).find((F)=>F.id===$.attachmentId);if(!J)throw Error(`${Y} has no attachment "${$.attachmentId}" \u2014 JIRA_ISSUE_GET lists the ids`);let G=Date.now()+l48,K=m48({organizationId:Q.organizationId,attachmentId:J.id,expiresAt:G}),W=`${t5()}/api/_jira/attachments/${K}`,H=J.filename.replace(/[^\w.-]+/g,"_");return{url:W,filename:J.filename,expiresAt:new Date(G).toISOString(),command:`curl -fsSL -o ${JSON.stringify(H)} ${JSON.stringify(W)}`}}})});function y68($,Z){let Q=(X)=>m3.run({threadId:Z},X);return{JIRA_ISSUE_GET:a$({description:bg.description,inputSchema:r(bg.inputSchema),execute:(X)=>Q(()=>bg.execute(X,$))}),JIRA_COMMENT_ADD:a$({description:yg.description,inputSchema:r(yg.inputSchema),execute:(X)=>Q(()=>yg.execute(X,$))}),JIRA_ISSUE_TRANSITION:a$({description:gg.description,inputSchema:r(gg.inputSchema),execute:(X)=>Q(()=>gg.execute(X,$))}),JIRA_ATTACHMENT_DOWNLOAD:a$({description:hg.description,inputSchema:r(hg.inputSchema),execute:(X)=>Q(()=>hg.execute(X,$))})}}var g68=L(()=>{c4();UO1();hD()});function LO1($){let Z=$.type;if(typeof Z!=="string")return!1;if(Z==="text"||Z==="reasoning")return $.state!=="streaming";if(Z==="step-start")return!1;if(Z.startsWith("tool-")||Z==="dynamic-tool")return $.state==="approval-requested"||Z==="tool-user_ask"&&$.state==="input-available"||$.state==="output-available"||$.state==="output-error"||$.state==="output-denied";return!0}function NO1($){let Z=$.type??"";if(Z==="reasoning")return"reasoning";if(Z==="file")return"file";if(Z.startsWith("tool-")||Z==="dynamic-tool")return $.state==="output-available"||$.state==="output-error"||$.state==="output-denied"?"tool_result":"tool_call";return"text"}class DO1{ctx;base;seqByPart=new Map;emitted=new Set;finished=new Set;partKeyByRowId=new Map;finishMessageIdByRowId=new Map;nextSeq=0;constructor($){this.ctx=$;this.base=$.baseTimeMs??Date.now()}hasEmittedContentFor($){let Z=`${$}#`;for(let Q of this.emitted)if(Q.startsWith(Z))return!0;return!1}seqFor($){let Z=this.seqByPart.get($);if(Z!==void 0)return Z;let Q=this.nextSeq++;return this.seqByPart.set($,Q),Q}row($,Z,Q,X,Y,J=null){return{id:`${this.ctx.runId}:${$}:${Q}`,seq:Q,org_id:this.ctx.orgId,thread_id:this.ctx.threadId,run_id:this.ctx.runId,message_id:$,role:Z,kind:X,payload:Y,payload_ref:null,metadata:J,created_at:new Date(this.base+Q).toISOString()}}emitMessageParts($){let Z=$.parts??[],Q=[];for(let X=0;X<Z.length;X++){let Y=Z[X];if(!LO1(Y))continue;let J=`${$.id}#${X}`;if(this.emitted.has(J))continue;let G=this.seqFor(J),K=this.row($.id,$.role,G,NO1(Y),BO1(Y));this.partKeyByRowId.set(K.id,J),Q.push(K)}return Q}emitRequestMessageParts($){let Z=$.parts??[],Q=[];for(let X=0;X<Z.length;X++){let Y=Z[X],J=`${$.id}#${X}`,G=this.seqFor(J),K=this.row($.id,$.role,G,NO1(Y),BO1(Y));this.partKeyByRowId.set(K.id,J),Q.push(K)}return Q}markFinished($,Z,Q=null){if(this.finished.has($))return[];let X=this.seqFor(`${$}#finish`),Y=this.row($,Z,X,"finish",{},Q);return this.finishMessageIdByRowId.set(Y.id,$),[Y]}markRequestFinished($,Z,Q=null){let X=this.seqFor(`${$}#finish`),Y=this.row($,Z,X,"finish",{},Q);return this.finishMessageIdByRowId.set(Y.id,$),[Y]}acknowledge($){for(let Z of $){let Q=this.partKeyByRowId.get(Z.id);if(Q!==void 0)this.emitted.add(Q);let X=this.finishMessageIdByRowId.get(Z.id);if(X!==void 0)this.finished.add(X)}}emitUserMessage($){return[...this.emitMessageParts($),...this.markFinished($.id,$.role,$.metadata??null)]}emitRequestMessage($){return[...this.emitRequestMessageParts($),...this.markRequestFinished($.id,$.role,$.metadata??null)]}emitStepParts($){return this.emitMessageParts($)}emitFinal($){let Z=this.emitMessageParts($);if(Z.length===0&&!this.hasEmittedContentFor($.id))return Z;return[...Z,...this.markFinished($.id,$.role,$.metadata??null)]}emitFinalSnapshot($){let Z=$.parts??[],Q=[];for(let J=0;J<Z.length;J++){let G=Z[J];if(!LO1(G))continue;let K=`${$.id}#${J}`,W=this.seqFor(K),H=this.row($.id,$.role,W,NO1(G),BO1(G));this.partKeyByRowId.set(H.id,K),Q.push(H)}if(Q.length===0&&!this.hasEmittedContentFor($.id))return Q;let X=this.seqFor(`${$.id}#finish`),Y=this.row($.id,$.role,X,"finish",{},$.metadata??null);return this.finishMessageIdByRowId.set(Y.id,$.id),[...Q,Y]}emitError($,Z){let Q=`${$}#error`,X=[];if(!this.emitted.has(Q)){let Y=this.seqFor(Q),J=this.row($,"assistant",Y,"error",{type:"text",text:`Error: ${h68(Z)}`});this.partKeyByRowId.set(J.id,Q),X.push(J)}return[...X,...this.markFinished($,"assistant")]}}function h68($){if($.length<=N_0)return $;let Z=$.length-N_0;return`${$.slice(0,N_0)}\u2026 [truncated ${Z} characters]`}function BO1($){let Z=$.errorText;if(typeof Z!=="string"||Z.length<=N_0)return $;return{...$,errorText:h68(Z)}}var N_0=8000;class WY{ctx;builder;constructor($){this.ctx=$;this.builder=new DO1($)}async appendBuiltRows($){await this.ctx.storage.appendParts($),this.builder.acknowledge($)}async emitUserMessage($){await this.appendBuiltRows(this.builder.emitUserMessage($))}async emitRequestMessage($){let Z=this.builder.emitRequestMessage($);await this.ctx.storage.replaceMessageParts(this.ctx.threadId,$.id,Z),this.builder.acknowledge(Z)}async emitStepParts($){await this.appendBuiltRows(this.builder.emitStepParts($))}async emitFinal($){await this.appendBuiltRows(this.builder.emitFinal($))}async replaceFinal($){let Z=this.builder.emitFinalSnapshot($);await this.ctx.storage.replaceMessageParts(this.ctx.threadId,$.id,Z),this.builder.acknowledge(Z)}async emitError($,Z){await this.appendBuiltRows(this.builder.emitError($,Z))}}var tz=()=>{};async function Un($,Z,Q,X){let Y=Z.organizationId;if(!await ZG($,Y,"kanban"))throw new BN("Continuing a task agent needs the kanban feature, which this plan does not include.","kanban");await I3($,Y,"continuing a task agent");let J=await S6($,"smart"),G=Q.virtual_mcp_id??IT(Y),K={id:X.messageId,role:"user",parts:[{type:"text",text:X.prompt}],metadata:{created_at:new Date().toISOString()}};await new WY({storage:$.storage.threads.messageParts(),orgId:Y,threadId:Q.id,runId:Q.id}).emitRequestMessage(K),await pD({threadId:Q.id,source:"background-tool",request:{messages:[K],models:{credentialId:J.credentialId,thinking:{id:J.modelId,title:J.modelMeta.title}},agent:{id:G,...X.agent??{}},temperature:0.5,toolApprovalLevel:"auto",mode:"default",organizationId:Y,userId:Z.assignedBy??Z.createdBy,harnessId:Q.harness_id==="claude-code"?"claude-code":"decopilot",...Q.branch?{branch:Q.branch}:{},taskId:Q.id,runMetadata:{...nC0(Z),...X.runClass?{[lp]:X.runClass}:{}}}},{workflowID:X.workflowID})}var B_0=L(()=>{v60();tz();YF();JY();nD();cp();a8()});var L_0,u68="notification.created";var D_0=L(()=>{L_0=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"]});class m68{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,Q)=>this.localEmit(Z,Q)),this.started=!0}async stop(){if(!this.started||!this.strategy)return;await this.strategy.stop(),this.started=!1}add($){if(this.totalCount>=c68)return console.warn(`[SSEHub] Total connection limit reached (${c68})`),null;let Z=this.listeners.get($.organizationId);if(!Z)Z=new Map,this.listeners.set($.organizationId,Z);if(Z.size>=l68)return console.warn(`[SSEHub] Per-org connection limit reached for ${$.organizationId} (${l68})`),null;return Z.set($.id,$),this.totalCount++,$.id}remove($,Z){let Q=this.listeners.get($);if(!Q)return;if(Q.delete(Z)){if(this.totalCount--,Q.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){this.deliver($,$,Z),this.deliver(O_0,$,Z)}deliver($,Z,Q){let X=this.listeners.get($);if(!X||X.size===0)return;for(let Y of X.values()){if(Y.typePatterns&&!uk6(Q.type,Y.typePatterns))continue;try{Y.push(Q,Z)}catch{this.remove($,Y.id)}}}}function uk6($,Z){for(let Q of Z){if(Q===$)return!0;if(Q.endsWith(".*")){let X=Q.slice(0,-1);if($.startsWith(X))return!0}}return!1}var O_0="*",l68=50,c68=500,B9;var I50=L(()=>{f6();B9=new m68;Y$.createObservableGauge("sse_hub.connections",{description:"Active SSE listeners held by this pod",unit:"{connections}"}).addCallback(($)=>$.observe(B9.count))});function lk6($){return $.replace(/[^a-zA-Z]/g,"").toUpperCase().slice(0,4)||"TASK"}function Nn($,Z){if(Z==null)return null;return`${lk6($)}-${String(Z).padStart(2,"0")}`}var w_0=()=>{};function OO1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function mk6($,Z){let Q=$.taskKeySeq===null?null:Nn($.orgSlug,$.taskKeySeq),X=OO1($.actorName??"The agent"),Y=OO1($.taskTitle),J=Q?`${OO1(Q)} \xB7 ${Y}`:Y,G=Q?`<a href="${Z}/${encodeURIComponent($.orgSlug)}/t/${encodeURIComponent(Q)}" style="color:#141413;">${J}</a>`:J;return`<p style="margin:0 0 12px 0;font-size:14px;color:#141413;line-height:1.6;font-family:Inter,system-ui,sans-serif;">${X} ${ck6[$.type]} ${G}</p>`}function d68($,Z){let Q=$.length===1?"1 update on your tasks":`${$.length} updates on your tasks`;return{subject:Q,html:U3({preheader:Q,heading:Q,body:$.map((X)=>mk6(X,Z)).join(`
|
|
3706
3706
|
`),footnote:"You received this because you follow these tasks. Open a task and use Unfollow to stop."})}}var ck6;var i68=L(()=>{w_0();ck6={created:"created",commented:"commented on",mentioned:"mentioned you on",status_changed:"moved",assignee_changed:"reassigned",review_requested:"requested review on",review_approved:"approved",review_changes_requested:"requested changes on",merge_failed:"couldn't merge"}});import{z as V50}from"zod";var Bn;var j_0=L(()=>{Bn=V50.object({taskTitle:V50.string(),taskKeySeq:V50.number().int().nullable(),actorName:V50.string().nullable(),actorImage:V50.string().nullable()})});import{DBOS as oN,SchedulerMode as dk6}from"@dbos-inc/dbos-sdk";function p68($){EO1=$}function PO1(){if(!EO1)throw Error("[notifications] runtime not initialized \u2014 setNotificationDigestRuntime() must run before the workflow fires");return EO1}function n68(){return PO1().db.selectFrom("notifications as n").innerJoin("organization as o","o.id","n.organization_id").innerJoin("user as u","u.id","n.user_id").innerJoin("member as m",($)=>$.onRef("m.userId","=","n.user_id").onRef("m.organizationId","=","n.organization_id")).select(["n.id as id","n.user_id as userId","n.type as type","n.data as data","o.slug as orgSlug","u.email as email"]).where("n.emailed_at","is",null).where("n.read_at","is",null).orderBy("n.created_at","asc").limit(nk6)}function t68($){return $.map((Z)=>{let Q=Bn.parse(Z.data);return{id:Z.id,userId:Z.userId,email:Z.email,type:Z.type,orgSlug:Z.orgSlug,taskTitle:Q.taskTitle,taskKeySeq:Q.taskKeySeq,actorName:Q.actorName}})}async function ok6($){return t68(await n68().where("n.user_id","=",$).execute())}async function rk6($){return t68(await n68().where("n.created_at","<",$).execute())}async function ak6($){if($.length===0)return new Set;let Z=await PO1().db.updateTable("notifications").set({emailed_at:new Date}).where("id","in",$).where("emailed_at","is",null).returning("id").execute();return new Set(Z.map((Q)=>Q.id))}function sk6($){let Z=new Map;for(let Q of $){let X=Z.get(Q.userId);if(X)X.push(Q);else Z.set(Q.userId,[Q])}return[...Z.values()]}function TO1(){let $=mH().auth,Z=$.emailProviders??[],Q=$.inviteEmailProviderId?F3(Z,$.inviteEmailProviderId):Z[0];return Q?H3(Q):null}function ek6($){if($.length>254)return!1;if($.length<3)return!1;if($.includes(" "))return!1;let Z=$.lastIndexOf("@");if(Z<=0||Z===$.length-1)return!1;if(!$.substring(Z+1).includes("."))return!1;return!0}async function $C6($){let Z=TO1();if(!Z)throw Error("no email provider configured");let Q=$[0].email;if(!ek6(Q))throw Error(`invalid recipient email: ${Q.substring(0,50)}`);let{subject:X,html:Y}=d68($,y9());if(X.length>1000)throw Error(`digest subject too long: ${X.length} chars (max 1000)`);if(Y.length>1e6)throw Error(`digest html too long: ${Y.length} bytes (max 1MB)`);await Z({to:Q,subject:X,html:Y})}async function ZC6($){await PO1().db.deleteFrom("notifications").where("created_at","<",$).execute()}async function o68($,Z){if($.length===0)return;let Q=await oN.runStep(()=>ak6($.map((Y)=>Y.id)),{name:`claimForEmail:${Z}`}),X=$.filter((Y)=>Q.has(Y.id));if(X.length===0)return;await oN.runStep(()=>$C6(X),{name:`sendDigest:${Z}`,retriesAllowed:!0,maxAttempts:3})}async function QC6($,Z){let Q=Z-Date.now();if(Q>0)await oN.sleep(Q);if(!TO1())return;let X=await oN.runStep(()=>ok6($),{name:"loadPendingForUser"});try{await o68(X,$)}catch(Y){console.warn(`[notifications] digest for ${$} failed:`,Y instanceof Error?Y.message:Y)}}async function XC6($,Z){let Q=new Date($.getTime()-jO1-pk6),X=TO1()?await oN.runStep(()=>rk6(Q),{name:"loadOrphanedNotifications"}):[];for(let Y of sk6(X)){let J=Y[0].userId;try{await o68(Y,J)}catch(G){console.warn(`[notifications] sweep digest for ${J} failed:`,G instanceof Error?G.message:G)}}if($.getUTCMinutes()<2)await oN.runStep(()=>ZC6(new Date($.getTime()-tk6)),{name:"pruneOldNotifications"})}function r68($){if(!zO1)return;let Z=Math.floor(Date.now()/jO1),Q=(Z+1)*jO1;oN.startWorkflow(zO1,{workflowID:`notif-digest:${$}:${Z}`})($,Q).catch((X)=>{console.debug("[notifications] digest enqueue skipped:",X instanceof Error?X.message:X)})}function a68(){if(wO1)return;zO1=oN.registerWorkflow(QC6,{name:"notificationUserDigestWorkflow"}),wO1=oN.registerWorkflow(XC6,{name:"notificationDigestWorkflow"}),oN.registerScheduled(wO1,{name:"notificationDigestWorkflow",crontab:ik6,mode:dk6.ExactlyOncePerIntervalWhenActive})}var ik6="*/2 * * * *",jO1=30000,pk6=60000,nk6=500,tk6=2592000000,EO1=null,wO1=null,zO1=null;var AO1=L(()=>{T10();T9();PA();i68();j_0()});async function YC6($,Z){return await $.selectFrom("task_board_items").select(["organization_id","title","key_seq"]).where("id","=",Z).executeTakeFirst()}async function JC6($,Z){if(!Z)return{name:null,image:null};let Q=await $.selectFrom("user").select(["name","image"]).where("id","=",Z).executeTakeFirst();return{name:Q?.name??null,image:Q?.image??null}}async function Ln($){let{db:Z,taskBoardItemId:Q,type:X,actorId:Y}=$;try{let J=[],G=await YC6(Z,Q);if(!G)return;let K=async(W)=>{let H=[...new Set($.alsoSubscribe?.filter((O)=>!!O))];if(H.length>0)await W.insertInto("notification_subscriptions").values(H.map((O)=>({id:r8("nsub"),user_id:O,task_board_item_id:Q}))).onConflict((O)=>O.columns(["user_id","task_board_item_id"]).doNothing()).execute();let F=$.recipients,N=(F?[...new Set(F.filter((O)=>!!O))]:(await W.selectFrom("notification_subscriptions").select("user_id").where("task_board_item_id","=",Q).where("subscribed","=",!0).execute()).map((O)=>O.user_id)).filter((O)=>O!==Y);if(N.length===0)return;J=N;let B=await JC6(W,Y),D=Bn.parse({taskTitle:G.title,taskKeySeq:G.key_seq??null,actorName:B.name,actorImage:B.image});await W.insertInto("notifications").values(N.map((O)=>({id:r8("notif"),user_id:O,organization_id:G.organization_id,task_board_item_id:Q,type:X,actor_id:Y,data:JSON.stringify(D)}))).execute()};await(Z.isTransaction?K(Z):Z.transaction().execute(K));for(let W of J)r68(W),B9.emit(G.organization_id,{id:crypto.randomUUID(),type:u68,source:"notifications",subject:W,time:new Date().toISOString()})}catch(J){console.error("[notifications] fan-out failed",J)}}var E_0=L(()=>{SX();D_0();I50();AO1();j_0()});import{sql as zG}from"kysely";function KC6($){return GC6.has($)?$:null}function z_0($){let Z=(Q)=>Q instanceof Date?Q.toISOString():Q;return{id:$.id,taskBoardItemId:$.task_board_item_id,parentId:$.parent_id,authorId:$.author_id,threadId:$.thread_id,body:$.body,resolved:$.resolved,createdAt:Z($.created_at),updatedAt:Z($.updated_at)}}function s68($){if($&&typeof $==="object"&&!Array.isArray($)){let Z=$.text;if(typeof Z==="string"&&Z.trim())return Z.trim()}return null}function RO1($,Z=!1){if($.status!=="in_progress")return!1;let Q=$.threads.filter((X)=>X.hasMessages);if(Q.length===0)return!1;if($.repo!=null&&!Z)return!1;if(!Q.every((X)=>X.status!==null&&k50.has(X.status)))return!1;return Q.some((X)=>X.status==="completed")}function FC6($){let Z=typeof $==="string"?(()=>{try{return JSON.parse($)}catch{return null}})():$;if(!Z||typeof Z!=="object")return!1;let Q=MH(Z)?.repository?.url;return typeof Q==="string"&&Q.length>0}function UC6($){if($===null||$===void 0)return null;let Z=typeof $==="number"?$:Number($);return Number.isFinite(Z)?Z:null}function NC6($,Z){let Q=(J)=>J instanceof Date?J.getTime():new Date(J).getTime(),X=Q($),Y=Z===null?Number.NEGATIVE_INFINITY:Q(Z);return new Date(Math.max(X,Y)).toISOString()}class p3{db;constructor($){this.db=$}inTransaction($){return this.db.isTransaction?$(this.db):this.db.transaction().execute($)}async list($){let Q=(await this.db.selectFrom("task_board_items").selectAll().where("organization_id","=",$).where("dismissed_at","is",null).where("source","is",null).orderBy("sort_order","asc").execute()).map((X)=>this.itemFromDbRow(X));return await this.attachRefs(Q,$),Q}async searchByTitle($,Z,Q){return(await this.db.selectFrom("task_board_items").selectAll().where("organization_id","=",$).where("dismissed_at","is",null).where("source","is",null).where("title","ilike",`%${cc(Z)}%`).orderBy("updated_at","desc").limit(Q).execute()).map((Y)=>this.itemFromDbRow(Y))}async getById($,Z){let Q=await this.db.selectFrom("task_board_items").selectAll().where("id","=",$).where("organization_id","=",Z).executeTakeFirst();if(!Q)return null;let X=this.itemFromDbRow(Q);return await this.attachRefs([X],Z),X}async create($){let Z=r8("board"),Q=new Date().toISOString(),X=$.status??"triage",Y=(K)=>K.insertInto("task_board_items").values({id:Z,organization_id:$.organizationId,title:$.title,description:$.description??null,status:X,priority:$.priority??"medium",type:$.type??PH1,assignee_id:$.assigneeId??null,assigned_by:$.assignedBy??null,repo:$.repo??null,repository_id:$.repositoryId??null,due_date:$.dueDate??null,external_key:$.externalKey??null,external_url:$.externalUrl??null,source:$.source??null,sort_order:zG`(
|