decocms 2.366.7 → 2.367.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-DFcOa31f.js → AlertCircle-DXzL-e2e.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-CbOlEr1w.js → ArrowNarrowLeft-CfhHEfPi.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-C6axmKPR.js → ArrowUpRight-B88Qk3-k.js} +1 -1
- package/dist/client/assets/{Check-JQri_6PS.js → Check-CVVQU9f4.js} +1 -1
- package/dist/client/assets/{CheckCircle-B6HzfzYv.js → CheckCircle-Cj6h9CZZ.js} +1 -1
- package/dist/client/assets/{ChevronDown-CNNU2L0m.js → ChevronDown-DPIOR45j.js} +1 -1
- package/dist/client/assets/{ChevronRight-BuVcgGSu.js → ChevronRight-s9nAs9dC.js} +1 -1
- package/dist/client/assets/{ChevronUp-DyIOyS2u.js → ChevronUp-CrZe5oLM.js} +1 -1
- package/dist/client/assets/{Container-Cy3AGglh.js → Container-6XDQdQD7.js} +1 -1
- package/dist/client/assets/{DotsVertical-DIehc2A5.js → DotsVertical-CcodegNX.js} +1 -1
- package/dist/client/assets/{FilterLines-DHlq5ZtE.js → FilterLines-D8KDEvth.js} +1 -1
- package/dist/client/assets/{HardDrive-CAAHpLeS.js → HardDrive-DoqeSHVa.js} +1 -1
- package/dist/client/assets/{Key01-C29UL5qH.js → Key01-CerwD4kH.js} +1 -1
- package/dist/client/assets/{LayoutLeft-5sSkIfFI.js → LayoutLeft-D1UJkE8Z.js} +1 -1
- package/dist/client/assets/{LinkExternal01-QpHHOJbZ.js → LinkExternal01-Bh1MqI14.js} +1 -1
- package/dist/client/assets/{Lock01-Ju5ifHNn.js → Lock01-1l3Qk0Ch.js} +1 -1
- package/dist/client/assets/{Monitor01-DHHvwXbl.js → Monitor01-C_nV3Aph.js} +1 -1
- package/dist/client/assets/{Palette-CJqBw6AH.js → Palette-Conuu6po.js} +1 -1
- package/dist/client/assets/{Play-DPs1Pbq2.js → Play-Bl98xYAX.js} +1 -1
- package/dist/client/assets/{Plus-DgrNRFK5.js → Plus-COLFeRdD.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-Bf15qfNS.js → RefreshCcw01-DV6YQbn5.js} +1 -1
- package/dist/client/assets/{SearchMd-CuY4_41I.js → SearchMd-kxm_aOtG.js} +1 -1
- package/dist/client/assets/{Settings02-Cjzbasby.js → Settings02-B5DDF3I3.js} +1 -1
- package/dist/client/assets/{Shield01-rI42zX_N.js → Shield01-DGoVrslL.js} +1 -1
- package/dist/client/assets/{Star01-CiaU9xFe.js → Star01-uBjPmJoD.js} +1 -1
- package/dist/client/assets/{Stars02-BHNtUcIC.js → Stars02-DWX8YYmb.js} +1 -1
- package/dist/client/assets/{Sun-DA9iSyj3.js → Sun-DO_l8Nxm.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-B0nDhziZ.js → SwitchHorizontal01-CZPsbi6E.js} +1 -1
- package/dist/client/assets/{Tool01-BpLh90bx.js → Tool01-VSFjPWag.js} +1 -1
- package/dist/client/assets/{Trash01-BU1vvG1i.js → Trash01-DXA4MDgW.js} +1 -1
- package/dist/client/assets/{Upload01-D2aoviL7.js → Upload01-D9wbCeYM.js} +1 -1
- package/dist/client/assets/{User01-BUxAdPGO.js → User01-Cg4UMwQQ.js} +1 -1
- package/dist/client/assets/{Users01-X9W80ATA.js → Users01-oOzEMBqo.js} +1 -1
- package/dist/client/assets/{Users03-DERc_3KT.js → Users03-x4icXpDF.js} +1 -1
- package/dist/client/assets/{X-CpxCwBcO.js → X-b1s3Az9Q.js} +1 -1
- package/dist/client/assets/{XCircle-BlhQtOFW.js → XCircle-qLeWuwHg.js} +1 -1
- package/dist/client/assets/{XClose-6T_HfnSF.js → XClose-BxtrNKVu.js} +1 -1
- package/dist/client/assets/{Zap-C_gPmGTu.js → Zap-DiNaNqdG.js} +1 -1
- package/dist/client/assets/{ZapSquare-D-9nYZGQ.js → ZapSquare-pUKWIFHO.js} +1 -1
- package/dist/client/assets/{accordion-CBF1VPy1.js → accordion-Ci_gE5Cp.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-WM_qTQCr.js → add-connection-dialog-M1B1RJQ_.js} +1 -1
- package/dist/client/assets/{agent-icon-BZLvaskO.js → agent-icon-Zn8uPUNh.js} +1 -1
- package/dist/client/assets/{agent-icons-ZEbpuDyp.js → agent-icons-CMWxNall.js} +1 -1
- package/dist/client/assets/{agents-list-BD4seTwq.js → agents-list-B-ROPkpj.js} +1 -1
- package/dist/client/assets/{ai-providers-Dps_1J2i.js → ai-providers-DEGL_eBY.js} +1 -1
- package/dist/client/assets/{alert-CmozMRgO.js → alert-DjpNgI2W.js} +1 -1
- package/dist/client/assets/{alert-dialog-Bzj7Dj8A.js → alert-dialog-B1S-XKia.js} +1 -1
- package/dist/client/assets/{auth-catchall-Ck-h53ka.js → auth-catchall-FzOyOOoh.js} +1 -1
- package/dist/client/assets/{auth-split-layout-COCXQjkb.js → auth-split-layout-CnpnJof8.js} +1 -1
- package/dist/client/assets/{automation-list-row-BK4XzBrA.js → automation-list-row-DJ2ZwwgT.js} +1 -1
- package/dist/client/assets/{automations-BIQRZeWE.js → automations-oHuN5wL_.js} +1 -1
- package/dist/client/assets/{avatar-DCmff7mq.js → avatar-r8LZmR6e.js} +1 -1
- package/dist/client/assets/{badge-ONnaTLOr.js → badge-CC_f_cJU.js} +1 -1
- package/dist/client/assets/{brand-context-DWdSQDXw.js → brand-context-BLEppAAs.js} +1 -1
- package/dist/client/assets/{card-BsL17xby.js → card-Canx3qu9.js} +1 -1
- package/dist/client/assets/{chat-context-4LDn0s0C.js → chat-context-MBB7p8d0.js} +1 -1
- package/dist/client/assets/{checkbox-CupWiQrC.js → checkbox-C04z7qrL.js} +1 -1
- package/dist/client/assets/{cli-auth-success-C_FSoZy8.js → cli-auth-success-DAkmN50l.js} +1 -1
- package/dist/client/assets/{collection-detail-rvEMorEg.js → collection-detail-BGP3eYpv.js} +1 -1
- package/dist/client/assets/{collection-display-button-BMPAqbiG.js → collection-display-button-STdK4lVO.js} +1 -1
- package/dist/client/assets/{collection-search-DBZ50buZ.js → collection-search-DJv63gft.js} +1 -1
- package/dist/client/assets/{collection-search-Um_OB9Yj.js → collection-search-ttkhmg3L.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Dtog_f2p.js → collection-table-wrapper-CsYbLGlT.js} +1 -1
- package/dist/client/assets/{collection-tabs-DBGScRHK.js → collection-tabs-B-7_DLYw.js} +1 -1
- package/dist/client/assets/{collections-B7Zm82Yd.js → collections-DXUBhH3v.js} +1 -1
- package/dist/client/assets/{command-BbOyBJF2.js → command-P20c5nhn.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-BB6OqliN.js → connect-desktop-dialog-D7wjmDNg.js} +1 -1
- package/dist/client/assets/{connection-card-CfeWMSHF.js → connection-card-DDguFWx8.js} +1 -1
- package/dist/client/assets/{connection-detail-pLHIqTQT.js → connection-detail-Cn7lM3pd.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CU39ex55.js → connection-form-helpers-ZOzZBM7G.js} +1 -1
- package/dist/client/assets/{connections-Dcfpl5Vt.js → connections-DdN0-znW.js} +1 -1
- package/dist/client/assets/{constants-z8N0NNar.js → constants-CeG9JZBg.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-BmH40IlP.js → decopilot-sse-pool-BX2AZ6Ip.js} +1 -1
- package/dist/client/assets/{dialog-1TuinsgZ.js → dialog-COtVk7nM.js} +1 -1
- package/dist/client/assets/{domain-settings-CK5mrQIi.js → domain-settings-Cyq61Uyw.js} +1 -1
- package/dist/client/assets/{drawer-DQoKQZB2.js → drawer-DQKlrYFy.js} +1 -1
- package/dist/client/assets/{dropdown-menu-Dzjyztci.js → dropdown-menu-DAgiFQA-.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-VBJnbblQ.js → dynamic-plugin-layout-KH5xflFf.js} +1 -1
- package/dist/client/assets/{empty-state-DoRCByZ3.js → empty-state-BHa2VePZ.js} +1 -1
- package/dist/client/assets/{empty-state-oNm48kH8.js → empty-state-DyCsD4Xv.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DhUh4JIU.js → extract-connection-data-ici9JYI-.js} +1 -1
- package/dist/client/assets/{features-BLue5eI4.js → features-qVmdZHC_.js} +1 -1
- package/dist/client/assets/{file-explorer-CEsWFSVG.js → file-explorer-COR8IgjY.js} +2 -2
- package/dist/client/assets/{files-DnOIW6UR.js → files-C4_Zemsj.js} +1 -1
- package/dist/client/assets/{form-BACtGvj-.js → form-BQ10aOSg.js} +1 -1
- package/dist/client/assets/{general-D8M9QTub.js → general-BGmslHbS.js} +1 -1
- package/dist/client/assets/{generate-id-D8MMm0i_.js → generate-id-rt1VhfzJ.js} +1 -1
- package/dist/client/assets/{github-repo-picker-rt9Vt0dE.js → github-repo-picker-DoUFteXG.js} +1 -1
- package/dist/client/assets/{hooks-BsbVht9n.js → hooks-DahjgK73.js} +1 -1
- package/dist/client/assets/{hover-card-CxINYsQV.js → hover-card-qkq7uvDX.js} +1 -1
- package/dist/client/assets/{import-from-deco-dialog-C0AXmTvu.js → import-from-deco-dialog-p-VjOXur.js} +1 -1
- package/dist/client/assets/{index-zqEjYnv0.js → index-BIm-U5bn.js} +1 -1
- package/dist/client/assets/{index-5btRi0pB.js → index-BQ6Tq1Ey.js} +1 -1
- package/dist/client/assets/index-BVQQKDp1.js +3 -0
- package/dist/client/assets/{index-D2D8zFsJ.js → index-Bm0JQELA.js} +1 -1
- package/dist/client/assets/{index-raVE4iMU.js → index-Bu2U14t2.js} +2 -2
- package/dist/client/assets/{index-DktH-nwk.js → index-C48xwqne.js} +1 -1
- package/dist/client/assets/{index-Btb-lxzO.js → index-C7HF4XSS.js} +1 -1
- package/dist/client/assets/index-CgAhro81.js +1 -0
- package/dist/client/assets/{index-oYU8P956.js → index-CmfaaOUl.js} +1 -1
- package/dist/client/assets/{index-Bid6pGzX.js → index-Co2aD0Mz.js} +1 -1
- package/dist/client/assets/{index-DRu0KGyt.js → index-Dm2ppVy2.js} +1 -1
- package/dist/client/assets/{index-CSjyCM-u.js → index-DtpDe7Xe.js} +1 -1
- package/dist/client/assets/{index-BuEd39Tz.js → index-MYbV77Pi.js} +1 -1
- package/dist/client/assets/{index-B7X0Dr5K.js → index-c1bVVOyj.js} +1 -1
- package/dist/client/assets/index-c31YLqeq.css +1 -0
- package/dist/client/assets/{index-DOyZEChd.js → index-pxxg1Ua1.js} +1 -1
- package/dist/client/assets/index-u1AD7q1g.js +311 -0
- package/dist/client/assets/{infiniteQueryObserver-ZgItTY4U.js → infiniteQueryObserver-IPudB3R4.js} +1 -1
- package/dist/client/assets/{input-CcEL_8zI.js → input-Gm-CLnNx.js} +1 -1
- package/dist/client/assets/{integration-icon-C6CHfqhT.js → integration-icon-DhufG1OP.js} +1 -1
- package/dist/client/assets/{label-P_F_-Q8z.js → label-Dg1F2Ji_.js} +1 -1
- package/dist/client/assets/{layout-Cy8BIgv4.js → layout-DxN-JP5j.js} +1 -1
- package/dist/client/assets/{login-C0__NyWq.js → login-CeDFoPeu.js} +1 -1
- package/dist/client/assets/{members-CvLryIsr.js → members-C7ZY1zS3.js} +1 -1
- package/dist/client/assets/{monaco-editor-BeYwPRx7.js → monaco-editor-B1LoCjUy.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-oa232c6w.js → monitoring-stats-row-CGIeGLqk.js} +1 -1
- package/dist/client/assets/{oauth-callback-nhW5Hk7K.js → oauth-callback-D2hLiO5z.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CBGn5V2N.js → oauth-callback-ai-provider-CUhBhrBY.js} +1 -1
- package/dist/client/assets/{onboarding-CJebl9bX.js → onboarding-DsIzXfJd.js} +1 -1
- package/dist/client/assets/{org-layout-C77vl6Iy.js → org-layout-BpPJBlah.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-iBgNZvjR.js → org-plugin-layout-DsOGeU3B.js} +1 -1
- package/dist/client/assets/{pair-D5k2ePIl.js → pair-DI86SuRu.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-C6vbSsTR.js → plugin-empty-state-BzW8VHTi.js} +1 -1
- package/dist/client/assets/{plugin-header-CERNSvWs.js → plugin-header-CaLm6qER.js} +1 -1
- package/dist/client/assets/{plugin-layout-Dqtz19-C.js → plugin-layout-DxgOHtQZ.js} +1 -1
- package/dist/client/assets/{popover-Biu5bUpE.js → popover-D3VRJyXQ.js} +1 -1
- package/dist/client/assets/{profile-CiZbXHxj.js → profile-DMlysRe7.js} +1 -1
- package/dist/client/assets/{project-app-view-C5c0g4mg.js → project-app-view-CaNf3z-H.js} +1 -1
- package/dist/client/assets/registry-BF2TVA9v.js +2 -0
- package/dist/client/assets/{registry-layout-BV5ALzTv.js → registry-layout-N0nNOTo5.js} +1 -1
- package/dist/client/assets/{required-auth-layout-6caiGmq6.js → required-auth-layout-BQpJq4ih.js} +1 -1
- package/dist/client/assets/{reset-password-D0Ak5nrj.js → reset-password-CoM0M_wG.js} +1 -1
- package/dist/client/assets/{roles-DaLbowGy.js → roles-CkNpIK8A.js} +1 -1
- package/dist/client/assets/{search-input-DN3bxChj.js → search-input-3a7FLbEN.js} +1 -1
- package/dist/client/assets/{secrets-B6jYZgCT.js → secrets-Cikerbsv.js} +1 -1
- package/dist/client/assets/{sections-editor-2l7dT3ea.js → sections-editor-KfNKSbH4.js} +1 -1
- package/dist/client/assets/{select-BI295XE-.js → select-Do-YIC95.js} +1 -1
- package/dist/client/assets/{settings-layout-0UTQAxIu.js → settings-layout-ByWOvV-3.js} +1 -1
- package/dist/client/assets/{settings-section-DCgrgvZN.js → settings-section-BsB0mtVZ.js} +1 -1
- package/dist/client/assets/{shell-controls-B5In6zvk.js → shell-controls-Cbhst9tD.js} +1 -1
- package/dist/client/assets/{shell-layout-B4sASmIz.js → shell-layout-BkOq1my0.js} +1 -1
- package/dist/client/assets/{sidebar-BQJxM_Xs.js → sidebar-lOsh0hdm.js} +1 -1
- package/dist/client/assets/{skeleton-Cz-aBL4t.js → skeleton-BF3OjMtt.js} +1 -1
- package/dist/client/assets/{sortable.esm-CVet_wfm.js → sortable.esm-Dmg5Uhtt.js} +1 -1
- package/dist/client/assets/{spinner-CW1wo-Y2.js → spinner-Bd8DWP5b.js} +1 -1
- package/dist/client/assets/{sso-DLX1tDyb.js → sso-DbdGKnQo.js} +1 -1
- package/dist/client/assets/{store-yTIcf52L.js → store-BRAZvvVu.js} +1 -1
- package/dist/client/assets/store-registry-hCqsym7u.js +2 -0
- package/dist/client/assets/{switch-Cgc8prv4.js → switch-B5i61WGx.js} +1 -1
- package/dist/client/assets/{table-Guyc6r0i.js → table-DEqMcuIQ.js} +1 -1
- package/dist/client/assets/{tabs-CbnJ7Xfx.js → tabs-BBxXSCNR.js} +1 -1
- package/dist/client/assets/{task-status-D5nCekWh.js → task-status-2lp2gBDY.js} +1 -1
- package/dist/client/assets/{textarea-CUr0kaZB.js → textarea-CWF6PLaO.js} +1 -1
- package/dist/client/assets/{toggle-group-D-Azql3v.js → toggle-group-C2V5u1t8.js} +1 -1
- package/dist/client/assets/{toolbar-DWP3DcTB.js → toolbar-BQmzXxj2.js} +1 -1
- package/dist/client/assets/{tools-list-Yx20h0-O.js → tools-list-3jqfZheT.js} +1 -1
- package/dist/client/assets/{tooltip-BrUaJepM.js → tooltip-Cd0WV_-O.js} +1 -1
- package/dist/client/assets/{types-C22VRq2r.js → types-CYOeConU.js} +1 -1
- package/dist/client/assets/{use-ai-providers-DWeBiBfE.js → use-ai-providers-CLXPn15X.js} +1 -1
- package/dist/client/assets/{use-collections-DBbGR_3H.js → use-collections-BBCeZZem.js} +1 -1
- package/dist/client/assets/{use-connection-3197jn_F.js → use-connection-BjJcNqBo.js} +1 -1
- package/dist/client/assets/{use-copy-DeOqBGNE.js → use-copy-D4i2uQwO.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CDYPVS3p.js → use-create-virtual-mcp-Ddw3wBkw.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-Blm-Cns4.js → use-debounced-autosave-BwTEb7mk.js} +1 -1
- package/dist/client/assets/{use-delete-connection-CgDNCbAv.js → use-delete-connection-DPDFcsJG.js} +1 -1
- package/dist/client/assets/{use-file-configs-CkITamMd.js → use-file-configs-wxZvTo-4.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-C3Cp1KLu.js → use-infinite-scroll-DpjbqNjO.js} +1 -1
- package/dist/client/assets/{use-list-state-D2ojxj9D.js → use-list-state-BDczNd3d.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-DgIPs9M6.js → use-mcp-prompts-Di7bRUJd.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DycYaXyV.js → use-mcp-tools-CXhNiy9B.js} +1 -1
- package/dist/client/assets/{use-members-XY8cJPkc.js → use-members-v6DMcs7q.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-VrXIL0dL.js → use-navigate-to-agent-kpoCIrmM.js} +1 -1
- package/dist/client/assets/{use-org-auth-client--KUUMHp0.js → use-org-auth-client-Dgv5Pywe.js} +1 -1
- package/dist/client/assets/{use-org-sso-mHvkRXYR.js → use-org-sso-CPMQDL7s.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DvMKsAzI.js → use-organization-roles-C-Rqq_UY.js} +1 -1
- package/dist/client/assets/{use-organization-settings-yjaKZxoH.js → use-organization-settings-BxwCxkqF.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CPtKKagv.js → use-registry-connections-C2RZzDsv.js} +1 -1
- package/dist/client/assets/{use-secrets-DaKsY9Qa.js → use-secrets-BL_dZet0.js} +1 -1
- package/dist/client/assets/{use-status-sounds-piyGyRnD.js → use-status-sounds-DLUmrT4z.js} +1 -1
- package/dist/client/assets/{use-view-mode-FiZLQ7H4.js → use-view-mode-CoI0L4QU.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-wzufKfmA.js → use-virtual-mcp-UctVb3-u.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-MQVrgaFy.js +1 -0
- package/dist/client/assets/{useRouterState-C5I8d05V.js → useRouterState-UCBrkWDt.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-ylt-kbBo.js +1 -0
- package/dist/client/assets/{user-CGJGTWyL.js → user-5jBi409R.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BV9N1_6z.js → view-mode-toggle-BY41fwj1.js} +1 -1
- package/dist/client/assets/workflow-detail-CIJ57Bal.js +1 -0
- package/dist/client/assets/{workflow-BhGQkDG3.js → workflow-jx_Dwi4p.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +76 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-browser-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-browser-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-node-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-node-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/create-legacy-browser-delegate.js +7 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/create-legacy-browser-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.d.ts +1 -26
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.js +9 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/export-response.d.ts +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/export-response.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-browser-http.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-browser-http.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-browser-http.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.js +3 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-browser-http-export-delegate.d.ts +4 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-browser-http-export-delegate.js +10 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-browser-http-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-export-delegate.js +8 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/retrying-transport.js +5 -17
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/retrying-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/fetch-transport.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/fetch-transport.js +8 -13
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/fetch-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-exporter-transport.js +4 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-exporter-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-types.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-types.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.js +14 -37
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/send-beacon-transport.d.ts +2 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/send-beacon-transport.js +4 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/send-beacon-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/xhr-transport.d.ts +17 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/xhr-transport.js +86 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/xhr-transport.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.js +12 -10
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/OTLPExporterBase.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/OTLPExporterBase.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/OTLPExporterBase.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-browser-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-browser-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-node-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-node-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/create-legacy-browser-delegate.js +7 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/create-legacy-browser-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.d.ts +1 -26
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/otlp-http-configuration.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/otlp-http-configuration.js +9 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/otlp-http-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/shared-configuration.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/shared-configuration.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/shared-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/export-response.d.ts +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/export-response.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/index-browser-http.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/index-browser-http.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/index-browser-http.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/is-export-retryable.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/is-export-retryable.js +3 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/is-export-retryable.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-browser-http-export-delegate.d.ts +4 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-browser-http-export-delegate.js +10 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-browser-http-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-export-delegate.js +8 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/otlp-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/retrying-transport.js +5 -17
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/retrying-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/fetch-transport.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/fetch-transport.js +8 -13
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/fetch-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-exporter-transport.js +4 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-exporter-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-types.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-types.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-utils.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-utils.js +14 -37
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/http-transport-utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/send-beacon-transport.d.ts +2 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/send-beacon-transport.js +4 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/send-beacon-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/xhr-transport.d.ts +17 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/xhr-transport.js +86 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/transport/xhr-transport.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/util.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/util.js +12 -10
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/util.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/OTLPExporterBase.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/OTLPExporterBase.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/OTLPExporterBase.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-browser-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-browser-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-node-http-options.js +2 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-node-http-options.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/create-legacy-browser-delegate.js +6 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/create-legacy-browser-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.d.ts +1 -26
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/otlp-http-configuration.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/otlp-http-configuration.js +9 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/otlp-http-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/shared-configuration.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/shared-configuration.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/shared-configuration.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/export-response.d.ts +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/export-response.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/index-browser-http.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/index-browser-http.js +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/index-browser-http.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/is-export-retryable.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/is-export-retryable.js +5 -7
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/is-export-retryable.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-browser-http-export-delegate.d.ts +4 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-browser-http-export-delegate.js +12 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-browser-http-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-export-delegate.js +8 -9
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/otlp-export-delegate.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/retrying-transport.js +5 -17
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/retrying-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/fetch-transport.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/fetch-transport.js +7 -12
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/fetch-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-exporter-transport.js +4 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-exporter-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-types.d.ts +1 -2
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-types.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.d.ts +2 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js +13 -36
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/http-transport-utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/send-beacon-transport.d.ts +2 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/send-beacon-transport.js +4 -5
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/send-beacon-transport.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/xhr-transport.d.ts +17 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/xhr-transport.js +90 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/transport/xhr-transport.js.map +1 -0
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/util.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/util.js +12 -10
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/util.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/package.json +6 -6
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/generated/root.js +6 -36
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/generated/root.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js +0 -15
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/generated/root.js +6 -36
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/generated/root.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js +0 -15
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/generated/root.js +6 -36
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/generated/root.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js +0 -15
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/otlp-transformer/package.json +14 -12
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/InstrumentDescriptor.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/InstrumentDescriptor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.js +5 -5
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js +17 -17
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.js +8 -8
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/ConsoleMetricExporter.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/ConsoleMetricExporter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js +14 -21
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js +11 -12
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/ObservableRegistry.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/ObservableRegistry.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.d.ts +19 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.js +36 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/AttributesProcessor.js +12 -16
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/AttributesProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/InstrumentDescriptor.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/InstrumentDescriptor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.js +5 -5
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.js +17 -17
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.js +8 -8
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/ConsoleMetricExporter.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/ConsoleMetricExporter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js +14 -21
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js +11 -12
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/ObservableRegistry.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/ObservableRegistry.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.d.ts +19 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.js +36 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/AttributesProcessor.js +12 -16
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/AttributesProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js +5 -5
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js +17 -17
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js +8 -8
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js +14 -21
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js +11 -12
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.d.ts +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js +4 -4
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js +2 -2
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.d.ts +19 -0
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.js +41 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.d.ts +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.js +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.d.ts +3 -3
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js +6 -6
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js +12 -16
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js.map +1 -1
- package/dist/server/node_modules/@opentelemetry/sdk-metrics/package.json +6 -6
- package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
- package/dist/server/node_modules/ansi-styles/index.js +223 -0
- package/dist/server/node_modules/ansi-styles/license +9 -0
- package/dist/server/node_modules/ansi-styles/package.json +54 -0
- package/dist/server/node_modules/ansi-styles/readme.md +173 -0
- package/dist/server/node_modules/pg-connection-string/LICENSE +21 -0
- package/dist/server/node_modules/pg-connection-string/README.md +105 -0
- package/dist/server/node_modules/pg-connection-string/esm/index.mjs +8 -0
- package/dist/server/node_modules/pg-connection-string/index.d.ts +36 -0
- package/dist/server/node_modules/pg-connection-string/index.js +231 -0
- package/dist/server/node_modules/pg-connection-string/package.json +52 -0
- package/dist/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/index-CZPd3hrs.js +0 -311
- package/dist/client/assets/index-CdAXbXCD.js +0 -1
- package/dist/client/assets/index-DsfxL555.js +0 -3
- package/dist/client/assets/index-DzRaXx8g.css +0 -1
- package/dist/client/assets/registry-a_Y0eqBG.js +0 -2
- package/dist/client/assets/store-registry-ClO-HCd4.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Dn69KZzX.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CFbzjyFd.js +0 -1
- package/dist/client/assets/workflow-detail-CgGFXY1-.js +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.d.ts +0 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.js +0 -23
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-http-options.d.ts +0 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-http-options.js +0 -23
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/convert-legacy-http-options.js.map +0 -1
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-http-options.d.ts +0 -4
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-http-options.js +0 -27
- package/dist/server/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/convert-legacy-http-options.js.map +0 -1
package/dist/server/server.js
CHANGED
|
@@ -3298,7 +3298,7 @@ ${Q}`:G}}catch{let Y=X.split(`
|
|
|
3298
3298
|
Return ONLY valid JSON with this shape:
|
|
3299
3299
|
{"title":"Short imperative commit title (max 72 chars)","body":"1-3 sentence PR description explaining what changed and why"}
|
|
3300
3300
|
|
|
3301
|
-
Use sentence case for the title. No markdown fences.`;var G26=D(()=>{Z5();B21()});function CM0($){let{runner:X}=$.get("vmClaim");if(!X)return $.json({error:"No sandbox runner configured"},503);return X}async function SW($,X,Y){let G=CM0($);if(G instanceof Response)return G;let{claimName:Q}=$.get("vmClaim"),J=Y?.method??"POST",Z=null,W=new Headers;if(Y?.forwardJsonBody)Z=await $.req.text(),W.set("content-type","application/json");let K;try{K=await G.proxyDaemonRequest(Q,X,{method:J,headers:W,body:Z,...Y?.signal?{signal:Y.signal}:{}})}catch(w){let B=w instanceof Error?w.message:String(w);return $.json({error:`Daemon unreachable: ${B}`},502)}if(Y?.map404to410&&K.status===404){try{await K.body?.cancel()}catch{}return $.json({error:"Sandbox handle is gone. The sandbox needs to be re-provisioned."},410,ht)}let F=await K.text(),U=K.headers.get("content-type")??"application/json";return new Response(F,{status:K.status,headers:{"content-type":U,...ht}})}async function Q26($,X,Y,G="GET"){let Q=await $.proxyDaemonRequest(X,Y,{method:G,headers:new Headers,body:null});if(Q.status===404){try{await Q.body?.cancel()}catch{}throw Error("SANDBOX_GONE")}let J=await Q.text();if(!Q.ok)try{let Z=JSON.parse(J);throw Error(Z.error??`Daemon error (${Q.status})`)}catch(Z){if(Z instanceof Error&&Z.message!==J)throw Z;throw Error(`Daemon error (${Q.status})`)}return JSON.parse(J)}function o$9($){return J26.includes($)}var t$9,ht,a$9,J26,Z26=()=>{let $=new m4;return $.use("/:virtualMcpId/:branch/*",t$9),$.post("/:virtualMcpId/:branch/write",(X)=>SW(X,"/_sandbox/write",{forwardJsonBody:!0})),$.post("/:virtualMcpId/:branch/read",(X)=>SW(X,"/_sandbox/read",{forwardJsonBody:!0})),$.post("/:virtualMcpId/:branch/glob",(X)=>SW(X,"/_sandbox/glob",{forwardJsonBody:!0})),$.post("/:virtualMcpId/:branch/exec/:script",(X)=>{let Y=X.req.param("script");if(!Y)return X.json({error:"missing script name"},400);return SW(X,`/_sandbox/exec/${encodeURIComponent(Y)}`)}),$.post("/:virtualMcpId/:branch/exec/:script/kill",(X)=>{let Y=X.req.param("script");if(!Y)return X.json({error:"missing script name"},400);return SW(X,`/_sandbox/exec/${encodeURIComponent(Y)}/kill`)}),$.get("/:virtualMcpId/:branch/config",(X)=>SW(X,"/_sandbox/config",{method:"GET",map404to410:!0})),$.put("/:virtualMcpId/:branch/config",(X)=>SW(X,"/_sandbox/config",{method:"PUT",forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/setup/:step",async(X)=>{let Y=X.req.param("step");if(!Y||!o$9(Y))return X.json({error:`step must be one of: ${J26.join(", ")}`},400);if(Y==="start"){let G=X.get("vmClaim");if(G.runner){let Q=n1(X.var.meshContext),J=x36(G.virtualMcpMetadata);try{await qT1({ctx:X.var.meshContext,runner:G.runner,handle:G.claimName,orgId:Q.id,userId:G.userId,entries:J})}catch(Z){let W=Z instanceof Error?Z.message:String(Z);return X.json({error:`Failed to push env to daemon: ${W}`},502)}}}return SW(X,`/_sandbox/setup/${Y}`,{signal:X.req.raw.signal,map404to410:!0})}),$.get("/:virtualMcpId/:branch/events",(X)=>{let Y=X.get("vmClaim");if(!Y.runner)return UH(X,async(G)=>{await G.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:"No sandbox runner configured on this mesh."})})});return sA6(X,{ctx:X.var.meshContext,claimName:Y.claimName,runner:Y.runner,branch:Y.branch,userId:Y.userId,projectRef:Y.projectRef,virtualMcpMetadata:Y.virtualMcpMetadata})}),$.get("/:virtualMcpId/:branch/git/status",(X)=>SW(X,"/_sandbox/git/status",{method:"GET",map404to410:!0})),$.post("/:virtualMcpId/:branch/git/status",(X)=>SW(X,"/_sandbox/git/status",{map404to410:!0})),$.post("/:virtualMcpId/:branch/git/diff",(X)=>SW(X,"/_sandbox/git/diff",{map404to410:!0})),$.post("/:virtualMcpId/:branch/git/publish",(X)=>SW(X,"/_sandbox/git/publish",{forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/git/discard",(X)=>SW(X,"/_sandbox/git/discard",{forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/git/rebase",(X)=>SW(X,"/_sandbox/git/rebase",{forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/git/suggest-commit",async(X)=>{let Y=CM0(X);if(Y instanceof Response)return Y;let{claimName:G}=X.get("vmClaim"),Q=X.var.meshContext,J={};try{let Z=await X.req.text();if(Z.trim())J=JSON.parse(Z)}catch{return X.json({error:"Invalid JSON body"},400,ht)}try{let{status:Z,diff:W}=J;if(!Z||!W)[Z,W]=await Promise.all([Q26(Y,G,"/_sandbox/git/status","GET"),Q26(Y,G,"/_sandbox/git/diff","GET")]);let K=await Y26(Q,Z,W);return X.json(K,200,ht)}catch(Z){let W=Z instanceof Error?Z.message:String(Z);if(W==="SANDBOX_GONE")return X.json({error:"Sandbox handle is gone. The sandbox needs to be re-provisioned."},410,ht);return X.json({error:W},502,ht)}}),$.get("/:virtualMcpId/:branch/preview-fetch",async(X)=>{let Y=CM0(X);if(Y instanceof Response)return Y;let{claimName:G}=X.get("vmClaim"),Q=X.req.query("path");if(!Q)return X.json({error:"path query parameter is required"},400);if(!a$9.has(Q))return X.json({error:"Path not allowed"},403);let J=await Y.getPreviewUrl(G);if(!J)return X.json({error:"Preview not available"},502);let Z=J.replace(/\/+$/,""),W;try{W=await fetch(`${Z}${Q}`)}catch{return X.json({error:"Preview unreachable"},502)}let K=await W.text();return new Response(K,{status:W.status,headers:{"content-type":W.headers.get("content-type")??"application/json"}})}),$};var W26=D(()=>{d5();th();rA6();f3();SM0();M71();eA6();JA0();PT1();G26();t$9=nA6(async($,X)=>{let Y=$.var.meshContext;try{X0(Y)}catch{return $.json({error:"Unauthorized"},401)}let G=W6(Y);if(!G)return $.json({error:"Unauthorized"},401);let Q;try{Q=n1(Y)}catch{return $.json({error:"Organization scope required"},403)}let J=$.req.param("virtualMcpId"),Z=$.req.param("branch");if(!J||!Z)return $.json({error:"virtualMcpId and branch are required"},400);let W=await Y.storage.virtualMcps.findById(J);if(!W||W.organization_id!==Q.id)return $.json({error:"Virtual MCP not found"},404);let K=WP({orgId:Q.id,virtualMcpId:J,branch:Z}),F=Nu1({userId:G,projectRef:K},Z),U=W.metadata??null,w;try{w=(await bD(Y,{userId:G,branch:Z,virtualMcpMetadata:U})).provider}catch{w=null}return $.set("vmClaim",{claimName:F,runner:w,virtualMcpId:J,branch:Z,userId:G,projectRef:K,virtualMcpMetadata:U}),X()});ht={"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache"};a$9=new Set(["/.decofile","/live/_meta"]),J26=["clone","install","start"]});var K26=($)=>{let X=new m4;if(X.use("*",qt),X.route("/",kh1()),X.route("/",Uu1()),X.route("/",Hu1({kvStorage:$.kvStorage})),X.route("/",hA6()),X.route("/sandbox",Z26()),X.route("/",mA6()),X.route("/deco-sites",vh1()),X.route("/sso",Zh1()),X.route("/",wu1({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),X.route("/webhooks",$P6()),$.mountDevAssets)X.route("/dev-assets",_h1({orgFromPath:!0}));return X.use("/mcp/:connectionId?",$.mcpAuth),X.use("/mcp/gateway/:virtualMcpId?",$.mcpAuth),X.use("/mcp/virtual-mcp/:virtualMcpId?",$.mcpAuth),X.use("/mcp/self",$.mcpAuth),X.route("/",g96()),X.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),X.route("/mcp",q21()),X.route("/mcp/self",Fu1()),X.route("/mcp",T21()),X.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),X.post("/events/:type",$.eventsHandler),X.get("/watch",$.watchHandler),X};var H26=D(()=>{d5();XI0();XP6();ZI0();bh1();eV0();uA6();qM0();XY1();tT0();V21();AM0();lA6();TM0();VM0();A21();W26()});async function $89($,X){try{return!await $.alive(X)}catch(Y){return console.warn(`[vm-events] alive probe failed for ${X}; assuming alive: ${Y instanceof Error?Y.message:String(Y)}`),!1}}async function X89($){let{ctx:X,runner:Y,claimName:G,userId:Q,projectRef:J,sandboxProviderKind:Z}=$;try{await Y.delete(G)}catch(W){console.warn(`[vm-events] runner.delete failed for ${G}: ${W instanceof Error?W.message:String(W)}`)}try{await new HP(X.db).delete({userId:Q,projectRef:J},Z)}catch(W){console.warn(`[vm-events] sandbox_runner_state delete failed for ${Q}/${J}/${Z}: ${W instanceof Error?W.message:String(W)}`)}}async function Y89($){let{stream:X,claimName:Y,runner:G,signal:Q}=$;return new Promise((J)=>{let Z=!1,W=!1,K=null,F=(B)=>{if(Z)return;Z=!0,clearTimeout(U),Q.removeEventListener("abort",w),K?.unsubscribe(),J(B)},U=setTimeout(()=>{if(W||Z)return;X.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),F(!1)},s$9),w=()=>F(!1);Q.addEventListener("abort",w,{once:!0}),K=I71(G,Y,(B)=>{if(Z)return;if(B.kind!=="claiming")W=!0;if(X.writeSSE({event:"phase",data:JSON.stringify(B)}).catch(()=>{}),B.kind==="ready")F(!0);else if(B.kind==="failed")F(!1)})})}async function G89($){let{stream:X,runner:Y,claimName:G,signal:Q}=$,J=Date.now(),Z=null;while(!Q.aborted){let K=null;try{K=await Y.proxyDaemonRequest(G,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Q})}catch(F){if(Q.aborted)return;if(Date.now()-J<F26){await w26(U26,Q);continue}let U=F instanceof Error?F.message:String(F);await X.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${U}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-J<F26){await w26(U26,Q);continue}await X.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await X.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}Z=K;break}if(!Z||!Z.body)return;let W=Z.body.getReader();try{while(!Q.aborted){let{value:K,done:F}=await W.read();if(F)break;if(K)await X.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}function w26($,X){return new Promise((Y)=>{if(X.aborted){Y();return}let G=setTimeout(()=>{X.removeEventListener("abort",Q),Y()},$),Q=()=>{clearTimeout(G),Y()};X.addEventListener("abort",Q,{once:!0})})}var s$9=90000,e$9=15000,B26=()=>{let $=new m4;return $.get("/",async(X)=>{let Y=X.var.meshContext;try{X0(Y)}catch{return X.json({error:"Unauthorized"},401)}let G=W6(Y);if(!G)return X.json({error:"Unauthorized"},401);let Q;try{Q=n1(Y)}catch{return X.json({error:"Organization scope required"},403)}let J=X.req.query("virtualMcpId"),Z=X.req.query("branch");if(!J||!Z)return X.json({error:"virtualMcpId and branch are required"},400);let W=await Y.storage.virtualMcps.findById(J);if(!W||W.organization_id!==Q.id)return X.json({error:"Virtual MCP not found"},404);let K=WP({orgId:Q.id,virtualMcpId:J,branch:Z}),F=Nu1({userId:G,projectRef:K},Z),U=W.metadata??null,w,B=null,N=null;try{let L=await bD(Y,{userId:G,branch:Z,virtualMcpMetadata:U});w=L.provider,B=L.kind}catch(L){N=L instanceof Error?L:Error(String(L)),w=null}let z=B&&KP(WH(U),G,Z,B),O=!!z&&z.sandboxHandle===F;if(!w)return UH(X,async(L)=>{await L.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:N?.message??"No sandbox runner configured on this mesh."})})});return X.header("X-Accel-Buffering","no"),X.header("Content-Encoding","identity"),UH(X,async(L)=>{let j=new AbortController,P=setInterval(()=>{L.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(P)})},e$9);L.onAbort(()=>{j.abort(),clearInterval(P)});try{if(O&&B){if(await $89(w,F)){await X89({ctx:Y,runner:w,claimName:F,userId:G,projectRef:K,sandboxProviderKind:B}),await L.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await Y89({stream:L,claimName:F,runner:w,signal:j.signal})||j.signal.aborted)return;await G89({stream:L,runner:w,claimName:F,signal:j.signal})}finally{clearInterval(P)}})}),$},F26=60000,U26=500;var N26=D(()=>{d5();th();f3();SM0();VP();M71();AT1();MD()});function kB($,X="invalid_request_error",Y=null,G=null){return{error:{message:$,type:X,param:Y,code:G}}}function w89($){if(!$)return null;let X=$.indexOf(":");if(X===-1)return{credentialId:null,modelId:$};let Y=$.substring(0,X),G=$.substring(X+1);if(!Y||!G)return null;return{credentialId:Y,modelId:G}}function B89($,X,Y){try{return JSON.parse($)}catch{throw new O26(`Invalid JSON in tool call arguments for function '${Y}' (tool_call_id: ${X}): ${$}`)}}function N89($){let X={};for(let Y of $)if(Y.role==="assistant"&&Y.tool_calls)for(let G of Y.tool_calls)X[G.id]=G.function.name;return $.map((Y)=>{switch(Y.role){case"system":return{role:"system",content:Y.content};case"user":if(typeof Y.content==="string")return{role:"user",content:Y.content};return{role:"user",content:Y.content.map((Q)=>{if(Q.type==="text")return{type:"text",text:Q.text};return{type:"image",image:Q.image_url.url}})};case"assistant":if(Y.tool_calls&&Y.tool_calls.length>0)return{role:"assistant",content:Y.tool_calls.map((Q)=>({type:"tool-call",toolCallId:Q.id,toolName:Q.function.name,input:B89(Q.function.arguments,Q.id,Q.function.name)}))};return{role:"assistant",content:Y.content??""};case"tool":let G=X[Y.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:Y.tool_call_id,toolName:G,output:{type:"text",value:Y.content}}]}}})}function z89($){let X=$.map((Y)=>{let G=Y.function.parameters?R3(Y.function.parameters):R3({type:"object",properties:{}});return[Y.function.name,N$({description:Y.function.description,inputSchema:G})]});return Object.fromEntries(X)}function D89($){if(!$)return;return{openai:{response_format:$}}}function O89(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function z26($,X,Y,G,Q,J){let Z={model:$,messages:X,tools:Y,temperature:G.temperature,maxTokens:G.max_tokens,topP:G.top_p,frequencyPenalty:G.frequency_penalty,presencePenalty:G.presence_penalty,stopSequences:G.stop?Array.isArray(G.stop)?G.stop:[G.stop]:void 0,abortSignal:J};return Q?{...Z,providerOptions:Q}:Z}function D26($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var Q89,J89,Z89,W89,K89,H89,F89,U89,O26,L26,E26;var j26=D(()=>{Z5();d5();th();i1();Q89=H.object({type:H.literal("function"),function:H.object({name:H.string(),description:H.string().optional(),parameters:H.record(H.string(),H.unknown()).optional()})}),J89=H.object({id:H.string(),type:H.literal("function"),function:H.object({name:H.string(),arguments:H.string()})}),Z89=H.discriminatedUnion("role",[H.object({role:H.literal("system"),content:H.string(),name:H.string().optional()}),H.object({role:H.literal("user"),content:H.union([H.string(),H.array(H.union([H.object({type:H.literal("text"),text:H.string()}),H.object({type:H.literal("image_url"),image_url:H.object({url:H.string(),detail:H.string().optional()})})]))]),name:H.string().optional()}),H.object({role:H.literal("assistant"),content:H.string().nullable().optional(),name:H.string().optional(),tool_calls:H.array(J89).optional()}),H.object({role:H.literal("tool"),content:H.string(),tool_call_id:H.string()})]),W89=H.object({type:H.literal("text")}),K89=H.object({type:H.literal("json_object")}),H89=H.object({type:H.literal("json_schema"),json_schema:H.object({name:H.string(),description:H.string().optional(),schema:H.record(H.string(),H.unknown()),strict:H.boolean().optional()})}),F89=H.union([W89,K89,H89]),U89=H.object({model:H.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:H.array(Z89),stream:H.boolean().optional().default(!1),temperature:H.number().min(0).max(2).optional(),max_tokens:H.number().positive().optional(),top_p:H.number().min(0).max(1).optional(),frequency_penalty:H.number().min(-2).max(2).optional(),presence_penalty:H.number().min(-2).max(2).optional(),stop:H.union([H.string(),H.array(H.string())]).optional(),tools:H.array(Q89).optional(),tool_choice:H.union([H.literal("auto"),H.literal("none"),H.literal("required"),H.object({type:H.literal("function"),function:H.object({name:H.string()})})]).optional(),response_format:F89.optional(),user:H.string().optional()});O26=class O26 extends Error{constructor($){super($);this.name="MessageConversionError"}};L26=new m4;L26.post("/:org/v1/chat/completions",async($)=>{let X=$.get("meshContext"),Y=$.req.param("org");try{if(!X.auth.apiKey?.id)return $.json(kB("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!X.organization)return $.json(kB("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((X.organization.slug??X.organization.id)!==Y)return $.json(kB("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let G=await $.req.json(),Q=U89.safeParse(G);if(!Q.success){let L=Q.error.issues[0]??{message:"Invalid request",path:[]};return $.json(kB(`Invalid request: ${L.message}`,"invalid_request_error",L.path.length>0?L.path.join("."):null),400)}let J=Q.data,Z=w89(J.model);if(!Z)return $.json(kB("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=Z,{modelId:K}=Z;if(!W){let L=await X.storage.aiProviderKeys.list({organizationId:X.organization.id});if(L.length===0)return $.json(kB("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=L[0].id}let F;try{F=await X.aiProviders.activate(W,X.organization.id)}catch{return $.json(kB(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let U=F.aiSdk.languageModel(K),w=N89(J.messages),B=J.tools?z89(J.tools):void 0,N=D89(J.response_format),z=O89(),O=Math.floor(Date.now()/1000);if(J.stream)return UH($,async(L)=>{let j=z26(U,w,B,J,N,$.req.raw.signal);try{let P=JH(j),V=!1,M=0;for await(let T of P.fullStream){if(!V&&(T.type==="text-delta"||T.type==="tool-call"))await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),V=!0;if(T.type==="text-delta")await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{content:T.text},finish_reason:null}]})});else if(T.type==="tool-call"){let R=M++;await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{tool_calls:[{index:R,id:T.toolCallId,type:"function",function:{name:T.toolName,arguments:JSON.stringify(T.input)}}]},finish_reason:null}]})})}else if(T.type==="finish")await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:D26(T.finishReason)}],usage:T.totalUsage?{prompt_tokens:T.totalUsage.inputTokens??0,completion_tokens:T.totalUsage.outputTokens??0,total_tokens:T.totalUsage.totalTokens??0}:void 0})})}await L.writeSSE({data:"[DONE]"})}catch(P){let V=P;console.error("[openai-compat:stream] Error:",V.message),await L.writeSSE({data:JSON.stringify({error:{message:V.message,type:"server_error"}})})}});else{let L=z26(U,w,B,J,N,$.req.raw.signal),j=await OB(L),P={role:"assistant",content:j.text||null};if(j.toolCalls&&j.toolCalls.length>0)P.tool_calls=j.toolCalls.map((V)=>({id:V.toolCallId,type:"function",function:{name:V.toolName,arguments:JSON.stringify("input"in V?V.input:{})}})),P.content=null;return $.json({id:z,object:"chat.completion",created:O,model:J.model,choices:[{index:0,message:P,finish_reason:D26(j.finishReason)}],usage:{prompt_tokens:j.usage?.inputTokens??0,completion_tokens:j.usage?.outputTokens??0,total_tokens:j.usage?.totalTokens??0}})}}catch(G){let Q=G;if(Q.name==="AbortError")return $.json(kB("Request aborted","invalid_request_error"),400);if(Q.name==="MessageConversionError")return $.json(kB(Q.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Q.message,Q.stack),$.json(kB(Q.message,"server_error"),500)}});E26=L26});function E89(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??L89}}var P26,L89="https://us.i.posthog.com",q26;var A26=D(()=>{d5();KH0();Nt();Cz();I5();iT0();P26=new m4;P26.get("/",($)=>{let X={theme:Gb4(),...YT().logo&&{logo:YT().logo},...fh()&&{internalUrl:iL1()},...f4().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!f4().firecrawlApiKey,auth:wD6(),posthog:E89()};return $.json({success:!0,config:X})});q26=P26});var T26,V26;var I26=D(()=>{d5();tH();C71();Nc();T26=new m4;T26.get("/:org/files/*",async($)=>{let X=$.get("meshContext");if(!X.organization?.id)throw new S6(401,{message:"Organization context required"});let G=$.req.path.replace(/^.*\/files\//,"");if(!G)throw new S6(400,{message:"Missing file key"});let Q=await xh(G,X);if(!Q)throw new S6(503,{message:"Object storage not configured"});if(Q.startsWith("data:")&&rH()){let J=Q.match(/^data:([^;]+);base64,(.+)$/s);if(!J)throw new S6(500,{message:"Invalid data URL from storage"});let[,Z,W]=J,K=Buffer.from(W,"base64");return $.body(K,200,{"Content-Type":Z,"Cache-Control":"private, max-age=86400"})}return $.redirect(Q,302)});V26=T26});var S26={};g6(S26,{shouldSkipMeshContext:()=>vM0,isServerPath:()=>V89,SYSTEM_PATHS:()=>CP});function M26($){return $===CP.HEALTH_LIVE||$===CP.HEALTH_READY||$===CP.METRICS||$.startsWith(ut.WELL_KNOWN)}function R26($){return $.startsWith(ut.API)}function P89($){return $==="/mcp"||$.startsWith(ut.MCP)}function q89($){return $.startsWith(ut.OAUTH_PROXY)}function A89($){return j89.test($)}function T89($){return $.startsWith(ut.ORG)}function V89($){return R26($)||P89($)||q89($)||T89($)||M26($)}function vM0($){return $==="/"||$.startsWith(ut.API_AUTH)||$==="/api/trigger-callback"||M26($)||!R26($)&&A89($)}var CP,ut,j89;var _M0=D(()=>{CP={HEALTH_LIVE:"/health/live",HEALTH_READY:"/health/ready",METRICS:"/metrics"},ut={API:"/api/",API_AUTH:"/api/auth/",MCP:"/mcp/",OAUTH_PROXY:"/oauth-proxy/",WELL_KNOWN:"/.well-known",ORG:"/org/"},j89=/\.(html|css|js|ico|svg|png|jpg|jpeg|gif|webp|woff|woff2)$/});function k26($){let X=$?.connectFn??S89,Y=null,G=null,Q=!1,J=!1,Z=!1,W=[];function K(){return Y!==null&&!Y.isClosed()&&!Y.isDraining()&&!Z}function F(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let B of W)try{B()}catch{}}function U(B){(async()=>{for await(let N of B.status())if(N.type===BG1.Events.Disconnect)console.log("[NatsProvider] Disconnected"),Z=!0;else if(N.type===BG1.Events.Reconnect)console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),Z=!1,G=null,F()})().catch(()=>{})}async function w(B){let N=0;while(!J)try{Y=await X({servers:B,timeout:R89,reconnect:!0,maxReconnectAttempts:-1}),console.log(`[NatsProvider] Connected to ${Y.getServer()} after ${N} attempt(s)`),G=null,Z=!1,U(Y),F();return}catch{N++;let O=Math.min(I89*2**(N-1),M89)*(0.5+Math.random()*0.5);await k89(O)}}return{init(B){if(Q)return;Q=!0,J=!1,w(B).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?Y:null},getJetStream(){if(!K())return null;if(!G)G=Y.jetstream();return G},onReady(B){if(W.push(B),K())try{B()}catch{}},async drain(){if(J=!0,Q=!1,G=null,Z=!1,Y){let B=Y;Y=null,await B.drain().catch(()=>{})}}}}function S89($){return BG1.connect($)}function k89($){return new Promise((X)=>setTimeout(X,$))}var BG1,I89=100,M89=3000,R89=3000;var C26=D(()=>{BG1=G1(tT(),1)});function bM0($,X){return`${$}.${X}`}class fM0{options;kv=null;codec=zu1.JSONCodec();constructor($){this.options=$}async init(){let $=this.options.getJetStream();if(!$)return;this.kv=await $.views.kv(C89,{ttl:v89,storage:zu1.StorageType.Memory})}async get($,X){if(!this.kv)return null;try{let Y=bM0($,X),G=await this.kv.get(`models.${Y}`);if(!G?.value?.length)return null;if(G.operation==="DEL"||G.operation==="PURGE")return null;return this.codec.decode(G.value)}catch{return null}}async set($,X,Y){if(!this.kv)return;try{let G=bM0($,X);await this.kv.put(`models.${G}`,this.codec.encode(Y))}catch(G){console.warn("[ModelListCache] set failed:",G)}}async invalidate($,X){if(!this.kv)return;try{let Y=bM0($,X);await this.kv.delete(`models.${Y}`)}catch{}}teardown(){this.kv=null}}var zu1,C89="MESH_MODEL_LISTS",v89=600000;var v26=D(()=>{zu1=G1(tT(),1)});class yM0{options;sub=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.sub)return;if(!this.onCancel)return;let X=this.options.getConnection();if(!X)return;this.sub=X.subscribe("mesh.decopilot.cancel");let Y=new TextDecoder;(async()=>{for await(let G of this.sub)try{let Q=JSON.parse(Y.decode(G.data));if(Q.originId===this.originId)continue;this.onCancel?.(Q.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let X=this.options.getConnection();if(!X)return;X.publish("mesh.decopilot.cancel",this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId})))}catch(X){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",X)}}async stop(){this.sub?.unsubscribe(),this.sub=null,this.onCancel=null}}function y89($){if(/[.*>\s]/.test($))throw Error("Invalid NATS subject token")}function xM0($){return y89($),`${_26}.${$}`}function x89($){let X=0;return{publish(Y,G,Q){Y.publish(G,Q).catch((J)=>{if(X++,X===1||X%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${X} total):`,J)})},get errorCount(){return X}}}class gM0{options;js=null;jsm=null;encoder=new TextEncoder;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$)return;let X=await $.jetstreamManager(),Y={name:Du1,subjects:[`${_26}.>`],storage:BU.StorageType.Memory,max_age:_89,max_bytes:b89,max_msgs_per_subject:f89,discard:BU.DiscardPolicy.Old,retention:BU.RetentionPolicy.Limits,num_replicas:1};try{await X.streams.info(Du1),await X.streams.update(Du1,Y)}catch(G){if(G instanceof Error&&G.message.includes("stream not found"))await X.streams.add(Y);else throw G}this.js=this.options.getJetStream(),this.jsm=X}pump($,X,Y){let G=this.js;if(!G)return;let Q=xM0(X),J=x89(X),Z=this.encoder,W=!1,K=()=>{if(W)return;W=!0,G.publish(Q,Z.encode(JSON.stringify({done:!0}))).catch(()=>{})};Y.addEventListener("abort",K,{once:!0}),(async()=>{let F=$.getReader();try{while(!0){let{done:U,value:w}=await F.read();if(U)break;J.publish(G,Q,Z.encode(JSON.stringify({p:w})))}}catch(U){console.warn(`[Decopilot] stream pump error for thread ${X}:`,U?.message??U)}finally{F.releaseLock(),K()}})()}async createTailStream($,X,Y){let G=this.js;if(!G)return null;let Q=Y?.deliverPolicy==="new"?BU.DeliverPolicy.New:BU.DeliverPolicy.All,J=Y?.closeOnDone??!1,Z=xM0($),W;try{W=await G.subscribe(Z,{ordered:!0,config:{filter_subject:Z,ack_policy:BU.AckPolicy.None,deliver_policy:Q}})}catch(B){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",B?.message??B),null}let K=new TextDecoder,F=async function*(){for await(let B of W)yield B}(),U=!1,w=()=>{if(U)return;U=!0,W.unsubscribe(),F.return(void 0).catch(()=>{})};return X?.addEventListener("abort",w,{once:!0}),new ReadableStream({async pull(B){while(!0){let N=await F.next();if(N.done){w(),B.close();return}let z=N.value;try{let O=JSON.parse(K.decode(z.data));if(O.done){if(J){w(),B.close();return}continue}if(O.p){B.enqueue(O.p);return}}catch{}}},cancel(){w()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(Du1,{filter:xM0($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var BU,Du1="DECOPILOT_STREAMS",_26="decopilot.stream",_89=300000000000,b89=524288000,f89=20000;var b26=D(()=>{BU=G1(tT(),1)});function y26($){let X=$.ttlSeconds??f26,Y=0,G=()=>$.nowSeconds()+Y,Q=new Map;return{async get(J){let Z=Q.get(J);if(!Z)return null;if(Z.expiresAt<=G())return Q.delete(J),null;return Z.entry},async put(J,Z){Q.set(J,{entry:Z,expiresAt:G()+X})},async delete(J){Q.delete(J)},advanceNow(J){Y+=J}}}class hM0{options;kv=null;codec=Ou1.JSONCodec();ttl;constructor($){this.options=$;this.ttl=$.ttlSeconds??f26}async init(){let $=this.options.getJetStream();if(!$)return;this.kv=await $.views.kv(g89,{history:1,ttl:this.ttl*1000,storage:Ou1.StorageType.Memory})}async get($){if(!this.kv)return null;try{let X=await this.kv.get($);if(!X?.value)return null;if(X.operation==="DEL"||X.operation==="PURGE")return null;if(Date.now()-X.created.getTime()>this.ttl*1000)return null;return this.codec.decode(X.value)}catch{return null}}async put($,X){if(!this.kv)return;await this.kv.put($,this.codec.encode(X))}async delete($){if(!this.kv)return;try{await this.kv.delete($)}catch{}}}var Ou1,g89="LINKS",f26=30;var x26=D(()=>{Ou1=G1(tT(),1)});import{randomBytes as h89,timingSafeEqual as u89}from"crypto";function m89($){return`https://link-${$.toLowerCase()}.deco.host`}function g26($,X){if($.length!==X.length)return!1;return u89(Buffer.from($,"utf8"),Buffer.from(X,"utf8"))}function l89($){try{return new URL($).hostname==="localhost"}catch{return!1}}function h26($,X){$.post("/api/links",async(Y)=>{let G=X.getAuthenticatedUserSub(Y);if(!G)throw new S6(401,{message:"no session"});let Q;try{Q=await Y.req.json()}catch{throw new S6(400,{message:"invalid json"})}let J=Jz6.safeParse(Q);if(!J.success)throw new S6(400,{message:J.error.message});let Z=J.data;if(!Fz6(Z.protocolVersion))return Y.json({code:"upgrade_required",requiredVersion:Hz6,installHint:"bunx decocms@latest link"},426);let W=(()=>{if(Z.tunnelUrl&&l89(Z.tunnelUrl)&&X.allowLocalhostLinks)return Z.tunnelUrl;return m89(G)})(),K=await X.linkRegistry.get(G);if(K&&K.machineId!==Z.machineId)return Y.json({code:"another_machine_active",activeMachineId:K.machineId},409);let F=h89(32).toString("base64url"),U={machineId:Z.machineId,...Z.hostname?{hostname:Z.hostname}:{},tunnelUrl:W,linkSecret:F,cliVersion:Z.cliVersion,protocolVersion:Z.protocolVersion,capabilities:Z.capabilities,createdAt:K?.createdAt??new Date().toISOString()};return await X.linkRegistry.put(G,U),Y.json({linkSecret:F})}),$.post("/api/links/heartbeat",async(Y)=>{let G=Y.req.header("x-mesh-user-sub");if(!G)throw new S6(400,{message:"missing X-Mesh-User-Sub"});let Q=Y.req.header("x-link-secret");if(!Q)throw new S6(401,{message:"missing X-Link-Secret"});let J=await X.linkRegistry.get(G);if(!J)throw new S6(401,{message:"no link"});if(!g26(J.linkSecret,Q))throw new S6(401,{message:"bad secret"});return await X.linkRegistry.put(G,J),Y.body(null,204)}),$.delete("/api/links/me",async(Y)=>{let G=Y.req.header("x-mesh-user-sub");if(!G)throw new S6(400,{message:"missing X-Mesh-User-Sub"});let Q=Y.req.header("x-link-secret");if(!Q)throw new S6(401,{message:"missing X-Link-Secret"});let J=await X.linkRegistry.get(G);if(!J)return Y.body(null,204);if(!g26(J.linkSecret,Q))throw new S6(401,{message:"bad secret"});return await X.linkRegistry.delete(G),Y.body(null,204)}),$.get("/api/links/me",async(Y)=>{let G=X.getAuthenticatedUserSub(Y);if(!G)throw new S6(401,{message:"no session"});let Q=await X.linkRegistry.get(G);if(!Q)return Y.json({status:"offline"});return Y.json({status:"online",capabilities:Q.capabilities,machineId:Q.machineId,cliVersion:Q.cliVersion,currentProtocolVersion:Kz6,reportedProtocolVersion:Q.protocolVersion})})}var u26=D(()=>{og1();tH()});function m26($,X){switch($.type){case"START":{let Y={type:"RUN_STARTED",taskId:$.taskId,orgId:$.orgId,userId:$.userId,abortController:$.abortController,runConfig:$.runConfig,podId:$.podId};if(X?.status.tag==="running")return[{type:"PREVIOUS_RUN_ABORTED",taskId:$.taskId,orgId:X.orgId},Y];return[Y]}case"STEP_DONE":{if(X?.status.tag!=="running")return[];return[{type:"STEP_COMPLETED",taskId:$.taskId,orgId:X.orgId,stepCount:X.status.stepCount+1}]}case"FINISH":{if(X==null||X.status.tag!=="running")return[];let{stepCount:Y}=X.status;if($.threadStatus==="completed")return[{type:"RUN_COMPLETED",taskId:$.taskId,orgId:X.orgId,stepCount:Y}];if($.threadStatus==="requires_action")return[{type:"RUN_REQUIRES_ACTION",taskId:$.taskId,orgId:X.orgId,stepCount:Y}];return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X.orgId,reason:"error"}]}case"CANCEL":{if(X?.status.tag!=="running")return[];return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X.orgId,reason:"cancelled"}]}case"RESUME":{if(X?.status.tag==="running")return[];return[{type:"RUN_RESUMED",taskId:$.taskId,orgId:$.orgId,userId:$.userId,abortController:$.abortController,podId:$.podId}]}case"FORCE_FAIL":{if($.reason==="ghost")return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X?.orgId??$.orgId,reason:$.reason}];if(X?.status.tag!=="running")return[];return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X.orgId,reason:$.reason}]}}}function l26($,X,Y=new Date){switch(X.type){case"RUN_STARTED":return{taskId:X.taskId,orgId:X.orgId,userId:X.userId,status:{tag:"running",abortController:X.abortController,stepCount:0,startedAt:Y}};case"RUN_RESUMED":return{taskId:X.taskId,orgId:X.orgId,userId:X.userId,status:{tag:"running",abortController:X.abortController,stepCount:0,startedAt:Y}};case"STEP_COMPLETED":if($?.status.tag!=="running")return $;return{...$,status:{...$.status,stepCount:X.stepCount}};case"RUN_COMPLETED":return;case"RUN_REQUIRES_ACTION":return;case"RUN_FAILED":return;case"PREVIOUS_RUN_ABORTED":return}}async function c26($,X,Y,G){let{storage:Q,streamBuffer:J,sseHub:Z}=G,W=await Q.get($,X);await Q.update($,X,{status:Y,run_owner_pod:null,run_config:null,run_started_at:null}),J.purge($),Z.emit(X,vN($,Y,{virtualMcpId:W?.virtual_mcp_id??void 0,createdBy:W?.created_by,triggerId:W?.trigger_id,title:W?.title,branch:W?.branch??null,createdAt:W?.created_at,updatedAt:W?.updated_at})),Z.emit(X,B01($,Y))}async function c89($,X){let{storage:Y,streamBuffer:G,sseHub:Q}=X;switch($.type){case"RUN_STARTED":{if(!await Y.claimRunStart($.taskId,$.orgId,{status:"in_progress",run_owner_pod:$.podId??null,run_config:$.runConfig??null,run_started_at:$.podId?new Date().toISOString():null},$.podId??null))throw new d26($.taskId);let Z=await Y.get($.taskId,$.orgId);Q.emit($.orgId,vN($.taskId,"in_progress",{virtualMcpId:Z?.virtual_mcp_id??void 0,createdBy:Z?.created_by,triggerId:Z?.trigger_id,title:Z?.title,branch:Z?.branch??null,createdAt:Z?.created_at,updatedAt:Z?.updated_at}));return}case"RUN_RESUMED":{await Y.update($.taskId,$.orgId,{run_owner_pod:$.podId,run_started_at:new Date().toISOString()});let J=await Y.get($.taskId,$.orgId);Q.emit($.orgId,vN($.taskId,"in_progress",{virtualMcpId:J?.virtual_mcp_id??void 0,createdBy:J?.created_by,triggerId:J?.trigger_id,title:J?.title,branch:J?.branch??null,createdAt:J?.created_at,updatedAt:J?.updated_at}));return}case"STEP_COMPLETED":Q.emit($.orgId,XB1($.taskId,$.stepCount));return;case"RUN_COMPLETED":await c26($.taskId,$.orgId,"completed",X);return;case"RUN_REQUIRES_ACTION":await c26($.taskId,$.orgId,"requires_action",X);return;case"RUN_FAILED":{if($.reason==="ghost"){if(!await Y.forceFailIfInProgress($.taskId,$.orgId))return;await Y.update($.taskId,$.orgId,{run_owner_pod:null,run_config:null,run_started_at:null})}else await Y.update($.taskId,$.orgId,{status:"failed",run_owner_pod:null,run_config:null,run_started_at:null});G.purge($.taskId);let J=await Y.get($.taskId,$.orgId);Q.emit($.orgId,vN($.taskId,"failed",{virtualMcpId:J?.virtual_mcp_id??void 0,createdBy:J?.created_by,triggerId:J?.trigger_id,title:J?.title,branch:J?.branch??null,createdAt:J?.created_at,updatedAt:J?.updated_at})),Q.emit($.orgId,B01($.taskId,"failed"));return}case"PREVIOUS_RUN_ABORTED":return}}async function i26($,X){for(let{event:Y}of $)await c89(Y,X)}var d26;var p26=D(()=>{f$();d26=class d26 extends Error{constructor($){super(`Failed to claim run for thread ${$} \u2014 already running on another pod`);this.name="RunClaimError"}}});class uM0{deps;podId;clock;states=new Map;reaperTimer=null;constructor($,X,Y=()=>new Date){this.deps=$;this.podId=X;this.clock=Y;this.reaperTimer=setInterval(()=>this.reapStaleRuns(),d89)}async execute($){let X=this.dispatch($);return await this.react(X),X}dispatch($){let X=this.states.get($.taskId),Y=m26($,X),G=[];for(let Q of Y){let J=this.states.get(Q.taskId);if(Q.type==="PREVIOUS_RUN_ABORTED"||Q.type==="RUN_FAILED"){if(J?.status.tag==="running")J.status.abortController.abort()}let Z=l26(J,Q,this.clock());if(Z===void 0)this.states.delete(Q.taskId);else this.states.set(Q.taskId,Z);if(G.push({event:Q,state:Z}),p89.has(Q.type))n26.add(1,{"org.id":Q.orgId});else if(n89.has(Q.type)&&J?.status.tag==="running")n26.add(-1,{"org.id":Q.orgId})}return G}react($){return i26($,this.deps)}getAbortSignal($){let X=this.states.get($);if(X?.status.tag==="running")return X.status.abortController.signal;return null}isRunning($){return this.states.get($)?.status.tag==="running"}async stopAll(){try{await this.deps.storage.orphanRunsByPod(this.podId)}catch($){console.error("[RunRegistry] Failed to orphan runs in DB:",$)}for(let[,$]of this.states)if($.status.tag==="running")$.status.abortController.abort();this.states.clear()}async recoverOrphanedRuns($){let X=await this.deps.storage.listOrphanedRuns(this.podId);if(X.length===0)return;let Y=5;for(let G=0;G<X.length;G+=Y){let Q=X.slice(G,G+Y);await Promise.allSettled(Q.map(async(J)=>{if(!await this.deps.storage.claimOrphanedRun(J.id,J.organization_id,this.podId))return;try{await $(J)}catch(W){console.error(`[RunRegistry] Failed to resume ${J.id}:`,W),await this.deps.storage.forceFailIfInProgress(J.id,J.organization_id).catch(()=>{})}}))}}async handlePodDeath($,X,Y){let G=await this.deps.storage.listOrphanedRunsByPod($);if(G.length===0)return;for(let J of G)Y?.broadcast(J.id);let Q=5;for(let J=0;J<G.length;J+=Q){let Z=G.slice(J,J+Q);await Promise.allSettled(Z.map(async(W)=>{if(this.isRunning(W.id))return;if(!await this.deps.storage.claimOrphanedRun(W.id,W.organization_id,this.podId))return;try{await X(W)}catch(F){console.error(`[RunRegistry] Failed to resume ${W.id}:`,F),await this.deps.storage.forceFailIfInProgress(W.id,W.organization_id).catch(()=>{})}}))}}dispose(){if(this.reaperTimer)clearInterval(this.reaperTimer),this.reaperTimer=null}reapStaleRuns(){let $=this.clock().getTime();for(let[X,Y]of this.states)if(Y.status.tag==="running"&&$-Y.status.startedAt.getTime()>i89)console.warn(`[RunRegistry] Reaping stale run for thread ${X} ...`),this.execute({type:"FORCE_FAIL",taskId:X,reason:"reaped"}).catch((G)=>{console.error("[RunRegistry] Reaper execute failed",G)})}}var d89=300000,i89=1800000,p89,n89,n26;var r26=D(()=>{p26();kW();p89=new Set(["RUN_STARTED","RUN_RESUMED"]),n89=new Set(["RUN_COMPLETED","RUN_FAILED","RUN_REQUIRES_ACTION","PREVIOUS_RUN_ABORTED"]),n26=qH.createUpDownCounter("decopilot.stream.inflight",{description:"Number of in-flight decopilot stream requests",unit:"{requests}"})});class mM0{storage;options;timer=null;constructor($,X={}){this.storage=$;this.options=X}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let X=await this.storage.sweepAbandoned($);if(X>0)console.log(`[async-research-sweeper] marked ${X} stale jobs as abandoned`);return X}catch(X){return console.error("[async-research-sweeper] sweep failed",X),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}import{readdir as r89,rm as Lu1}from"fs/promises";import{join as Eu1}from"path";async function ju1($){let X=new Date;X.setUTCDate(X.getUTCDate()-t89),X.setUTCHours(0,0,0,0);let Y=0;try{let G=await ah($);for(let Q of G)if(/^\d{4}$/.test(Q))Y+=await t26($,Q,X);else if(!Q.startsWith(".")){let J=Eu1($,Q),Z=await ah(J);for(let K of Z){if(!/^\d{4}$/.test(K))continue;Y+=await t26(J,K,X)}if((await ah(J)).length===0)await Lu1(J,{recursive:!0,force:!0})}}catch(G){console.warn("monitoring retention cleanup failed:",G)}return Y}async function t26($,X,Y){let G=0,Q=Eu1($,X),J=await ah(Q);for(let W of J){if(!/^\d{2}$/.test(W))continue;let K=Eu1(Q,W),F=await ah(K);for(let w of F){if(!/^\d{2}$/.test(w))continue;let B=new Date(`${X}-${W}-${w}T00:00:00Z`);if(isNaN(B.getTime()))continue;if(B<Y){let N=Eu1(K,w);await Lu1(N,{recursive:!0,force:!0}),G++}}if((await ah(K)).length===0)await Lu1(K,{recursive:!0,force:!0})}if((await ah(Q)).length===0)await Lu1(Q,{recursive:!0,force:!0});return G}async function ah($){try{return(await r89($)).filter((Y)=>!Y.startsWith("."))}catch{return[]}}var t89=30;var lM0=()=>{};import{DBOS as cM0,SchedulerMode as a89}from"@dbos-inc/dbos-sdk";async function s89(){let $=[NH(),wu(),fB()],X=0;for(let Y of $)try{X+=await ju1(Y)}catch(G){console.error("[monitoring-retention] cleanup failed:",G)}return console.log(`[monitoring-retention] deleted ${X} day-dir(s) across ${$.length} signal dir(s)`),{deleted:X,dirs:$.length}}async function e89($,X){await cM0.runStep(()=>s89(),{name:"monitoringRetention"})}function o26(){if(a26)return;a26=!0;let $=cM0.registerWorkflow(e89,{name:"monitoringRetentionWorkflow"});cM0.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:o89,mode:a89.ExactlyOncePerIntervalWhenActive})}var o89="23 4 * * *",a26=!1;var s26=D(()=>{CW();lM0()});function zG1($){return{...$,title:$.title??$.id}}function $T6($){return{credentialId:$.credentialId,thinking:zG1($.thinking),...$.coding&&{coding:zG1($.coding)},...$.fast&&{fast:zG1($.fast)},...$.image&&{image:zG1($.image)},...$.deepResearch&&{deepResearch:zG1($.deepResearch)}}}var NG1,$99,e26;var XT6=D(()=>{i1();NG1=H.object({id:H.string(),title:H.string().optional(),capabilities:H.object({vision:H.boolean().optional(),text:H.boolean().optional(),tools:H.boolean().optional(),reasoning:H.boolean().optional(),file:H.boolean().optional()}).passthrough().optional(),limits:H.object({contextWindow:H.number().optional(),maxOutputTokens:H.number().optional()}).passthrough().optional(),provider:H.string().nullish()}),$99=H.object({models:H.object({credentialId:H.string(),thinking:NG1,coding:NG1.optional(),fast:NG1.optional(),image:NG1.optional(),deepResearch:NG1.optional()}),agent:H.object({id:H.string()}),temperature:H.number(),toolApprovalLevel:H.enum(["auto","readonly","plan"]).optional(),mode:H.enum(["default","plan","web-search","gen-image"]).optional(),windowSize:H.number().optional(),triggerId:H.string().optional()}),e26=$99.transform(($)=>{let X=$.mode??"default",Y="auto";if($.toolApprovalLevel==="plan")X="plan",Y="readonly";else if($.toolApprovalLevel==="readonly")Y="readonly";else if($.toolApprovalLevel==="auto")Y="auto";return{models:$.models,agent:$.agent,temperature:$.temperature,toolApprovalLevel:Y,mode:X,windowSize:$.windowSize,triggerId:$.triggerId}})});class dM0{deps;kv=null;podId=null;refreshTimer=null;watchAbortController=null;initPromise=null;pendingDeathCallback=null;constructor($){this.deps=$}async init(){if(this.watchAbortController)this.watchAbortController.abort(),this.watchAbortController=null;if(this.refreshTimer)clearInterval(this.refreshTimer),this.refreshTimer=null;this.kv=null,this.initPromise=null;let $=this.deps.getJetStream();if(!$)return;return this.initPromise=$.views.kv(X99,{ttl:Y99,storage:YT6.StorageType.Memory}).then((X)=>{this.kv=X}).catch((X)=>{throw this.initPromise=null,X}),this.initPromise}start($){if(!this.kv)return;if(this.refreshTimer)return;if(this.podId=$,this.kv.put($,new TextEncoder().encode(new Date().toISOString())),this.refreshTimer=setInterval(()=>{this.kv?.put($,new TextEncoder().encode(new Date().toISOString())).catch((X)=>{console.error("[PodHeartbeat] Refresh failed:",X)})},G99),this.pendingDeathCallback)this.startDeathWatcher(this.pendingDeathCallback),this.pendingDeathCallback=null}onPodDeath($){if(!this.kv){this.pendingDeathCallback=$;return}this.startDeathWatcher($)}startDeathWatcher($){if(!this.kv)return;this.watchAbortController=new AbortController;let X=this.kv,Y=this.podId,G=this.watchAbortController.signal;(async()=>{while(!G.aborted)try{let J=await X.watch({initializedFn:()=>{}});for await(let Z of J){if(G.aborted)break;if(Z.operation==="DEL"||Z.operation==="PURGE"){let W=Z.key;if(W!==Y)$(W)}}}catch(J){if(G.aborted)break;console.error("[PodHeartbeat] Watcher error, reconnecting in 1s:",J),await new Promise((Z)=>setTimeout(Z,1000))}})().catch((J)=>{if(!G.aborted)console.error("[PodHeartbeat] Watcher loop failed:",J)})}async stop(){if(this.refreshTimer)clearInterval(this.refreshTimer),this.refreshTimer=null;if(this.kv&&this.podId)try{await this.kv.delete(this.podId)}catch{}if(this.watchAbortController)this.watchAbortController.abort(),this.watchAbortController=null;this.kv=null,this.podId=null,this.initPromise=null,this.pendingDeathCallback=null}}var YT6,X99="POD_HEARTBEATS",Y99=45000,G99=1e4;var GT6=D(()=>{YT6=G1(tT(),1)});class iM0{db;constructor($){this.db=$}async get($,X){let Y=await this.db.selectFrom("kv").select("value").where("organization_id","=",$).where("key","=",X).executeTakeFirst();if(!Y)return null;return Y.value}async set($,X,Y){await this.db.insertInto("kv").values({organization_id:$,key:X,value:JSON.stringify(Y),updated_at:new Date().toISOString()}).onConflict((G)=>G.columns(["organization_id","key"]).doUpdateSet({value:JSON.stringify(Y),updated_at:new Date().toISOString()})).execute()}async delete($,X){await this.db.deleteFrom("kv").where("organization_id","=",$).where("key","=",X).execute()}}function QT6($){return async(X,Y)=>{let G=await $.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",Y).where("member.organizationId","=",X).executeTakeFirst();if(!G)return console.warn(`[automationContextFactory] User ${Y} not found in org ${X} \u2014 returning null`),null;let Q=await $U.create();Q.auth.user={id:Y,role:G.role},Q.organization={id:G.orgId,slug:G.orgSlug,name:G.orgName};let J=await HE0($.db,X,G.role);return Q.boundAuth=KE0({auth:Q.authInstance,headers:new Headers,role:G.role,permissions:J,userId:Y}),Q.access=new PV(Q.authInstance,Y,void 0,Q.boundAuth,G.role,"self"),Q.storage.threads=new c51($.threadStorage,G.orgId),Q.storage.asyncResearchJobs=new i51($.asyncResearchJobStorage,G.orgId),Q}}var JT6=D(()=>{dq1();sX1();$A1();YA1()});function J99(){for(let $ of Q99)$()}function ZT6($){let X=[...pM0.logs,$];pM0={...pM0,logs:X.length>500?X.slice(-500):X},J99()}function nM0(){return Z99}var pM0,Q99,Z99=!1;var rM0=D(()=>{pM0={services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,env:null,logs:[],viewMode:"requests",logFlow:!1,vibe:!1,dataDir:null},Q99=new Set});import{EventEmitter as W99}from"events";var tM0;var WT6=D(()=>{rM0();tM0=new W99;tM0.on("request",($)=>{ZT6($)})});function KT6(){return async($,X)=>{let Y=Date.now(),G=$.req.method,Q=$.req.path;if(Q==="/api/auth/get-session"||Q.includes("favicon")){await X();return}let J="",Z=!1;if(Q.startsWith("/mcp")&&G==="POST"){Z=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let B=await $.req.raw.clone().json();if(B.method==="tools/call"&&B.params?.name){let N=pD(B.params.name),z=B.params.arguments||{};if(N==="EVENT_PUBLISH"&&z.type){let O=pD(String(z.type));J=`${W8.tool}EVENT_PUBLISH${W8.reset} ${W8.bold}\u2192 ${O}${W8.reset}`}else if(N==="EVENT_SUBSCRIBE"&&z.eventType){let O=pD(String(z.eventType));J=`${W8.tool}EVENT_SUBSCRIBE${W8.reset} ${W8.bold}\u2190 ${O}${W8.reset}`}else if(N==="EVENT_UNSUBSCRIBE"&&z.eventType){let O=pD(String(z.eventType));J=`${W8.tool}EVENT_UNSUBSCRIBE${W8.reset} ${W8.dim}\u2715 ${O}${W8.reset}`}else{let O=Object.keys(z).map((j)=>pD(j)),L=O.length>0?O.slice(0,3).join(",")+(O.length>3?"\u2026":""):"";J=`${W8.tool}${N}${W8.dim}(${L})${W8.reset}`}}else if(B.method)J=`${W8.dim}${pD(B.method)}${W8.reset}`}}catch{}}let W=pD(Q);if(Q.startsWith("/mcp/conn_")){let U=Q.split("/")[2]??"";W=`/mcp/${W8.mcp}${pD(U.slice(0,12))}\u2026${W8.reset}`}else if(Q==="/mcp")W=`${W8.mcp}/mcp${W8.reset}`;else if(Q==="/mcp/registry")W=`${W8.mcp}/mcp/registry${W8.reset}`;let K=H99(G),F=Z?"\u25C0":"\u2190";if(!nM0())console.log(`${W8.dim}${F}${W8.reset} ${K}${G}${W8.reset} ${W}${J?` ${J}`:""}`);try{await X()}finally{let U=Date.now()-Y,w=$.res.status,B=K99(w),N=U<1000?`${U}ms`:`${(U/1000).toFixed(1)}s`,z=Z?"\u25B6":"\u2192";if(!nM0())console.log(`${W8.dim}${z}${W8.reset} ${K}${G}${W8.reset} ${W}${J?` ${J}`:""} ${B}${w}${W8.reset} ${W8.duration}${N}${W8.reset}`);tM0.emit("request",{method:G,path:pD(Q),status:w,duration:U,timestamp:new Date})}}}var W8,K99=($)=>{if($>=500)return W8.serverError;if($>=400)return W8.clientError;if($>=300)return W8.redirect;return W8.ok},H99=($)=>{return W8[$]||W8.reset},pD=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var HT6=D(()=>{rM0();WT6();W8={reset:"\x1B[0m",dim:"\x1B[2m",bold:"\x1B[1m",GET:"\x1B[36m",POST:"\x1B[33m",PUT:"\x1B[35m",DELETE:"\x1B[31m",ok:"\x1B[32m",redirect:"\x1B[36m",clientError:"\x1B[33m",serverError:"\x1B[31m",mcp:"\x1B[35m",tool:"\x1B[96m",duration:"\x1B[90m"}});import{createHmac as BT6}from"crypto";import{mkdir as F99,readdir as U99,rm as FT6,stat as NT6}from"fs/promises";import{join as oM0,relative as w99}from"path";function DT6($){let X=$.replace(/[^a-zA-Z0-9_-]/g,"_");return oM0(B99,X)}function OT6($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function aM0($,X){let Y=DT6($),G=OT6(X);return oM0(Y,G)}function N99($,X,Y,G){let Q=f4().encryptionKey||"dev-secret",J=`${$}:${X}:${Y}:${G}`;return BT6("sha256",Q).update(J).digest("hex")}function wT6($,X,Y,G,Q){let J=Math.floor(Date.now()/1000)+G,Z=N99(X,Y,J,Q),W=new URL(`/api/dev-assets/${X}/${OT6(Y)}`,$);return W.searchParams.set("expires",J.toString()),W.searchParams.set("signature",Z),W.searchParams.set("method",Q),W.toString()}function LT6($,X,Y){let G=`${$}:${X.getTime()}:${Y}`;return`"${BT6("md5","etag").update(G).digest("hex")}"`}async function ET6($,X,Y,G,Q){try{let J=await U99($,{withFileTypes:!0});for(let Z of J){let W=oM0($,Z.name),F=w99(X,W).replace(/\\/g,"/");if(Y&&!F.startsWith(Y))continue;if(Z.isDirectory())if(G){let U=F+"/";if(!Y||U.startsWith(Y)){if(!(Y?F.slice(Y.length):F).includes("/"))Q.commonPrefixes.add(U)}}else await ET6(W,X,Y,G,Q);else if(Z.isFile()){if(G&&Y){let U=F.slice(Y.length);if(U.includes(G)){let w=U.indexOf(G),B=Y+U.slice(0,w+1);Q.commonPrefixes.add(B);continue}}try{let U=await NT6(W);Q.objects.push({key:F,size:U.size,lastModified:U.mtime.toISOString(),etag:LT6(W,U.mtime,U.size)})}catch{}}}}catch{}}function jT6($,X){let G=n1($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:H.object({prefix:H.string().optional(),maxKeys:H.number().optional().default(1000),continuationToken:H.string().optional(),delimiter:H.string().optional()}),outputSchema:H.object({objects:H.array(H.object({key:H.string(),size:H.number(),lastModified:H.string(),etag:H.string()})),nextContinuationToken:H.string().optional(),isTruncated:H.boolean(),commonPrefixes:H.array(H.string()).optional()}),handler:async(Q)=>{let J=Q,Z=J.prefix||"",W=J.maxKeys??1000,K=J.delimiter,F=J.continuationToken,U=DT6(G);await F99(U,{recursive:!0});let w={objects:[],commonPrefixes:new Set};await ET6(U,U,Z,K,w),w.objects.sort((L,j)=>L.key.localeCompare(j.key));let B=0;if(F){if(B=w.objects.findIndex((L)=>L.key>F),B===-1)B=w.objects.length}let N=w.objects.slice(B,B+W),z=B+W<w.objects.length,O=z?N[N.length-1]?.key:void 0;return{objects:N,isTruncated:z,nextContinuationToken:O,commonPrefixes:Array.from(w.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:H.object({key:H.string()}),outputSchema:H.object({contentType:H.string().optional(),contentLength:H.number(),lastModified:H.string(),etag:H.string(),metadata:H.record(H.string(),H.string()).optional()}),handler:async(Q)=>{let J=Q,Z=aM0(G,J.key),W=await NT6(Z);return{contentType:WI0(J.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:LT6(Z,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:H.object({key:H.string(),expiresIn:H.number().optional()}),outputSchema:H.object({url:H.string(),expiresIn:H.number()}),handler:async(Q)=>{let J=Q,Z=J.expiresIn??UT6;return{url:wT6(X,G,J.key,Z,"GET"),expiresIn:Z}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:H.object({key:H.string(),expiresIn:H.number().optional(),contentType:H.string().optional()}),outputSchema:H.object({url:H.string(),expiresIn:H.number()}),handler:async(Q)=>{let J=Q,Z=J.expiresIn??UT6;return{url:wT6(X,G,J.key,Z,"PUT"),expiresIn:Z}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:H.object({key:H.string()}),outputSchema:H.object({success:H.boolean(),key:H.string()}),handler:async(Q)=>{let J=Q,Z=aM0(G,J.key);try{return await FT6(Z),{success:!0,key:J.key}}catch{return{success:!1,key:J.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:H.object({keys:H.array(H.string()).max(1000)}),outputSchema:H.object({deleted:H.array(H.string()),errors:H.array(H.object({key:H.string(),message:H.string()}))}),handler:async(Q)=>{let J=Q,Z=[],W=[];return await Promise.all(J.keys.map(async(K)=>{let F=aM0(G,K);try{await FT6(F),Z.push(K)}catch(U){W.push({key:K,message:U instanceof Error?U.message:"Unknown error"})}})),{deleted:Z,errors:W}}}]}async function sM0($,X,Y){let G=jT6(X,Y),Q=new _N({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}}});for(let Z of G){let W="shape"in Z.inputSchema?Z.inputSchema.shape:H.object({}).shape,K=Z.outputSchema&&"shape"in Z.outputSchema?Z.outputSchema.shape:H.object({}).shape;Q.registerTool(Z.name,{description:Z.description??"",inputSchema:W,outputSchema:K,annotations:Z.annotations,_meta:Z._meta},async(F)=>{try{let U=await Z.handler(F);return{content:[{type:"text",text:JSON.stringify(U)}],structuredContent:U}}catch(U){return{content:[{type:"text",text:`Error: ${U.message}`}],isError:!0}}})}let J=new YH({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await Q.connect(J),J.handleRequest($)}async function PT6($,X,Y,G){let J=jT6(Y,G).find((Z)=>Z.name===$);if(!J)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let Z=await J.handler(X);return{content:[{type:"text",text:JSON.stringify(Z)}]}}catch(Z){return{content:[{type:"text",text:Z instanceof Error?Z.message:String(Z)}],isError:!0}}}var B99="./data/assets",UT6=3600,zT6,qT6;var AT6=D(()=>{I5();d5();i1();z01();kr();bh1();zT6=new m4;zT6.all("/",async($)=>{let X=$.get("meshContext"),Y=new URL($.req.url),G=`${Y.protocol}//${Y.host}`;return sM0($.req.raw,X,G)});qT6=zT6});var TT6={};g6(TT6,{mountDevRoutes:()=>z99});function z99($,X){$.all("/mcp/:connectionId{.*_dev-assets$}",X,async(G)=>{let Q=G.get("meshContext"),J=new URL(G.req.url),Z=`${J.protocol}//${J.host}`;return sM0(G.req.raw,Q,Z)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",X,async(G)=>{let Q=G.get("meshContext"),J=new URL(G.req.url),Z=`${J.protocol}//${J.host}`,W=G.req.param("toolName");if(!W)return G.json({error:"Missing tool name"},400);let K=await G.req.json(),F=await PT6(W,K,Q,Z);if(F.isError)return G.json(F.content,500);return G.json(F.content)}),$.use("/mcp/dev-assets",X),$.route("/mcp/dev-assets",qT6);let Y=new m4;Y.use("*",m3({mountPath:"/api/dev-assets"})),Y.route("/",_h1({orgFromPath:!1})),$.route("/api/dev-assets",Y)}var VT6=D(()=>{d5();$I0();bh1();AT6()});var IT6=D(()=>{mF0();lF0();yz()});var Pu1=D(()=>{IT6()});var RT6={};g6(RT6,{streamAgent:()=>MT6,createDecopilotClient:()=>O99});async function D99($){let{parseJsonEventStream:X,uiMessageChunkSchema:Y}=await Promise.resolve().then(() => (Z5(),Vq0));return X({stream:$,schema:Y}).pipeThrough(new TransformStream({transform(G,Q){if(!G.success)throw G.error;Q.enqueue(G.value)}}))}async function MT6($,X,Y,G,Q){let{readUIMessageStream:J}=await Promise.resolve().then(() => (Z5(),Vq0)),Z=Y.value??Y.id;if(!Z)throw Error("Agent binding has no id or value \u2014 cannot resolve agent");let W=G.credentialId??Y.credentialId,K=G.thinking??Y.thinking,F=K?.id,U={messages:G.messages,...F?{models:{credentialId:W,thinking:K,...G.coding??Y.coding?{coding:G.coding??Y.coding}:{},...G.fast??Y.fast?{fast:G.fast??Y.fast}:{}}}:{},agent:{id:Z},temperature:G.temperature??Y.temperature,toolApprovalLevel:G.toolApprovalLevel??Y.toolApprovalLevel,mode:G.mode??Y.mode??"default",...G.memory?{memory:G.memory}:{},...G.thread_id?{thread_id:G.thread_id}:{}},w=await fetch($,{method:"POST",headers:{"Content-Type":"application/json","x-mesh-token":X,Authorization:`Bearer ${X}`},body:JSON.stringify(U),signal:Q?.signal});if(!w.ok){let N=await w.text().catch(()=>""),z=`HTTP ${w.status}`;try{let O=JSON.parse(N);if(O?.error)z=O.error}catch{if(N)z=N}throw Error(z)}if(!w.body)throw Error("Empty response body from decopilot stream");let B=await D99(w.body);return J({stream:B})}function O99($){let{baseUrl:X,orgSlug:Y,token:G}=$,Q=`${X}/${Y}/decopilot/runtime/stream`;return{stream(J,Z){let W={__type:"@deco/agent",id:J.agent.id,credentialId:J.credentialId??"",thinking:J.thinking??{id:"",title:""},coding:J.coding,fast:J.fast,toolApprovalLevel:J.toolApprovalLevel,mode:J.mode,temperature:J.temperature};return MT6(Q,G,W,J,Z)}}}function ST6($){let X=$.properties;if(!X)return $;for(let Y of Object.values(X)){let G=Y.properties;if(!G?.__type?.const)continue;let Q=G.__type.const,J=L99.get(Q);if(!J)continue;let Z=J.map((W)=>({name:String(W.name),...W.inputSchema&&{inputSchema:H.toJSONSchema(W.inputSchema)},...W.outputSchema&&{outputSchema:H.toJSONSchema(W.outputSchema)}}));G.__binding={const:Z}}return $}var L99,NQ7,E99=($)=>{return typeof $==="object"&&$!==null&&$.__type==="@deco/agent"},$R0=($)=>{return typeof $==="object"&&$!==null&&typeof $.__type==="string"&&$.__type!=="@deco/agent"&&typeof $.value==="string"},qu1=($,X,Y)=>{let G=Y?{"x-caller-app":Y}:void 0;if(X.cookie)G??={},G.cookie=X.cookie;if(X.token)G??={},G["x-mesh-token"]=X.token;return{type:"HTTP",url:new URL(`/mcp/${$}`,X.meshUrl).href,token:X.token,headers:G}},j99=($,X,Y)=>{let G=qu1($,X,Y);return new Proxy($p.forConnection(G),{get(Q,J){if(J==="value")return $;if(J==="__type")return Y;return Q[J]}})},P99=($,X)=>{let Y=X.organizationSlug;if(!Y)throw Error("organizationSlug is required for agent bindings");let G=`${X.meshUrl}/api/${Y}/decopilot/runtime/stream`;return{STREAM:async(Q,J)=>{let{streamAgent:Z}=await Promise.resolve().then(() => RT6);return Z(G,X.token,$,Q,J)}}},eM0=($,X)=>{if($===null||$===void 0)return $;if(Array.isArray($))return $.map((Y)=>eM0(Y,X));if(typeof $==="object"){if(E99($))return P99($,X);if($R0($))return j99($.value,X,$.__type);let Y={};for(let[G,Q]of Object.entries($))Y[G]=eM0(Q,X);return Y}return $},kT6=($)=>{return eM0($.state,$)};var mt=D(()=>{Pu1();i1();L99=new Map;NQ7=H.object({id:H.string(),title:H.string(),capabilities:H.object({vision:H.boolean().optional(),text:H.boolean().optional(),tools:H.boolean().optional(),reasoning:H.boolean().optional()}).passthrough().optional(),provider:H.string().optional().nullable(),limits:H.object({contextWindow:H.number().optional(),maxOutputTokens:H.number().optional()}).passthrough().optional()})});var q99,CT6=($,X,Y)=>{if(!X)return null;if($===void 0||$==="*")return"*";if(typeof $==="string")return $===X?$:null;if(Array.isArray($))return $.includes(X)?X:null;if(typeof $==="function")return $(X,Y)??null;return null},A99=($,X,Y)=>{let G=X.headers.get("Origin"),Q=CT6(Y.origin,G,X);if(Q)$.set("Access-Control-Allow-Origin",Q);if(Y.credentials)$.set("Access-Control-Allow-Credentials","true");if(Y.exposeHeaders?.length)$.set("Access-Control-Expose-Headers",Y.exposeHeaders.join(", "))},vT6=($,X)=>{let Y=new Headers,G=$.headers.get("Origin"),Q=CT6(X.origin,G,$);if(Q)Y.set("Access-Control-Allow-Origin",Q);if(X.credentials)Y.set("Access-Control-Allow-Credentials","true");let J=X.allowMethods??q99;Y.set("Access-Control-Allow-Methods",J.join(", "));let Z=$.headers.get("Access-Control-Request-Headers");if(X.allowHeaders?.length)Y.set("Access-Control-Allow-Headers",X.allowHeaders.join(", "));else if(Z)Y.set("Access-Control-Allow-Headers",Z);if(X.maxAge!==void 0)Y.set("Access-Control-Max-Age",X.maxAge.toString());return new Response(null,{status:204,headers:Y})},_T6=($,X,Y)=>{let G=new Headers($.headers);return A99(G,X,Y),new Response($.body,{status:$.status,statusText:$.statusText,headers:G})};var bT6=D(()=>{q99=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function fT6($=32){let Y=new Uint8Array($);return crypto.getRandomValues(Y),Array.from(Y,(G)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[G%62]).join("")}function T99($){try{let X=new URL($);return X.protocol==="https:"||X.hostname==="localhost"||X.hostname.endsWith(".localhost")||X.hostname==="127.0.0.1"||!X.protocol.startsWith("http")}catch{return!1}}function yT6($){return btoa(JSON.stringify($)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function xT6($){try{let X=$.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(X))}catch{return null}}function gT6($){return{handleProtectedResourceMetadata:(F)=>{let U=CB(new URL(F.url)),w=`${U.origin}/mcp`;return Response.json({resource:w,authorization_servers:[U.origin],scopes_supported:["*"],bearer_methods_supported:["header"],resource_signing_alg_values_supported:["RS256","none"]})},handleAuthorizationServerMetadata:(F)=>{let w=CB(new URL(F.url)).origin;return Response.json({issuer:w,authorization_endpoint:`${w}/authorize`,token_endpoint:`${w}/token`,registration_endpoint:`${w}/register`,scopes_supported:["*"],response_types_supported:["code"],response_modes_supported:["query"],grant_types_supported:["authorization_code","refresh_token"],token_endpoint_auth_methods_supported:["none","client_secret_post"],code_challenge_methods_supported:["S256","plain"]})},handleAuthorize:(F)=>{let U=CB(new URL(F.url)),w=U.searchParams.get("redirect_uri"),B=U.searchParams.get("response_type"),N=U.searchParams.get("state"),z=U.searchParams.get("code_challenge"),O=U.searchParams.get("code_challenge_method");if(!w)return Response.json({error:"invalid_request",error_description:"redirect_uri required"},{status:400});if(B!=="code")return Response.json({error:"unsupported_response_type",error_description:"Only 'code' is supported"},{status:400});let L=CB(new URL(`${U.origin}/oauth/callback`)),j=L.toString(),V=yT6({redirectUri:w,clientState:N??void 0,codeChallenge:z??void 0,codeChallengeMethod:O??void 0,oauthCallbackUri:j});L.searchParams.set("state",V);let M=$.authorizationUrl(L.toString());return Response.redirect(M,302)},handleOAuthCallback:async(F)=>{let U=CB(new URL(F.url)),w=U.searchParams.get("code"),B=U.searchParams.get("state"),N=U.searchParams.get("error"),z=B?xT6(B):null;if(N){let O=U.searchParams.get("error_description")??"Authorization failed";if(z?.redirectUri){let L=CB(new URL(z.redirectUri));if(L.searchParams.set("error",N),L.searchParams.set("error_description",O),z.clientState)L.searchParams.set("state",z.clientState);return Response.redirect(L.toString(),302)}return Response.json({error:N,error_description:O},{status:400})}if(!w||!z)return Response.json({error:"invalid_request",error_description:"Missing code or state"},{status:400});try{let O=z.oauthCallbackUri??CB(new URL(`${U.origin}/oauth/callback`)).toString(),L={code:w,redirect_uri:O},j=await $.exchangeCode(L),P={accessToken:j.access_token,tokenType:j.token_type,refreshToken:j.refresh_token,expiresIn:j.expires_in,scope:j.scope,codeChallenge:z.codeChallenge,codeChallengeMethod:z.codeChallengeMethod},V=yT6(P),M=CB(new URL(z.redirectUri));if(M.searchParams.set("code",V),z.clientState)M.searchParams.set("state",z.clientState);return Response.redirect(M.toString(),302)}catch(O){console.error("OAuth callback error:",O);let L=CB(new URL(z.redirectUri));if(L.searchParams.set("error","server_error"),L.searchParams.set("error_description","Failed to exchange authorization code"),z.clientState)L.searchParams.set("state",z.clientState);return Response.redirect(L.toString(),302)}},handleToken:async(F)=>{try{let U=F.headers.get("content-type")??"",w;if(U.includes("application/x-www-form-urlencoded")){let P=await F.formData();w=Object.fromEntries(P.entries())}else{let P=await F.json();if(typeof P!=="object"||P===null||Array.isArray(P))return Response.json({error:"invalid_request",error_description:"Request body must be a JSON object"},{status:400});w=P}let{code:B,code_verifier:N,grant_type:z,refresh_token:O}=w;if(z==="refresh_token"){if(typeof O!=="string"||!O)return Response.json({error:"invalid_request",error_description:"refresh_token is required and must be a string"},{status:400});if(!$.refreshToken)return Response.json({error:"unsupported_grant_type",error_description:"refresh_token grant not supported"},{status:400});let P;try{P=await $.refreshToken(O)}catch(M){if(M instanceof XR0)return Response.json({error:M.error,...M.errorDescription?{error_description:M.errorDescription}:{}},{status:400});throw M}let V={access_token:P.access_token,token_type:P.token_type};if(P.refresh_token)V.refresh_token=P.refresh_token;if(P.expires_in!==void 0)V.expires_in=P.expires_in;if(P.scope)V.scope=P.scope;return Response.json(V,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}if(z!=="authorization_code")return Response.json({error:"unsupported_grant_type",error_description:"Only authorization_code and refresh_token supported"},{status:400});if(typeof B!=="string"||!B)return Response.json({error:"invalid_request",error_description:"code is required and must be a string"},{status:400});let L=xT6(B);if(!L||!L.accessToken)return Response.json({error:"invalid_grant",error_description:"Invalid or expired code"},{status:400});if(L.codeChallenge){if(typeof N!=="string"||!N)return Response.json({error:"invalid_grant",error_description:"code_verifier required and must be a string"},{status:400});let P;if(L.codeChallengeMethod==="S256"){let M=new TextEncoder().encode(N),T=await crypto.subtle.digest("SHA-256",M);P=btoa(String.fromCharCode(...new Uint8Array(T))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}else P=N;if(P!==L.codeChallenge)return Response.json({error:"invalid_grant",error_description:"Invalid code_verifier"},{status:400})}let j={access_token:L.accessToken,token_type:L.tokenType};if(L.refreshToken)j.refresh_token=L.refreshToken;if(L.expiresIn!==void 0)j.expires_in=L.expiresIn;if(L.scope)j.scope=L.scope;return Response.json(j,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Token exchange error:",U),Response.json({error:"server_error",error_description:"Failed to process token request"},{status:500})}},handleClientRegistration:async(F)=>{try{let U=await F.json();if(!U.redirect_uris||U.redirect_uris.length===0)return Response.json({error:"invalid_redirect_uri",error_description:"At least one redirect_uri is required"},{status:400});for(let O of U.redirect_uris)if(!T99(O))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${O}`},{status:400});let w=fT6(32),B=U.token_endpoint_auth_method!=="none"?fT6(32):void 0,N=Math.floor(Date.now()/1000),z={client_id:w,client_secret:B,client_name:U.client_name,redirect_uris:U.redirect_uris,grant_types:U.grant_types??["authorization_code"],response_types:U.response_types??["code"],token_endpoint_auth_method:U.token_endpoint_auth_method??"client_secret_post",scope:U.scope,client_id_issued_at:N,client_secret_expires_at:0};if($.persistence)await $.persistence.saveClient(z);return new Response(JSON.stringify(z),{status:201,headers:{"Content-Type":"application/json","Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Client registration error:",U),Response.json({error:"invalid_client_metadata",error_description:"Invalid client registration request"},{status:400})}},createUnauthorizedResponse:(F)=>{let B=`Bearer resource_metadata="${`${CB(new URL(F.url)).origin}/.well-known/oauth-protected-resource`}", scope="*"`;return Response.json({jsonrpc:"2.0",error:{code:-32000,message:"Unauthorized: Authentication required"},id:null},{status:401,headers:{"WWW-Authenticate":B,"Access-Control-Expose-Headers":"WWW-Authenticate"}})},hasAuth:(F)=>F.headers.has("Authorization")}}var XR0,CB=($)=>{if(!($.hostname==="localhost"||$.hostname.endsWith(".localhost")||$.hostname==="127.0.0.1"))$.protocol="https:";return $};var YR0=D(()=>{XR0=class XR0 extends Error{error;errorDescription;constructor($="invalid_grant",X){super(X??$);this.name="OAuthInvalidGrantError",this.error=$,this.errorDescription=X}}});import{AsyncLocalStorage as V99}from"async_hooks";var hT6,DG1;var GR0=D(()=>{hT6=new V99,DG1={getStore:()=>{return hT6.getStore()},run:($,X,...Y)=>hT6.run($,X,...Y)}});var mT6="SELF",Tu1=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},lT6=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},uT6="::",cT6=($)=>{let X=$.indexOf(uT6);if(X===-1)return null;let Y=$.substring(0,X),G=$.substring(X+uT6.length);return[Y,G]},I99=($)=>{if(!$.startsWith("cron/"))return null;let X=$.substring(5),Y=X.indexOf("/");if(Y===-1)return null;let G=X.substring(0,Y),Q=X.substring(Y+1);return[G,Q]},dT6=($)=>{if(Tu1($))return[];return Object.keys($)},M99=($,X)=>{if(Tu1($))return $.events;let Y=$[X];if(!Y)return[];if(lT6(Y))return Y.events;return Object.keys(Y)},Au1=($,X,Y)=>{if($===mT6){if(!Y)return console.warn("[Event] SELF binding used but no connectionId available"),null;return Y}let G=X[$];if(!$R0(G))return console.warn(`[Event] Binding "${$}" not found in state`),null;return G.value},R99=($,X,Y)=>{let G=X;if(Tu1($)){let J=[];for(let Z of $.events){let W=cT6(Z);if(!W){console.warn(`[Event] Global handler event "${Z}" must be prefixed with BINDING:: (e.g., "SELF::${Z}" or "DATABASE::${Z}")`);continue}let[K,F]=W,U=Au1(K,G,Y);if(!U)continue;J.push({eventType:F,publisher:U})}return J}let Q=[];for(let J of dT6($)){let Z=Au1(J,G,Y);if(!Z)continue;let W=M99($,J);for(let K of W)Q.push({eventType:K,publisher:Z})}return Q},S99=($)=>{let X=new Map;for(let Y of $){let G=Y.source,Q=X.get(G)||[];Q.push(Y),X.set(G,Q)}return X},k99=($)=>{let X=new Map;for(let Y of $){let G=Y.type,Q=X.get(G)||[];Q.push(Y),X.set(G,Q)}return X},C99=($)=>{let X={},Y={},G=!1,Q=0,J=[];for(let Z of $){if(Z.results)Object.assign(Y,Z.results);if(Z.success===!1){if(G=!0,Z.error)J.push(Z.error)}if(Z.processedCount!==void 0)Q+=Z.processedCount}if(Object.keys(Y).length>0)X.results=Y;if(X.success=!G,J.length>0)X.error=J.join("; ");if(Q>0)X.processedCount=Q;return X},v99=async($,X,Y,G,Q)=>{let J=G;if(Tu1($)){let U=new Set;for(let B of $.events){let N=cT6(B);if(!N)continue;let[z,O]=N,L=Au1(z,J,Q);if(!L)continue;U.add(`${L}:${O}`)}let w=X.filter((B)=>{let N=`${B.source}:${B.type}`;return U.has(N)});if(w.length===0)return{success:!0};try{return await $.handler({events:w},Y)}catch(B){return{success:!1,error:B instanceof Error?B.message:String(B)}}}let Z=new Map;for(let U of dT6($)){let w=Au1(U,J,Q);if(w)Z.set(w,U)}let W=S99(X),K=[];for(let[U,w]of W){let B=Z.get(U);if(!B)continue;let N=$[B];if(!N)continue;if(lT6(N)){K.push((async()=>{try{return await N.handler({events:w},Y)}catch(L){let j={};for(let P of w)j[P.id]={success:!1,error:L instanceof Error?L.message:String(L)};return{results:j}}})());continue}let z=N,O=k99(w);for(let[L,j]of O){let P=z[L];if(!P)continue;K.push((async()=>{try{let V=await P({events:j},Y),M={};for(let T of j)M[T.id]=V;return{results:M}}catch(V){let M={};for(let T of j)M[T.id]={success:!1,error:V instanceof Error?V.message:String(V)};return{results:M}}})())}}let F=await Promise.all(K);if(F.length===0)return{success:!0};return C99(F)},Vu1;var QR0=D(()=>{mt();Vu1={subscriptions:R99,execute:v99,parseCron:I99}});function lt($){return $.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function pT6($,X){return`${$}::${lt(X)}`}function JR0($){return`START_WORKFLOW_${lt($).toUpperCase().replace(/-/g,"_")}`}function nT6($,X){let Y=qu1("self",{meshUrl:$,token:X});return $p.forConnection(Y)}function _99($,X){if(!oh.has($)&&oh.size>=rT6){let Y=oh.keys().next().value;if(Y!==void 0)oh.delete(Y)}oh.set($,X)}function b99($){return`Workflows Agent (${$})`}function iT6($,X){if(!sh.has($)&&sh.size>=rT6){let Y=sh.keys().next().value;if(Y!==void 0)sh.delete(Y)}sh.set($,X)}async function f99($,X,Y){let G=sh.get($);if(G)return console.log(`${Y} Using cached default Virtual MCP: ${G}`),G;let Q=b99($);try{let J=await X.COLLECTION_VIRTUAL_MCP_LIST({where:{operator:"and",conditions:[{field:["connection_id"],operator:"eq",value:$},{field:["title"],operator:"eq",value:Q}]},limit:1});if(J.items.length>0){let Z=J.items[0].id;return iT6($,Z),console.log(`${Y} Found existing default Virtual MCP: ${Z}`),Z}}catch(J){console.warn(`${Y} Could not list Virtual MCPs \u2014 proceeding without default. Error: ${J instanceof Error?J.message:String(J)}`);return}try{let Z=(await X.COLLECTION_VIRTUAL_MCP_CREATE({data:{title:Q,connections:[{connection_id:$,selected_tools:null}]}})).item.id;return iT6($,Z),console.log(`${Y} Created default Virtual MCP: ${Z}`),Z}catch(J){console.warn(`${Y} Could not create default Virtual MCP \u2014 proceeding without default. Error: ${J instanceof Error?J.message:String(J)}`);return}}function y99($){return JSON.stringify($.map((X)=>({title:X.title,description:X.description??void 0,virtual_mcp_id:X.virtual_mcp_id??void 0,steps:X.steps,toolId:X.toolId??void 0,inputSchema:X.inputSchema??void 0})))}async function x99($,X,Y,G,Q){let J=`[Workflows][${Y}]`,Z=$.find((V)=>lt(V.title)==="");if(Z!==void 0){console.warn(`${J} Workflow title "${Z.title}" produces an empty ID. Skipping sync.`);return}if($.length>0){let V=$.map((T)=>lt(T.title));if(new Set(V).size!==V.length){let T=new Set(V.filter((v,S)=>V.indexOf(v)!==S)),R=$.filter((v)=>T.has(lt(v.title))).map((v)=>v.title);console.warn(`${J} Workflow titles that produce duplicate IDs: ${[...new Set(R)].join(", ")}. Skipping sync.`);return}}let W=y99($),K=oh.get(Y);if(K===W){console.log(`${J} Fingerprint unchanged \u2014 skipping sync. Declared: ${$.length} workflow(s): [${$.map((V)=>V.title).join(", ")}]`);return}console.log(`${J} Fingerprint changed (or first sync) \u2014 starting sync. Declared: ${$.length} workflow(s): [${$.map((V)=>V.title).join(", ")}]`,K?"(previous fingerprint existed)":"(no previous fingerprint)");let F=Q??nT6(X,G),w=$.some((V)=>V.virtual_mcp_id===void 0)?await f99(Y,F,J):void 0,B;try{let V=[],M=0,T=200;while(!0){let R=await F.COLLECTION_WORKFLOW_LIST({limit:T,offset:M});if(V.push(...R.items),!R.hasMore||R.items.length===0)break;M+=R.items.length}B=V,console.log(`${J} LIST returned ${B.length} total workflow(s). IDs owned by this connection: [${B.filter((R)=>R.id.startsWith(`${Y}::`)).map((R)=>R.id).join(", ")||"none"}]`)}catch(V){let M=V instanceof Error?V.message:String(V);console.warn(`${J} Could not list workflows (workflows plugin may not be enabled). Skipping sync. Error: ${M}`);return}let N=`${Y}::`,z=new Map(B.filter((V)=>V.id.startsWith(N)).map((V)=>[V.id,V])),O=$.map((V)=>[pT6(Y,V.title),V]),L=new Set(O.map(([V])=>V)),j=!1;await Promise.all(O.map(async([V,M])=>{let T=z.has(V)?"UPDATE":"CREATE";console.log(`${J} ${T} "${M.title}" (id=${V})`);try{let R=M.virtual_mcp_id??w;if(T==="UPDATE"){let v=await F.COLLECTION_WORKFLOW_UPDATE({id:V,data:{title:M.title,description:M.description,...R!==void 0&&{virtual_mcp_id:R},steps:M.steps,input_schema:M.inputSchema===void 0?void 0:M.inputSchema??null}});if(!v.success)j=!0,console.warn(`${J} UPDATE "${M.title}" returned success=false:`,String(v.error??"(no error message)"));else console.log(`${J} UPDATE "${M.title}" OK`)}else await F.COLLECTION_WORKFLOW_CREATE({data:{id:V,title:M.title,description:M.description,virtual_mcp_id:R,steps:M.steps,input_schema:M.inputSchema??null}}),console.log(`${J} CREATE "${M.title}" OK`)}catch(R){j=!0,console.warn(`${J} Failed to ${T} workflow "${M.title}":`,R instanceof Error?R.message:String(R))}}));let P=[...z.keys()].filter((V)=>!L.has(V));if(P.length>0)console.log(`${J} Deleting ${P.length} orphaned workflow(s): [${P.join(", ")}]`);if(await Promise.all(P.map(async(V)=>{try{await F.COLLECTION_WORKFLOW_DELETE({id:V}),console.log(`${J} DELETE "${V}" OK`)}catch(M){j=!0,console.warn(`${J} Failed to delete orphaned workflow "${V}":`,M instanceof Error?M.message:String(M))}})),!j)_99(Y,W),console.log(`${J} Sync complete \u2014 fingerprint stored.`);else console.warn(`${J} Sync finished with errors \u2014 fingerprint NOT stored so the next call will retry.`)}async function g99($,X,Y,G,Q){let Z=(Iu1.get(Y)??Promise.resolve()).catch(()=>{}).then(()=>x99($,X,Y,G,Q)).finally(()=>{if(Iu1.get(Y)===Z)Iu1.delete(Y)});return Iu1.set(Y,Z),Z}var Iu1,rT6=500,oh,sh,tT6,Mu1;var ZR0=D(()=>{mt();Pu1();Iu1=new Map,oh=new Map;sh=new Map;tT6=["SELF::COLLECTION_WORKFLOW_LIST","SELF::COLLECTION_WORKFLOW_CREATE","SELF::COLLECTION_WORKFLOW_UPDATE","SELF::COLLECTION_WORKFLOW_DELETE","SELF::COLLECTION_WORKFLOW_EXECUTION_CREATE","SELF::COLLECTION_VIRTUAL_MCP_LIST","SELF::COLLECTION_VIRTUAL_MCP_CREATE"],Mu1={sync:g99,slugify:lt,workflowId:pT6,toolId:JR0,createExecution:async($,X,Y)=>{return(await nT6($,X).COLLECTION_WORKFLOW_EXECUTION_CREATE(Y)).item.id},clearFingerprint:($)=>{oh.delete($),sh.delete($)}}});function vB($){return{...$,execute:(X)=>{let Y=OG1(X.runtimeContext);return $.execute({...X,runtimeContext:Y},Y)}}}var OG1=($)=>{let X=DG1.getStore();if(!X){if($)return $;throw Error("Missing context, did you forget to call State.bind?")}return X},h99=($,X)=>{let Y=X;return typeof Y[$]<"u"?Y[$]:X?.MESH_REQUEST_CONTEXT?.state?.[$]},Ru1=($)=>{let X=$.runtimeContext.env.MESH_REQUEST_CONTEXT;return{connectionId:X?.connectionId,meshUrl:X?.meshUrl,token:X?.token}},u99=({events:$,workflows:X,configuration:{state:Y,scopes:G,onChange:Q}={}}={})=>{let J=Y?ST6(H.toJSONSchema(Y)):{type:"object",properties:{}},Z=String($?.bus??"EVENT_BUS");return[...Q||$||X?.length?[vB({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:H.object({state:Y??H.unknown(),scopes:H.array(H.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:H.object({}),execute:async(W)=>{let K=W.context.state;await Q?.(W.runtimeContext.env,{state:K,scopes:W.context.scopes});let F=h99(Z,W.runtimeContext.env);if($&&K&&F){let{connectionId:U}=Ru1(W),w=Vu1.subscriptions($?.handlers??{},K,U);if(await F.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:w}),U){let B=w.filter((N)=>N.eventType.startsWith("cron/")&&N.publisher===U);await Promise.all(B.map(async(N)=>{let z=Vu1.parseCron(N.eventType);if(z){let[,O]=z;await F.EVENT_PUBLISH({type:N.eventType,cron:O})}}))}}if(X?.length){let{connectionId:U,meshUrl:w,token:B}=Ru1(W);if(U&&w)await Mu1.sync(X,w,U,B)}return Promise.resolve({})}})]:[],...$?.handlers?[vB({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:AP1,outputSchema:TP1,execute:async(W)=>{let K=W.runtimeContext.env,F=K.MESH_REQUEST_CONTEXT?.state,{connectionId:U}=Ru1(W);return Vu1.execute($.handlers,W.context.events,K,F,U)}})]:[],vB({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:H.object({}),outputSchema:H.object({stateSchema:H.unknown(),scopes:H.array(H.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:J,scopes:[...G??[],...$?[`${Z}::EVENT_SYNC_SUBSCRIPTIONS`]:[],...X?.length?[...tT6]:[]]})}}),...X?.length?X.map((W)=>{let K=W.toolId??JR0(W.title),F=[W.description?`Run workflow: ${W.description}`:`Start the "${W.title}" workflow.`,"Returns an execution_id immediately. Use COLLECTION_WORKFLOW_EXECUTION_GET to track progress."].join(" ");return vB({id:K,description:(()=>{if(!W.inputSchema)return F;let U=JSON.stringify(W.inputSchema,null,2);return U.length<=2048?`${F}
|
|
3301
|
+
Use sentence case for the title. No markdown fences.`;var G26=D(()=>{Z5();B21()});function CM0($){let{runner:X}=$.get("vmClaim");if(!X)return $.json({error:"No sandbox runner configured"},503);return X}async function SW($,X,Y){let G=CM0($);if(G instanceof Response)return G;let{claimName:Q}=$.get("vmClaim"),J=Y?.method??"POST",Z=null,W=new Headers;if(Y?.forwardJsonBody)Z=await $.req.text(),W.set("content-type","application/json");let K;try{K=await G.proxyDaemonRequest(Q,X,{method:J,headers:W,body:Z,...Y?.signal?{signal:Y.signal}:{}})}catch(w){let B=w instanceof Error?w.message:String(w);return $.json({error:`Daemon unreachable: ${B}`},502)}if(Y?.map404to410&&K.status===404){try{await K.body?.cancel()}catch{}return $.json({error:"Sandbox handle is gone. The sandbox needs to be re-provisioned."},410,ht)}let F=await K.text(),U=K.headers.get("content-type")??"application/json";return new Response(F,{status:K.status,headers:{"content-type":U,...ht}})}async function Q26($,X,Y,G="GET"){let Q=await $.proxyDaemonRequest(X,Y,{method:G,headers:new Headers,body:null});if(Q.status===404){try{await Q.body?.cancel()}catch{}throw Error("SANDBOX_GONE")}let J=await Q.text();if(!Q.ok)try{let Z=JSON.parse(J);throw Error(Z.error??`Daemon error (${Q.status})`)}catch(Z){if(Z instanceof Error&&Z.message!==J)throw Z;throw Error(`Daemon error (${Q.status})`)}return JSON.parse(J)}function o$9($){return J26.includes($)}var t$9,ht,a$9,J26,Z26=()=>{let $=new m4;return $.use("/:virtualMcpId/:branch/*",t$9),$.post("/:virtualMcpId/:branch/write",(X)=>SW(X,"/_sandbox/write",{forwardJsonBody:!0})),$.post("/:virtualMcpId/:branch/read",(X)=>SW(X,"/_sandbox/read",{forwardJsonBody:!0})),$.post("/:virtualMcpId/:branch/glob",(X)=>SW(X,"/_sandbox/glob",{forwardJsonBody:!0})),$.post("/:virtualMcpId/:branch/exec/:script",(X)=>{let Y=X.req.param("script");if(!Y)return X.json({error:"missing script name"},400);return SW(X,`/_sandbox/exec/${encodeURIComponent(Y)}`)}),$.post("/:virtualMcpId/:branch/exec/:script/kill",(X)=>{let Y=X.req.param("script");if(!Y)return X.json({error:"missing script name"},400);return SW(X,`/_sandbox/exec/${encodeURIComponent(Y)}/kill`)}),$.get("/:virtualMcpId/:branch/config",(X)=>SW(X,"/_sandbox/config",{method:"GET",map404to410:!0})),$.put("/:virtualMcpId/:branch/config",(X)=>SW(X,"/_sandbox/config",{method:"PUT",forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/setup/:step",async(X)=>{let Y=X.req.param("step");if(!Y||!o$9(Y))return X.json({error:`step must be one of: ${J26.join(", ")}`},400);if(Y==="start"){let G=X.get("vmClaim");if(G.runner){let Q=n1(X.var.meshContext),J=x36(G.virtualMcpMetadata);try{await qT1({ctx:X.var.meshContext,runner:G.runner,handle:G.claimName,orgId:Q.id,userId:G.userId,entries:J})}catch(Z){let W=Z instanceof Error?Z.message:String(Z);return X.json({error:`Failed to push env to daemon: ${W}`},502)}}}return SW(X,`/_sandbox/setup/${Y}`,{signal:X.req.raw.signal,map404to410:!0})}),$.get("/:virtualMcpId/:branch/events",(X)=>{let Y=X.get("vmClaim");if(!Y.runner)return UH(X,async(G)=>{await G.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:"No sandbox runner configured on this mesh."})})});return sA6(X,{ctx:X.var.meshContext,claimName:Y.claimName,runner:Y.runner,branch:Y.branch,userId:Y.userId,projectRef:Y.projectRef,virtualMcpMetadata:Y.virtualMcpMetadata})}),$.get("/:virtualMcpId/:branch/git/status",(X)=>SW(X,"/_sandbox/git/status",{method:"GET",map404to410:!0})),$.post("/:virtualMcpId/:branch/git/status",(X)=>SW(X,"/_sandbox/git/status",{map404to410:!0})),$.post("/:virtualMcpId/:branch/git/diff",(X)=>SW(X,"/_sandbox/git/diff",{forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/git/publish",(X)=>SW(X,"/_sandbox/git/publish",{forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/git/discard",(X)=>SW(X,"/_sandbox/git/discard",{forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/git/rebase",(X)=>SW(X,"/_sandbox/git/rebase",{forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/git/suggest-commit",async(X)=>{let Y=CM0(X);if(Y instanceof Response)return Y;let{claimName:G}=X.get("vmClaim"),Q=X.var.meshContext,J={};try{let Z=await X.req.text();if(Z.trim())J=JSON.parse(Z)}catch{return X.json({error:"Invalid JSON body"},400,ht)}try{let{status:Z,diff:W}=J;if(!Z||!W)[Z,W]=await Promise.all([Q26(Y,G,"/_sandbox/git/status","GET"),Q26(Y,G,"/_sandbox/git/diff","GET")]);let K=await Y26(Q,Z,W);return X.json(K,200,ht)}catch(Z){let W=Z instanceof Error?Z.message:String(Z);if(W==="SANDBOX_GONE")return X.json({error:"Sandbox handle is gone. The sandbox needs to be re-provisioned."},410,ht);return X.json({error:W},502,ht)}}),$.get("/:virtualMcpId/:branch/preview-fetch",async(X)=>{let Y=CM0(X);if(Y instanceof Response)return Y;let{claimName:G}=X.get("vmClaim"),Q=X.req.query("path");if(!Q)return X.json({error:"path query parameter is required"},400);if(!a$9.has(Q))return X.json({error:"Path not allowed"},403);let J=await Y.getPreviewUrl(G);if(!J)return X.json({error:"Preview not available"},502);let Z=J.replace(/\/+$/,""),W;try{W=await fetch(`${Z}${Q}`)}catch{return X.json({error:"Preview unreachable"},502)}let K=await W.text();return new Response(K,{status:W.status,headers:{"content-type":W.headers.get("content-type")??"application/json"}})}),$};var W26=D(()=>{d5();th();rA6();f3();SM0();M71();eA6();JA0();PT1();G26();t$9=nA6(async($,X)=>{let Y=$.var.meshContext;try{X0(Y)}catch{return $.json({error:"Unauthorized"},401)}let G=W6(Y);if(!G)return $.json({error:"Unauthorized"},401);let Q;try{Q=n1(Y)}catch{return $.json({error:"Organization scope required"},403)}let J=$.req.param("virtualMcpId"),Z=$.req.param("branch");if(!J||!Z)return $.json({error:"virtualMcpId and branch are required"},400);let W=await Y.storage.virtualMcps.findById(J);if(!W||W.organization_id!==Q.id)return $.json({error:"Virtual MCP not found"},404);let K=WP({orgId:Q.id,virtualMcpId:J,branch:Z}),F=Nu1({userId:G,projectRef:K},Z),U=W.metadata??null,w;try{w=(await bD(Y,{userId:G,branch:Z,virtualMcpMetadata:U})).provider}catch{w=null}return $.set("vmClaim",{claimName:F,runner:w,virtualMcpId:J,branch:Z,userId:G,projectRef:K,virtualMcpMetadata:U}),X()});ht={"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache"};a$9=new Set(["/.decofile","/live/_meta"]),J26=["clone","install","start"]});var K26=($)=>{let X=new m4;if(X.use("*",qt),X.route("/",kh1()),X.route("/",Uu1()),X.route("/",Hu1({kvStorage:$.kvStorage})),X.route("/",hA6()),X.route("/sandbox",Z26()),X.route("/",mA6()),X.route("/deco-sites",vh1()),X.route("/sso",Zh1()),X.route("/",wu1({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),X.route("/webhooks",$P6()),$.mountDevAssets)X.route("/dev-assets",_h1({orgFromPath:!0}));return X.use("/mcp/:connectionId?",$.mcpAuth),X.use("/mcp/gateway/:virtualMcpId?",$.mcpAuth),X.use("/mcp/virtual-mcp/:virtualMcpId?",$.mcpAuth),X.use("/mcp/self",$.mcpAuth),X.route("/",g96()),X.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),X.route("/mcp",q21()),X.route("/mcp/self",Fu1()),X.route("/mcp",T21()),X.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),X.post("/events/:type",$.eventsHandler),X.get("/watch",$.watchHandler),X};var H26=D(()=>{d5();XI0();XP6();ZI0();bh1();eV0();uA6();qM0();XY1();tT0();V21();AM0();lA6();TM0();VM0();A21();W26()});async function $89($,X){try{return!await $.alive(X)}catch(Y){return console.warn(`[vm-events] alive probe failed for ${X}; assuming alive: ${Y instanceof Error?Y.message:String(Y)}`),!1}}async function X89($){let{ctx:X,runner:Y,claimName:G,userId:Q,projectRef:J,sandboxProviderKind:Z}=$;try{await Y.delete(G)}catch(W){console.warn(`[vm-events] runner.delete failed for ${G}: ${W instanceof Error?W.message:String(W)}`)}try{await new HP(X.db).delete({userId:Q,projectRef:J},Z)}catch(W){console.warn(`[vm-events] sandbox_runner_state delete failed for ${Q}/${J}/${Z}: ${W instanceof Error?W.message:String(W)}`)}}async function Y89($){let{stream:X,claimName:Y,runner:G,signal:Q}=$;return new Promise((J)=>{let Z=!1,W=!1,K=null,F=(B)=>{if(Z)return;Z=!0,clearTimeout(U),Q.removeEventListener("abort",w),K?.unsubscribe(),J(B)},U=setTimeout(()=>{if(W||Z)return;X.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),F(!1)},s$9),w=()=>F(!1);Q.addEventListener("abort",w,{once:!0}),K=I71(G,Y,(B)=>{if(Z)return;if(B.kind!=="claiming")W=!0;if(X.writeSSE({event:"phase",data:JSON.stringify(B)}).catch(()=>{}),B.kind==="ready")F(!0);else if(B.kind==="failed")F(!1)})})}async function G89($){let{stream:X,runner:Y,claimName:G,signal:Q}=$,J=Date.now(),Z=null;while(!Q.aborted){let K=null;try{K=await Y.proxyDaemonRequest(G,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Q})}catch(F){if(Q.aborted)return;if(Date.now()-J<F26){await w26(U26,Q);continue}let U=F instanceof Error?F.message:String(F);await X.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${U}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-J<F26){await w26(U26,Q);continue}await X.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await X.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}Z=K;break}if(!Z||!Z.body)return;let W=Z.body.getReader();try{while(!Q.aborted){let{value:K,done:F}=await W.read();if(F)break;if(K)await X.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}function w26($,X){return new Promise((Y)=>{if(X.aborted){Y();return}let G=setTimeout(()=>{X.removeEventListener("abort",Q),Y()},$),Q=()=>{clearTimeout(G),Y()};X.addEventListener("abort",Q,{once:!0})})}var s$9=90000,e$9=15000,B26=()=>{let $=new m4;return $.get("/",async(X)=>{let Y=X.var.meshContext;try{X0(Y)}catch{return X.json({error:"Unauthorized"},401)}let G=W6(Y);if(!G)return X.json({error:"Unauthorized"},401);let Q;try{Q=n1(Y)}catch{return X.json({error:"Organization scope required"},403)}let J=X.req.query("virtualMcpId"),Z=X.req.query("branch");if(!J||!Z)return X.json({error:"virtualMcpId and branch are required"},400);let W=await Y.storage.virtualMcps.findById(J);if(!W||W.organization_id!==Q.id)return X.json({error:"Virtual MCP not found"},404);let K=WP({orgId:Q.id,virtualMcpId:J,branch:Z}),F=Nu1({userId:G,projectRef:K},Z),U=W.metadata??null,w,B=null,N=null;try{let L=await bD(Y,{userId:G,branch:Z,virtualMcpMetadata:U});w=L.provider,B=L.kind}catch(L){N=L instanceof Error?L:Error(String(L)),w=null}let z=B&&KP(WH(U),G,Z,B),O=!!z&&z.sandboxHandle===F;if(!w)return UH(X,async(L)=>{await L.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:N?.message??"No sandbox runner configured on this mesh."})})});return X.header("X-Accel-Buffering","no"),X.header("Content-Encoding","identity"),UH(X,async(L)=>{let j=new AbortController,P=setInterval(()=>{L.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(P)})},e$9);L.onAbort(()=>{j.abort(),clearInterval(P)});try{if(O&&B){if(await $89(w,F)){await X89({ctx:Y,runner:w,claimName:F,userId:G,projectRef:K,sandboxProviderKind:B}),await L.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await Y89({stream:L,claimName:F,runner:w,signal:j.signal})||j.signal.aborted)return;await G89({stream:L,runner:w,claimName:F,signal:j.signal})}finally{clearInterval(P)}})}),$},F26=60000,U26=500;var N26=D(()=>{d5();th();f3();SM0();VP();M71();AT1();MD()});function kB($,X="invalid_request_error",Y=null,G=null){return{error:{message:$,type:X,param:Y,code:G}}}function w89($){if(!$)return null;let X=$.indexOf(":");if(X===-1)return{credentialId:null,modelId:$};let Y=$.substring(0,X),G=$.substring(X+1);if(!Y||!G)return null;return{credentialId:Y,modelId:G}}function B89($,X,Y){try{return JSON.parse($)}catch{throw new O26(`Invalid JSON in tool call arguments for function '${Y}' (tool_call_id: ${X}): ${$}`)}}function N89($){let X={};for(let Y of $)if(Y.role==="assistant"&&Y.tool_calls)for(let G of Y.tool_calls)X[G.id]=G.function.name;return $.map((Y)=>{switch(Y.role){case"system":return{role:"system",content:Y.content};case"user":if(typeof Y.content==="string")return{role:"user",content:Y.content};return{role:"user",content:Y.content.map((Q)=>{if(Q.type==="text")return{type:"text",text:Q.text};return{type:"image",image:Q.image_url.url}})};case"assistant":if(Y.tool_calls&&Y.tool_calls.length>0)return{role:"assistant",content:Y.tool_calls.map((Q)=>({type:"tool-call",toolCallId:Q.id,toolName:Q.function.name,input:B89(Q.function.arguments,Q.id,Q.function.name)}))};return{role:"assistant",content:Y.content??""};case"tool":let G=X[Y.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:Y.tool_call_id,toolName:G,output:{type:"text",value:Y.content}}]}}})}function z89($){let X=$.map((Y)=>{let G=Y.function.parameters?R3(Y.function.parameters):R3({type:"object",properties:{}});return[Y.function.name,N$({description:Y.function.description,inputSchema:G})]});return Object.fromEntries(X)}function D89($){if(!$)return;return{openai:{response_format:$}}}function O89(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function z26($,X,Y,G,Q,J){let Z={model:$,messages:X,tools:Y,temperature:G.temperature,maxTokens:G.max_tokens,topP:G.top_p,frequencyPenalty:G.frequency_penalty,presencePenalty:G.presence_penalty,stopSequences:G.stop?Array.isArray(G.stop)?G.stop:[G.stop]:void 0,abortSignal:J};return Q?{...Z,providerOptions:Q}:Z}function D26($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var Q89,J89,Z89,W89,K89,H89,F89,U89,O26,L26,E26;var j26=D(()=>{Z5();d5();th();i1();Q89=H.object({type:H.literal("function"),function:H.object({name:H.string(),description:H.string().optional(),parameters:H.record(H.string(),H.unknown()).optional()})}),J89=H.object({id:H.string(),type:H.literal("function"),function:H.object({name:H.string(),arguments:H.string()})}),Z89=H.discriminatedUnion("role",[H.object({role:H.literal("system"),content:H.string(),name:H.string().optional()}),H.object({role:H.literal("user"),content:H.union([H.string(),H.array(H.union([H.object({type:H.literal("text"),text:H.string()}),H.object({type:H.literal("image_url"),image_url:H.object({url:H.string(),detail:H.string().optional()})})]))]),name:H.string().optional()}),H.object({role:H.literal("assistant"),content:H.string().nullable().optional(),name:H.string().optional(),tool_calls:H.array(J89).optional()}),H.object({role:H.literal("tool"),content:H.string(),tool_call_id:H.string()})]),W89=H.object({type:H.literal("text")}),K89=H.object({type:H.literal("json_object")}),H89=H.object({type:H.literal("json_schema"),json_schema:H.object({name:H.string(),description:H.string().optional(),schema:H.record(H.string(),H.unknown()),strict:H.boolean().optional()})}),F89=H.union([W89,K89,H89]),U89=H.object({model:H.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:H.array(Z89),stream:H.boolean().optional().default(!1),temperature:H.number().min(0).max(2).optional(),max_tokens:H.number().positive().optional(),top_p:H.number().min(0).max(1).optional(),frequency_penalty:H.number().min(-2).max(2).optional(),presence_penalty:H.number().min(-2).max(2).optional(),stop:H.union([H.string(),H.array(H.string())]).optional(),tools:H.array(Q89).optional(),tool_choice:H.union([H.literal("auto"),H.literal("none"),H.literal("required"),H.object({type:H.literal("function"),function:H.object({name:H.string()})})]).optional(),response_format:F89.optional(),user:H.string().optional()});O26=class O26 extends Error{constructor($){super($);this.name="MessageConversionError"}};L26=new m4;L26.post("/:org/v1/chat/completions",async($)=>{let X=$.get("meshContext"),Y=$.req.param("org");try{if(!X.auth.apiKey?.id)return $.json(kB("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!X.organization)return $.json(kB("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((X.organization.slug??X.organization.id)!==Y)return $.json(kB("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let G=await $.req.json(),Q=U89.safeParse(G);if(!Q.success){let L=Q.error.issues[0]??{message:"Invalid request",path:[]};return $.json(kB(`Invalid request: ${L.message}`,"invalid_request_error",L.path.length>0?L.path.join("."):null),400)}let J=Q.data,Z=w89(J.model);if(!Z)return $.json(kB("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=Z,{modelId:K}=Z;if(!W){let L=await X.storage.aiProviderKeys.list({organizationId:X.organization.id});if(L.length===0)return $.json(kB("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=L[0].id}let F;try{F=await X.aiProviders.activate(W,X.organization.id)}catch{return $.json(kB(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let U=F.aiSdk.languageModel(K),w=N89(J.messages),B=J.tools?z89(J.tools):void 0,N=D89(J.response_format),z=O89(),O=Math.floor(Date.now()/1000);if(J.stream)return UH($,async(L)=>{let j=z26(U,w,B,J,N,$.req.raw.signal);try{let P=JH(j),V=!1,M=0;for await(let T of P.fullStream){if(!V&&(T.type==="text-delta"||T.type==="tool-call"))await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),V=!0;if(T.type==="text-delta")await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{content:T.text},finish_reason:null}]})});else if(T.type==="tool-call"){let R=M++;await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{tool_calls:[{index:R,id:T.toolCallId,type:"function",function:{name:T.toolName,arguments:JSON.stringify(T.input)}}]},finish_reason:null}]})})}else if(T.type==="finish")await L.writeSSE({data:JSON.stringify({id:z,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:D26(T.finishReason)}],usage:T.totalUsage?{prompt_tokens:T.totalUsage.inputTokens??0,completion_tokens:T.totalUsage.outputTokens??0,total_tokens:T.totalUsage.totalTokens??0}:void 0})})}await L.writeSSE({data:"[DONE]"})}catch(P){let V=P;console.error("[openai-compat:stream] Error:",V.message),await L.writeSSE({data:JSON.stringify({error:{message:V.message,type:"server_error"}})})}});else{let L=z26(U,w,B,J,N,$.req.raw.signal),j=await OB(L),P={role:"assistant",content:j.text||null};if(j.toolCalls&&j.toolCalls.length>0)P.tool_calls=j.toolCalls.map((V)=>({id:V.toolCallId,type:"function",function:{name:V.toolName,arguments:JSON.stringify("input"in V?V.input:{})}})),P.content=null;return $.json({id:z,object:"chat.completion",created:O,model:J.model,choices:[{index:0,message:P,finish_reason:D26(j.finishReason)}],usage:{prompt_tokens:j.usage?.inputTokens??0,completion_tokens:j.usage?.outputTokens??0,total_tokens:j.usage?.totalTokens??0}})}}catch(G){let Q=G;if(Q.name==="AbortError")return $.json(kB("Request aborted","invalid_request_error"),400);if(Q.name==="MessageConversionError")return $.json(kB(Q.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Q.message,Q.stack),$.json(kB(Q.message,"server_error"),500)}});E26=L26});function E89(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??L89}}var P26,L89="https://us.i.posthog.com",q26;var A26=D(()=>{d5();KH0();Nt();Cz();I5();iT0();P26=new m4;P26.get("/",($)=>{let X={theme:Gb4(),...YT().logo&&{logo:YT().logo},...fh()&&{internalUrl:iL1()},...f4().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!f4().firecrawlApiKey,auth:wD6(),posthog:E89()};return $.json({success:!0,config:X})});q26=P26});var T26,V26;var I26=D(()=>{d5();tH();C71();Nc();T26=new m4;T26.get("/:org/files/*",async($)=>{let X=$.get("meshContext");if(!X.organization?.id)throw new S6(401,{message:"Organization context required"});let G=$.req.path.replace(/^.*\/files\//,"");if(!G)throw new S6(400,{message:"Missing file key"});let Q=await xh(G,X);if(!Q)throw new S6(503,{message:"Object storage not configured"});if(Q.startsWith("data:")&&rH()){let J=Q.match(/^data:([^;]+);base64,(.+)$/s);if(!J)throw new S6(500,{message:"Invalid data URL from storage"});let[,Z,W]=J,K=Buffer.from(W,"base64");return $.body(K,200,{"Content-Type":Z,"Cache-Control":"private, max-age=86400"})}return $.redirect(Q,302)});V26=T26});var S26={};g6(S26,{shouldSkipMeshContext:()=>vM0,isServerPath:()=>V89,SYSTEM_PATHS:()=>CP});function M26($){return $===CP.HEALTH_LIVE||$===CP.HEALTH_READY||$===CP.METRICS||$.startsWith(ut.WELL_KNOWN)}function R26($){return $.startsWith(ut.API)}function P89($){return $==="/mcp"||$.startsWith(ut.MCP)}function q89($){return $.startsWith(ut.OAUTH_PROXY)}function A89($){return j89.test($)}function T89($){return $.startsWith(ut.ORG)}function V89($){return R26($)||P89($)||q89($)||T89($)||M26($)}function vM0($){return $==="/"||$.startsWith(ut.API_AUTH)||$==="/api/trigger-callback"||M26($)||!R26($)&&A89($)}var CP,ut,j89;var _M0=D(()=>{CP={HEALTH_LIVE:"/health/live",HEALTH_READY:"/health/ready",METRICS:"/metrics"},ut={API:"/api/",API_AUTH:"/api/auth/",MCP:"/mcp/",OAUTH_PROXY:"/oauth-proxy/",WELL_KNOWN:"/.well-known",ORG:"/org/"},j89=/\.(html|css|js|ico|svg|png|jpg|jpeg|gif|webp|woff|woff2)$/});function k26($){let X=$?.connectFn??S89,Y=null,G=null,Q=!1,J=!1,Z=!1,W=[];function K(){return Y!==null&&!Y.isClosed()&&!Y.isDraining()&&!Z}function F(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let B of W)try{B()}catch{}}function U(B){(async()=>{for await(let N of B.status())if(N.type===BG1.Events.Disconnect)console.log("[NatsProvider] Disconnected"),Z=!0;else if(N.type===BG1.Events.Reconnect)console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),Z=!1,G=null,F()})().catch(()=>{})}async function w(B){let N=0;while(!J)try{Y=await X({servers:B,timeout:R89,reconnect:!0,maxReconnectAttempts:-1}),console.log(`[NatsProvider] Connected to ${Y.getServer()} after ${N} attempt(s)`),G=null,Z=!1,U(Y),F();return}catch{N++;let O=Math.min(I89*2**(N-1),M89)*(0.5+Math.random()*0.5);await k89(O)}}return{init(B){if(Q)return;Q=!0,J=!1,w(B).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?Y:null},getJetStream(){if(!K())return null;if(!G)G=Y.jetstream();return G},onReady(B){if(W.push(B),K())try{B()}catch{}},async drain(){if(J=!0,Q=!1,G=null,Z=!1,Y){let B=Y;Y=null,await B.drain().catch(()=>{})}}}}function S89($){return BG1.connect($)}function k89($){return new Promise((X)=>setTimeout(X,$))}var BG1,I89=100,M89=3000,R89=3000;var C26=D(()=>{BG1=G1(tT(),1)});function bM0($,X){return`${$}.${X}`}class fM0{options;kv=null;codec=zu1.JSONCodec();constructor($){this.options=$}async init(){let $=this.options.getJetStream();if(!$)return;this.kv=await $.views.kv(C89,{ttl:v89,storage:zu1.StorageType.Memory})}async get($,X){if(!this.kv)return null;try{let Y=bM0($,X),G=await this.kv.get(`models.${Y}`);if(!G?.value?.length)return null;if(G.operation==="DEL"||G.operation==="PURGE")return null;return this.codec.decode(G.value)}catch{return null}}async set($,X,Y){if(!this.kv)return;try{let G=bM0($,X);await this.kv.put(`models.${G}`,this.codec.encode(Y))}catch(G){console.warn("[ModelListCache] set failed:",G)}}async invalidate($,X){if(!this.kv)return;try{let Y=bM0($,X);await this.kv.delete(`models.${Y}`)}catch{}}teardown(){this.kv=null}}var zu1,C89="MESH_MODEL_LISTS",v89=600000;var v26=D(()=>{zu1=G1(tT(),1)});class yM0{options;sub=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.sub)return;if(!this.onCancel)return;let X=this.options.getConnection();if(!X)return;this.sub=X.subscribe("mesh.decopilot.cancel");let Y=new TextDecoder;(async()=>{for await(let G of this.sub)try{let Q=JSON.parse(Y.decode(G.data));if(Q.originId===this.originId)continue;this.onCancel?.(Q.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let X=this.options.getConnection();if(!X)return;X.publish("mesh.decopilot.cancel",this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId})))}catch(X){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",X)}}async stop(){this.sub?.unsubscribe(),this.sub=null,this.onCancel=null}}function y89($){if(/[.*>\s]/.test($))throw Error("Invalid NATS subject token")}function xM0($){return y89($),`${_26}.${$}`}function x89($){let X=0;return{publish(Y,G,Q){Y.publish(G,Q).catch((J)=>{if(X++,X===1||X%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${X} total):`,J)})},get errorCount(){return X}}}class gM0{options;js=null;jsm=null;encoder=new TextEncoder;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$)return;let X=await $.jetstreamManager(),Y={name:Du1,subjects:[`${_26}.>`],storage:BU.StorageType.Memory,max_age:_89,max_bytes:b89,max_msgs_per_subject:f89,discard:BU.DiscardPolicy.Old,retention:BU.RetentionPolicy.Limits,num_replicas:1};try{await X.streams.info(Du1),await X.streams.update(Du1,Y)}catch(G){if(G instanceof Error&&G.message.includes("stream not found"))await X.streams.add(Y);else throw G}this.js=this.options.getJetStream(),this.jsm=X}pump($,X,Y){let G=this.js;if(!G)return;let Q=xM0(X),J=x89(X),Z=this.encoder,W=!1,K=()=>{if(W)return;W=!0,G.publish(Q,Z.encode(JSON.stringify({done:!0}))).catch(()=>{})};Y.addEventListener("abort",K,{once:!0}),(async()=>{let F=$.getReader();try{while(!0){let{done:U,value:w}=await F.read();if(U)break;J.publish(G,Q,Z.encode(JSON.stringify({p:w})))}}catch(U){console.warn(`[Decopilot] stream pump error for thread ${X}:`,U?.message??U)}finally{F.releaseLock(),K()}})()}async createTailStream($,X,Y){let G=this.js;if(!G)return null;let Q=Y?.deliverPolicy==="new"?BU.DeliverPolicy.New:BU.DeliverPolicy.All,J=Y?.closeOnDone??!1,Z=xM0($),W;try{W=await G.subscribe(Z,{ordered:!0,config:{filter_subject:Z,ack_policy:BU.AckPolicy.None,deliver_policy:Q}})}catch(B){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",B?.message??B),null}let K=new TextDecoder,F=async function*(){for await(let B of W)yield B}(),U=!1,w=()=>{if(U)return;U=!0,W.unsubscribe(),F.return(void 0).catch(()=>{})};return X?.addEventListener("abort",w,{once:!0}),new ReadableStream({async pull(B){while(!0){let N=await F.next();if(N.done){w(),B.close();return}let z=N.value;try{let O=JSON.parse(K.decode(z.data));if(O.done){if(J){w(),B.close();return}continue}if(O.p){B.enqueue(O.p);return}}catch{}}},cancel(){w()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(Du1,{filter:xM0($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var BU,Du1="DECOPILOT_STREAMS",_26="decopilot.stream",_89=300000000000,b89=524288000,f89=20000;var b26=D(()=>{BU=G1(tT(),1)});function y26($){let X=$.ttlSeconds??f26,Y=0,G=()=>$.nowSeconds()+Y,Q=new Map;return{async get(J){let Z=Q.get(J);if(!Z)return null;if(Z.expiresAt<=G())return Q.delete(J),null;return Z.entry},async put(J,Z){Q.set(J,{entry:Z,expiresAt:G()+X})},async delete(J){Q.delete(J)},advanceNow(J){Y+=J}}}class hM0{options;kv=null;codec=Ou1.JSONCodec();ttl;constructor($){this.options=$;this.ttl=$.ttlSeconds??f26}async init(){let $=this.options.getJetStream();if(!$)return;this.kv=await $.views.kv(g89,{history:1,ttl:this.ttl*1000,storage:Ou1.StorageType.Memory})}async get($){if(!this.kv)return null;try{let X=await this.kv.get($);if(!X?.value)return null;if(X.operation==="DEL"||X.operation==="PURGE")return null;if(Date.now()-X.created.getTime()>this.ttl*1000)return null;return this.codec.decode(X.value)}catch{return null}}async put($,X){if(!this.kv)return;await this.kv.put($,this.codec.encode(X))}async delete($){if(!this.kv)return;try{await this.kv.delete($)}catch{}}}var Ou1,g89="LINKS",f26=30;var x26=D(()=>{Ou1=G1(tT(),1)});import{randomBytes as h89,timingSafeEqual as u89}from"crypto";function m89($){return`https://link-${$.toLowerCase()}.deco.host`}function g26($,X){if($.length!==X.length)return!1;return u89(Buffer.from($,"utf8"),Buffer.from(X,"utf8"))}function l89($){try{return new URL($).hostname==="localhost"}catch{return!1}}function h26($,X){$.post("/api/links",async(Y)=>{let G=X.getAuthenticatedUserSub(Y);if(!G)throw new S6(401,{message:"no session"});let Q;try{Q=await Y.req.json()}catch{throw new S6(400,{message:"invalid json"})}let J=Jz6.safeParse(Q);if(!J.success)throw new S6(400,{message:J.error.message});let Z=J.data;if(!Fz6(Z.protocolVersion))return Y.json({code:"upgrade_required",requiredVersion:Hz6,installHint:"bunx decocms@latest link"},426);let W=(()=>{if(Z.tunnelUrl&&l89(Z.tunnelUrl)&&X.allowLocalhostLinks)return Z.tunnelUrl;return m89(G)})(),K=await X.linkRegistry.get(G);if(K&&K.machineId!==Z.machineId)return Y.json({code:"another_machine_active",activeMachineId:K.machineId},409);let F=h89(32).toString("base64url"),U={machineId:Z.machineId,...Z.hostname?{hostname:Z.hostname}:{},tunnelUrl:W,linkSecret:F,cliVersion:Z.cliVersion,protocolVersion:Z.protocolVersion,capabilities:Z.capabilities,createdAt:K?.createdAt??new Date().toISOString()};return await X.linkRegistry.put(G,U),Y.json({linkSecret:F})}),$.post("/api/links/heartbeat",async(Y)=>{let G=Y.req.header("x-mesh-user-sub");if(!G)throw new S6(400,{message:"missing X-Mesh-User-Sub"});let Q=Y.req.header("x-link-secret");if(!Q)throw new S6(401,{message:"missing X-Link-Secret"});let J=await X.linkRegistry.get(G);if(!J)throw new S6(401,{message:"no link"});if(!g26(J.linkSecret,Q))throw new S6(401,{message:"bad secret"});return await X.linkRegistry.put(G,J),Y.body(null,204)}),$.delete("/api/links/me",async(Y)=>{let G=Y.req.header("x-mesh-user-sub");if(!G)throw new S6(400,{message:"missing X-Mesh-User-Sub"});let Q=Y.req.header("x-link-secret");if(!Q)throw new S6(401,{message:"missing X-Link-Secret"});let J=await X.linkRegistry.get(G);if(!J)return Y.body(null,204);if(!g26(J.linkSecret,Q))throw new S6(401,{message:"bad secret"});return await X.linkRegistry.delete(G),Y.body(null,204)}),$.get("/api/links/me",async(Y)=>{let G=X.getAuthenticatedUserSub(Y);if(!G)throw new S6(401,{message:"no session"});let Q=await X.linkRegistry.get(G);if(!Q)return Y.json({status:"offline"});return Y.json({status:"online",capabilities:Q.capabilities,machineId:Q.machineId,cliVersion:Q.cliVersion,currentProtocolVersion:Kz6,reportedProtocolVersion:Q.protocolVersion})})}var u26=D(()=>{og1();tH()});function m26($,X){switch($.type){case"START":{let Y={type:"RUN_STARTED",taskId:$.taskId,orgId:$.orgId,userId:$.userId,abortController:$.abortController,runConfig:$.runConfig,podId:$.podId};if(X?.status.tag==="running")return[{type:"PREVIOUS_RUN_ABORTED",taskId:$.taskId,orgId:X.orgId},Y];return[Y]}case"STEP_DONE":{if(X?.status.tag!=="running")return[];return[{type:"STEP_COMPLETED",taskId:$.taskId,orgId:X.orgId,stepCount:X.status.stepCount+1}]}case"FINISH":{if(X==null||X.status.tag!=="running")return[];let{stepCount:Y}=X.status;if($.threadStatus==="completed")return[{type:"RUN_COMPLETED",taskId:$.taskId,orgId:X.orgId,stepCount:Y}];if($.threadStatus==="requires_action")return[{type:"RUN_REQUIRES_ACTION",taskId:$.taskId,orgId:X.orgId,stepCount:Y}];return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X.orgId,reason:"error"}]}case"CANCEL":{if(X?.status.tag!=="running")return[];return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X.orgId,reason:"cancelled"}]}case"RESUME":{if(X?.status.tag==="running")return[];return[{type:"RUN_RESUMED",taskId:$.taskId,orgId:$.orgId,userId:$.userId,abortController:$.abortController,podId:$.podId}]}case"FORCE_FAIL":{if($.reason==="ghost")return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X?.orgId??$.orgId,reason:$.reason}];if(X?.status.tag!=="running")return[];return[{type:"RUN_FAILED",taskId:$.taskId,orgId:X.orgId,reason:$.reason}]}}}function l26($,X,Y=new Date){switch(X.type){case"RUN_STARTED":return{taskId:X.taskId,orgId:X.orgId,userId:X.userId,status:{tag:"running",abortController:X.abortController,stepCount:0,startedAt:Y}};case"RUN_RESUMED":return{taskId:X.taskId,orgId:X.orgId,userId:X.userId,status:{tag:"running",abortController:X.abortController,stepCount:0,startedAt:Y}};case"STEP_COMPLETED":if($?.status.tag!=="running")return $;return{...$,status:{...$.status,stepCount:X.stepCount}};case"RUN_COMPLETED":return;case"RUN_REQUIRES_ACTION":return;case"RUN_FAILED":return;case"PREVIOUS_RUN_ABORTED":return}}async function c26($,X,Y,G){let{storage:Q,streamBuffer:J,sseHub:Z}=G,W=await Q.get($,X);await Q.update($,X,{status:Y,run_owner_pod:null,run_config:null,run_started_at:null}),J.purge($),Z.emit(X,vN($,Y,{virtualMcpId:W?.virtual_mcp_id??void 0,createdBy:W?.created_by,triggerId:W?.trigger_id,title:W?.title,branch:W?.branch??null,createdAt:W?.created_at,updatedAt:W?.updated_at})),Z.emit(X,B01($,Y))}async function c89($,X){let{storage:Y,streamBuffer:G,sseHub:Q}=X;switch($.type){case"RUN_STARTED":{if(!await Y.claimRunStart($.taskId,$.orgId,{status:"in_progress",run_owner_pod:$.podId??null,run_config:$.runConfig??null,run_started_at:$.podId?new Date().toISOString():null},$.podId??null))throw new d26($.taskId);let Z=await Y.get($.taskId,$.orgId);Q.emit($.orgId,vN($.taskId,"in_progress",{virtualMcpId:Z?.virtual_mcp_id??void 0,createdBy:Z?.created_by,triggerId:Z?.trigger_id,title:Z?.title,branch:Z?.branch??null,createdAt:Z?.created_at,updatedAt:Z?.updated_at}));return}case"RUN_RESUMED":{await Y.update($.taskId,$.orgId,{run_owner_pod:$.podId,run_started_at:new Date().toISOString()});let J=await Y.get($.taskId,$.orgId);Q.emit($.orgId,vN($.taskId,"in_progress",{virtualMcpId:J?.virtual_mcp_id??void 0,createdBy:J?.created_by,triggerId:J?.trigger_id,title:J?.title,branch:J?.branch??null,createdAt:J?.created_at,updatedAt:J?.updated_at}));return}case"STEP_COMPLETED":Q.emit($.orgId,XB1($.taskId,$.stepCount));return;case"RUN_COMPLETED":await c26($.taskId,$.orgId,"completed",X);return;case"RUN_REQUIRES_ACTION":await c26($.taskId,$.orgId,"requires_action",X);return;case"RUN_FAILED":{if($.reason==="ghost"){if(!await Y.forceFailIfInProgress($.taskId,$.orgId))return;await Y.update($.taskId,$.orgId,{run_owner_pod:null,run_config:null,run_started_at:null})}else await Y.update($.taskId,$.orgId,{status:"failed",run_owner_pod:null,run_config:null,run_started_at:null});G.purge($.taskId);let J=await Y.get($.taskId,$.orgId);Q.emit($.orgId,vN($.taskId,"failed",{virtualMcpId:J?.virtual_mcp_id??void 0,createdBy:J?.created_by,triggerId:J?.trigger_id,title:J?.title,branch:J?.branch??null,createdAt:J?.created_at,updatedAt:J?.updated_at})),Q.emit($.orgId,B01($.taskId,"failed"));return}case"PREVIOUS_RUN_ABORTED":return}}async function i26($,X){for(let{event:Y}of $)await c89(Y,X)}var d26;var p26=D(()=>{f$();d26=class d26 extends Error{constructor($){super(`Failed to claim run for thread ${$} \u2014 already running on another pod`);this.name="RunClaimError"}}});class uM0{deps;podId;clock;states=new Map;reaperTimer=null;constructor($,X,Y=()=>new Date){this.deps=$;this.podId=X;this.clock=Y;this.reaperTimer=setInterval(()=>this.reapStaleRuns(),d89)}async execute($){let X=this.dispatch($);return await this.react(X),X}dispatch($){let X=this.states.get($.taskId),Y=m26($,X),G=[];for(let Q of Y){let J=this.states.get(Q.taskId);if(Q.type==="PREVIOUS_RUN_ABORTED"||Q.type==="RUN_FAILED"){if(J?.status.tag==="running")J.status.abortController.abort()}let Z=l26(J,Q,this.clock());if(Z===void 0)this.states.delete(Q.taskId);else this.states.set(Q.taskId,Z);if(G.push({event:Q,state:Z}),p89.has(Q.type))n26.add(1,{"org.id":Q.orgId});else if(n89.has(Q.type)&&J?.status.tag==="running")n26.add(-1,{"org.id":Q.orgId})}return G}react($){return i26($,this.deps)}getAbortSignal($){let X=this.states.get($);if(X?.status.tag==="running")return X.status.abortController.signal;return null}isRunning($){return this.states.get($)?.status.tag==="running"}async stopAll(){try{await this.deps.storage.orphanRunsByPod(this.podId)}catch($){console.error("[RunRegistry] Failed to orphan runs in DB:",$)}for(let[,$]of this.states)if($.status.tag==="running")$.status.abortController.abort();this.states.clear()}async recoverOrphanedRuns($){let X=await this.deps.storage.listOrphanedRuns(this.podId);if(X.length===0)return;let Y=5;for(let G=0;G<X.length;G+=Y){let Q=X.slice(G,G+Y);await Promise.allSettled(Q.map(async(J)=>{if(!await this.deps.storage.claimOrphanedRun(J.id,J.organization_id,this.podId))return;try{await $(J)}catch(W){console.error(`[RunRegistry] Failed to resume ${J.id}:`,W),await this.deps.storage.forceFailIfInProgress(J.id,J.organization_id).catch(()=>{})}}))}}async handlePodDeath($,X,Y){let G=await this.deps.storage.listOrphanedRunsByPod($);if(G.length===0)return;for(let J of G)Y?.broadcast(J.id);let Q=5;for(let J=0;J<G.length;J+=Q){let Z=G.slice(J,J+Q);await Promise.allSettled(Z.map(async(W)=>{if(this.isRunning(W.id))return;if(!await this.deps.storage.claimOrphanedRun(W.id,W.organization_id,this.podId))return;try{await X(W)}catch(F){console.error(`[RunRegistry] Failed to resume ${W.id}:`,F),await this.deps.storage.forceFailIfInProgress(W.id,W.organization_id).catch(()=>{})}}))}}dispose(){if(this.reaperTimer)clearInterval(this.reaperTimer),this.reaperTimer=null}reapStaleRuns(){let $=this.clock().getTime();for(let[X,Y]of this.states)if(Y.status.tag==="running"&&$-Y.status.startedAt.getTime()>i89)console.warn(`[RunRegistry] Reaping stale run for thread ${X} ...`),this.execute({type:"FORCE_FAIL",taskId:X,reason:"reaped"}).catch((G)=>{console.error("[RunRegistry] Reaper execute failed",G)})}}var d89=300000,i89=1800000,p89,n89,n26;var r26=D(()=>{p26();kW();p89=new Set(["RUN_STARTED","RUN_RESUMED"]),n89=new Set(["RUN_COMPLETED","RUN_FAILED","RUN_REQUIRES_ACTION","PREVIOUS_RUN_ABORTED"]),n26=qH.createUpDownCounter("decopilot.stream.inflight",{description:"Number of in-flight decopilot stream requests",unit:"{requests}"})});class mM0{storage;options;timer=null;constructor($,X={}){this.storage=$;this.options=X}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let X=await this.storage.sweepAbandoned($);if(X>0)console.log(`[async-research-sweeper] marked ${X} stale jobs as abandoned`);return X}catch(X){return console.error("[async-research-sweeper] sweep failed",X),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}import{readdir as r89,rm as Lu1}from"fs/promises";import{join as Eu1}from"path";async function ju1($){let X=new Date;X.setUTCDate(X.getUTCDate()-t89),X.setUTCHours(0,0,0,0);let Y=0;try{let G=await ah($);for(let Q of G)if(/^\d{4}$/.test(Q))Y+=await t26($,Q,X);else if(!Q.startsWith(".")){let J=Eu1($,Q),Z=await ah(J);for(let K of Z){if(!/^\d{4}$/.test(K))continue;Y+=await t26(J,K,X)}if((await ah(J)).length===0)await Lu1(J,{recursive:!0,force:!0})}}catch(G){console.warn("monitoring retention cleanup failed:",G)}return Y}async function t26($,X,Y){let G=0,Q=Eu1($,X),J=await ah(Q);for(let W of J){if(!/^\d{2}$/.test(W))continue;let K=Eu1(Q,W),F=await ah(K);for(let w of F){if(!/^\d{2}$/.test(w))continue;let B=new Date(`${X}-${W}-${w}T00:00:00Z`);if(isNaN(B.getTime()))continue;if(B<Y){let N=Eu1(K,w);await Lu1(N,{recursive:!0,force:!0}),G++}}if((await ah(K)).length===0)await Lu1(K,{recursive:!0,force:!0})}if((await ah(Q)).length===0)await Lu1(Q,{recursive:!0,force:!0});return G}async function ah($){try{return(await r89($)).filter((Y)=>!Y.startsWith("."))}catch{return[]}}var t89=30;var lM0=()=>{};import{DBOS as cM0,SchedulerMode as a89}from"@dbos-inc/dbos-sdk";async function s89(){let $=[NH(),wu(),fB()],X=0;for(let Y of $)try{X+=await ju1(Y)}catch(G){console.error("[monitoring-retention] cleanup failed:",G)}return console.log(`[monitoring-retention] deleted ${X} day-dir(s) across ${$.length} signal dir(s)`),{deleted:X,dirs:$.length}}async function e89($,X){await cM0.runStep(()=>s89(),{name:"monitoringRetention"})}function o26(){if(a26)return;a26=!0;let $=cM0.registerWorkflow(e89,{name:"monitoringRetentionWorkflow"});cM0.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:o89,mode:a89.ExactlyOncePerIntervalWhenActive})}var o89="23 4 * * *",a26=!1;var s26=D(()=>{CW();lM0()});function zG1($){return{...$,title:$.title??$.id}}function $T6($){return{credentialId:$.credentialId,thinking:zG1($.thinking),...$.coding&&{coding:zG1($.coding)},...$.fast&&{fast:zG1($.fast)},...$.image&&{image:zG1($.image)},...$.deepResearch&&{deepResearch:zG1($.deepResearch)}}}var NG1,$99,e26;var XT6=D(()=>{i1();NG1=H.object({id:H.string(),title:H.string().optional(),capabilities:H.object({vision:H.boolean().optional(),text:H.boolean().optional(),tools:H.boolean().optional(),reasoning:H.boolean().optional(),file:H.boolean().optional()}).passthrough().optional(),limits:H.object({contextWindow:H.number().optional(),maxOutputTokens:H.number().optional()}).passthrough().optional(),provider:H.string().nullish()}),$99=H.object({models:H.object({credentialId:H.string(),thinking:NG1,coding:NG1.optional(),fast:NG1.optional(),image:NG1.optional(),deepResearch:NG1.optional()}),agent:H.object({id:H.string()}),temperature:H.number(),toolApprovalLevel:H.enum(["auto","readonly","plan"]).optional(),mode:H.enum(["default","plan","web-search","gen-image"]).optional(),windowSize:H.number().optional(),triggerId:H.string().optional()}),e26=$99.transform(($)=>{let X=$.mode??"default",Y="auto";if($.toolApprovalLevel==="plan")X="plan",Y="readonly";else if($.toolApprovalLevel==="readonly")Y="readonly";else if($.toolApprovalLevel==="auto")Y="auto";return{models:$.models,agent:$.agent,temperature:$.temperature,toolApprovalLevel:Y,mode:X,windowSize:$.windowSize,triggerId:$.triggerId}})});class dM0{deps;kv=null;podId=null;refreshTimer=null;watchAbortController=null;initPromise=null;pendingDeathCallback=null;constructor($){this.deps=$}async init(){if(this.watchAbortController)this.watchAbortController.abort(),this.watchAbortController=null;if(this.refreshTimer)clearInterval(this.refreshTimer),this.refreshTimer=null;this.kv=null,this.initPromise=null;let $=this.deps.getJetStream();if(!$)return;return this.initPromise=$.views.kv(X99,{ttl:Y99,storage:YT6.StorageType.Memory}).then((X)=>{this.kv=X}).catch((X)=>{throw this.initPromise=null,X}),this.initPromise}start($){if(!this.kv)return;if(this.refreshTimer)return;if(this.podId=$,this.kv.put($,new TextEncoder().encode(new Date().toISOString())),this.refreshTimer=setInterval(()=>{this.kv?.put($,new TextEncoder().encode(new Date().toISOString())).catch((X)=>{console.error("[PodHeartbeat] Refresh failed:",X)})},G99),this.pendingDeathCallback)this.startDeathWatcher(this.pendingDeathCallback),this.pendingDeathCallback=null}onPodDeath($){if(!this.kv){this.pendingDeathCallback=$;return}this.startDeathWatcher($)}startDeathWatcher($){if(!this.kv)return;this.watchAbortController=new AbortController;let X=this.kv,Y=this.podId,G=this.watchAbortController.signal;(async()=>{while(!G.aborted)try{let J=await X.watch({initializedFn:()=>{}});for await(let Z of J){if(G.aborted)break;if(Z.operation==="DEL"||Z.operation==="PURGE"){let W=Z.key;if(W!==Y)$(W)}}}catch(J){if(G.aborted)break;console.error("[PodHeartbeat] Watcher error, reconnecting in 1s:",J),await new Promise((Z)=>setTimeout(Z,1000))}})().catch((J)=>{if(!G.aborted)console.error("[PodHeartbeat] Watcher loop failed:",J)})}async stop(){if(this.refreshTimer)clearInterval(this.refreshTimer),this.refreshTimer=null;if(this.kv&&this.podId)try{await this.kv.delete(this.podId)}catch{}if(this.watchAbortController)this.watchAbortController.abort(),this.watchAbortController=null;this.kv=null,this.podId=null,this.initPromise=null,this.pendingDeathCallback=null}}var YT6,X99="POD_HEARTBEATS",Y99=45000,G99=1e4;var GT6=D(()=>{YT6=G1(tT(),1)});class iM0{db;constructor($){this.db=$}async get($,X){let Y=await this.db.selectFrom("kv").select("value").where("organization_id","=",$).where("key","=",X).executeTakeFirst();if(!Y)return null;return Y.value}async set($,X,Y){await this.db.insertInto("kv").values({organization_id:$,key:X,value:JSON.stringify(Y),updated_at:new Date().toISOString()}).onConflict((G)=>G.columns(["organization_id","key"]).doUpdateSet({value:JSON.stringify(Y),updated_at:new Date().toISOString()})).execute()}async delete($,X){await this.db.deleteFrom("kv").where("organization_id","=",$).where("key","=",X).execute()}}function QT6($){return async(X,Y)=>{let G=await $.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",Y).where("member.organizationId","=",X).executeTakeFirst();if(!G)return console.warn(`[automationContextFactory] User ${Y} not found in org ${X} \u2014 returning null`),null;let Q=await $U.create();Q.auth.user={id:Y,role:G.role},Q.organization={id:G.orgId,slug:G.orgSlug,name:G.orgName};let J=await HE0($.db,X,G.role);return Q.boundAuth=KE0({auth:Q.authInstance,headers:new Headers,role:G.role,permissions:J,userId:Y}),Q.access=new PV(Q.authInstance,Y,void 0,Q.boundAuth,G.role,"self"),Q.storage.threads=new c51($.threadStorage,G.orgId),Q.storage.asyncResearchJobs=new i51($.asyncResearchJobStorage,G.orgId),Q}}var JT6=D(()=>{dq1();sX1();$A1();YA1()});function J99(){for(let $ of Q99)$()}function ZT6($){let X=[...pM0.logs,$];pM0={...pM0,logs:X.length>500?X.slice(-500):X},J99()}function nM0(){return Z99}var pM0,Q99,Z99=!1;var rM0=D(()=>{pM0={services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,env:null,logs:[],viewMode:"requests",logFlow:!1,vibe:!1,dataDir:null},Q99=new Set});import{EventEmitter as W99}from"events";var tM0;var WT6=D(()=>{rM0();tM0=new W99;tM0.on("request",($)=>{ZT6($)})});function KT6(){return async($,X)=>{let Y=Date.now(),G=$.req.method,Q=$.req.path;if(Q==="/api/auth/get-session"||Q.includes("favicon")){await X();return}let J="",Z=!1;if(Q.startsWith("/mcp")&&G==="POST"){Z=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let B=await $.req.raw.clone().json();if(B.method==="tools/call"&&B.params?.name){let N=pD(B.params.name),z=B.params.arguments||{};if(N==="EVENT_PUBLISH"&&z.type){let O=pD(String(z.type));J=`${W8.tool}EVENT_PUBLISH${W8.reset} ${W8.bold}\u2192 ${O}${W8.reset}`}else if(N==="EVENT_SUBSCRIBE"&&z.eventType){let O=pD(String(z.eventType));J=`${W8.tool}EVENT_SUBSCRIBE${W8.reset} ${W8.bold}\u2190 ${O}${W8.reset}`}else if(N==="EVENT_UNSUBSCRIBE"&&z.eventType){let O=pD(String(z.eventType));J=`${W8.tool}EVENT_UNSUBSCRIBE${W8.reset} ${W8.dim}\u2715 ${O}${W8.reset}`}else{let O=Object.keys(z).map((j)=>pD(j)),L=O.length>0?O.slice(0,3).join(",")+(O.length>3?"\u2026":""):"";J=`${W8.tool}${N}${W8.dim}(${L})${W8.reset}`}}else if(B.method)J=`${W8.dim}${pD(B.method)}${W8.reset}`}}catch{}}let W=pD(Q);if(Q.startsWith("/mcp/conn_")){let U=Q.split("/")[2]??"";W=`/mcp/${W8.mcp}${pD(U.slice(0,12))}\u2026${W8.reset}`}else if(Q==="/mcp")W=`${W8.mcp}/mcp${W8.reset}`;else if(Q==="/mcp/registry")W=`${W8.mcp}/mcp/registry${W8.reset}`;let K=H99(G),F=Z?"\u25C0":"\u2190";if(!nM0())console.log(`${W8.dim}${F}${W8.reset} ${K}${G}${W8.reset} ${W}${J?` ${J}`:""}`);try{await X()}finally{let U=Date.now()-Y,w=$.res.status,B=K99(w),N=U<1000?`${U}ms`:`${(U/1000).toFixed(1)}s`,z=Z?"\u25B6":"\u2192";if(!nM0())console.log(`${W8.dim}${z}${W8.reset} ${K}${G}${W8.reset} ${W}${J?` ${J}`:""} ${B}${w}${W8.reset} ${W8.duration}${N}${W8.reset}`);tM0.emit("request",{method:G,path:pD(Q),status:w,duration:U,timestamp:new Date})}}}var W8,K99=($)=>{if($>=500)return W8.serverError;if($>=400)return W8.clientError;if($>=300)return W8.redirect;return W8.ok},H99=($)=>{return W8[$]||W8.reset},pD=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var HT6=D(()=>{rM0();WT6();W8={reset:"\x1B[0m",dim:"\x1B[2m",bold:"\x1B[1m",GET:"\x1B[36m",POST:"\x1B[33m",PUT:"\x1B[35m",DELETE:"\x1B[31m",ok:"\x1B[32m",redirect:"\x1B[36m",clientError:"\x1B[33m",serverError:"\x1B[31m",mcp:"\x1B[35m",tool:"\x1B[96m",duration:"\x1B[90m"}});import{createHmac as BT6}from"crypto";import{mkdir as F99,readdir as U99,rm as FT6,stat as NT6}from"fs/promises";import{join as oM0,relative as w99}from"path";function DT6($){let X=$.replace(/[^a-zA-Z0-9_-]/g,"_");return oM0(B99,X)}function OT6($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function aM0($,X){let Y=DT6($),G=OT6(X);return oM0(Y,G)}function N99($,X,Y,G){let Q=f4().encryptionKey||"dev-secret",J=`${$}:${X}:${Y}:${G}`;return BT6("sha256",Q).update(J).digest("hex")}function wT6($,X,Y,G,Q){let J=Math.floor(Date.now()/1000)+G,Z=N99(X,Y,J,Q),W=new URL(`/api/dev-assets/${X}/${OT6(Y)}`,$);return W.searchParams.set("expires",J.toString()),W.searchParams.set("signature",Z),W.searchParams.set("method",Q),W.toString()}function LT6($,X,Y){let G=`${$}:${X.getTime()}:${Y}`;return`"${BT6("md5","etag").update(G).digest("hex")}"`}async function ET6($,X,Y,G,Q){try{let J=await U99($,{withFileTypes:!0});for(let Z of J){let W=oM0($,Z.name),F=w99(X,W).replace(/\\/g,"/");if(Y&&!F.startsWith(Y))continue;if(Z.isDirectory())if(G){let U=F+"/";if(!Y||U.startsWith(Y)){if(!(Y?F.slice(Y.length):F).includes("/"))Q.commonPrefixes.add(U)}}else await ET6(W,X,Y,G,Q);else if(Z.isFile()){if(G&&Y){let U=F.slice(Y.length);if(U.includes(G)){let w=U.indexOf(G),B=Y+U.slice(0,w+1);Q.commonPrefixes.add(B);continue}}try{let U=await NT6(W);Q.objects.push({key:F,size:U.size,lastModified:U.mtime.toISOString(),etag:LT6(W,U.mtime,U.size)})}catch{}}}}catch{}}function jT6($,X){let G=n1($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:H.object({prefix:H.string().optional(),maxKeys:H.number().optional().default(1000),continuationToken:H.string().optional(),delimiter:H.string().optional()}),outputSchema:H.object({objects:H.array(H.object({key:H.string(),size:H.number(),lastModified:H.string(),etag:H.string()})),nextContinuationToken:H.string().optional(),isTruncated:H.boolean(),commonPrefixes:H.array(H.string()).optional()}),handler:async(Q)=>{let J=Q,Z=J.prefix||"",W=J.maxKeys??1000,K=J.delimiter,F=J.continuationToken,U=DT6(G);await F99(U,{recursive:!0});let w={objects:[],commonPrefixes:new Set};await ET6(U,U,Z,K,w),w.objects.sort((L,j)=>L.key.localeCompare(j.key));let B=0;if(F){if(B=w.objects.findIndex((L)=>L.key>F),B===-1)B=w.objects.length}let N=w.objects.slice(B,B+W),z=B+W<w.objects.length,O=z?N[N.length-1]?.key:void 0;return{objects:N,isTruncated:z,nextContinuationToken:O,commonPrefixes:Array.from(w.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:H.object({key:H.string()}),outputSchema:H.object({contentType:H.string().optional(),contentLength:H.number(),lastModified:H.string(),etag:H.string(),metadata:H.record(H.string(),H.string()).optional()}),handler:async(Q)=>{let J=Q,Z=aM0(G,J.key),W=await NT6(Z);return{contentType:WI0(J.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:LT6(Z,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:H.object({key:H.string(),expiresIn:H.number().optional()}),outputSchema:H.object({url:H.string(),expiresIn:H.number()}),handler:async(Q)=>{let J=Q,Z=J.expiresIn??UT6;return{url:wT6(X,G,J.key,Z,"GET"),expiresIn:Z}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:H.object({key:H.string(),expiresIn:H.number().optional(),contentType:H.string().optional()}),outputSchema:H.object({url:H.string(),expiresIn:H.number()}),handler:async(Q)=>{let J=Q,Z=J.expiresIn??UT6;return{url:wT6(X,G,J.key,Z,"PUT"),expiresIn:Z}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:H.object({key:H.string()}),outputSchema:H.object({success:H.boolean(),key:H.string()}),handler:async(Q)=>{let J=Q,Z=aM0(G,J.key);try{return await FT6(Z),{success:!0,key:J.key}}catch{return{success:!1,key:J.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:H.object({keys:H.array(H.string()).max(1000)}),outputSchema:H.object({deleted:H.array(H.string()),errors:H.array(H.object({key:H.string(),message:H.string()}))}),handler:async(Q)=>{let J=Q,Z=[],W=[];return await Promise.all(J.keys.map(async(K)=>{let F=aM0(G,K);try{await FT6(F),Z.push(K)}catch(U){W.push({key:K,message:U instanceof Error?U.message:"Unknown error"})}})),{deleted:Z,errors:W}}}]}async function sM0($,X,Y){let G=jT6(X,Y),Q=new _N({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}}});for(let Z of G){let W="shape"in Z.inputSchema?Z.inputSchema.shape:H.object({}).shape,K=Z.outputSchema&&"shape"in Z.outputSchema?Z.outputSchema.shape:H.object({}).shape;Q.registerTool(Z.name,{description:Z.description??"",inputSchema:W,outputSchema:K,annotations:Z.annotations,_meta:Z._meta},async(F)=>{try{let U=await Z.handler(F);return{content:[{type:"text",text:JSON.stringify(U)}],structuredContent:U}}catch(U){return{content:[{type:"text",text:`Error: ${U.message}`}],isError:!0}}})}let J=new YH({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await Q.connect(J),J.handleRequest($)}async function PT6($,X,Y,G){let J=jT6(Y,G).find((Z)=>Z.name===$);if(!J)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let Z=await J.handler(X);return{content:[{type:"text",text:JSON.stringify(Z)}]}}catch(Z){return{content:[{type:"text",text:Z instanceof Error?Z.message:String(Z)}],isError:!0}}}var B99="./data/assets",UT6=3600,zT6,qT6;var AT6=D(()=>{I5();d5();i1();z01();kr();bh1();zT6=new m4;zT6.all("/",async($)=>{let X=$.get("meshContext"),Y=new URL($.req.url),G=`${Y.protocol}//${Y.host}`;return sM0($.req.raw,X,G)});qT6=zT6});var TT6={};g6(TT6,{mountDevRoutes:()=>z99});function z99($,X){$.all("/mcp/:connectionId{.*_dev-assets$}",X,async(G)=>{let Q=G.get("meshContext"),J=new URL(G.req.url),Z=`${J.protocol}//${J.host}`;return sM0(G.req.raw,Q,Z)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",X,async(G)=>{let Q=G.get("meshContext"),J=new URL(G.req.url),Z=`${J.protocol}//${J.host}`,W=G.req.param("toolName");if(!W)return G.json({error:"Missing tool name"},400);let K=await G.req.json(),F=await PT6(W,K,Q,Z);if(F.isError)return G.json(F.content,500);return G.json(F.content)}),$.use("/mcp/dev-assets",X),$.route("/mcp/dev-assets",qT6);let Y=new m4;Y.use("*",m3({mountPath:"/api/dev-assets"})),Y.route("/",_h1({orgFromPath:!1})),$.route("/api/dev-assets",Y)}var VT6=D(()=>{d5();$I0();bh1();AT6()});var IT6=D(()=>{mF0();lF0();yz()});var Pu1=D(()=>{IT6()});var RT6={};g6(RT6,{streamAgent:()=>MT6,createDecopilotClient:()=>O99});async function D99($){let{parseJsonEventStream:X,uiMessageChunkSchema:Y}=await Promise.resolve().then(() => (Z5(),Vq0));return X({stream:$,schema:Y}).pipeThrough(new TransformStream({transform(G,Q){if(!G.success)throw G.error;Q.enqueue(G.value)}}))}async function MT6($,X,Y,G,Q){let{readUIMessageStream:J}=await Promise.resolve().then(() => (Z5(),Vq0)),Z=Y.value??Y.id;if(!Z)throw Error("Agent binding has no id or value \u2014 cannot resolve agent");let W=G.credentialId??Y.credentialId,K=G.thinking??Y.thinking,F=K?.id,U={messages:G.messages,...F?{models:{credentialId:W,thinking:K,...G.coding??Y.coding?{coding:G.coding??Y.coding}:{},...G.fast??Y.fast?{fast:G.fast??Y.fast}:{}}}:{},agent:{id:Z},temperature:G.temperature??Y.temperature,toolApprovalLevel:G.toolApprovalLevel??Y.toolApprovalLevel,mode:G.mode??Y.mode??"default",...G.memory?{memory:G.memory}:{},...G.thread_id?{thread_id:G.thread_id}:{}},w=await fetch($,{method:"POST",headers:{"Content-Type":"application/json","x-mesh-token":X,Authorization:`Bearer ${X}`},body:JSON.stringify(U),signal:Q?.signal});if(!w.ok){let N=await w.text().catch(()=>""),z=`HTTP ${w.status}`;try{let O=JSON.parse(N);if(O?.error)z=O.error}catch{if(N)z=N}throw Error(z)}if(!w.body)throw Error("Empty response body from decopilot stream");let B=await D99(w.body);return J({stream:B})}function O99($){let{baseUrl:X,orgSlug:Y,token:G}=$,Q=`${X}/${Y}/decopilot/runtime/stream`;return{stream(J,Z){let W={__type:"@deco/agent",id:J.agent.id,credentialId:J.credentialId??"",thinking:J.thinking??{id:"",title:""},coding:J.coding,fast:J.fast,toolApprovalLevel:J.toolApprovalLevel,mode:J.mode,temperature:J.temperature};return MT6(Q,G,W,J,Z)}}}function ST6($){let X=$.properties;if(!X)return $;for(let Y of Object.values(X)){let G=Y.properties;if(!G?.__type?.const)continue;let Q=G.__type.const,J=L99.get(Q);if(!J)continue;let Z=J.map((W)=>({name:String(W.name),...W.inputSchema&&{inputSchema:H.toJSONSchema(W.inputSchema)},...W.outputSchema&&{outputSchema:H.toJSONSchema(W.outputSchema)}}));G.__binding={const:Z}}return $}var L99,NQ7,E99=($)=>{return typeof $==="object"&&$!==null&&$.__type==="@deco/agent"},$R0=($)=>{return typeof $==="object"&&$!==null&&typeof $.__type==="string"&&$.__type!=="@deco/agent"&&typeof $.value==="string"},qu1=($,X,Y)=>{let G=Y?{"x-caller-app":Y}:void 0;if(X.cookie)G??={},G.cookie=X.cookie;if(X.token)G??={},G["x-mesh-token"]=X.token;return{type:"HTTP",url:new URL(`/mcp/${$}`,X.meshUrl).href,token:X.token,headers:G}},j99=($,X,Y)=>{let G=qu1($,X,Y);return new Proxy($p.forConnection(G),{get(Q,J){if(J==="value")return $;if(J==="__type")return Y;return Q[J]}})},P99=($,X)=>{let Y=X.organizationSlug;if(!Y)throw Error("organizationSlug is required for agent bindings");let G=`${X.meshUrl}/api/${Y}/decopilot/runtime/stream`;return{STREAM:async(Q,J)=>{let{streamAgent:Z}=await Promise.resolve().then(() => RT6);return Z(G,X.token,$,Q,J)}}},eM0=($,X)=>{if($===null||$===void 0)return $;if(Array.isArray($))return $.map((Y)=>eM0(Y,X));if(typeof $==="object"){if(E99($))return P99($,X);if($R0($))return j99($.value,X,$.__type);let Y={};for(let[G,Q]of Object.entries($))Y[G]=eM0(Q,X);return Y}return $},kT6=($)=>{return eM0($.state,$)};var mt=D(()=>{Pu1();i1();L99=new Map;NQ7=H.object({id:H.string(),title:H.string(),capabilities:H.object({vision:H.boolean().optional(),text:H.boolean().optional(),tools:H.boolean().optional(),reasoning:H.boolean().optional()}).passthrough().optional(),provider:H.string().optional().nullable(),limits:H.object({contextWindow:H.number().optional(),maxOutputTokens:H.number().optional()}).passthrough().optional()})});var q99,CT6=($,X,Y)=>{if(!X)return null;if($===void 0||$==="*")return"*";if(typeof $==="string")return $===X?$:null;if(Array.isArray($))return $.includes(X)?X:null;if(typeof $==="function")return $(X,Y)??null;return null},A99=($,X,Y)=>{let G=X.headers.get("Origin"),Q=CT6(Y.origin,G,X);if(Q)$.set("Access-Control-Allow-Origin",Q);if(Y.credentials)$.set("Access-Control-Allow-Credentials","true");if(Y.exposeHeaders?.length)$.set("Access-Control-Expose-Headers",Y.exposeHeaders.join(", "))},vT6=($,X)=>{let Y=new Headers,G=$.headers.get("Origin"),Q=CT6(X.origin,G,$);if(Q)Y.set("Access-Control-Allow-Origin",Q);if(X.credentials)Y.set("Access-Control-Allow-Credentials","true");let J=X.allowMethods??q99;Y.set("Access-Control-Allow-Methods",J.join(", "));let Z=$.headers.get("Access-Control-Request-Headers");if(X.allowHeaders?.length)Y.set("Access-Control-Allow-Headers",X.allowHeaders.join(", "));else if(Z)Y.set("Access-Control-Allow-Headers",Z);if(X.maxAge!==void 0)Y.set("Access-Control-Max-Age",X.maxAge.toString());return new Response(null,{status:204,headers:Y})},_T6=($,X,Y)=>{let G=new Headers($.headers);return A99(G,X,Y),new Response($.body,{status:$.status,statusText:$.statusText,headers:G})};var bT6=D(()=>{q99=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function fT6($=32){let Y=new Uint8Array($);return crypto.getRandomValues(Y),Array.from(Y,(G)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[G%62]).join("")}function T99($){try{let X=new URL($);return X.protocol==="https:"||X.hostname==="localhost"||X.hostname.endsWith(".localhost")||X.hostname==="127.0.0.1"||!X.protocol.startsWith("http")}catch{return!1}}function yT6($){return btoa(JSON.stringify($)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function xT6($){try{let X=$.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(X))}catch{return null}}function gT6($){return{handleProtectedResourceMetadata:(F)=>{let U=CB(new URL(F.url)),w=`${U.origin}/mcp`;return Response.json({resource:w,authorization_servers:[U.origin],scopes_supported:["*"],bearer_methods_supported:["header"],resource_signing_alg_values_supported:["RS256","none"]})},handleAuthorizationServerMetadata:(F)=>{let w=CB(new URL(F.url)).origin;return Response.json({issuer:w,authorization_endpoint:`${w}/authorize`,token_endpoint:`${w}/token`,registration_endpoint:`${w}/register`,scopes_supported:["*"],response_types_supported:["code"],response_modes_supported:["query"],grant_types_supported:["authorization_code","refresh_token"],token_endpoint_auth_methods_supported:["none","client_secret_post"],code_challenge_methods_supported:["S256","plain"]})},handleAuthorize:(F)=>{let U=CB(new URL(F.url)),w=U.searchParams.get("redirect_uri"),B=U.searchParams.get("response_type"),N=U.searchParams.get("state"),z=U.searchParams.get("code_challenge"),O=U.searchParams.get("code_challenge_method");if(!w)return Response.json({error:"invalid_request",error_description:"redirect_uri required"},{status:400});if(B!=="code")return Response.json({error:"unsupported_response_type",error_description:"Only 'code' is supported"},{status:400});let L=CB(new URL(`${U.origin}/oauth/callback`)),j=L.toString(),V=yT6({redirectUri:w,clientState:N??void 0,codeChallenge:z??void 0,codeChallengeMethod:O??void 0,oauthCallbackUri:j});L.searchParams.set("state",V);let M=$.authorizationUrl(L.toString());return Response.redirect(M,302)},handleOAuthCallback:async(F)=>{let U=CB(new URL(F.url)),w=U.searchParams.get("code"),B=U.searchParams.get("state"),N=U.searchParams.get("error"),z=B?xT6(B):null;if(N){let O=U.searchParams.get("error_description")??"Authorization failed";if(z?.redirectUri){let L=CB(new URL(z.redirectUri));if(L.searchParams.set("error",N),L.searchParams.set("error_description",O),z.clientState)L.searchParams.set("state",z.clientState);return Response.redirect(L.toString(),302)}return Response.json({error:N,error_description:O},{status:400})}if(!w||!z)return Response.json({error:"invalid_request",error_description:"Missing code or state"},{status:400});try{let O=z.oauthCallbackUri??CB(new URL(`${U.origin}/oauth/callback`)).toString(),L={code:w,redirect_uri:O},j=await $.exchangeCode(L),P={accessToken:j.access_token,tokenType:j.token_type,refreshToken:j.refresh_token,expiresIn:j.expires_in,scope:j.scope,codeChallenge:z.codeChallenge,codeChallengeMethod:z.codeChallengeMethod},V=yT6(P),M=CB(new URL(z.redirectUri));if(M.searchParams.set("code",V),z.clientState)M.searchParams.set("state",z.clientState);return Response.redirect(M.toString(),302)}catch(O){console.error("OAuth callback error:",O);let L=CB(new URL(z.redirectUri));if(L.searchParams.set("error","server_error"),L.searchParams.set("error_description","Failed to exchange authorization code"),z.clientState)L.searchParams.set("state",z.clientState);return Response.redirect(L.toString(),302)}},handleToken:async(F)=>{try{let U=F.headers.get("content-type")??"",w;if(U.includes("application/x-www-form-urlencoded")){let P=await F.formData();w=Object.fromEntries(P.entries())}else{let P=await F.json();if(typeof P!=="object"||P===null||Array.isArray(P))return Response.json({error:"invalid_request",error_description:"Request body must be a JSON object"},{status:400});w=P}let{code:B,code_verifier:N,grant_type:z,refresh_token:O}=w;if(z==="refresh_token"){if(typeof O!=="string"||!O)return Response.json({error:"invalid_request",error_description:"refresh_token is required and must be a string"},{status:400});if(!$.refreshToken)return Response.json({error:"unsupported_grant_type",error_description:"refresh_token grant not supported"},{status:400});let P;try{P=await $.refreshToken(O)}catch(M){if(M instanceof XR0)return Response.json({error:M.error,...M.errorDescription?{error_description:M.errorDescription}:{}},{status:400});throw M}let V={access_token:P.access_token,token_type:P.token_type};if(P.refresh_token)V.refresh_token=P.refresh_token;if(P.expires_in!==void 0)V.expires_in=P.expires_in;if(P.scope)V.scope=P.scope;return Response.json(V,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}if(z!=="authorization_code")return Response.json({error:"unsupported_grant_type",error_description:"Only authorization_code and refresh_token supported"},{status:400});if(typeof B!=="string"||!B)return Response.json({error:"invalid_request",error_description:"code is required and must be a string"},{status:400});let L=xT6(B);if(!L||!L.accessToken)return Response.json({error:"invalid_grant",error_description:"Invalid or expired code"},{status:400});if(L.codeChallenge){if(typeof N!=="string"||!N)return Response.json({error:"invalid_grant",error_description:"code_verifier required and must be a string"},{status:400});let P;if(L.codeChallengeMethod==="S256"){let M=new TextEncoder().encode(N),T=await crypto.subtle.digest("SHA-256",M);P=btoa(String.fromCharCode(...new Uint8Array(T))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}else P=N;if(P!==L.codeChallenge)return Response.json({error:"invalid_grant",error_description:"Invalid code_verifier"},{status:400})}let j={access_token:L.accessToken,token_type:L.tokenType};if(L.refreshToken)j.refresh_token=L.refreshToken;if(L.expiresIn!==void 0)j.expires_in=L.expiresIn;if(L.scope)j.scope=L.scope;return Response.json(j,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Token exchange error:",U),Response.json({error:"server_error",error_description:"Failed to process token request"},{status:500})}},handleClientRegistration:async(F)=>{try{let U=await F.json();if(!U.redirect_uris||U.redirect_uris.length===0)return Response.json({error:"invalid_redirect_uri",error_description:"At least one redirect_uri is required"},{status:400});for(let O of U.redirect_uris)if(!T99(O))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${O}`},{status:400});let w=fT6(32),B=U.token_endpoint_auth_method!=="none"?fT6(32):void 0,N=Math.floor(Date.now()/1000),z={client_id:w,client_secret:B,client_name:U.client_name,redirect_uris:U.redirect_uris,grant_types:U.grant_types??["authorization_code"],response_types:U.response_types??["code"],token_endpoint_auth_method:U.token_endpoint_auth_method??"client_secret_post",scope:U.scope,client_id_issued_at:N,client_secret_expires_at:0};if($.persistence)await $.persistence.saveClient(z);return new Response(JSON.stringify(z),{status:201,headers:{"Content-Type":"application/json","Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Client registration error:",U),Response.json({error:"invalid_client_metadata",error_description:"Invalid client registration request"},{status:400})}},createUnauthorizedResponse:(F)=>{let B=`Bearer resource_metadata="${`${CB(new URL(F.url)).origin}/.well-known/oauth-protected-resource`}", scope="*"`;return Response.json({jsonrpc:"2.0",error:{code:-32000,message:"Unauthorized: Authentication required"},id:null},{status:401,headers:{"WWW-Authenticate":B,"Access-Control-Expose-Headers":"WWW-Authenticate"}})},hasAuth:(F)=>F.headers.has("Authorization")}}var XR0,CB=($)=>{if(!($.hostname==="localhost"||$.hostname.endsWith(".localhost")||$.hostname==="127.0.0.1"))$.protocol="https:";return $};var YR0=D(()=>{XR0=class XR0 extends Error{error;errorDescription;constructor($="invalid_grant",X){super(X??$);this.name="OAuthInvalidGrantError",this.error=$,this.errorDescription=X}}});import{AsyncLocalStorage as V99}from"async_hooks";var hT6,DG1;var GR0=D(()=>{hT6=new V99,DG1={getStore:()=>{return hT6.getStore()},run:($,X,...Y)=>hT6.run($,X,...Y)}});var mT6="SELF",Tu1=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},lT6=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},uT6="::",cT6=($)=>{let X=$.indexOf(uT6);if(X===-1)return null;let Y=$.substring(0,X),G=$.substring(X+uT6.length);return[Y,G]},I99=($)=>{if(!$.startsWith("cron/"))return null;let X=$.substring(5),Y=X.indexOf("/");if(Y===-1)return null;let G=X.substring(0,Y),Q=X.substring(Y+1);return[G,Q]},dT6=($)=>{if(Tu1($))return[];return Object.keys($)},M99=($,X)=>{if(Tu1($))return $.events;let Y=$[X];if(!Y)return[];if(lT6(Y))return Y.events;return Object.keys(Y)},Au1=($,X,Y)=>{if($===mT6){if(!Y)return console.warn("[Event] SELF binding used but no connectionId available"),null;return Y}let G=X[$];if(!$R0(G))return console.warn(`[Event] Binding "${$}" not found in state`),null;return G.value},R99=($,X,Y)=>{let G=X;if(Tu1($)){let J=[];for(let Z of $.events){let W=cT6(Z);if(!W){console.warn(`[Event] Global handler event "${Z}" must be prefixed with BINDING:: (e.g., "SELF::${Z}" or "DATABASE::${Z}")`);continue}let[K,F]=W,U=Au1(K,G,Y);if(!U)continue;J.push({eventType:F,publisher:U})}return J}let Q=[];for(let J of dT6($)){let Z=Au1(J,G,Y);if(!Z)continue;let W=M99($,J);for(let K of W)Q.push({eventType:K,publisher:Z})}return Q},S99=($)=>{let X=new Map;for(let Y of $){let G=Y.source,Q=X.get(G)||[];Q.push(Y),X.set(G,Q)}return X},k99=($)=>{let X=new Map;for(let Y of $){let G=Y.type,Q=X.get(G)||[];Q.push(Y),X.set(G,Q)}return X},C99=($)=>{let X={},Y={},G=!1,Q=0,J=[];for(let Z of $){if(Z.results)Object.assign(Y,Z.results);if(Z.success===!1){if(G=!0,Z.error)J.push(Z.error)}if(Z.processedCount!==void 0)Q+=Z.processedCount}if(Object.keys(Y).length>0)X.results=Y;if(X.success=!G,J.length>0)X.error=J.join("; ");if(Q>0)X.processedCount=Q;return X},v99=async($,X,Y,G,Q)=>{let J=G;if(Tu1($)){let U=new Set;for(let B of $.events){let N=cT6(B);if(!N)continue;let[z,O]=N,L=Au1(z,J,Q);if(!L)continue;U.add(`${L}:${O}`)}let w=X.filter((B)=>{let N=`${B.source}:${B.type}`;return U.has(N)});if(w.length===0)return{success:!0};try{return await $.handler({events:w},Y)}catch(B){return{success:!1,error:B instanceof Error?B.message:String(B)}}}let Z=new Map;for(let U of dT6($)){let w=Au1(U,J,Q);if(w)Z.set(w,U)}let W=S99(X),K=[];for(let[U,w]of W){let B=Z.get(U);if(!B)continue;let N=$[B];if(!N)continue;if(lT6(N)){K.push((async()=>{try{return await N.handler({events:w},Y)}catch(L){let j={};for(let P of w)j[P.id]={success:!1,error:L instanceof Error?L.message:String(L)};return{results:j}}})());continue}let z=N,O=k99(w);for(let[L,j]of O){let P=z[L];if(!P)continue;K.push((async()=>{try{let V=await P({events:j},Y),M={};for(let T of j)M[T.id]=V;return{results:M}}catch(V){let M={};for(let T of j)M[T.id]={success:!1,error:V instanceof Error?V.message:String(V)};return{results:M}}})())}}let F=await Promise.all(K);if(F.length===0)return{success:!0};return C99(F)},Vu1;var QR0=D(()=>{mt();Vu1={subscriptions:R99,execute:v99,parseCron:I99}});function lt($){return $.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function pT6($,X){return`${$}::${lt(X)}`}function JR0($){return`START_WORKFLOW_${lt($).toUpperCase().replace(/-/g,"_")}`}function nT6($,X){let Y=qu1("self",{meshUrl:$,token:X});return $p.forConnection(Y)}function _99($,X){if(!oh.has($)&&oh.size>=rT6){let Y=oh.keys().next().value;if(Y!==void 0)oh.delete(Y)}oh.set($,X)}function b99($){return`Workflows Agent (${$})`}function iT6($,X){if(!sh.has($)&&sh.size>=rT6){let Y=sh.keys().next().value;if(Y!==void 0)sh.delete(Y)}sh.set($,X)}async function f99($,X,Y){let G=sh.get($);if(G)return console.log(`${Y} Using cached default Virtual MCP: ${G}`),G;let Q=b99($);try{let J=await X.COLLECTION_VIRTUAL_MCP_LIST({where:{operator:"and",conditions:[{field:["connection_id"],operator:"eq",value:$},{field:["title"],operator:"eq",value:Q}]},limit:1});if(J.items.length>0){let Z=J.items[0].id;return iT6($,Z),console.log(`${Y} Found existing default Virtual MCP: ${Z}`),Z}}catch(J){console.warn(`${Y} Could not list Virtual MCPs \u2014 proceeding without default. Error: ${J instanceof Error?J.message:String(J)}`);return}try{let Z=(await X.COLLECTION_VIRTUAL_MCP_CREATE({data:{title:Q,connections:[{connection_id:$,selected_tools:null}]}})).item.id;return iT6($,Z),console.log(`${Y} Created default Virtual MCP: ${Z}`),Z}catch(J){console.warn(`${Y} Could not create default Virtual MCP \u2014 proceeding without default. Error: ${J instanceof Error?J.message:String(J)}`);return}}function y99($){return JSON.stringify($.map((X)=>({title:X.title,description:X.description??void 0,virtual_mcp_id:X.virtual_mcp_id??void 0,steps:X.steps,toolId:X.toolId??void 0,inputSchema:X.inputSchema??void 0})))}async function x99($,X,Y,G,Q){let J=`[Workflows][${Y}]`,Z=$.find((V)=>lt(V.title)==="");if(Z!==void 0){console.warn(`${J} Workflow title "${Z.title}" produces an empty ID. Skipping sync.`);return}if($.length>0){let V=$.map((T)=>lt(T.title));if(new Set(V).size!==V.length){let T=new Set(V.filter((v,S)=>V.indexOf(v)!==S)),R=$.filter((v)=>T.has(lt(v.title))).map((v)=>v.title);console.warn(`${J} Workflow titles that produce duplicate IDs: ${[...new Set(R)].join(", ")}. Skipping sync.`);return}}let W=y99($),K=oh.get(Y);if(K===W){console.log(`${J} Fingerprint unchanged \u2014 skipping sync. Declared: ${$.length} workflow(s): [${$.map((V)=>V.title).join(", ")}]`);return}console.log(`${J} Fingerprint changed (or first sync) \u2014 starting sync. Declared: ${$.length} workflow(s): [${$.map((V)=>V.title).join(", ")}]`,K?"(previous fingerprint existed)":"(no previous fingerprint)");let F=Q??nT6(X,G),w=$.some((V)=>V.virtual_mcp_id===void 0)?await f99(Y,F,J):void 0,B;try{let V=[],M=0,T=200;while(!0){let R=await F.COLLECTION_WORKFLOW_LIST({limit:T,offset:M});if(V.push(...R.items),!R.hasMore||R.items.length===0)break;M+=R.items.length}B=V,console.log(`${J} LIST returned ${B.length} total workflow(s). IDs owned by this connection: [${B.filter((R)=>R.id.startsWith(`${Y}::`)).map((R)=>R.id).join(", ")||"none"}]`)}catch(V){let M=V instanceof Error?V.message:String(V);console.warn(`${J} Could not list workflows (workflows plugin may not be enabled). Skipping sync. Error: ${M}`);return}let N=`${Y}::`,z=new Map(B.filter((V)=>V.id.startsWith(N)).map((V)=>[V.id,V])),O=$.map((V)=>[pT6(Y,V.title),V]),L=new Set(O.map(([V])=>V)),j=!1;await Promise.all(O.map(async([V,M])=>{let T=z.has(V)?"UPDATE":"CREATE";console.log(`${J} ${T} "${M.title}" (id=${V})`);try{let R=M.virtual_mcp_id??w;if(T==="UPDATE"){let v=await F.COLLECTION_WORKFLOW_UPDATE({id:V,data:{title:M.title,description:M.description,...R!==void 0&&{virtual_mcp_id:R},steps:M.steps,input_schema:M.inputSchema===void 0?void 0:M.inputSchema??null}});if(!v.success)j=!0,console.warn(`${J} UPDATE "${M.title}" returned success=false:`,String(v.error??"(no error message)"));else console.log(`${J} UPDATE "${M.title}" OK`)}else await F.COLLECTION_WORKFLOW_CREATE({data:{id:V,title:M.title,description:M.description,virtual_mcp_id:R,steps:M.steps,input_schema:M.inputSchema??null}}),console.log(`${J} CREATE "${M.title}" OK`)}catch(R){j=!0,console.warn(`${J} Failed to ${T} workflow "${M.title}":`,R instanceof Error?R.message:String(R))}}));let P=[...z.keys()].filter((V)=>!L.has(V));if(P.length>0)console.log(`${J} Deleting ${P.length} orphaned workflow(s): [${P.join(", ")}]`);if(await Promise.all(P.map(async(V)=>{try{await F.COLLECTION_WORKFLOW_DELETE({id:V}),console.log(`${J} DELETE "${V}" OK`)}catch(M){j=!0,console.warn(`${J} Failed to delete orphaned workflow "${V}":`,M instanceof Error?M.message:String(M))}})),!j)_99(Y,W),console.log(`${J} Sync complete \u2014 fingerprint stored.`);else console.warn(`${J} Sync finished with errors \u2014 fingerprint NOT stored so the next call will retry.`)}async function g99($,X,Y,G,Q){let Z=(Iu1.get(Y)??Promise.resolve()).catch(()=>{}).then(()=>x99($,X,Y,G,Q)).finally(()=>{if(Iu1.get(Y)===Z)Iu1.delete(Y)});return Iu1.set(Y,Z),Z}var Iu1,rT6=500,oh,sh,tT6,Mu1;var ZR0=D(()=>{mt();Pu1();Iu1=new Map,oh=new Map;sh=new Map;tT6=["SELF::COLLECTION_WORKFLOW_LIST","SELF::COLLECTION_WORKFLOW_CREATE","SELF::COLLECTION_WORKFLOW_UPDATE","SELF::COLLECTION_WORKFLOW_DELETE","SELF::COLLECTION_WORKFLOW_EXECUTION_CREATE","SELF::COLLECTION_VIRTUAL_MCP_LIST","SELF::COLLECTION_VIRTUAL_MCP_CREATE"],Mu1={sync:g99,slugify:lt,workflowId:pT6,toolId:JR0,createExecution:async($,X,Y)=>{return(await nT6($,X).COLLECTION_WORKFLOW_EXECUTION_CREATE(Y)).item.id},clearFingerprint:($)=>{oh.delete($),sh.delete($)}}});function vB($){return{...$,execute:(X)=>{let Y=OG1(X.runtimeContext);return $.execute({...X,runtimeContext:Y},Y)}}}var OG1=($)=>{let X=DG1.getStore();if(!X){if($)return $;throw Error("Missing context, did you forget to call State.bind?")}return X},h99=($,X)=>{let Y=X;return typeof Y[$]<"u"?Y[$]:X?.MESH_REQUEST_CONTEXT?.state?.[$]},Ru1=($)=>{let X=$.runtimeContext.env.MESH_REQUEST_CONTEXT;return{connectionId:X?.connectionId,meshUrl:X?.meshUrl,token:X?.token}},u99=({events:$,workflows:X,configuration:{state:Y,scopes:G,onChange:Q}={}}={})=>{let J=Y?ST6(H.toJSONSchema(Y)):{type:"object",properties:{}},Z=String($?.bus??"EVENT_BUS");return[...Q||$||X?.length?[vB({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:H.object({state:Y??H.unknown(),scopes:H.array(H.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:H.object({}),execute:async(W)=>{let K=W.context.state;await Q?.(W.runtimeContext.env,{state:K,scopes:W.context.scopes});let F=h99(Z,W.runtimeContext.env);if($&&K&&F){let{connectionId:U}=Ru1(W),w=Vu1.subscriptions($?.handlers??{},K,U);if(await F.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:w}),U){let B=w.filter((N)=>N.eventType.startsWith("cron/")&&N.publisher===U);await Promise.all(B.map(async(N)=>{let z=Vu1.parseCron(N.eventType);if(z){let[,O]=z;await F.EVENT_PUBLISH({type:N.eventType,cron:O})}}))}}if(X?.length){let{connectionId:U,meshUrl:w,token:B}=Ru1(W);if(U&&w)await Mu1.sync(X,w,U,B)}return Promise.resolve({})}})]:[],...$?.handlers?[vB({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:AP1,outputSchema:TP1,execute:async(W)=>{let K=W.runtimeContext.env,F=K.MESH_REQUEST_CONTEXT?.state,{connectionId:U}=Ru1(W);return Vu1.execute($.handlers,W.context.events,K,F,U)}})]:[],vB({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:H.object({}),outputSchema:H.object({stateSchema:H.unknown(),scopes:H.array(H.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:J,scopes:[...G??[],...$?[`${Z}::EVENT_SYNC_SUBSCRIPTIONS`]:[],...X?.length?[...tT6]:[]]})}}),...X?.length?X.map((W)=>{let K=W.toolId??JR0(W.title),F=[W.description?`Run workflow: ${W.description}`:`Start the "${W.title}" workflow.`,"Returns an execution_id immediately. Use COLLECTION_WORKFLOW_EXECUTION_GET to track progress."].join(" ");return vB({id:K,description:(()=>{if(!W.inputSchema)return F;let U=JSON.stringify(W.inputSchema,null,2);return U.length<=2048?`${F}
|
|
3302
3302
|
|
|
3303
3303
|
Input schema:
|
|
3304
3304
|
${U}`:`${F}
|