decocms 4.507.0 → 4.507.1
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/{ActiveShapeUtils-qG-AEsLH.js → ActiveShapeUtils-BpUYB5M6.js} +1 -1
- package/dist/client/assets/{AlertCircle-DZq02EzT.js → AlertCircle-Bty2uhsk.js} +1 -1
- package/dist/client/assets/{AreaChart-BtdW-Fy2.js → AreaChart-DSbx8Pux.js} +1 -1
- package/dist/client/assets/{ArrowLeft-C_qdjo3L.js → ArrowLeft-CGwuLtbU.js} +1 -1
- package/dist/client/assets/{ArrowUp-B_lKPC5O.js → ArrowUp-BYzq623p.js} +1 -1
- package/dist/client/assets/{BarChart-4XWgQXi5.js → BarChart-ws0Z6t_Q.js} +1 -1
- package/dist/client/assets/{Building02-LYkR_QXB.js → Building02-DC1B_tJa.js} +1 -1
- package/dist/client/assets/{CategoricalChart-CHtvdKKv.js → CategoricalChart-Bhsngimh.js} +1 -1
- package/dist/client/assets/{CheckCircle-B9QHilAa.js → CheckCircle-DPGL3Hpc.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-0ysVIDar.js → ChevronSelectorVertical-BwRvUPUM.js} +1 -1
- package/dist/client/assets/{ChevronUp-D4PiHnN0.js → ChevronUp-D5DP9qHs.js} +1 -1
- package/dist/client/assets/{Copy01-DJEr7OLy.js → Copy01-51uCRbSg.js} +1 -1
- package/dist/client/assets/{CreditCard01-b36fqa11.js → CreditCard01-D8QKn2t6.js} +1 -1
- package/dist/client/assets/{DotsVertical-CV1b1y4C.js → DotsVertical-Bhq6_ex6.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-UL-jymXX.js → ErrorBarContext-C8nCqXCd.js} +1 -1
- package/dist/client/assets/{Globe04-DKUCyty7.js → Globe04-C6aR04Lg.js} +1 -1
- package/dist/client/assets/{Image01-CyRCJwXT.js → Image01-8_YUB9dA.js} +1 -1
- package/dist/client/assets/{Key01-DWXRgH6w.js → Key01-BYJLiX2A.js} +1 -1
- package/dist/client/assets/{Link01-CNb9DW_9.js → Link01-BrX96Lzm.js} +1 -1
- package/dist/client/assets/{LinkBroken01-BU-4AKfc.js → LinkBroken01-DvM0DBf8.js} +1 -1
- package/dist/client/assets/{Monitor01-yE6iFgVP.js → Monitor01-D0i8fPos.js} +1 -1
- package/dist/client/assets/{Play-ChRMrCTB.js → Play-BefGY3fA.js} +1 -1
- package/dist/client/assets/{Plus-DtZhz_pb.js → Plus-Bk_sjqOf.js} +1 -1
- package/dist/client/assets/{SearchMd-BQTuqO8x.js → SearchMd-Cey_qFlh.js} +1 -1
- package/dist/client/assets/{Sector-DeEfQN_u.js → Sector-CtKVpBRQ.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-CQIeNQm_.js → ShoppingBag01-DmYaqF6W.js} +1 -1
- package/dist/client/assets/{Sun-kLYmwsq0.js → Sun-Vjoy_5bv.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-DGImzN1R.js → SwitchHorizontal01-Cpiuomvl.js} +1 -1
- package/dist/client/assets/{Tool01-BRVvW2LV.js → Tool01-BxfOk1kQ.js} +1 -1
- package/dist/client/assets/{Trash01-Bt3rK1ka.js → Trash01-CMp64biU.js} +1 -1
- package/dist/client/assets/{Upload01-s7SnRMvp.js → Upload01-Dgeov9JH.js} +1 -1
- package/dist/client/assets/{User01-BmCbB_zb.js → User01-hKw9FGQs.js} +1 -1
- package/dist/client/assets/{UserSquare-DL7MdeuL.js → UserSquare-J-pPBDsM.js} +1 -1
- package/dist/client/assets/{Users01-BVggEmV6.js → Users01-D83kTTD4.js} +1 -1
- package/dist/client/assets/{XAxis-CDuxbcPP.js → XAxis-DP4n5Mz1.js} +1 -1
- package/dist/client/assets/{XClose-UWi3HSZE.js → XClose-BnQLG2SG.js} +1 -1
- package/dist/client/assets/{ZoomOut-B4Rw_R2z.js → ZoomOut-DAA80mSj.js} +1 -1
- package/dist/client/assets/{access-gate-D3L-T38D.js → access-gate-BPTmRdwJ.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-8k8OTwPv.js → add-connection-dialog-DJYTiZdc.js} +1 -1
- package/dist/client/assets/{agent-analytics-bu3kFNJu.js → agent-analytics-CciBDuVD.js} +1 -1
- package/dist/client/assets/agent-app-DiZwp2A0.js +1 -0
- package/dist/client/assets/{agent-assets-DJjZB71J.js → agent-assets-BtIBrBU2.js} +1 -1
- package/dist/client/assets/{agent-automation-5jRP2Yu0.js → agent-automation-xojgkWpW.js} +3 -3
- package/dist/client/assets/{agent-automations-DBSfm1Um.js → agent-automations-DI9zixMm.js} +1 -1
- package/dist/client/assets/{agent-connect-sources-C1dugrdG.js → agent-connect-sources-CTaUDT6P.js} +1 -1
- package/dist/client/assets/agent-deck-jNu9-E3W.js +1 -0
- package/dist/client/assets/{agent-e2e-PI2OzWvI.js → agent-e2e-CMbdmVpE.js} +1 -1
- package/dist/client/assets/{agent-experiments-DRdlymR5.js → agent-experiments-BAiMCicr.js} +1 -1
- package/dist/client/assets/{agent-file-BzADFUid.js → agent-file-IVz8YLfb.js} +1 -1
- package/dist/client/assets/{agent-hosting-CPH-NeL_.js → agent-hosting--MjQUCqO.js} +1 -1
- package/dist/client/assets/{agent-icon-Blcoi2NV.js → agent-icon-CdvQWbsW.js} +1 -1
- package/dist/client/assets/agent-library-DuL0qEtT.js +1 -0
- package/dist/client/assets/agent-library-file-Yb6uRPKq.js +1 -0
- package/dist/client/assets/{agent-monitor-PGLXk9dq.js → agent-monitor-D3m53JTs.js} +1 -1
- package/dist/client/assets/{agent-overview-D278LRIL.js → agent-overview-CEg-2iVO.js} +1 -1
- package/dist/client/assets/{agent-releases-CwPpC6Zn.js → agent-releases-DiaV8DC-.js} +1 -1
- package/dist/client/assets/agent-settings-DdQ64SOh.js +1 -0
- package/dist/client/assets/{agent-site-editor-BSI5T3i7.js → agent-site-editor-C5QM4WzO.js} +1 -1
- package/dist/client/assets/agent-site-editor-code-TvR4NVzG.js +2 -0
- package/dist/client/assets/agent-site-editor-content-D9MSMJlS.js +1 -0
- package/dist/client/assets/agent-site-editor-preview-1BlZLcsH.js +1 -0
- package/dist/client/assets/agent-view-CaYqv_5j.js +1 -0
- package/dist/client/assets/{agent-view-guard-CVWBSVAR.js → agent-view-guard-BUPMHzY7.js} +1 -1
- package/dist/client/assets/{agents-list-DYmELJk-.js → agents-list-CK-X0XMD.js} +1 -1
- package/dist/client/assets/{ai-providers-B3x7urKU.js → ai-providers-BRhxQzWW.js} +1 -1
- package/dist/client/assets/{alert-Dp8EatFO.js → alert-CpswsOed.js} +1 -1
- package/dist/client/assets/{alert-dialog-qlQC4zlU.js → alert-dialog-C9FvnbJH.js} +1 -1
- package/dist/client/assets/{analytics-sections-BirEZrZQ.js → analytics-sections-CbcIa337.js} +1 -1
- package/dist/client/assets/api-keys-C6QAXUnz.js +1 -0
- package/dist/client/assets/{api-keys-7UDmxa_w.js → api-keys-DlsaE7fm.js} +1 -1
- package/dist/client/assets/{app-editor-tLSj0Sjg.js → app-editor-BoavkVeY.js} +1 -1
- package/dist/client/assets/{asset-utils-DYZVbDw1.js → asset-utils-D7MF6-R7.js} +1 -1
- package/dist/client/assets/{auth-CLglKqB6.js → auth-MJlmDrih.js} +1 -1
- package/dist/client/assets/{auth-catchall-CrJHPLPw.js → auth-catchall-BHMd9Ph5.js} +1 -1
- package/dist/client/assets/{auth-entry-CD3L2RvS.js → auth-entry-DL7EFmi7.js} +1 -1
- package/dist/client/assets/{auth-split-layout-UjhzYVxM.js → auth-split-layout-DW5pckra.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-ClVBgGv4.js → authenticate-and-persist-oauth-DjLIsCBn.js} +1 -1
- package/dist/client/assets/{automation-list-row-CAEPQbgy.js → automation-list-row-BjiQRizI.js} +1 -1
- package/dist/client/assets/{automation-runs-dUM-MaiP.js → automation-runs-80f4mOhg.js} +1 -1
- package/dist/client/assets/{automations-megKF7It.js → automations-DvVYYa4T.js} +1 -1
- package/dist/client/assets/{autosend-CE_yiNtR.js → autosend-BfqtXC9i.js} +1 -1
- package/dist/client/assets/{avatar-B8cS3VPt.js → avatar-V-6seD4f.js} +1 -1
- package/dist/client/assets/{badge-Qzxf6tet.js → badge-xuppbiJQ.js} +1 -1
- package/dist/client/assets/{block-document-AKpwbifj.js → block-document-Btuft_G8.js} +1 -1
- package/dist/client/assets/{blocks-preview-workspace-context-VkiPmc8G.js → blocks-preview-workspace-context-BgDdSp2f.js} +1 -1
- package/dist/client/assets/{blocks-tab-states-BbjL1qhZ.js → blocks-tab-states-Db9AzGGz.js} +3 -3
- package/dist/client/assets/{blog-schema-DL-wxhkE.js → blog-schema-COmuQoqg.js} +1 -1
- package/dist/client/assets/{board-analytics-C1pwywOy.js → board-analytics-DmUIfxqn.js} +1 -1
- package/dist/client/assets/{buckets-DZKIT9DY.js → buckets-BUVMZHRM.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-1VLAf1m8.js → build-improve-prompt-doc-LycMDrLL.js} +1 -1
- package/dist/client/assets/{calendar-BuSRVV5D.js → calendar-BFQivyIG.js} +1 -1
- package/dist/client/assets/{capability-load-error-DBmMi5Hs.js → capability-load-error-DT-E9Kqv.js} +1 -1
- package/dist/client/assets/{category-editor-DVRF9hj1.js → category-editor-D7z_VQuj.js} +1 -1
- package/dist/client/assets/{chart-NrDAd4pe.js → chart-Bf8aJepc.js} +1 -1
- package/dist/client/assets/{chat-context-Ch-VpD9W.js → chat-context-CShbCUNX.js} +1 -1
- package/dist/client/assets/{chat-draft-B2p2B6Yw.js → chat-draft-D5xPO9J5.js} +1 -1
- package/dist/client/assets/{checkbox-C0-Eo7G1.js → checkbox-CsdxV5F4.js} +1 -1
- package/dist/client/assets/{choose-editor-BeLyDWVx.js → choose-editor-Cob5iDz2.js} +1 -1
- package/dist/client/assets/{cli-auth-success-DUKgfRgt.js → cli-auth-success-BGAGjJYR.js} +1 -1
- package/dist/client/assets/{client-icons-DtQhx8-x.js → client-icons-C0O_MDmG.js} +1 -1
- package/dist/client/assets/cms-settings-editor-CQKCJYGK.js +1 -0
- package/dist/client/assets/{collapsible-EpmgpNpi.js → collapsible-pbpDRVGu.js} +1 -1
- package/dist/client/assets/{collection-detail-BTHodnm7.js → collection-detail-QEBGQhqZ.js} +1 -1
- package/dist/client/assets/{collection-display-button-__Pm6Nmn.js → collection-display-button-Bo5uFmZI.js} +1 -1
- package/dist/client/assets/{collection-search-ehqGBK_4.js → collection-search-B8HvNhHx.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BBPmRt9r.js → collection-table-wrapper-CME0ZXYS.js} +1 -1
- package/dist/client/assets/{collection-tabs-iTmpvLeT.js → collection-tabs-P32YIIxy.js} +1 -1
- package/dist/client/assets/{column-rules-adUN8XvK.js → column-rules-DJkbTYf8.js} +1 -1
- package/dist/client/assets/{combobox-BUo7EBrO.js → combobox-95bHdh7B.js} +1 -1
- package/dist/client/assets/{command-BAgcQ2fh.js → command-CdQubtgL.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-CAn17bJY.js → companion-mcps-section-DT-zqSA0.js} +1 -1
- package/dist/client/assets/{config-BDu66MgM.js → config-CC4U9lyT.js} +1 -1
- package/dist/client/assets/{connect-2yc9-JJp.js → connect-D_OdkLzZ.js} +2 -2
- package/dist/client/assets/{connect-layout-DtIoh422.js → connect-layout-DKUDTFmt.js} +1 -1
- package/dist/client/assets/{connection-B8e9uIdy.js → connection-DS2m6_aA.js} +1 -1
- package/dist/client/assets/{connection-card-CLVSIR42.js → connection-card-C1INmiO3.js} +1 -1
- package/dist/client/assets/{connection-detail-DN36Ozvh.js → connection-detail-govoielY.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CSZF_TQx.js → connection-form-helpers-Bdbv__5q.js} +1 -1
- package/dist/client/assets/{connections-DC5XESZs.js → connections-CS9HbJB3.js} +1 -1
- package/dist/client/assets/{content-tab-DUe9Pk3L.js → content-tab-DWizMuHE.js} +3 -3
- package/dist/client/assets/{context-DdNfBAMU.js → context-TX95KwtD.js} +1 -1
- package/dist/client/assets/{context-menu-DJ87apJ2.js → context-menu-CV5Kwy0Y.js} +1 -1
- package/dist/client/assets/{core.esm-C7s0VVJH.js → core.esm-DySokeDD.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-DoF61er3.js → create-organization-dialog-BKXj66H0.js} +1 -1
- package/dist/client/assets/{daily-pulse-C775e_y-.js → daily-pulse-BnWqY20A.js} +1 -1
- package/dist/client/assets/{discover-C_Que9Au.js → discover-CwLdifKu.js} +1 -1
- package/dist/client/assets/{domain-settings-CT-S0BOV.js → domain-settings-bBNFtUzG.js} +1 -1
- package/dist/client/assets/{drawer-CixpU7n-.js → drawer-CY01gtte.js} +1 -1
- package/dist/client/assets/{editor-BKRP2Iwc.js → editor-BMsJkpc5.js} +1 -1
- package/dist/client/assets/{editor-classes-DZByr-lI.js → editor-classes-hvMxYRPw.js} +1 -1
- package/dist/client/assets/{empty-state-BZZcWHI_.js → empty-state-DbF1fVB1.js} +1 -1
- package/dist/client/assets/{empty-state-DQLm0d5k.js → empty-state-lMQw4wDb.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DJs0gTBx.js → extract-connection-data-CxPHH0g-.js} +1 -1
- package/dist/client/assets/{feature-gate-CgRSy5_Q.js → feature-gate-yx1JPdIs.js} +1 -1
- package/dist/client/assets/{feature-paywall-EueGiC9A.js → feature-paywall-BVtlmh2X.js} +1 -1
- package/dist/client/assets/{file-explorer-cu0ZoZ2i.js → file-explorer-ibryp6QB.js} +1 -1
- package/dist/client/assets/{file-preview-BJ_PkL7X.js → file-preview-C0xlzOg8.js} +1 -1
- package/dist/client/assets/{file-share-button-rEinR-qh.js → file-share-button-DpvTad7o.js} +1 -1
- package/dist/client/assets/{file-type-icon-C2JXE2hG.js → file-type-icon-DuTvDFZv.js} +1 -1
- package/dist/client/assets/flat-project-ZH6vKlez.js +1 -0
- package/dist/client/assets/{folder-icon-Cayf6XFB.js → folder-icon-whk1wgCT.js} +1 -1
- package/dist/client/assets/{form-BivWj0r6.js → form-C3-gqoE3.js} +1 -1
- package/dist/client/assets/{general-BQtDTtDD.js → general-CWIFD_7I.js} +1 -1
- package/dist/client/assets/{home-DncG44Vc.js → home-DT5-zQ3E.js} +1 -1
- package/dist/client/assets/{hosted-publish-feedback-CfrjUALv.js → hosted-publish-feedback-D6Ffo0E3.js} +1 -1
- package/dist/client/assets/{icon-button-DxqkkLQj.js → icon-button-BS-JGKQE.js} +1 -1
- package/dist/client/assets/{index-BtcVoJOD.js → index-2To0vSEr.js} +1 -1
- package/dist/client/assets/{index-BvuLMeCw.js → index-3zItT2RS.js} +3 -3
- package/dist/client/assets/{index-CZciUUmu.js → index-BfPVLbyp.js} +2 -2
- package/dist/client/assets/{index-NRMbjvM1.js → index-Bw86rqRb.js} +1 -1
- package/dist/client/assets/{index-TD9q6ZAx.js → index-CTZFCFor.js} +30 -30
- package/dist/client/assets/index-CdXcvK9e.js +1 -0
- package/dist/client/assets/{index-CvK4-KP3.js → index-CocrhzZC.js} +14 -14
- package/dist/client/assets/{index-BYmaAL9a.js → index-CylNQm53.js} +1 -1
- package/dist/client/assets/{index-C47EvNjt.js → index-D1WhOgDF.js} +1 -1
- package/dist/client/assets/{index-5vR8G6oj.js → index-D3Egkv0G.js} +1 -1
- package/dist/client/assets/{index-BF64aC--.js → index-DN6_-RzX.js} +1 -1
- package/dist/client/assets/{index-B26ImUL7.js → index-DQRAWCM4.js} +1 -1
- package/dist/client/assets/{index-xlh3U8dq.js → index-DbWYgc1J.js} +1 -1
- package/dist/client/assets/{index-C-gf76Hu.js → index-JOoGKn03.js} +1 -1
- package/dist/client/assets/{index-DV6FL3mH.js → index-ONAPJHIb.js} +1 -1
- package/dist/client/assets/{index-redirect-CCsqcmui.js → index-redirect-B7Nxq720.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-X8qh_Va6.js → infiniteQueryObserver-DjFxX3t4.js} +1 -1
- package/dist/client/assets/{infra-billing-fufjpAYz.js → infra-billing-C91ooPoC.js} +1 -1
- package/dist/client/assets/input-CAuGdxaS.js +1 -0
- package/dist/client/assets/{input-BSUErVvJ.js → input-zzyYgG2z.js} +3 -3
- package/dist/client/assets/{integration-icon-DJtlg_0w.js → integration-icon-DedJ1gFL.js} +1 -1
- package/dist/client/assets/{jira-icon-D0XL00z9.js → jira-icon-BH-e3sV4.js} +1 -1
- package/dist/client/assets/{label-B-SEr3Fs.js → label-BxQ_dsc6.js} +1 -1
- package/dist/client/assets/{layout-BI2BIstR.js → layout-C3yBCGKV.js} +1 -1
- package/dist/client/assets/legacy-agents-deep-CPUJGbk4.js +1 -0
- package/dist/client/assets/{legacy-main-redirect-D6tF7agn.js → legacy-main-redirect-Cd5BSaGF.js} +1 -1
- package/dist/client/assets/library-C1JuHwwk.js +1 -0
- package/dist/client/assets/{library-tab-BZkqrpuT.js → library-tab-DAuCMhST.js} +1 -1
- package/dist/client/assets/{login-C9lgbiSh.js → login-DCgWtHlv.js} +1 -1
- package/dist/client/assets/{markdown-B-jDeUMA.js → markdown-B3gUf9fq.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-Bk4hyaxU.js → mcp-app-renderer-4oVWjJbt.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CaxV9wcl.js → mcp-oauth-DnmbC1ZC.js} +1 -1
- package/dist/client/assets/{mcp-oauth-V-o-AEQP.js → mcp-oauth-Dx8iOGEt.js} +1 -1
- package/dist/client/assets/{members-BLeFrNm9.js → members-PWoNTeHj.js} +1 -1
- package/dist/client/assets/{memory-BsNDNxr2.js → memory-BEuf8l8C.js} +1 -1
- package/dist/client/assets/{mini-report-page-B0fqOWnH.js → mini-report-page-BQGdzpbF.js} +1 -1
- package/dist/client/assets/{mock-board-BFTY4RvG.js → mock-board-CSuz4opM.js} +1 -1
- package/dist/client/assets/{monaco-editor-D49CJi8U.js → monaco-editor-C1ThyHfg.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-BB3CDHWN.js → monitoring-stats-row-BLfBHvDR.js} +1 -1
- package/dist/client/assets/{multi-select-BvMK4932.js → multi-select-BGUKy-ie.js} +1 -1
- package/dist/client/assets/{mustache-HTehKKTG.js → mustache-BopKjK4y.js} +1 -1
- package/dist/client/assets/{new-project-dialog-DoLb5YVK.js → new-project-dialog--6a9GYsY.js} +1 -1
- package/dist/client/assets/{oauth-callback-Blwmfj1R.js → oauth-callback-Dl9UbmC0.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Dc9onjjw.js → oauth-callback-ai-provider-MlWlWjGr.js} +1 -1
- package/dist/client/assets/{onboarding-K-cgEcDl.js → onboarding-BvW7_lSm.js} +1 -1
- package/dist/client/assets/{openai-conversation-R6WmtJ5r.js → openai-conversation-DV_TyXnN.js} +1 -1
- package/dist/client/assets/{optimistic-project-sidebar-views-Bmh9CacI.js → optimistic-project-sidebar-views-gZfWr2eJ.js} +1 -1
- package/dist/client/assets/{order-monitor-day-CZfhLaiW.js → order-monitor-day-tqxzccsD.js} +1 -1
- package/dist/client/assets/{organization-choice-dC-onaYV.js → organization-choice-qkiDWPrl.js} +1 -1
- package/dist/client/assets/{orgs-BOJwmOLw.js → orgs-Bsdk5WNb.js} +1 -1
- package/dist/client/assets/{page-seo-form-CrsEBL3M.js → page-seo-form-C26iJCis.js} +1 -1
- package/dist/client/assets/{pair-CYYi6JKh.js → pair-BXKJ75t2.js} +1 -1
- package/dist/client/assets/{plan-ladder-Okx-KzN5.js → plan-ladder-D42bnzq6.js} +1 -1
- package/dist/client/assets/{popover-gJO3R5Ii.js → popover-DZg3XzK_.js} +1 -1
- package/dist/client/assets/{post-calendar-BgDWtRgx.js → post-calendar-BtiCxjbq.js} +1 -1
- package/dist/client/assets/{post-editor-CxINLeRV.js → post-editor-CimCNunY.js} +1 -1
- package/dist/client/assets/{preview-content-Cfi8bwXI.js → preview-content-CxXRowEV.js} +1 -1
- package/dist/client/assets/{preview-dialog-jZ9sRQON.js → preview-dialog-W6xlve7R.js} +1 -1
- package/dist/client/assets/{preview-panel-CN8PRsYc.js → preview-panel-Cy7WRuva.js} +1 -1
- package/dist/client/assets/{preview-tab-DRuTgCNI.js → preview-tab-Bo_MmH8N.js} +3 -3
- package/dist/client/assets/{product-picker-dialog-DB4JPBCA.js → product-picker-dialog-DRSW83x9.js} +1 -1
- package/dist/client/assets/{profile-DEiIcjHZ.js → profile-CtmE_8xo.js} +1 -1
- package/dist/client/assets/{project-app-view-Ml2wH3iy.js → project-app-view-8D3fxLxg.js} +1 -1
- package/dist/client/assets/{project-feed-CfssvHDQ.js → project-feed-B6d9Pblv.js} +1 -1
- package/dist/client/assets/{project-icon-BlJz5cOI.js → project-icon-Cd3AxOfl.js} +1 -1
- package/dist/client/assets/project-reports-DhGxN0x2.js +1 -0
- package/dist/client/assets/project-tasks-DppEghsL.js +1 -0
- package/dist/client/assets/{projects-Dzy3_FXd.js → projects-B8YVAgec.js} +1 -1
- package/dist/client/assets/{projects-empty-state-BDYeDrMv.js → projects-empty-state-BfkNTDjK.js} +1 -1
- package/dist/client/assets/{prompts-DV4Kjfa5.js → prompts-2NxN_gnO.js} +1 -1
- package/dist/client/assets/record-editor-DQiQEm3J.js +1 -0
- package/dist/client/assets/{redirect-editor-DFCv83sL.js → redirect-editor-S1rL9xd1.js} +1 -1
- package/dist/client/assets/{reports-DXYrq_BO.js → reports-BdiHuIUD.js} +1 -1
- package/dist/client/assets/reports-c39OWGSZ.js +1 -0
- package/dist/client/assets/{reports-onboarding-1VulbTO6.js → reports-onboarding-CzBiKyvA.js} +1 -1
- package/dist/client/assets/{reports-tab-DmNt_T04.js → reports-tab-fWUABT_U.js} +2 -2
- package/dist/client/assets/{repositories-D6jC23CW.js → repositories-1B0IcoSH.js} +1 -1
- package/dist/client/assets/repository-binding-CbZ7gDPF.js +1 -0
- package/dist/client/assets/{repository-import-picker-h-r8nnEf.js → repository-import-picker-CqejRBEV.js} +1 -1
- package/dist/client/assets/{repository-picker-FTAXO4Nx.js → repository-picker-lc5PVuph.js} +1 -1
- package/dist/client/assets/{require-capability-BewAou1A.js → require-capability-CLiKw7xi.js} +1 -1
- package/dist/client/assets/{required-auth-layout-gIZfj42y.js → required-auth-layout-obZ6miVT.js} +1 -1
- package/dist/client/assets/{reset-password-Bq09blPf.js → reset-password-C9jR1Ymc.js} +1 -1
- package/dist/client/assets/{resizable-CGzf0YCQ.js → resizable-MOzKpsY9.js} +1 -1
- package/dist/client/assets/{resolve-tab-icon-Daxo01Gi.js → resolve-tab-icon-DXtTUrAj.js} +1 -1
- package/dist/client/assets/{review-settings-DR_kj-Ru.js → review-settings-DrM5MUBI.js} +1 -1
- package/dist/client/assets/{roles-DWOkvlO_.js → roles-CHt9_vGR.js} +1 -1
- package/dist/client/assets/route-C2SFyXDw.js +1 -0
- package/dist/client/assets/{route-B-p6J_u6.js → route-Cd4e3z96.js} +1 -1
- package/dist/client/assets/route-q27BnTUy.js +1 -0
- package/dist/client/assets/{sandbox-lifecycle-context-rc29IhVV.js → sandbox-lifecycle-context-BlCv6a-P.js} +1 -1
- package/dist/client/assets/{schema-BGirdKR7.js → schema-B3PJAfvC.js} +1 -1
- package/dist/client/assets/{schema-DTvMW5Bj.js → schema-BpLx5lXs.js} +1 -1
- package/dist/client/assets/{scroll-area-D0jo1bkt.js → scroll-area-CioiKzlv.js} +1 -1
- package/dist/client/assets/{search-input-DIOUBltI.js → search-input-OMtFZb1f.js} +1 -1
- package/dist/client/assets/{search-toggle-BWyMsPKk.js → search-toggle-Rm9zqdhj.js} +1 -1
- package/dist/client/assets/{secret-ciphertext-ANOQlePB.js → secret-ciphertext-FPLrd6Sz.js} +1 -1
- package/dist/client/assets/{secret-picker--4BFyqbe.js → secret-picker-fddEeqOm.js} +1 -1
- package/dist/client/assets/{secrets-BxBi0DW0.js → secrets-loUpoyBS.js} +1 -1
- package/dist/client/assets/{sections-editor-cLAvYqLX.js → sections-editor-E9Z18ZDi.js} +2 -2
- package/dist/client/assets/{select-vip2MDSn.js → select-CMGxS2qh.js} +1 -1
- package/dist/client/assets/{select-model-Dqb1K6bc.js → select-model-CxhDhd-9.js} +1 -1
- package/dist/client/assets/{seo-editor-DDZSfwYW.js → seo-editor-D8MaiSNi.js} +1 -1
- package/dist/client/assets/{separator-BQ3AM4Ug.js → separator-BXc0zPSY.js} +1 -1
- package/dist/client/assets/settings-tab-Dou04qL_.js +4 -0
- package/dist/client/assets/{sheet-IYrYpc2B.js → sheet-BRHzkcNr.js} +1 -1
- package/dist/client/assets/{shell-layout-BM51_FIv.js → shell-layout-Dhz9Exq4.js} +1 -1
- package/dist/client/assets/site-editor-CN-mBnl3.js +1 -0
- package/dist/client/assets/{site-editor-toast-DbJhMk7V.js → site-editor-toast-7y5QejdX.js} +1 -1
- package/dist/client/assets/{skills-D2FiXzGW.js → skills-BYVm1yj9.js} +1 -1
- package/dist/client/assets/{slider-CwnL3HRa.js → slider-BA5URV4c.js} +1 -1
- package/dist/client/assets/{sortable.esm-BmwNKHYn.js → sortable.esm-BOb8_093.js} +1 -1
- package/dist/client/assets/{sso-DMQ-B__P.js → sso-BobuOVA-.js} +1 -1
- package/dist/client/assets/{suggestion-B_X9vnmO.js → suggestion-D_2yEjf4.js} +1 -1
- package/dist/client/assets/{switch-B9eCMptF.js → switch-DGEo5K4-.js} +1 -1
- package/dist/client/assets/{symbol-BnsdD8oy.js → symbol-CjppxhTH.js} +1 -1
- package/dist/client/assets/{synced-repos-VO9uiFX2.js → synced-repos-Dr5VcS9S.js} +1 -1
- package/dist/client/assets/{tab-icon-glyph-D53P8msf.js → tab-icon-glyph-DJxM1HMX.js} +1 -1
- package/dist/client/assets/{table-D9fzXIkZ.js → table-CM_armOG.js} +1 -1
- package/dist/client/assets/{tabs-BawejvDB.js → tabs-D7n9t3lM.js} +1 -1
- package/dist/client/assets/{task-board-ouLvp423.js → task-board-Cfny2jqU.js} +1 -1
- package/dist/client/assets/{task-route-CjHIKjev.js → task-route-C93dEljG.js} +1 -1
- package/dist/client/assets/{task-status-Buh7B1MG.js → task-status-Dc99s_5R.js} +1 -1
- package/dist/client/assets/taskboard-analytics-i6H3Rv1v.js +1 -0
- package/dist/client/assets/tasks-ByuTOhSz.js +1 -0
- package/dist/client/assets/{tasks-FmvKs9d3.js → tasks-Bz8Lz6cJ.js} +3 -3
- package/dist/client/assets/{textarea-B-TS083j.js → textarea-D-r53Xtx.js} +1 -1
- package/dist/client/assets/{thread-analytics-ykgOvgFb.js → thread-analytics-xhV1IkYL.js} +1 -1
- package/dist/client/assets/{thread-intent-S-gJClOG.js → thread-intent-b5vpifzT.js} +1 -1
- package/dist/client/assets/{thread-route-CQmCTEyn.js → thread-route-BJ_juaVR.js} +1 -1
- package/dist/client/assets/{thread-route-DtCL8-V4.js → thread-route-dlwv4_1A.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-DacE2e8a.js → thread-sheet-body-BlfHDz0K.js} +1 -1
- package/dist/client/assets/{time-range-picker-BIBoZiWJ.js → time-range-picker-BbFeKJV8.js} +1 -1
- package/dist/client/assets/{toggle-group-DI4ttUmk.js → toggle-group-DHp1u7am.js} +1 -1
- package/dist/client/assets/{tool-namespace-DSuLhjHC.js → tool-namespace-BEzs43Ur.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-UylaJSAo.js → toolbar-icon-button-iqvhc0aD.js} +1 -1
- package/dist/client/assets/{tooltip-D3Lno7Sd.js → tooltip-OCAaNJPG.js} +1 -1
- package/dist/client/assets/{tooltipContext-BF4YYYQ4.js → tooltipContext-Di2WNqkv.js} +1 -1
- package/dist/client/assets/{track-9gnPqqM1.js → track-C14SKSTg.js} +1 -1
- package/dist/client/assets/{types-oDc7dHni.js → types-DSl6aKYl.js} +1 -1
- package/dist/client/assets/{url-slug-CzRjxv-k.js → url-slug-BDqmchWv.js} +1 -1
- package/dist/client/assets/{usage-stats-DadTD3M-.js → usage-stats-k4aXi0cR.js} +1 -1
- package/dist/client/assets/{use-ai-providers-AcvGe9-V.js → use-ai-providers-r5JMl3Dn.js} +1 -1
- package/dist/client/assets/{use-app-takeover-BEzFC8oO.js → use-app-takeover-C41Zrny9.js} +1 -1
- package/dist/client/assets/{use-automations-CN350YMB.js → use-automations-CAQWvaBW.js} +1 -1
- package/dist/client/assets/{use-autosave-Dav7fRBX.js → use-autosave-DVsGD-u4.js} +1 -1
- package/dist/client/assets/{use-chat-navigation-DlxbS2Ir.js → use-chat-navigation-B7jtkmO9.js} +1 -1
- package/dist/client/assets/{use-clock-tick-Biiz8lzy.js → use-clock-tick-CdAPP8z5.js} +1 -1
- package/dist/client/assets/{use-connect-companion-VKAyFcK2.js → use-connect-companion-XVE2U2A9.js} +1 -1
- package/dist/client/assets/{use-connection-OOD0tHd7.js → use-connection-Bc66r7WR.js} +1 -1
- package/dist/client/assets/{use-content-sync-BQvWp4_o.js → use-content-sync-Cur_tlcg.js} +1 -1
- package/dist/client/assets/{use-copy-Cn4Z57YH.js → use-copy-DIsWFSvt.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CZW2rCq7.js → use-create-virtual-mcp-CC1Pm7Vq.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-ZV1qLyjT.js → use-date-fns-locale-BPUEmwqZ.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DoWWmWzG.js → use-debounced-autosave-CitZx5FB.js} +1 -1
- package/dist/client/assets/{use-debounced-value-WEbEbeed.js → use-debounced-value-Cv1nzd8k.js} +1 -1
- package/dist/client/assets/{use-deco-credits-D1idFaA8.js → use-deco-credits-CbC5ZgVr.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BITSrHb-.js → use-decopilot-events-BGdkAbxA.js} +1 -1
- package/dist/client/assets/{use-delete-connection-KMdMK-5V.js → use-delete-connection-Cgcil9G0.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-B_soKFRv.js → use-deployment-admin-Bq3PTYyd.js} +1 -1
- package/dist/client/assets/{use-ensure-project-folder-BUN6VVAV.js → use-ensure-project-folder-D4n7osah.js} +1 -1
- package/dist/client/assets/{use-fast-preview-draft-url-CSXqCUZ_.js → use-fast-preview-draft-url-C__pe5ue.js} +1 -1
- package/dist/client/assets/{use-file-configs-DMVCBG-z.js → use-file-configs-Da0V_POi.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-DjYaDj_j.js → use-infinite-scroll-qQBI_BkS.js} +1 -1
- package/dist/client/assets/{use-join-requests-Be-FCByX.js → use-join-requests-dO2c6Tc2.js} +1 -1
- package/dist/client/assets/{use-main-panel-tabs-Cloon3zW.js → use-main-panel-tabs-eu6gNvfS.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-Bv4IbKQl.js → use-mcp-auth-status-DciS_iyB.js} +1 -1
- package/dist/client/assets/{use-mcp-client-fTyLcuiX.js → use-mcp-client-jKOlHdKM.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-CyqOUVUD.js → use-mcp-prompts-KLIBV_YA.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-sv7pv5ex.js → use-mcp-tools-CWDoMes8.js} +1 -1
- package/dist/client/assets/{use-members-CvY21L2Q.js → use-members-DKFjOBdl.js} +1 -1
- package/dist/client/assets/{use-mobile-2T0aye5I.js → use-mobile-CmswU9_U.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-BpeT4fqu.js → use-navigate-to-agent-DvsN-N9f.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-Db0e3guK.js → use-open-billing-url-BGaG_eVz.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CWA2hWCM.js → use-org-auth-client-DyhHIXwn.js} +1 -1
- package/dist/client/assets/{use-org-fs-CPNJqv-N.js → use-org-fs-5rCZZYw5.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-MWiNxGjz.js → use-org-repo-syncs-jpa15G0h.js} +1 -1
- package/dist/client/assets/{use-org-sso-BMLNRQyf.js → use-org-sso-meIc9b7s.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DwFJmstu.js → use-organization-roles-1dxZeG9R.js} +1 -1
- package/dist/client/assets/{use-organization-settings-lug340cj.js → use-organization-settings-NMl9AK6V.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-CfJ9Qf-l.js → use-panel-navigate-BhXVoQPa.js} +1 -1
- package/dist/client/assets/use-project-native-view-presence-DgH1oa2Q.js +1 -0
- package/dist/client/assets/{use-project-scope-C99MQSqi.js → use-project-scope-B3s9YTAH.js} +1 -1
- package/dist/client/assets/{use-recent-apps-BumxbfgY.js → use-recent-apps-B3eA701g.js} +1 -1
- package/dist/client/assets/{use-releases-CRk_-gGM.js → use-releases-B_Ivj-ji.js} +1 -1
- package/dist/client/assets/{use-reports-diagnostic-WXyHMxuT.js → use-reports-diagnostic-Dq1Yd1Vr.js} +1 -1
- package/dist/client/assets/{use-secrets-nvhTtgV_.js → use-secrets-Dg67dBxN.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-BBIzI-Pc.js → use-section-preview-base-CYSL7sBu.js} +1 -1
- package/dist/client/assets/{use-tags-Dawb8nJP.js → use-tags-DRpey5ac.js} +1 -1
- package/dist/client/assets/{use-task-board-analytics-BaDTyaMf.js → use-task-board-analytics-CxHs3cah.js} +1 -1
- package/dist/client/assets/{use-task-board-events-viqZq2i-.js → use-task-board-events-CWFDTGYW.js} +1 -1
- package/dist/client/assets/{use-task-board-item-prs-BTOeRNoi.js → use-task-board-item-prs-D8bcpDjg.js} +1 -1
- package/dist/client/assets/{use-task-board-items-Dp3mGHSl.js → use-task-board-items-BbRfksII.js} +1 -1
- package/dist/client/assets/{use-task-metadata-Buvn0eAk.js → use-task-metadata-4c8a_mNH.js} +1 -1
- package/dist/client/assets/{use-thread-analytics-DOC2eb9z.js → use-thread-analytics-CMJl8EEf.js} +1 -1
- package/dist/client/assets/{use-thread-outputs-Bmumw8UE.js → use-thread-outputs-BOAz3j7m.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-DOKZzanu.js +1 -0
- package/dist/client/assets/{useQueries-4Zja_Hbg.js → useQueries-BiefmIu_.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-gQb4-5BD.js +1 -0
- package/dist/client/assets/{users-Cbsspkn2.js → users-eo_ZMVx2.js} +1 -1
- package/dist/client/assets/{utils-zbsUBoHt.js → utils-DqXf9fJY.js} +1 -1
- package/dist/client/assets/{variant-calendar-BnIxTRkB.js → variant-calendar-1onPlYHl.js} +1 -1
- package/dist/client/assets/{variant-draft-pointer-DEL-ZLWj.js → variant-draft-pointer-OJYw4Y1_.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CGu3ANob.js → view-mode-toggle-ImzlJONT.js} +1 -1
- package/dist/client/assets/{virtual-mcp-DQFtuDZf.js → virtual-mcp-BX0PkQ6l.js} +1 -1
- package/dist/client/assets/{watch-sse-pool-C7fmCtIy.js → watch-sse-pool-CEcxThGW.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/server.js +3 -3
- package/package.json +1 -1
- package/dist/client/assets/agent-app-BMA5upH5.js +0 -1
- package/dist/client/assets/agent-deck-BJf1WFap.js +0 -1
- package/dist/client/assets/agent-library-BqFtXY1m.js +0 -1
- package/dist/client/assets/agent-library-file-CQDlY3Yr.js +0 -1
- package/dist/client/assets/agent-settings-DeB5MuX_.js +0 -1
- package/dist/client/assets/agent-site-editor-code-Dq4KRDBk.js +0 -2
- package/dist/client/assets/agent-site-editor-content-Blm2auu-.js +0 -1
- package/dist/client/assets/agent-site-editor-preview-CCk80iIG.js +0 -1
- package/dist/client/assets/agent-view-Cl8uWNJN.js +0 -1
- package/dist/client/assets/api-keys-DSwUfsL4.js +0 -1
- package/dist/client/assets/cms-settings-editor-Dxh-Mvqb.js +0 -1
- package/dist/client/assets/flat-project-fhJMf2Fo.js +0 -1
- package/dist/client/assets/index-BmYzltjg.js +0 -1
- package/dist/client/assets/input-h8042dl0.js +0 -1
- package/dist/client/assets/legacy-agents-deep-jcGaNAHc.js +0 -1
- package/dist/client/assets/library-DntM1dnS.js +0 -1
- package/dist/client/assets/project-reports-CsI0AQuY.js +0 -1
- package/dist/client/assets/project-tasks-DLi14b92.js +0 -1
- package/dist/client/assets/record-editor-wOnCkFPK.js +0 -1
- package/dist/client/assets/reports-AMpsYdUr.js +0 -1
- package/dist/client/assets/repository-binding-BnejFX7t.js +0 -1
- package/dist/client/assets/route-G0-ZvPpf.js +0 -1
- package/dist/client/assets/route-UiPRedfp.js +0 -1
- package/dist/client/assets/settings-tab-eia9Fz-X.js +0 -4
- package/dist/client/assets/site-editor-C5iX5zAy.js +0 -1
- package/dist/client/assets/taskboard-analytics-DhwjY7M5.js +0 -1
- package/dist/client/assets/tasks-Ds4uIhX_.js +0 -1
- package/dist/client/assets/use-project-native-view-presence-DdsfKci4.js +0 -1
- package/dist/client/assets/useInfiniteQuery-CQY9cAw7.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-XqqzZbmr.js +0 -1
package/dist/server/server.js
CHANGED
|
@@ -76,7 +76,7 @@ Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.ht
|
|
|
76
76
|
However, a future version may change this behavior to prefer the ENV static credentials.
|
|
77
77
|
Please ensure that your environment only sets either the AWS_PROFILE or the
|
|
78
78
|
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
|
|
79
|
-
`),kt1=!0}throw new nG0.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:$.logger,tryNextLink:!0})}return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),Cd0($)()},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:Q,ssoAccountId:Y,ssoRegion:X,ssoRoleName:J,ssoSession:G}=$;if(!Q&&!Y&&!X&&!J&&!G)throw new nG0.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:$.logger});let{fromSSO:W}=await Promise.resolve().then(() => (li0(),ui0));return W($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:Q}=await Promise.resolve().then(() => (It1(),Vt1));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:Q}=await Promise.resolve().then(() => (cp0(),mp0));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:Q}=await Promise.resolve().then(() => (op0(),tp0));return Q($)(Z)},async()=>{return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await pl1($))()},async()=>{throw new nG0.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:!1,logger:$.logger})}],H94),H94=($)=>$?.expiration!==void 0&&$.expiration.getTime()-Date.now()<300000;var _t1=L(()=>{Sd0();nl1();nG0=_(o5(),1),Ct1=_(ZJ(),1)});var vt1=L(()=>{_t1()});var bt1=()=>{};var Em,F94="AWS_S3_USE_ARN_REGION",U94="s3_use_arn_region",xt1;var ft1=L(()=>{Em=_(mr(),1),xt1={environmentVariableSelector:($)=>Em.booleanSelector($,F94,Em.SelectorType.ENV),configFileSelector:($)=>Em.booleanSelector($,U94,Em.SelectorType.CONFIG),default:void 0}});var yt1=()=>{};var gt1=()=>{};var ht1=L(()=>{bt1();ft1();gt1();yt1()});class Pm{bytes;constructor($){if(this.bytes=$,$.byteLength!==8)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber($){if($>9223372036854776000||$<-9223372036854776000)throw Error(`${$} is too large (or, if negative, too small) to represent as an Int64`);let Z=new Uint8Array(8);for(let Q=7,Y=Math.abs(Math.round($));Q>-1&&Y>0;Q--,Y/=256)Z[Q]=Y;if($<0)ut1(Z);return new Pm(Z)}valueOf(){let $=this.bytes.slice(0),Z=$[0]&128;if(Z)ut1($);return parseInt(lt1.toHex($),16)*(Z?-1:1)}toString(){return String(this.valueOf())}}function ut1($){for(let Z=0;Z<8;Z++)$[Z]^=255;for(let Z=7;Z>-1;Z--)if($[Z]++,$[Z]!==0)break}var lt1;var rp0=L(()=>{lt1=_(jr(),1)});class ap0{toUtf8;fromUtf8;constructor($,Z){this.toUtf8=$,this.fromUtf8=Z}format($){let Z=[];for(let X of Object.keys($)){let J=this.fromUtf8(X);Z.push(Uint8Array.from([J.byteLength]),J,this.formatHeaderValue($[X]))}let Q=new Uint8Array(Z.reduce((X,J)=>X+J.byteLength,0)),Y=0;for(let X of Z)Q.set(X,Y),Y+=X.byteLength;return Q}formatHeaderValue($){switch($.type){case"boolean":return Uint8Array.from([$.value?0:1]);case"byte":return Uint8Array.from([2,$.value]);case"short":let Z=new DataView(new ArrayBuffer(3));return Z.setUint8(0,3),Z.setInt16(1,$.value,!1),new Uint8Array(Z.buffer);case"integer":let Q=new DataView(new ArrayBuffer(5));return Q.setUint8(0,4),Q.setInt32(1,$.value,!1),new Uint8Array(Q.buffer);case"long":let Y=new Uint8Array(9);return Y[0]=5,Y.set($.value.bytes,1),Y;case"binary":let X=new DataView(new ArrayBuffer(3+$.value.byteLength));X.setUint8(0,6),X.setUint16(1,$.value.byteLength,!1);let J=new Uint8Array(X.buffer);return J.set($.value,3),J;case"string":let G=this.fromUtf8($.value),W=new DataView(new ArrayBuffer(3+G.byteLength));W.setUint8(0,7),W.setUint16(1,G.byteLength,!1);let K=new Uint8Array(W.buffer);return K.set(G,3),K;case"timestamp":let H=new Uint8Array(9);return H[0]=8,H.set(Pm.fromNumber($.value.valueOf()).bytes,1),H;case"uuid":if(!P94.test($.value))throw Error(`Invalid UUID received: ${$.value}`);let F=new Uint8Array(17);return F[0]=9,F.set(aj.fromHex($.value.replace(/\-/g,"")),1),F}}parse($){let Z={},Q=0;while(Q<$.byteLength){let Y=$.getUint8(Q++),X=this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,Y));switch(Q+=Y,$.getUint8(Q++)){case 0:Z[X]={type:ct1,value:!0};break;case 1:Z[X]={type:ct1,value:!1};break;case 2:Z[X]={type:N94,value:$.getInt8(Q++)};break;case 3:Z[X]={type:B94,value:$.getInt16(Q,!1)},Q+=2;break;case 4:Z[X]={type:D94,value:$.getInt32(Q,!1)},Q+=4;break;case 5:Z[X]={type:L94,value:new Pm(new Uint8Array($.buffer,$.byteOffset+Q,8))},Q+=8;break;case 6:let J=$.getUint16(Q,!1);Q+=2,Z[X]={type:O94,value:new Uint8Array($.buffer,$.byteOffset+Q,J)},Q+=J;break;case 7:let G=$.getUint16(Q,!1);Q+=2,Z[X]={type:j94,value:this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,G))},Q+=G;break;case 8:Z[X]={type:w94,value:new Date(new Pm(new Uint8Array($.buffer,$.byteOffset+Q,8)).valueOf())},Q+=8;break;case 9:let W=new Uint8Array($.buffer,$.byteOffset+Q,16);Q+=16,Z[X]={type:E94,value:`${aj.toHex(W.subarray(0,4))}-${aj.toHex(W.subarray(4,6))}-${aj.toHex(W.subarray(6,8))}-${aj.toHex(W.subarray(8,10))}-${aj.toHex(W.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return Z}}var aj,mt1,ct1="boolean",N94="byte",B94="short",D94="integer",L94="long",O94="binary",j94="string",w94="timestamp",E94="uuid",P94;var ep0=L(()=>{rp0();aj=_(jr(),1);(function($){$[$.boolTrue=0]="boolTrue",$[$.boolFalse=1]="boolFalse",$[$.byte=2]="byte",$[$.short=3]="short",$[$.integer=4]="integer",$[$.long=5]="long",$[$.byteArray=6]="byteArray",$[$.string=7]="string",$[$.timestamp=8]="timestamp",$[$.uuid=9]="uuid"})(mt1||(mt1={}));P94=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/});function pt1({byteLength:$,byteOffset:Z,buffer:Q}){if($<z94)throw Error("Provided message too short to accommodate event stream message overhead");let Y=new DataView(Q,Z,$),X=Y.getUint32(0,!1);if($!==X)throw Error("Reported message length does not match received message length");let J=Y.getUint32(it1,!1),G=Y.getUint32(ej,!1),W=Y.getUint32($-_A,!1),K=new dt1.Crc32().update(new Uint8Array(Q,Z,ej));if(G!==K.digest())throw Error(`The prelude checksum specified in the message (${G}) does not match the calculated CRC32 checksum (${K.digest()})`);if(K.update(new Uint8Array(Q,Z+ej,$-(ej+_A))),W!==K.digest())throw Error(`The message checksum (${K.digest()}) did not match the expected value of ${W}`);return{headers:new DataView(Q,Z+ej+_A,J),body:new Uint8Array(Q,Z+ej+_A+J,X-J-(ej+_A+_A))}}var dt1,it1=4,ej,_A=4,z94;var nt1=L(()=>{dt1=_(a2(),1),ej=it1*2,z94=ej+_A*2});class $n0{headerMarshaller;messageBuffer;isEndOfStream;constructor($,Z){this.headerMarshaller=new ap0($,Z),this.messageBuffer=[],this.isEndOfStream=!1}feed($){this.messageBuffer.push(this.decode($))}endOfStream(){this.isEndOfStream=!0}getMessage(){let $=this.messageBuffer.pop(),Z=this.isEndOfStream;return{getMessage(){return $},isEndOfStream(){return Z}}}getAvailableMessages(){let $=this.messageBuffer;this.messageBuffer=[];let Z=this.isEndOfStream;return{getMessages(){return $},isEndOfStream(){return Z}}}encode({headers:$,body:Z}){let Q=this.headerMarshaller.format($),Y=Q.byteLength+Z.byteLength+16,X=new Uint8Array(Y),J=new DataView(X.buffer,X.byteOffset,X.byteLength),G=new tt1.Crc32;return J.setUint32(0,Y,!1),J.setUint32(4,Q.byteLength,!1),J.setUint32(8,G.update(X.subarray(0,8)).digest(),!1),X.set(Q,12),X.set(Z,Q.byteLength+12),J.setUint32(Y-4,G.update(X.subarray(8,Y-4)).digest(),!1),X}decode($){let{headers:Z,body:Q}=pt1($);return{headers:this.headerMarshaller.parse(Z),body:Q}}formatHeaders($){return this.headerMarshaller.format($)}}var tt1;var ot1=L(()=>{ep0();nt1();tt1=_(a2(),1)});var st1=()=>{};var Zn0;var rt1=L(()=>{Zn0=class Zn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.decoder.decode($)}}});var Qn0;var at1=L(()=>{Qn0=class Qn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.messageStream)yield this.options.encoder.encode($);if(this.options.includeEndFrame)yield new Uint8Array(0)}}});var Yn0;var et1=L(()=>{Yn0=class Yn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.messageStream){let Z=await this.options.deserializer($);if(Z===void 0)continue;yield Z}}}});var Xn0;var $o1=L(()=>{Xn0=class Xn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.serializer($)}}});var Zo1=L(()=>{ot1();ep0();rp0();st1();rt1();at1();et1();$o1()});function Qo1($){let Z=0,Q=0,Y=null,X=null,J=(W)=>{if(typeof W!=="number")throw Error("Attempted to allocate an event message where size was not a number: "+W);Z=W,Q=4,Y=new Uint8Array(W),new DataView(Y.buffer).setUint32(0,W,!1)},G=async function*(){let W=$[Symbol.asyncIterator]();while(!0){let{value:K,done:H}=await W.next();if(H){if(!Z)return;else if(Z===Q)yield Y;else throw Error("Truncated event message received.");return}let F=K.length,U=0;while(U<F){if(!Y){let B=F-U;if(!X)X=new Uint8Array(4);let D=Math.min(4-Q,B);if(X.set(K.slice(U,U+D),Q),Q+=D,U+=D,Q<4)break;J(new DataView(X.buffer).getUint32(0,!1)),X=null}let N=Math.min(Z-Q,F-U);if(Y.set(K.slice(U,U+N),Q),Q+=N,U+=N,Z&&Z===Q)yield Y,Y=null,Z=0,Q=0}}};return{[Symbol.asyncIterator]:G}}function Yo1($,Z){return async function(Q){let{value:Y}=Q.headers[":message-type"];if(Y==="error"){let X=Error(Q.headers[":error-message"].value||"UnknownError");throw X.name=Q.headers[":error-code"].value,X}else if(Y==="exception"){let X=Q.headers[":exception-type"].value,J={[X]:Q},G=await $(J);if(G.$unknown){let W=Error(Z(Q.body));throw W.name=X,W}throw G[X]}else if(Y==="event"){let X={[Q.headers[":event-type"].value]:Q},J=await $(X);if(J.$unknown)return;return J}else throw Error(`Unrecognizable event type: ${Q.headers[":event-type"].value}`)}}class Jn0{eventStreamCodec;utfEncoder;constructor({utf8Encoder:$,utf8Decoder:Z}){this.eventStreamCodec=new $n0($,Z),this.utfEncoder=$}deserialize($,Z){let Q=Qo1($);return new Yn0({messageStream:new Zn0({inputStream:Q,decoder:this.eventStreamCodec}),deserializer:Yo1(Z,this.utfEncoder)})}serialize($,Z){return new Qn0({messageStream:new Xn0({inputStream:$,serializer:Z}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}var Xo1=L(()=>{Zo1()});var Jo1=()=>{};var Go1=L(()=>{Xo1();Jo1()});async function*Wo1($){let Z=!1,Q=!1,Y=[];$.on("error",(X)=>{if(!Z)Z=!0;if(X)throw X}),$.on("data",(X)=>{Y.push(X)}),$.on("end",()=>{Z=!0});while(!Q){let X=await new Promise((J)=>setTimeout(()=>J(Y.shift()),0));if(X)yield X;Q=Z&&Y.length===0}}import{Readable as A94}from"stream";class Gn0{universalMarshaller;constructor({utf8Encoder:$,utf8Decoder:Z}){this.universalMarshaller=new Jn0({utf8Decoder:Z,utf8Encoder:$})}deserialize($,Z){let Q=typeof $[Symbol.asyncIterator]==="function"?$:Wo1($);return this.universalMarshaller.deserialize(Q,Z)}serialize($,Z){return A94.from(this.universalMarshaller.serialize($,Z))}}var Wn0=L(()=>{Go1()});var Ko1=($)=>new Gn0($);var Ho1=L(()=>{Wn0()});var Fo1=L(()=>{Wn0();Ho1()});import{Writable as T94}from"stream";var Uo1,Kn0;var No1=L(()=>{Uo1=_(oQ(),1);Kn0=class Kn0 extends T94{hash;constructor($,Z){super(Z);this.hash=$}_write($,Z,Q){try{this.hash.update(Uo1.toUint8Array($))}catch(Y){return Q(Y)}Q()}}});var Bo1=()=>{};var Do1=($,Z)=>{if(Z.readableFlowing!==null)throw Error("Unable to calculate hash for flowing readable stream");let Q=new $,Y=new Kn0(Q);return Z.pipe(Y),new Promise((X,J)=>{Z.on("error",(G)=>{Y.end(),J(G)}),Y.on("error",J),Y.on("finish",()=>{Q.digest().then(X).catch(J)})})};var Lo1=L(()=>{No1()});var Oo1=L(()=>{Bo1();Lo1()});var tG0,jo1,wo1,Eo1,Po1,oG0,sG0,rG0,zo1=($)=>{return{apiVersion:"2006-03-01",base64Decoder:$?.base64Decoder??oG0.fromBase64,base64Encoder:$?.base64Encoder??oG0.toBase64,disableHostPrefix:$?.disableHostPrefix??!1,endpointProvider:$?.endpointProvider??IJ0,extensions:$?.extensions??[],getAwsChunkedEncodingStream:$?.getAwsChunkedEncodingStream??sG0.getAwsChunkedEncodingStream,httpAuthSchemeProvider:$?.httpAuthSchemeProvider??qg1,httpAuthSchemes:$?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4"),signer:new tG0.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4a"),signer:new tG0.AwsSdkSigV4ASigner}],logger:$?.logger??new Eo1.NoOpLogger,protocol:$?.protocol??jo1.S3RestXmlProtocol,protocolSettings:$?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",errorTypeRegistries:Cg1,xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:$?.sdkStreamMixin??sG0.sdkStreamMixin,serviceId:$?.serviceId??"S3",signerConstructor:$?.signerConstructor??wo1.SignatureV4MultiRegion,signingEscapePath:$?.signingEscapePath??!1,urlParser:$?.urlParser??Po1.parseUrl,useArnRegion:$?.useArnRegion??void 0,utf8Decoder:$?.utf8Decoder??rG0.fromUtf8,utf8Encoder:$?.utf8Encoder??rG0.toUtf8}};var Ao1=L(()=>{jd0();Od0();F1();tG0=_(iY(),1),jo1=_(U$(),1),wo1=_(el(),1),Eo1=_(p0(),1),Po1=_(MU(),1),oG0=_(rJ(),1),sG0=_(Ml(),1),rG0=_(oQ(),1)});var To1,eG0,qo1,$30,$w,aG0,Z30,w3,Q30,Y30,Ro1,Mo1,Vo1,Io1=($)=>{Y30.emitWarningIfUnsupportedVersion(process.version);let Z=Mo1.resolveDefaultsModeConfig($),Q=()=>Z().then(Y30.loadConfigsForDefaultMode),Y=zo1($);To1.emitWarningIfUnsupportedVersion(process.version);let X={profile:$?.profile,logger:Y.logger};return{...Y,...$,runtime:"node",defaultsMode:Z,authSchemePreference:$?.authSchemePreference??w3.loadConfig(eG0.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,X),bodyLengthChecker:$?.bodyLengthChecker??Ro1.calculateBodyLength,credentialDefaultProvider:$?.credentialDefaultProvider??St1,defaultUserAgentProvider:$?.defaultUserAgentProvider??$30.createDefaultUserAgentProvider({serviceId:Y.serviceId,clientVersion:Gl1.version}),disableS3ExpressSessionAuth:$?.disableS3ExpressSessionAuth??w3.loadConfig(qo1.NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,X),eventStreamSerdeProvider:$?.eventStreamSerdeProvider??Ko1,maxAttempts:$?.maxAttempts??w3.loadConfig(Z30.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,$),md5:$?.md5??aG0.Hash.bind(null,"md5"),region:$?.region??w3.loadConfig($w.NODE_REGION_CONFIG_OPTIONS,{...$w.NODE_REGION_CONFIG_FILE_OPTIONS,...X}),requestChecksumCalculation:$?.requestChecksumCalculation??w3.loadConfig(Lk1,X),requestHandler:Q30.NodeHttpHandler.create($?.requestHandler??Q),responseChecksumValidation:$?.responseChecksumValidation??w3.loadConfig(jk1,X),retryMode:$?.retryMode??w3.loadConfig({...Z30.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await Q()).retryMode||Vo1.DEFAULT_RETRY_MODE},$),sha1:$?.sha1??aG0.Hash.bind(null,"sha1"),sha256:$?.sha256??aG0.Hash.bind(null,"sha256"),sigv4aSigningRegionSet:$?.sigv4aSigningRegionSet??w3.loadConfig(eG0.NODE_SIGV4A_CONFIG_OPTIONS,X),streamCollector:$?.streamCollector??Q30.streamCollector,streamHasher:$?.streamHasher??Do1,useArnRegion:$?.useArnRegion??w3.loadConfig(xt1,X),useDualstackEndpoint:$?.useDualstackEndpoint??w3.loadConfig($w.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,X),useFipsEndpoint:$?.useFipsEndpoint??w3.loadConfig($w.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,X),userAgentAppId:$?.userAgentAppId??w3.loadConfig($30.NODE_APP_ID_CONFIG_OPTIONS,X)}};var ko1=L(()=>{Jl1();vt1();ht1();C6();Fo1();Oo1();Ao1();To1=_(w9(),1),eG0=_(iY(),1),qo1=_(U$(),1),$30=_(Gm(),1),$w=_($G(),1),aG0=_(Wm(),1),Z30=_(xH(),1),w3=_(bH(),1),Q30=_(Sj(),1),Y30=_(p0(),1),Ro1=_(Km(),1),Mo1=_(Hm(),1),Vo1=_(OD(),1)});var Co1=($)=>{let{httpAuthSchemes:Z,httpAuthSchemeProvider:Q,credentials:Y}=$;return{setHttpAuthScheme(X){let J=Z.findIndex((G)=>G.schemeId===X.schemeId);if(J===-1)Z.push(X);else Z.splice(J,1,X)},httpAuthSchemes(){return Z},setHttpAuthSchemeProvider(X){Q=X},httpAuthSchemeProvider(){return Q},setCredentials(X){Y=X},credentials(){return Y}}},So1=($)=>{return{httpAuthSchemes:$.httpAuthSchemes(),httpAuthSchemeProvider:$.httpAuthSchemeProvider(),credentials:$.credentials()}};var X30,J30,G30,_o1=($,Z)=>{let Q=Object.assign(X30.getAwsRegionExtensionConfiguration($),G30.getDefaultExtensionConfiguration($),J30.getHttpHandlerExtensionConfiguration($),Co1($));return Z.forEach((Y)=>Y.configure(Q)),Object.assign($,X30.resolveAwsRegionExtensionConfiguration(Q),G30.resolveDefaultRuntimeConfig(Q),J30.resolveHttpHandlerRuntimeConfig(Q),So1(Q))};var vo1=L(()=>{X30=_(LA(),1),J30=_(t5(),1),G30=_(p0(),1)});var W30,bo1,xo1,SU,K30,fo1,zm,yo1,go1,ho1,H30,uo1,ZY;var vA=L(()=>{Bk1();C6();wf1();jd0();nJ0();N1();ko1();vo1();W30=_(_l(),1),bo1=_(vl(),1),xo1=_(bl(),1),SU=_(U$(),1),K30=_(HA(),1),fo1=_($G(),1),zm=_(b7(),1),yo1=_(mY(),1),go1=_(ol(),1),ho1=_(G1(),1),H30=_(xH(),1),uo1=_(p0(),1);ZY=class ZY extends uo1.Client{config;constructor(...[$]){let Z=Io1($||{});super(Z);this.initConfig=Z;let Q=Mg1(Z),Y=K30.resolveUserAgentConfig(Q),X=d_1(Y),J=H30.resolveRetryConfig(X),G=fo1.resolveRegionConfig(J),W=W30.resolveHostHeaderConfig(G),K=ho1.resolveEndpointConfig(W),H=jf1(K),F=Rg1(H),U=SU.resolveS3Config(F,{session:[()=>this,$a]}),N=_o1(U,$?.extensions||[]);this.config=N,this.middlewareStack.use(yo1.getSchemaSerdePlugin(this.config)),this.middlewareStack.use(K30.getUserAgentPlugin(this.config)),this.middlewareStack.use(H30.getRetryPlugin(this.config)),this.middlewareStack.use(go1.getContentLengthPlugin(this.config)),this.middlewareStack.use(W30.getHostHeaderPlugin(this.config)),this.middlewareStack.use(bo1.getLoggerPlugin(this.config)),this.middlewareStack.use(xo1.getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(zm.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:zg1,identityProviderConfigProvider:async(B)=>new zm.DefaultIdentityProviderConfig({"aws.auth#sigv4":B.credentials,"aws.auth#sigv4a":B.credentials})})),this.middlewareStack.use(zm.getHttpSigningPlugin(this.config)),this.middlewareStack.use(SU.getValidateBucketNamePlugin(this.config)),this.middlewareStack.use(Nk1(this.config)),this.middlewareStack.use(SU.getRegionRedirectMiddlewarePlugin(this.config)),this.middlewareStack.use(SU.getS3ExpressPlugin(this.config)),this.middlewareStack.use(SU.getS3ExpressHttpSigningPlugin(this.config))}destroy(){super.destroy()}}});var lo1,mo1,co1,za;var Hn0=L(()=>{N1();F1();lo1=_(U$(),1),mo1=_(G1(),1),co1=_(p0(),1);za=class za extends co1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[mo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),lo1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(Yh1).build(){}});function q94($){return(Z)=>async(Q)=>{let Y={...Q.input},X=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let J of X){let G=Y[J.target];if(G){let W;if(typeof G==="string")if(M94(G,$))W=$.base64Decoder(G);else W=$.utf8Decoder(G),Y[J.target]=$.base64Encoder(W);else W=ArrayBuffer.isView(G)?new Uint8Array(G.buffer,G.byteOffset,G.byteLength):new Uint8Array(G),Y[J.target]=$.base64Encoder(W);let K=new $.md5;K.update(W),Y[J.hash]=$.base64Encoder(await K.digest())}}return Z({...Q,input:Y})}}function M94($,Z){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test($))return!1;try{return Z.base64Decoder($).length===32}catch{return!1}}var R94,VZ=($)=>({applyToStack:(Z)=>{Z.add(q94($),R94)}});var sW=L(()=>{R94={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0}});var do1,io1,po1,Aa;var Fn0=L(()=>{sW();N1();F1();do1=_(U$(),1),io1=_(G1(),1),po1=_(p0(),1);Aa=class Aa extends po1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[io1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),do1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(Xh1).build(){}});var no1,to1,oo1,Un0;var Nn0=L(()=>{sW();N1();F1();no1=_(U$(),1),to1=_(G1(),1),oo1=_(p0(),1);Un0=class Un0 extends oo1.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"},CopySource:{type:"contextParams",name:"CopySource"}}).m(function($,Z,Q,Y){return[to1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),no1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CopyObject",{}).n("S3Client","CopyObjectCommand").sc(Jh1).build(){}});function V94($){return(Z)=>async(Q)=>{let{CreateBucketConfiguration:Y}=Q.input,X=await $.region();if(!Y?.LocationConstraint&&!Y?.Location){if(X!=="us-east-1")Q.input.CreateBucketConfiguration=Q.input.CreateBucketConfiguration??{},Q.input.CreateBucketConfiguration.LocationConstraint=X}return Z(Q)}}var I94,so1=($)=>({applyToStack:(Z)=>{Z.add(V94($),I94)}});var ro1=L(()=>{I94={step:"initialize",tags:["LOCATION_CONSTRAINT","CREATE_BUCKET_CONFIGURATION"],name:"locationConstraintMiddleware",override:!0}});var ao1,eo1,$s1,Bn0;var Dn0=L(()=>{ro1();N1();F1();ao1=_(U$(),1),eo1=_(G1(),1),$s1=_(p0(),1);Bn0=class Bn0 extends $s1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},DisableAccessPoints:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[eo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ao1.getThrow200ExceptionsPlugin(Q),so1(Q)]}).s("AmazonS3","CreateBucket",{}).n("S3Client","CreateBucketCommand").sc(Gh1).build(){}});var Zs1,Qs1,Ln0;var On0=L(()=>{C6();N1();F1();Zs1=_(G1(),1),Qs1=_(p0(),1);Ln0=class Ln0 extends Qs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Zs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataConfiguration",{}).n("S3Client","CreateBucketMetadataConfigurationCommand").sc(Wh1).build(){}});var Ys1,Xs1,jn0;var wn0=L(()=>{C6();N1();F1();Ys1=_(G1(),1),Xs1=_(p0(),1);jn0=class jn0 extends Xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ys1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataTableConfiguration",{}).n("S3Client","CreateBucketMetadataTableConfigurationCommand").sc(Kh1).build(){}});var Js1,Gs1,Ws1,Ta;var En0=L(()=>{sW();N1();F1();Js1=_(U$(),1),Gs1=_(G1(),1),Ws1=_(p0(),1);Ta=class Ta extends Ws1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Gs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Js1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(Hh1).build(){}});var Ks1,Hs1,Pn0;var zn0=L(()=>{N1();F1();Ks1=_(G1(),1),Hs1=_(p0(),1);Pn0=class Pn0 extends Hs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ks1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketAnalyticsConfiguration",{}).n("S3Client","DeleteBucketAnalyticsConfigurationCommand").sc(Nh1).build(){}});var Fs1,Us1,An0;var Tn0=L(()=>{N1();F1();Fs1=_(G1(),1),Us1=_(p0(),1);An0=class An0 extends Us1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucket",{}).n("S3Client","DeleteBucketCommand").sc(Uh1).build(){}});var Ns1,Bs1,qn0;var Rn0=L(()=>{N1();F1();Ns1=_(G1(),1),Bs1=_(p0(),1);qn0=class qn0 extends Bs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ns1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketCors",{}).n("S3Client","DeleteBucketCorsCommand").sc(Bh1).build(){}});var Ds1,Ls1,Mn0;var Vn0=L(()=>{N1();F1();Ds1=_(G1(),1),Ls1=_(p0(),1);Mn0=class Mn0 extends Ls1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ds1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketEncryption",{}).n("S3Client","DeleteBucketEncryptionCommand").sc(Dh1).build(){}});var Os1,js1,In0;var kn0=L(()=>{N1();F1();Os1=_(G1(),1),js1=_(p0(),1);In0=class In0 extends js1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Os1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketIntelligentTieringConfiguration",{}).n("S3Client","DeleteBucketIntelligentTieringConfigurationCommand").sc(Lh1).build(){}});var ws1,Es1,Cn0;var Sn0=L(()=>{N1();F1();ws1=_(G1(),1),Es1=_(p0(),1);Cn0=class Cn0 extends Es1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ws1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketInventoryConfiguration",{}).n("S3Client","DeleteBucketInventoryConfigurationCommand").sc(Oh1).build(){}});var Ps1,zs1,_n0;var vn0=L(()=>{N1();F1();Ps1=_(G1(),1),zs1=_(p0(),1);_n0=class _n0 extends zs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ps1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketLifecycle",{}).n("S3Client","DeleteBucketLifecycleCommand").sc(jh1).build(){}});var As1,Ts1,bn0;var xn0=L(()=>{N1();F1();As1=_(G1(),1),Ts1=_(p0(),1);bn0=class bn0 extends Ts1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[As1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataConfiguration",{}).n("S3Client","DeleteBucketMetadataConfigurationCommand").sc(wh1).build(){}});var qs1,Rs1,fn0;var yn0=L(()=>{N1();F1();qs1=_(G1(),1),Rs1=_(p0(),1);fn0=class fn0 extends Rs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[qs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataTableConfiguration",{}).n("S3Client","DeleteBucketMetadataTableConfigurationCommand").sc(Eh1).build(){}});var Ms1,Vs1,gn0;var hn0=L(()=>{N1();F1();Ms1=_(G1(),1),Vs1=_(p0(),1);gn0=class gn0 extends Vs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetricsConfiguration",{}).n("S3Client","DeleteBucketMetricsConfigurationCommand").sc(Ph1).build(){}});var Is1,ks1,un0;var ln0=L(()=>{N1();F1();Is1=_(G1(),1),ks1=_(p0(),1);un0=class un0 extends ks1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketOwnershipControls",{}).n("S3Client","DeleteBucketOwnershipControlsCommand").sc(zh1).build(){}});var Cs1,Ss1,mn0;var cn0=L(()=>{N1();F1();Cs1=_(G1(),1),Ss1=_(p0(),1);mn0=class mn0 extends Ss1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Cs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketPolicy",{}).n("S3Client","DeleteBucketPolicyCommand").sc(Ah1).build(){}});var _s1,vs1,dn0;var in0=L(()=>{N1();F1();_s1=_(G1(),1),vs1=_(p0(),1);dn0=class dn0 extends vs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_s1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketReplication",{}).n("S3Client","DeleteBucketReplicationCommand").sc(Th1).build(){}});var bs1,xs1,pn0;var nn0=L(()=>{N1();F1();bs1=_(G1(),1),xs1=_(p0(),1);pn0=class pn0 extends xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[bs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketTagging",{}).n("S3Client","DeleteBucketTaggingCommand").sc(qh1).build(){}});var fs1,ys1,tn0;var on0=L(()=>{N1();F1();fs1=_(G1(),1),ys1=_(p0(),1);tn0=class tn0 extends ys1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketWebsite",{}).n("S3Client","DeleteBucketWebsiteCommand").sc(Rh1).build(){}});var gs1,hs1,us1,uD;var sn0=L(()=>{N1();F1();gs1=_(U$(),1),hs1=_(G1(),1),us1=_(p0(),1);uD=class uD extends us1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[hs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),gs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(Mh1).build(){}});var ls1,ms1,cs1,rn0;var an0=L(()=>{C6();N1();F1();ls1=_(U$(),1),ms1=_(G1(),1),cs1=_(p0(),1);rn0=class rn0 extends cs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ls1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjects",{}).n("S3Client","DeleteObjectsCommand").sc(Vh1).build(){}});var ds1,is1,ps1,en0;var $t0=L(()=>{N1();F1();ds1=_(U$(),1),is1=_(G1(),1),ps1=_(p0(),1);en0=class en0 extends ps1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ds1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjectTagging",{}).n("S3Client","DeleteObjectTaggingCommand").sc(Ih1).build(){}});var ns1,ts1,Zt0;var Qt0=L(()=>{N1();F1();ns1=_(G1(),1),ts1=_(p0(),1);Zt0=class Zt0 extends ts1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ns1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeletePublicAccessBlock",{}).n("S3Client","DeletePublicAccessBlockCommand").sc(kh1).build(){}});var os1,ss1,rs1,Yt0;var Xt0=L(()=>{N1();F1();os1=_(U$(),1),ss1=_(G1(),1),rs1=_(p0(),1);Yt0=class Yt0 extends rs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ss1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),os1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAbac",{}).n("S3Client","GetBucketAbacCommand").sc(Ch1).build(){}});var as1,es1,$r1,Jt0;var Gt0=L(()=>{N1();F1();as1=_(U$(),1),es1=_(G1(),1),$r1=_(p0(),1);Jt0=class Jt0 extends $r1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[es1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),as1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAccelerateConfiguration",{}).n("S3Client","GetBucketAccelerateConfigurationCommand").sc(Sh1).build(){}});var Zr1,Qr1,Yr1,Wt0;var Kt0=L(()=>{N1();F1();Zr1=_(U$(),1),Qr1=_(G1(),1),Yr1=_(p0(),1);Wt0=class Wt0 extends Yr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Qr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Zr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAcl",{}).n("S3Client","GetBucketAclCommand").sc(_h1).build(){}});var Xr1,Jr1,Gr1,Ht0;var Ft0=L(()=>{N1();F1();Xr1=_(U$(),1),Jr1=_(G1(),1),Gr1=_(p0(),1);Ht0=class Ht0 extends Gr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Jr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Xr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAnalyticsConfiguration",{}).n("S3Client","GetBucketAnalyticsConfigurationCommand").sc(vh1).build(){}});var Wr1,Kr1,Hr1,Ut0;var Nt0=L(()=>{N1();F1();Wr1=_(U$(),1),Kr1=_(G1(),1),Hr1=_(p0(),1);Ut0=class Ut0 extends Hr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Kr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Wr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketCors",{}).n("S3Client","GetBucketCorsCommand").sc(bh1).build(){}});var Fr1,Ur1,Nr1,Bt0;var Dt0=L(()=>{N1();F1();Fr1=_(U$(),1),Ur1=_(G1(),1),Nr1=_(p0(),1);Bt0=class Bt0 extends Nr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ur1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Fr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketEncryption",{}).n("S3Client","GetBucketEncryptionCommand").sc(xh1).build(){}});var Br1,Dr1,Lr1,Lt0;var Ot0=L(()=>{N1();F1();Br1=_(U$(),1),Dr1=_(G1(),1),Lr1=_(p0(),1);Lt0=class Lt0 extends Lr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Dr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Br1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketIntelligentTieringConfiguration",{}).n("S3Client","GetBucketIntelligentTieringConfigurationCommand").sc(fh1).build(){}});var Or1,jr1,wr1,jt0;var wt0=L(()=>{N1();F1();Or1=_(U$(),1),jr1=_(G1(),1),wr1=_(p0(),1);jt0=class jt0 extends wr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[jr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Or1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketInventoryConfiguration",{}).n("S3Client","GetBucketInventoryConfigurationCommand").sc(yh1).build(){}});var Er1,Pr1,zr1,Et0;var Pt0=L(()=>{N1();F1();Er1=_(U$(),1),Pr1=_(G1(),1),zr1=_(p0(),1);Et0=class Et0 extends zr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Pr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Er1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLifecycleConfiguration",{}).n("S3Client","GetBucketLifecycleConfigurationCommand").sc(gh1).build(){}});var Ar1,Tr1,qr1,zt0;var At0=L(()=>{N1();F1();Ar1=_(U$(),1),Tr1=_(G1(),1),qr1=_(p0(),1);zt0=class zt0 extends qr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Tr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ar1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLocation",{}).n("S3Client","GetBucketLocationCommand").sc(hh1).build(){}});var Rr1,Mr1,Vr1,Tt0;var qt0=L(()=>{N1();F1();Rr1=_(U$(),1),Mr1=_(G1(),1),Vr1=_(p0(),1);Tt0=class Tt0 extends Vr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Mr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Rr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLogging",{}).n("S3Client","GetBucketLoggingCommand").sc(uh1).build(){}});var Ir1,kr1,Cr1,Rt0;var Mt0=L(()=>{N1();F1();Ir1=_(U$(),1),kr1=_(G1(),1),Cr1=_(p0(),1);Rt0=class Rt0 extends Cr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[kr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ir1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataConfiguration",{}).n("S3Client","GetBucketMetadataConfigurationCommand").sc(lh1).build(){}});var Sr1,_r1,vr1,Vt0;var It0=L(()=>{N1();F1();Sr1=_(U$(),1),_r1=_(G1(),1),vr1=_(p0(),1);Vt0=class Vt0 extends vr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_r1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Sr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataTableConfiguration",{}).n("S3Client","GetBucketMetadataTableConfigurationCommand").sc(mh1).build(){}});var br1,xr1,fr1,kt0;var Ct0=L(()=>{N1();F1();br1=_(U$(),1),xr1=_(G1(),1),fr1=_(p0(),1);kt0=class kt0 extends fr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[xr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),br1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetricsConfiguration",{}).n("S3Client","GetBucketMetricsConfigurationCommand").sc(ch1).build(){}});var yr1,gr1,hr1,St0;var _t0=L(()=>{N1();F1();yr1=_(U$(),1),gr1=_(G1(),1),hr1=_(p0(),1);St0=class St0 extends hr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[gr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),yr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketNotificationConfiguration",{}).n("S3Client","GetBucketNotificationConfigurationCommand").sc(dh1).build(){}});var ur1,lr1,mr1,vt0;var bt0=L(()=>{N1();F1();ur1=_(U$(),1),lr1=_(G1(),1),mr1=_(p0(),1);vt0=class vt0 extends mr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[lr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ur1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketOwnershipControls",{}).n("S3Client","GetBucketOwnershipControlsCommand").sc(ih1).build(){}});var cr1,dr1,xt0;var ft0=L(()=>{N1();F1();cr1=_(G1(),1),dr1=_(p0(),1);xt0=class xt0 extends dr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[cr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetBucketPolicy",{}).n("S3Client","GetBucketPolicyCommand").sc(ph1).build(){}});var ir1,pr1,nr1,yt0;var gt0=L(()=>{N1();F1();ir1=_(U$(),1),pr1=_(G1(),1),nr1=_(p0(),1);yt0=class yt0 extends nr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[pr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ir1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketPolicyStatus",{}).n("S3Client","GetBucketPolicyStatusCommand").sc(nh1).build(){}});var tr1,or1,sr1,ht0;var ut0=L(()=>{N1();F1();tr1=_(U$(),1),or1=_(G1(),1),sr1=_(p0(),1);ht0=class ht0 extends sr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[or1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),tr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketReplication",{}).n("S3Client","GetBucketReplicationCommand").sc(th1).build(){}});var rr1,ar1,er1,lt0;var mt0=L(()=>{N1();F1();rr1=_(U$(),1),ar1=_(G1(),1),er1=_(p0(),1);lt0=class lt0 extends er1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ar1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),rr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketRequestPayment",{}).n("S3Client","GetBucketRequestPaymentCommand").sc(oh1).build(){}});var $a1,Za1,Qa1,ct0;var dt0=L(()=>{N1();F1();$a1=_(U$(),1),Za1=_(G1(),1),Qa1=_(p0(),1);ct0=class ct0 extends Qa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Za1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),$a1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketTagging",{}).n("S3Client","GetBucketTaggingCommand").sc(sh1).build(){}});var Ya1,Xa1,Ja1,it0;var pt0=L(()=>{N1();F1();Ya1=_(U$(),1),Xa1=_(G1(),1),Ja1=_(p0(),1);it0=class it0 extends Ja1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ya1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketVersioning",{}).n("S3Client","GetBucketVersioningCommand").sc(rh1).build(){}});var Ga1,Wa1,Ka1,nt0;var tt0=L(()=>{N1();F1();Ga1=_(U$(),1),Wa1=_(G1(),1),Ka1=_(p0(),1);nt0=class nt0 extends Ka1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Wa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ga1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketWebsite",{}).n("S3Client","GetBucketWebsiteCommand").sc(ah1).build(){}});var Ha1,Fa1,Ua1,ot0;var st0=L(()=>{N1();F1();Ha1=_(U$(),1),Fa1=_(G1(),1),Ua1=_(p0(),1);ot0=class ot0 extends Ua1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Fa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ha1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectAcl",{}).n("S3Client","GetObjectAclCommand").sc($u1).build(){}});var Na1,Ba1,Da1,rt0;var at0=L(()=>{sW();N1();F1();Na1=_(U$(),1),Ba1=_(G1(),1),Da1=_(p0(),1);rt0=class rt0 extends Da1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ba1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Na1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","GetObjectAttributes",{}).n("S3Client","GetObjectAttributesCommand").sc(Zu1).build(){}});var La1,Oa1,ja1,_U;var et0=L(()=>{C6();sW();N1();F1();La1=_(U$(),1),Oa1=_(G1(),1),ja1=_(p0(),1);_U=class _U extends ja1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Oa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1","SHA512","MD5","XXHASH64","XXHASH3","XXHASH128"]}),VZ(Q),La1.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(eh1).build(){}});var wa1,Ea1,Pa1,$o0;var Zo0=L(()=>{N1();F1();wa1=_(U$(),1),Ea1=_(G1(),1),Pa1=_(p0(),1);$o0=class $o0 extends Pa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),wa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLegalHold",{}).n("S3Client","GetObjectLegalHoldCommand").sc(Qu1).build(){}});var za1,Aa1,Ta1,Qo0;var Yo0=L(()=>{N1();F1();za1=_(U$(),1),Aa1=_(G1(),1),Ta1=_(p0(),1);Qo0=class Qo0 extends Ta1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Aa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),za1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLockConfiguration",{}).n("S3Client","GetObjectLockConfigurationCommand").sc(Yu1).build(){}});var qa1,Ra1,Ma1,Xo0;var Jo0=L(()=>{N1();F1();qa1=_(U$(),1),Ra1=_(G1(),1),Ma1=_(p0(),1);Xo0=class Xo0 extends Ma1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ra1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),qa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectRetention",{}).n("S3Client","GetObjectRetentionCommand").sc(Xu1).build(){}});var Va1,Ia1,ka1,Go0;var Wo0=L(()=>{N1();F1();Va1=_(U$(),1),Ia1=_(G1(),1),ka1=_(p0(),1);Go0=class Go0 extends ka1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ia1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Va1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectTagging",{}).n("S3Client","GetObjectTaggingCommand").sc(Ju1).build(){}});var Ca1,Sa1,Ko0;var Ho0=L(()=>{N1();F1();Ca1=_(G1(),1),Sa1=_(p0(),1);Ko0=class Ko0 extends Sa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ca1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetObjectTorrent",{}).n("S3Client","GetObjectTorrentCommand").sc(Gu1).build(){}});var _a1,va1,ba1,Fo0;var Uo0=L(()=>{N1();F1();_a1=_(U$(),1),va1=_(G1(),1),ba1=_(p0(),1);Fo0=class Fo0 extends ba1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[va1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),_a1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetPublicAccessBlock",{}).n("S3Client","GetPublicAccessBlockCommand").sc(Wu1).build(){}});var xa1,fa1,ya1,bA;var qa=L(()=>{N1();F1();xa1=_(U$(),1),fa1=_(G1(),1),ya1=_(p0(),1);bA=class bA extends ya1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),xa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","HeadBucket",{}).n("S3Client","HeadBucketCommand").sc(Ku1).build(){}});var F30,ga1,ha1,vU;var Ra=L(()=>{sW();N1();F1();F30=_(U$(),1),ga1=_(G1(),1),ha1=_(p0(),1);vU=class vU extends ha1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ga1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),F30.getThrow200ExceptionsPlugin(Q),VZ(Q),F30.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(Hu1).build(){}});var ua1,la1,ma1,No0;var Bo0=L(()=>{N1();F1();ua1=_(U$(),1),la1=_(G1(),1),ma1=_(p0(),1);No0=class No0 extends ma1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[la1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ua1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketAnalyticsConfigurations",{}).n("S3Client","ListBucketAnalyticsConfigurationsCommand").sc(Fu1).build(){}});var ca1,da1,ia1,Do0;var Lo0=L(()=>{N1();F1();ca1=_(U$(),1),da1=_(G1(),1),ia1=_(p0(),1);Do0=class Do0 extends ia1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[da1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ca1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketIntelligentTieringConfigurations",{}).n("S3Client","ListBucketIntelligentTieringConfigurationsCommand").sc(Uu1).build(){}});var pa1,na1,ta1,Oo0;var jo0=L(()=>{N1();F1();pa1=_(U$(),1),na1=_(G1(),1),ta1=_(p0(),1);Oo0=class Oo0 extends ta1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[na1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),pa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketInventoryConfigurations",{}).n("S3Client","ListBucketInventoryConfigurationsCommand").sc(Nu1).build(){}});var oa1,sa1,ra1,wo0;var Eo0=L(()=>{N1();F1();oa1=_(U$(),1),sa1=_(G1(),1),ra1=_(p0(),1);wo0=class wo0 extends ra1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[sa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),oa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketMetricsConfigurations",{}).n("S3Client","ListBucketMetricsConfigurationsCommand").sc(Bu1).build(){}});var aa1,ea1,$e1,Ma;var U30=L(()=>{N1();F1();aa1=_(U$(),1),ea1=_(G1(),1),$e1=_(p0(),1);Ma=class Ma extends $e1.Command.classBuilder().ep(L0).m(function($,Z,Q,Y){return[ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),aa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBuckets",{}).n("S3Client","ListBucketsCommand").sc(Du1).build(){}});var Ze1,Qe1,Ye1,Va;var N30=L(()=>{N1();F1();Ze1=_(U$(),1),Qe1=_(G1(),1),Ye1=_(p0(),1);Va=class Va extends Ye1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[Qe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ze1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListDirectoryBuckets",{}).n("S3Client","ListDirectoryBucketsCommand").sc(Lu1).build(){}});var Xe1,Je1,Ge1,Po0;var zo0=L(()=>{N1();F1();Xe1=_(U$(),1),Je1=_(G1(),1),Ge1=_(p0(),1);Po0=class Po0 extends Ge1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[Je1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Xe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListMultipartUploads",{}).n("S3Client","ListMultipartUploadsCommand").sc(Ou1).build(){}});var We1,Ke1,He1,Ao0;var To0=L(()=>{N1();F1();We1=_(U$(),1),Ke1=_(G1(),1),He1=_(p0(),1);Ao0=class Ao0 extends He1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[Ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),We1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjects",{}).n("S3Client","ListObjectsCommand").sc(ju1).build(){}});var Fe1,Ue1,Ne1,rW;var B30=L(()=>{N1();F1();Fe1=_(U$(),1),Ue1=_(G1(),1),Ne1=_(p0(),1);rW=class rW extends Ne1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[Ue1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Fe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(wu1).build(){}});var Be1,De1,Le1,qo0;var Ro0=L(()=>{N1();F1();Be1=_(U$(),1),De1=_(G1(),1),Le1=_(p0(),1);qo0=class qo0 extends Le1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[De1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Be1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectVersions",{}).n("S3Client","ListObjectVersionsCommand").sc(Eu1).build(){}});var Oe1,je1,we1,Ia;var D30=L(()=>{sW();N1();F1();Oe1=_(U$(),1),je1=_(G1(),1),we1=_(p0(),1);Ia=class Ia extends we1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[je1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Oe1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","ListParts",{}).n("S3Client","ListPartsCommand").sc(Pu1).build(){}});var Ee1,Pe1,Mo0;var Vo0=L(()=>{C6();N1();F1();Ee1=_(G1(),1),Pe1=_(p0(),1);Mo0=class Mo0 extends Pe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ee1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAbac",{}).n("S3Client","PutBucketAbacCommand").sc(zu1).build(){}});var ze1,Ae1,Io0;var ko0=L(()=>{C6();N1();F1();ze1=_(G1(),1),Ae1=_(p0(),1);Io0=class Io0 extends Ae1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAccelerateConfiguration",{}).n("S3Client","PutBucketAccelerateConfigurationCommand").sc(Au1).build(){}});var Te1,qe1,Co0;var So0=L(()=>{C6();N1();F1();Te1=_(G1(),1),qe1=_(p0(),1);Co0=class Co0 extends qe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketAcl",{}).n("S3Client","PutBucketAclCommand").sc(Tu1).build(){}});var Re1,Me1,_o0;var vo0=L(()=>{N1();F1();Re1=_(G1(),1),Me1=_(p0(),1);_o0=class _o0 extends Me1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Re1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketAnalyticsConfiguration",{}).n("S3Client","PutBucketAnalyticsConfigurationCommand").sc(qu1).build(){}});var Ve1,Ie1,bo0;var xo0=L(()=>{C6();N1();F1();Ve1=_(G1(),1),Ie1=_(p0(),1);bo0=class bo0 extends Ie1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketCors",{}).n("S3Client","PutBucketCorsCommand").sc(Ru1).build(){}});var ke1,Ce1,fo0;var yo0=L(()=>{C6();N1();F1();ke1=_(G1(),1),Ce1=_(p0(),1);fo0=class fo0 extends Ce1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketEncryption",{}).n("S3Client","PutBucketEncryptionCommand").sc(Mu1).build(){}});var Se1,_e1,go0;var ho0=L(()=>{N1();F1();Se1=_(G1(),1),_e1=_(p0(),1);go0=class go0 extends _e1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketIntelligentTieringConfiguration",{}).n("S3Client","PutBucketIntelligentTieringConfigurationCommand").sc(Vu1).build(){}});var ve1,be1,uo0;var lo0=L(()=>{N1();F1();ve1=_(G1(),1),be1=_(p0(),1);uo0=class uo0 extends be1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketInventoryConfiguration",{}).n("S3Client","PutBucketInventoryConfigurationCommand").sc(Iu1).build(){}});var xe1,fe1,ye1,mo0;var co0=L(()=>{C6();N1();F1();xe1=_(U$(),1),fe1=_(G1(),1),ye1=_(p0(),1);mo0=class mo0 extends ye1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),xe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutBucketLifecycleConfiguration",{}).n("S3Client","PutBucketLifecycleConfigurationCommand").sc(ku1).build(){}});var ge1,he1,do0;var io0=L(()=>{C6();N1();F1();ge1=_(G1(),1),he1=_(p0(),1);do0=class do0 extends he1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ge1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketLogging",{}).n("S3Client","PutBucketLoggingCommand").sc(Cu1).build(){}});var ue1,le1,po0;var no0=L(()=>{N1();F1();ue1=_(G1(),1),le1=_(p0(),1);po0=class po0 extends le1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ue1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketMetricsConfiguration",{}).n("S3Client","PutBucketMetricsConfigurationCommand").sc(Su1).build(){}});var me1,ce1,to0;var oo0=L(()=>{N1();F1();me1=_(G1(),1),ce1=_(p0(),1);to0=class to0 extends ce1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[me1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketNotificationConfiguration",{}).n("S3Client","PutBucketNotificationConfigurationCommand").sc(_u1).build(){}});var de1,ie1,so0;var ro0=L(()=>{C6();N1();F1();de1=_(G1(),1),ie1=_(p0(),1);so0=class so0 extends ie1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[de1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketOwnershipControls",{}).n("S3Client","PutBucketOwnershipControlsCommand").sc(vu1).build(){}});var pe1,ne1,ao0;var eo0=L(()=>{C6();N1();F1();pe1=_(G1(),1),ne1=_(p0(),1);ao0=class ao0 extends ne1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[pe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketPolicy",{}).n("S3Client","PutBucketPolicyCommand").sc(bu1).build(){}});var te1,oe1,$s0;var Zs0=L(()=>{C6();N1();F1();te1=_(G1(),1),oe1=_(p0(),1);$s0=class $s0 extends oe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketReplication",{}).n("S3Client","PutBucketReplicationCommand").sc(xu1).build(){}});var se1,re1,Qs0;var Ys0=L(()=>{C6();N1();F1();se1=_(G1(),1),re1=_(p0(),1);Qs0=class Qs0 extends re1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketRequestPayment",{}).n("S3Client","PutBucketRequestPaymentCommand").sc(fu1).build(){}});var ae1,ee1,Xs0;var Js0=L(()=>{C6();N1();F1();ae1=_(G1(),1),ee1=_(p0(),1);Xs0=class Xs0 extends ee1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ae1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketTagging",{}).n("S3Client","PutBucketTaggingCommand").sc(yu1).build(){}});var $0$,Z0$,Gs0;var Ws0=L(()=>{C6();N1();F1();$0$=_(G1(),1),Z0$=_(p0(),1);Gs0=class Gs0 extends Z0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketVersioning",{}).n("S3Client","PutBucketVersioningCommand").sc(gu1).build(){}});var Q0$,Y0$,Ks0;var Hs0=L(()=>{C6();N1();F1();Q0$=_(G1(),1),Y0$=_(p0(),1);Ks0=class Ks0 extends Y0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketWebsite",{}).n("S3Client","PutBucketWebsiteCommand").sc(hu1).build(){}});var X0$,J0$,G0$,Fs0;var Us0=L(()=>{C6();N1();F1();X0$=_(U$(),1),J0$=_(G1(),1),G0$=_(p0(),1);Fs0=class Fs0 extends G0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[J0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),X0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectAcl",{}).n("S3Client","PutObjectAclCommand").sc(lu1).build(){}});var L30,W0$,K0$,E3;var Ns0=L(()=>{C6();sW();N1();F1();L30=_(U$(),1),W0$=_(G1(),1),K0$=_(p0(),1);E3=class E3 extends K0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[W0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),L30.getCheckContentLengthHeaderPlugin(Q),L30.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(uu1).build(){}});var H0$,F0$,U0$,Bs0;var Ds0=L(()=>{C6();N1();F1();H0$=_(U$(),1),F0$=_(G1(),1),U0$=_(p0(),1);Bs0=class Bs0 extends U0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[F0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),H0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLegalHold",{}).n("S3Client","PutObjectLegalHoldCommand").sc(mu1).build(){}});var N0$,B0$,D0$,Ls0;var Os0=L(()=>{C6();N1();F1();N0$=_(U$(),1),B0$=_(G1(),1),D0$=_(p0(),1);Ls0=class Ls0 extends D0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[B0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),N0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLockConfiguration",{}).n("S3Client","PutObjectLockConfigurationCommand").sc(cu1).build(){}});var L0$,O0$,j0$,js0;var ws0=L(()=>{C6();N1();F1();L0$=_(U$(),1),O0$=_(G1(),1),j0$=_(p0(),1);js0=class js0 extends j0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[O0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),L0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectRetention",{}).n("S3Client","PutObjectRetentionCommand").sc(du1).build(){}});var w0$,E0$,P0$,ka;var Es0=L(()=>{C6();N1();F1();w0$=_(U$(),1),E0$=_(G1(),1),P0$=_(p0(),1);ka=class ka extends P0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[E0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),w0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(iu1).build(){}});var z0$,A0$,Ps0;var zs0=L(()=>{C6();N1();F1();z0$=_(G1(),1),A0$=_(p0(),1);Ps0=class Ps0 extends A0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[z0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutPublicAccessBlock",{}).n("S3Client","PutPublicAccessBlockCommand").sc(pu1).build(){}});var T0$,q0$,R0$,As0;var Ts0=L(()=>{N1();F1();T0$=_(U$(),1),q0$=_(G1(),1),R0$=_(p0(),1);As0=class As0 extends R0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),T0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RenameObject",{}).n("S3Client","RenameObjectCommand").sc(nu1).build(){}});var M0$,V0$,I0$,qs0;var Rs0=L(()=>{C6();N1();F1();M0$=_(U$(),1),V0$=_(G1(),1),I0$=_(p0(),1);qs0=class qs0 extends I0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[V0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),M0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RestoreObject",{}).n("S3Client","RestoreObjectCommand").sc(tu1).build(){}});var k0$,C0$,Ms0;var Vs0=L(()=>{sW();N1();F1();k0$=_(G1(),1),C0$=_(p0(),1);Ms0=class Ms0 extends C0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[k0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),VZ(Q)]}).s("AmazonS3","SelectObjectContent",{eventStream:{output:!0}}).n("S3Client","SelectObjectContentCommand").sc(ou1).build(){}});var S0$,_0$,Is0;var ks0=L(()=>{C6();N1();F1();S0$=_(G1(),1),_0$=_(p0(),1);Is0=class Is0 extends _0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[S0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataInventoryTableConfiguration",{}).n("S3Client","UpdateBucketMetadataInventoryTableConfigurationCommand").sc(su1).build(){}});var v0$,b0$,Cs0;var Ss0=L(()=>{C6();N1();F1();v0$=_(G1(),1),b0$=_(p0(),1);Cs0=class Cs0 extends b0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[v0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataJournalTableConfiguration",{}).n("S3Client","UpdateBucketMetadataJournalTableConfigurationCommand").sc(ru1).build(){}});var x0$,f0$,y0$,_s0;var vs0=L(()=>{C6();N1();F1();x0$=_(U$(),1),f0$=_(G1(),1),y0$=_(p0(),1);_s0=class _s0 extends y0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[f0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),x0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","UpdateObjectEncryption",{}).n("S3Client","UpdateObjectEncryptionCommand").sc(au1).build(){}});var g0$,h0$,u0$,Ca;var bs0=L(()=>{C6();sW();N1();F1();g0$=_(U$(),1),h0$=_(G1(),1),u0$=_(p0(),1);Ca=class Ca extends u0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[h0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),g0$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(eu1).build(){}});var l0$,m0$,c0$,xs0;var fs0=L(()=>{sW();N1();F1();l0$=_(U$(),1),m0$=_(G1(),1),c0$=_(p0(),1);xs0=class xs0 extends c0$.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[m0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),l0$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPartCopy",{}).n("S3Client","UploadPartCopyCommand").sc($l1).build(){}});var d0$,i0$,ys0;var gs0=L(()=>{N1();F1();d0$=_(G1(),1),i0$=_(p0(),1);ys0=class ys0 extends i0$.Command.classBuilder().ep({...L0,UseObjectLambdaEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[d0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","WriteGetObjectResponse",{}).n("S3Client","WriteGetObjectResponseCommand").sc(Zl1).build(){}});var p0$,n0$;var hs0=L(()=>{U30();vA();p0$=_(b7(),1),n0$=p0$.createPaginator(ZY,Ma,"ContinuationToken","ContinuationToken","MaxBuckets")});var t0$,o0$;var us0=L(()=>{N30();vA();t0$=_(b7(),1),o0$=t0$.createPaginator(ZY,Va,"ContinuationToken","ContinuationToken","MaxDirectoryBuckets")});var s0$,r0$;var ls0=L(()=>{B30();vA();s0$=_(b7(),1),r0$=s0$.createPaginator(ZY,rW,"ContinuationToken","NextContinuationToken","MaxKeys")});var a0$,e0$;var ms0=L(()=>{D30();vA();a0$=_(b7(),1),e0$=a0$.createPaginator(ZY,Ia,"PartNumberMarker","NextPartNumberMarker","MaxParts")});var Am=()=>{let $=new WeakSet;return(Z,Q)=>{if(typeof Q==="object"&&Q!==null){if($.has(Q))return"[Circular]";$.add(Q)}return Q}};var $1$=($)=>{return new Promise((Z)=>setTimeout(Z,$*1000))};var Z1$,E9,Zw=($)=>{if($.state===E9.ABORTED){let Z=Error(`${JSON.stringify({...$,reason:"Request was aborted"},Am())}`);throw Z.name="AbortError",Z}else if($.state===E9.TIMEOUT){let Z=Error(`${JSON.stringify({...$,reason:"Waiter has timed out"},Am())}`);throw Z.name="TimeoutError",Z}else if($.state!==E9.SUCCESS)throw Error(`${JSON.stringify($,Am())}`);return $};var O30=L(()=>{Z1$={minDelay:2,maxDelay:120};(function($){$.ABORTED="ABORTED",$.FAILURE="FAILURE",$.SUCCESS="SUCCESS",$.RETRY="RETRY",$.TIMEOUT="TIMEOUT"})(E9||(E9={}))});var Q1$=async({minDelay:$,maxDelay:Z,maxWaitTime:Q,abortController:Y,client:X,abortSignal:J},G,W)=>{let K={},[H,F]=[$*1000,Z*1000],U=0,N=Date.now()+Q*1000,B=Date.now()+60000,D=!1;while(!0){if(U>0){let w=S94(H,F,U,N);if(Y?.signal?.aborted||J?.aborted)return K["AbortController signal aborted."]|=0,K["AbortController signal aborted."]+=1,{state:E9.ABORTED,observedResponses:K};if(Date.now()+w>N)return{state:E9.TIMEOUT,observedResponses:K};await $1$(w/1000)}let{state:O,reason:j}=await W(X,G);if(j){let w=C94(j);K[w]|=0,K[w]+=1}if(O!==E9.RETRY)return{state:O,reason:j,final:j,observedResponses:K};if(U+=1,!D&&Date.now()>=B)k94(K,X),D=!0}},k94=($={},Z)=>{let Q=Object.keys($),Y=0,X=0;for(let W of Q){let K=$[W]|0;if(Y=Math.max(K,Y),W.startsWith("403:"))X+=K}let J=Z?.config?.logger,G=typeof J?.warn==="function"&&!J.constructor?.name?.includes?.("NoOpLogger")?J:console;if(X>=3||Q[Q.length-1].startsWith("403:"))G.warn("@smithy/util-waiter WARN - 403 status code encountered during waiter polling.")},C94=($)=>{let Z=$?.$response?.statusCode??$?.$metadata?.httpStatusCode;if($?.$responseBodyText)return`${Z?Z+": ":""}Deserialization error for body: ${$.$responseBodyText}`;if(Z){if($?.$response||$?.message)return`${Z??"Unknown"}: ${$?.message}`;return`${Z}: OK`}return String($?.message??JSON.stringify($,Am())??"Unknown")},S94=($,Z,Q,Y)=>{let X=Math.log(Z/$)/Math.log(2)+1;if(Q>X)return Z;let J=$*2**(Q-1),G=Math.min(J,Z),W=_94($,G);if(Date.now()+W>Y){let K=Y-Date.now();return Math.max(0,K-500)}return W},_94=($,Z)=>$+Math.random()*(Z-$);var Y1$=L(()=>{O30()});var X1$=($)=>{if($.maxWaitTime<=0)throw Error("WaiterConfiguration.maxWaitTime must be greater than 0");else if($.minDelay<=0)throw Error("WaiterConfiguration.minDelay must be greater than 0");else if($.maxDelay<=0)throw Error("WaiterConfiguration.maxDelay must be greater than 0");else if($.maxWaitTime<=$.minDelay)throw Error(`WaiterConfiguration.maxWaitTime [${$.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${$.minDelay}] for this waiter`);else if($.maxDelay<$.minDelay)throw Error(`WaiterConfiguration.maxDelay [${$.maxDelay}] must be greater than WaiterConfiguration.minDelay [${$.minDelay}] for this waiter`)};var J1$=()=>{};var G1$=($)=>{let Z,Q=new Promise((Y)=>{if(Z=()=>Y({state:E9.ABORTED}),typeof $.addEventListener==="function")$.addEventListener("abort",Z);else $.onabort=Z});return{clearListener(){if(typeof $.removeEventListener==="function")$.removeEventListener("abort",Z)},aborted:Q}},Qw=async($,Z,Q)=>{let Y={...Z1$,...$};X1$(Y);let X=[Q1$(Y,Z,Q)],J=[];if($.abortSignal){let{aborted:G,clearListener:W}=G1$($.abortSignal);J.push(W),X.push(G)}if($.abortController?.signal){let{aborted:G,clearListener:W}=G1$($.abortController.signal);J.push(W),X.push(G)}return Promise.race(X).then((G)=>{for(let W of J)W();return G})};var W1$=L(()=>{Y1$();J1$();O30()});var Sa=L(()=>{W1$();O30()});var v94=async($,Z)=>{let Q;try{return Q=await $.send(new bA(Z)),{state:E9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.RETRY,reason:Q}}return{state:E9.RETRY,reason:Q}},K1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,v94);return Zw(Y)};var cs0=L(()=>{Sa();qa()});var b94=async($,Z)=>{let Q;try{Q=await $.send(new bA(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.SUCCESS,reason:Q}}return{state:E9.RETRY,reason:Q}},H1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,b94);return Zw(Y)};var ds0=L(()=>{Sa();qa()});var x94=async($,Z)=>{let Q;try{return Q=await $.send(new vU(Z)),{state:E9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.RETRY,reason:Q}}return{state:E9.RETRY,reason:Q}},F1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,x94);return Zw(Y)};var is0=L(()=>{Sa();Ra()});var f94=async($,Z)=>{let Q;try{Q=await $.send(new vU(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.SUCCESS,reason:Q}}return{state:E9.RETRY,reason:Q}},U1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,f94);return Zw(Y)};var ps0=L(()=>{Sa();Ra()});var N1$,y94,g94,h94,B1$;var D1$=L(()=>{Hn0();Fn0();Nn0();Dn0();On0();wn0();En0();nJ0();zn0();Tn0();Rn0();Vn0();kn0();Sn0();vn0();xn0();yn0();hn0();ln0();cn0();in0();nn0();on0();sn0();an0();$t0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();It0();Ct0();_t0();bt0();ft0();gt0();ut0();mt0();dt0();pt0();tt0();st0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();qa();Ra();Bo0();Lo0();jo0();Eo0();U30();N30();zo0();To0();B30();Ro0();D30();Vo0();ko0();So0();vo0();xo0();yo0();ho0();lo0();co0();io0();no0();oo0();ro0();eo0();Zs0();Ys0();Js0();Ws0();Hs0();Us0();Ns0();Ds0();Os0();ws0();Es0();zs0();Ts0();Rs0();Vs0();ks0();Ss0();vs0();bs0();fs0();gs0();hs0();us0();ls0();ms0();vA();cs0();ds0();is0();ps0();N1$=_(p0(),1),y94={AbortMultipartUploadCommand:za,CompleteMultipartUploadCommand:Aa,CopyObjectCommand:Un0,CreateBucketCommand:Bn0,CreateBucketMetadataConfigurationCommand:Ln0,CreateBucketMetadataTableConfigurationCommand:jn0,CreateMultipartUploadCommand:Ta,CreateSessionCommand:$a,DeleteBucketCommand:An0,DeleteBucketAnalyticsConfigurationCommand:Pn0,DeleteBucketCorsCommand:qn0,DeleteBucketEncryptionCommand:Mn0,DeleteBucketIntelligentTieringConfigurationCommand:In0,DeleteBucketInventoryConfigurationCommand:Cn0,DeleteBucketLifecycleCommand:_n0,DeleteBucketMetadataConfigurationCommand:bn0,DeleteBucketMetadataTableConfigurationCommand:fn0,DeleteBucketMetricsConfigurationCommand:gn0,DeleteBucketOwnershipControlsCommand:un0,DeleteBucketPolicyCommand:mn0,DeleteBucketReplicationCommand:dn0,DeleteBucketTaggingCommand:pn0,DeleteBucketWebsiteCommand:tn0,DeleteObjectCommand:uD,DeleteObjectsCommand:rn0,DeleteObjectTaggingCommand:en0,DeletePublicAccessBlockCommand:Zt0,GetBucketAbacCommand:Yt0,GetBucketAccelerateConfigurationCommand:Jt0,GetBucketAclCommand:Wt0,GetBucketAnalyticsConfigurationCommand:Ht0,GetBucketCorsCommand:Ut0,GetBucketEncryptionCommand:Bt0,GetBucketIntelligentTieringConfigurationCommand:Lt0,GetBucketInventoryConfigurationCommand:jt0,GetBucketLifecycleConfigurationCommand:Et0,GetBucketLocationCommand:zt0,GetBucketLoggingCommand:Tt0,GetBucketMetadataConfigurationCommand:Rt0,GetBucketMetadataTableConfigurationCommand:Vt0,GetBucketMetricsConfigurationCommand:kt0,GetBucketNotificationConfigurationCommand:St0,GetBucketOwnershipControlsCommand:vt0,GetBucketPolicyCommand:xt0,GetBucketPolicyStatusCommand:yt0,GetBucketReplicationCommand:ht0,GetBucketRequestPaymentCommand:lt0,GetBucketTaggingCommand:ct0,GetBucketVersioningCommand:it0,GetBucketWebsiteCommand:nt0,GetObjectCommand:_U,GetObjectAclCommand:ot0,GetObjectAttributesCommand:rt0,GetObjectLegalHoldCommand:$o0,GetObjectLockConfigurationCommand:Qo0,GetObjectRetentionCommand:Xo0,GetObjectTaggingCommand:Go0,GetObjectTorrentCommand:Ko0,GetPublicAccessBlockCommand:Fo0,HeadBucketCommand:bA,HeadObjectCommand:vU,ListBucketAnalyticsConfigurationsCommand:No0,ListBucketIntelligentTieringConfigurationsCommand:Do0,ListBucketInventoryConfigurationsCommand:Oo0,ListBucketMetricsConfigurationsCommand:wo0,ListBucketsCommand:Ma,ListDirectoryBucketsCommand:Va,ListMultipartUploadsCommand:Po0,ListObjectsCommand:Ao0,ListObjectsV2Command:rW,ListObjectVersionsCommand:qo0,ListPartsCommand:Ia,PutBucketAbacCommand:Mo0,PutBucketAccelerateConfigurationCommand:Io0,PutBucketAclCommand:Co0,PutBucketAnalyticsConfigurationCommand:_o0,PutBucketCorsCommand:bo0,PutBucketEncryptionCommand:fo0,PutBucketIntelligentTieringConfigurationCommand:go0,PutBucketInventoryConfigurationCommand:uo0,PutBucketLifecycleConfigurationCommand:mo0,PutBucketLoggingCommand:do0,PutBucketMetricsConfigurationCommand:po0,PutBucketNotificationConfigurationCommand:to0,PutBucketOwnershipControlsCommand:so0,PutBucketPolicyCommand:ao0,PutBucketReplicationCommand:$s0,PutBucketRequestPaymentCommand:Qs0,PutBucketTaggingCommand:Xs0,PutBucketVersioningCommand:Gs0,PutBucketWebsiteCommand:Ks0,PutObjectCommand:E3,PutObjectAclCommand:Fs0,PutObjectLegalHoldCommand:Bs0,PutObjectLockConfigurationCommand:Ls0,PutObjectRetentionCommand:js0,PutObjectTaggingCommand:ka,PutPublicAccessBlockCommand:Ps0,RenameObjectCommand:As0,RestoreObjectCommand:qs0,SelectObjectContentCommand:Ms0,UpdateBucketMetadataInventoryTableConfigurationCommand:Is0,UpdateBucketMetadataJournalTableConfigurationCommand:Cs0,UpdateObjectEncryptionCommand:_s0,UploadPartCommand:Ca,UploadPartCopyCommand:xs0,WriteGetObjectResponseCommand:ys0},g94={paginateListBuckets:n0$,paginateListDirectoryBuckets:o0$,paginateListObjectsV2:r0$,paginateListParts:e0$},h94={waitUntilBucketExists:K1$,waitUntilBucketNotExists:H1$,waitUntilObjectExists:F1$,waitUntilObjectNotExists:U1$};B1$=class B1$ extends ZY{};N1$.createAggregatedClient(y94,B1$,{paginators:g94,waiters:h94})});var L1$=L(()=>{Hn0();Fn0();Nn0();Dn0();On0();wn0();En0();nJ0();zn0();Tn0();Rn0();Vn0();kn0();Sn0();vn0();xn0();yn0();hn0();ln0();cn0();in0();nn0();on0();sn0();$t0();an0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();It0();Ct0();_t0();bt0();ft0();gt0();ut0();mt0();dt0();pt0();tt0();st0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();qa();Ra();Bo0();Lo0();jo0();Eo0();U30();N30();zo0();Ro0();To0();B30();D30();Vo0();ko0();So0();vo0();xo0();yo0();ho0();lo0();co0();io0();no0();oo0();ro0();eo0();Zs0();Ys0();Js0();Ws0();Hs0();Us0();Ns0();Ds0();Os0();ws0();Es0();zs0();Ts0();Rs0();Vs0();ks0();Ss0();vs0();bs0();fs0();gs0()});var O1$=()=>{};var j1$=L(()=>{O1$();hs0();us0();ls0();ms0()});var w1$=L(()=>{cs0();ds0();is0();ps0()});var E1$;var P1$=L(()=>{E1$={CRC32:"CRC32",CRC32C:"CRC32C",CRC64NVME:"CRC64NVME",MD5:"MD5",SHA1:"SHA1",SHA256:"SHA256",SHA512:"SHA512",XXHASH128:"XXHASH128",XXHASH3:"XXHASH3",XXHASH64:"XXHASH64"}});var z1$=()=>{};var A1$=()=>{};var _a=L(()=>{vA();D1$();L1$();F1();j1$();w1$();P1$();Ed0();z1$();A1$()});function q1$($){let{port:Z,query:Q}=$,{protocol:Y,path:X,hostname:J}=$;if(Y&&Y.slice(-1)!==":")Y+=":";if(Z)J+=`:${Z}`;if(X&&X.charAt(0)!=="/")X=`/${X}`;let G=Q?T1$.buildQueryString(Q):"";if(G&&G[0]!=="?")G=`?${G}`;let W="";if($.username!=null||$.password!=null){let H=$.username??"",F=$.password??"";W=`${H}:${F}@`}let K="";if($.fragment)K=`#${$.fragment}`;return`${Y}//${W}${J}${X}${G}${K}`}var T1$;var R1$=L(()=>{T1$=_(aY0(),1)});var M1$="UNSIGNED-PAYLOAD",V1$="X-Amz-Content-Sha256";class j30{signer;constructor($){let Z={service:$.signingName||$.service||"s3",uriEscapePath:$.uriEscapePath||!1,applyChecksum:$.applyChecksum||!1,...$};this.signer=new I1$.SignatureV4MultiRegion(Z)}presign($,{unsignableHeaders:Z=new Set,hoistableHeaders:Q=new Set,unhoistableHeaders:Y=new Set,...X}={}){return this.prepareRequest($,{unsignableHeaders:Z,unhoistableHeaders:Y,hoistableHeaders:Q}),this.signer.presign($,{expiresIn:900,unsignableHeaders:Z,unhoistableHeaders:Y,...X})}presignWithCredentials($,Z,{unsignableHeaders:Q=new Set,hoistableHeaders:Y=new Set,unhoistableHeaders:X=new Set,...J}={}){return this.prepareRequest($,{unsignableHeaders:Q,unhoistableHeaders:X,hoistableHeaders:Y}),this.signer.presignWithCredentials($,Z,{expiresIn:900,unsignableHeaders:Q,unhoistableHeaders:X,...J})}prepareRequest($,{unsignableHeaders:Z=new Set,unhoistableHeaders:Q=new Set,hoistableHeaders:Y=new Set}={}){Z.add("content-type"),Object.keys($.headers).map((W)=>W.toLowerCase()).filter((W)=>W.startsWith("x-amz-server-side-encryption")).forEach((W)=>{if(!Y.has(W))Q.add(W)}),$.headers[V1$]=M1$;let X=$.headers.host,J=$.port,G=`${$.hostname}${$.port!=null?":"+J:""}`;if(!X||X===$.hostname&&$.port!=null)$.headers.host=G}}var I1$;var ns0=L(()=>{I1$=_(el(),1)});var k1$,C1$,w30=async($,Z,Q={})=>{let Y,X;if(typeof $.config.endpointProvider==="function"){let N=(await k1$.getEndpointFromInstructions(Z.input,Z.constructor,$.config)).properties?.authSchemes?.[0];if(N?.name==="sigv4a")X=N?.signingRegionSet?.join(",");else X=N?.signingRegion;Y=new j30({...$.config,signingName:N?.signingName,region:async()=>X})}else Y=new j30($.config);let J=(U,N)=>async(B)=>{let{request:D}=B;if(!C1$.HttpRequest.isInstance(D))throw Error("Request to be presigned is not an valid HTTP request.");delete D.headers["amz-sdk-invocation-id"],delete D.headers["amz-sdk-request"],delete D.headers["x-amz-user-agent"];let O,j={...Q,signingRegion:Q.signingRegion??N.signing_region??X,signingService:Q.signingService??N.signing_service};if(N.s3ExpressIdentity)O=await Y.presignWithCredentials(D,N.s3ExpressIdentity,j);else O=await Y.presign(D,j);return{response:{},output:{$metadata:{httpStatusCode:200},presigned:O}}},G="presignInterceptMiddleware",W=$.middlewareStack.clone();W.addRelativeTo(J,{name:G,relation:"before",toMiddleware:"awsAuthMiddleware",override:!0});let K=Z.resolveMiddleware(W,$.config,{}),{output:H}=await K({input:Z.input}),{presigned:F}=H;return q1$(F)};var S1$=L(()=>{R1$();ns0();k1$=_(G1(),1),C1$=_(t5(),1)});var _1$=L(()=>{S1$();ns0()});import{extname as u94}from"path";function P3($){let Z;try{Z=decodeURIComponent($)}catch{Z=$}let Y=Z.replace(/\0/g,"").replace(/[\x00-\x1f\x7f]/g,"").replace(/\\/g,"/").split("/"),X=[];for(let J of Y)if(J==="..")X.pop();else if(J!=="."&&J!=="")X.push(J);return X.join("/")}function Yw($,Z){let Q=P3(Z);if(!Q)throw Error("Key is empty after sanitization");return`${$}/${Q}`}function v1$($,Z){if(!Z)return`${$}/`;let Q=P3(Z);return`${$}/${Q}${Q.endsWith("/")?"":"/"}`}function Tm($,Z,Q){let Y=Q.split("/").map(encodeURIComponent).join("/");return`${$}/api/${encodeURIComponent(Z)}/files/${Y}`}function ts0($,Z){let Q=`${$}/`;if(Z.startsWith(Q))return Z.slice(Q.length);return Z}function f7($){let Z=u94($).toLowerCase();return l94[Z]??"application/octet-stream"}function E30($){let Z=$.split(";")[0].trim();if(m94.has(Z))return!0;if(Z.startsWith("text/"))return!0;return!1}var l94,m94;var cH=L(()=>{l94={".json":"application/json",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".mjs":"application/javascript",".ts":"text/typescript",".txt":"text/plain",".md":"text/markdown",".csv":"text/csv",".xml":"application/xml",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".pdf":"application/pdf",".zip":"application/zip",".gz":"application/gzip",".tar":"application/x-tar",".wasm":"application/wasm",".yaml":"application/yaml",".yml":"application/yaml",".toml":"application/toml"};m94=new Set(["application/json","text/html","text/css","application/javascript","text/typescript","text/plain","text/markdown","text/csv","application/xml","image/svg+xml","application/yaml","application/toml"])});class os0{client;bucket;constructor($){this.bucket=$.bucket,this.client=new ZY({endpoint:$.endpoint,region:$.region,credentials:{accessKeyId:$.accessKeyId,secretAccessKey:$.secretAccessKey},forcePathStyle:$.forcePathStyle})}async getBytesOrPresign($,Z,Q){let Y=Yw($,Z),X=await this.client.send(new vU({Bucket:this.bucket,Key:Y})),J=X.ContentLength??0,G=X.ContentType??f7(Z);if(J>Q.presignWhenLargerThan){let F=await w30(this.client,new _U({Bucket:this.bucket,Key:Y}),{expiresIn:Q.presignExpiresIn??3600});return{error:"FILE_TOO_LARGE",size:J,maxInlineSize:Q.presignWhenLargerThan,presignedUrl:F,contentType:G}}let K=await(await this.client.send(new _U({Bucket:this.bucket,Key:Y}))).Body.transformToByteArray(),H=E30(G);return{content:H?new TextDecoder().decode(K):Buffer.from(K).toString("base64"),contentType:G,encoding:H?"utf-8":"base64",size:J,lastModified:X.LastModified,etag:X.ETag}}async getBytes($,Z){let Q=Yw($,Z);return(await this.client.send(new _U({Bucket:this.bucket,Key:Q}))).Body.transformToByteArray()}async put($,Z,Q,Y){let X=Yw($,Z),J=Y?.contentType??f7(Z);return{etag:(await this.client.send(new E3({Bucket:this.bucket,Key:X,Body:typeof Q==="string"?Buffer.from(Q,"utf-8"):Q,ContentType:J}))).ETag,key:Z}}async list($,Z){let Q=v1$($,Z?.prefix),Y=await this.client.send(new rW({Bucket:this.bucket,Prefix:Q,MaxKeys:Z?.maxKeys??1000,ContinuationToken:Z?.continuationToken,Delimiter:Z?.delimiter})),X=Y.CommonPrefixes?.map((J)=>ts0($,J.Prefix??"")).filter(Boolean);return{objects:(Y.Contents??[]).map((J)=>({key:ts0($,J.Key??""),size:J.Size??0,lastModified:J.LastModified,etag:J.ETag})),isTruncated:Y.IsTruncated??!1,nextContinuationToken:Y.NextContinuationToken,commonPrefixes:X&&X.length>0?X:void 0}}async delete($,Z){let Q=Yw($,Z);await this.client.send(new uD({Bucket:this.bucket,Key:Q}))}async head($,Z){let Q=Yw($,Z),Y=await this.client.send(new vU({Bucket:this.bucket,Key:Q}));return{contentType:Y.ContentType??f7(Z),size:Y.ContentLength??0,lastModified:Y.LastModified,etag:Y.ETag,metadata:Y.Metadata&&Object.keys(Y.Metadata).length>0?Y.Metadata:void 0}}async presignedGetUrl($,Z,Q=3600,Y){let X=Yw($,Z);return w30(this.client,new _U({Bucket:this.bucket,Key:X}),{expiresIn:Q})}async presignedPutUrl($,Z,Q=3600,Y){let X=Yw($,Z);return w30(this.client,new E3({Bucket:this.bucket,Key:X,ContentType:Y}),{expiresIn:Q})}}var b1$=L(()=>{_a();_1$();cH()});function c94(){let $=B0();return!!($.s3Endpoint&&$.s3Bucket&&$.s3AccessKeyId&&$.s3SecretAccessKey)}function XJ(){if(va!==void 0)return va;if(!c94())return va=null,null;let $=B0();return va=new os0({endpoint:$.s3Endpoint,bucket:$.s3Bucket,region:$.s3Region,accessKeyId:$.s3AccessKeyId,secretAccessKey:$.s3SecretAccessKey,forcePathStyle:$.s3ForcePathStyle}),va}var va;var Xw=L(()=>{u1();b1$()});function z3($,Z){return{getBytesOrPresign:(Q,Y)=>$.getBytesOrPresign(Z,Q,Y),getBytes:(Q)=>$.getBytes(Z,Q),put:(Q,Y,X)=>$.put(Z,Q,Y,X),list:(Q)=>$.list(Z,Q),delete:(Q)=>$.delete(Z,Q),head:(Q)=>$.head(Z,Q),presignedGetUrl:(Q,Y,X)=>$.presignedGetUrl(Z,Q,Y,X),presignedPutUrl:(Q,Y,X)=>$.presignedPutUrl(Z,Q,Y,X)}}import{mkdir as d94,readdir as i94,readFile as ss0,stat as P30,unlink as p94,writeFile as n94}from"fs/promises";import{createHmac as t94}from"crypto";import{dirname as o94,join as ba}from"path";function rs0($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return ba(s94,Z)}function qm($,Z){return ba(rs0($),P3(Z))}class aW{orgId;baseUrl;constructor($,Z){this.orgId=$;this.baseUrl=Z}async getBytesOrPresign($,Z){let Q=qm(this.orgId,$),Y=await P30(Q),X=f7($);if(Y.size>Z.presignWhenLargerThan)return{error:"FILE_TOO_LARGE",size:Y.size,maxInlineSize:Z.presignWhenLargerThan,presignedUrl:await this.presignedGetUrl($),contentType:X};let J=await ss0(Q),G=E30(X);return{content:G?new TextDecoder().decode(J):Buffer.from(J).toString("base64"),contentType:X,encoding:G?"utf-8":"base64",size:Y.size,lastModified:Y.mtime}}async getBytes($){let Z=await ss0(qm(this.orgId,$));return new Uint8Array(Z)}async put($,Z,Q){let Y=qm(this.orgId,$);return await d94(o94(Y),{recursive:!0}),await n94(Y,typeof Z==="string"?Buffer.from(Z,"utf-8"):Z),{key:$}}async list($){let Z=$?.prefix?ba(rs0(this.orgId),P3($.prefix)):rs0(this.orgId),Q;try{Q=await i94(Z,{withFileTypes:!0})}catch{return{objects:[],isTruncated:!1}}let Y=$?.maxKeys??1000,X=$?.prefix,J=Q.filter((W)=>W.isFile());if($?.delimiter){let W=[],K=Q.filter((D)=>D.isDirectory());for(let D of K){let O=X?`${X}/${D.name}/`:`${D.name}/`;W.push(O)}W.sort();let H=Y,F=W.slice(0,H);H-=F.length;let U=J.slice(0,H),N=W.length+J.length;return{objects:await Promise.all(U.map(async(D)=>{let O=await P30(ba(Z,D.name));return{key:X?`${X}/${D.name}`:D.name,size:O.size,lastModified:O.mtime}})),isTruncated:N>Y,commonPrefixes:F.length>0?F:void 0}}return{objects:await Promise.all(J.slice(0,Y).map(async(W)=>{let K=await P30(ba(Z,W.name));return{key:X?`${X}/${W.name}`:W.name,size:K.size,lastModified:K.mtime}})),isTruncated:J.length>Y}}async delete($){await p94(qm(this.orgId,$))}async head($){let Z=await P30(qm(this.orgId,$));return{contentType:f7($),size:Z.size,lastModified:Z.mtime}}async presignedGetUrl($,Z,Q){if(Q?.requireFetchable)throw Error("object storage returned a not fetchable (data:) URL; configure real S3/R2/MinIO for large-payload offload");let Y=qm(this.orgId,$),X=await ss0(Y),J=f7($),G=Buffer.from(X).toString("base64");return`data:${J};base64,${G}`}async presignedPutUrl($,Z=3600){if(!this.baseUrl)throw Error("baseUrl required for presigned PUT URLs in dev mode");let Q=P3($),Y=Math.floor(Date.now()/1000)+Z,X=B0().encryptionKey||"dev-secret",J=`${this.orgId}:${Q}:${Y}:PUT`,G=t94("sha256",X).update(J).digest("hex"),W=new URL(`/api/dev-assets/${this.orgId}/${Q}`,this.baseUrl);return W.searchParams.set("expires",Y.toString()),W.searchParams.set("signature",G),W.searchParams.set("method","PUT"),W.toString()}}var s94="./data/assets";var Rm=L(()=>{cH();u1()});function eW($){return r94.test($)&&$!=="."&&$!==".."}function y7($){if(!eW($))throw Error(`Invalid org-fs volume name: ${JSON.stringify($)}`)}function N5($){return P3($)}function Mm($){let Z=$.lastIndexOf("/");return Z===-1?"":$.slice(0,Z)}function Jw($){let Z=Mm($);if(Z==="")return[];let Q=Z.split("/"),Y=[],X="";for(let J of Q)X=X===""?J:`${X}/${J}`,Y.push(X);return Y}function $K($,Z){return`${as0}/${$}/${Z}`}function bU($){let[Z,Q="",...Y]=P3($).split("/");return Z===as0?{volume:Q,path:Y.join("/")}:null}function z30($){return`${as0}/${$}/`}var r94,as0="_fs";var QY=L(()=>{cH();r94=/^[A-Za-z0-9_.-]{1,128}$/});import{createHmac as es0,randomBytes as $r0,scrypt as a94,timingSafeEqual as x1$}from"crypto";import{promisify as e94}from"util";async function y1$($){let Z=$r0(16),Q=await f1$($,Z,$Z4);return`scrypt$${Z.toString("hex")}$${Q.toString("hex")}`}async function g1$($,Z){let Q=Z.split("$");if(Q.length!==3||Q[0]!=="scrypt")return!1;let Y=Buffer.from(Q[1],"hex"),X=Buffer.from(Q[2],"hex");if(Y.length===0||X.length===0)return!1;let J;try{J=await f1$($,Y,X.length)}catch{return!1}return X.length===J.length&&x1$(X,J)}function h1$(){return $r0(16).toString("hex")}function u1$(){if(A30)return A30;let $;try{let Z=B0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return A30=$?Buffer.from($):$r0(32),A30}function l1$($){let Z=Buffer.from(JSON.stringify($)).toString("base64url"),Q=es0("sha256",u1$()).update(Z).digest("base64url");return`${Z}.${Q}`}function m1$($,Z){let Q=$.indexOf(".");if(Q<0)return null;let Y=$.slice(0,Q),X=Buffer.from($.slice(Q+1)),J=Buffer.from(es0("sha256",u1$()).update(Y).digest("base64url"));if(X.length!==J.length||!x1$(X,J))return null;let G;try{G=JSON.parse(Buffer.from(Y,"base64url").toString())}catch{return null}if(G.o!==Z.org||G.v!==Z.volume||G.s!==Z.secret||typeof G.e!=="number"||G.e<Z.nowSec)return null;return{govPath:G.p}}function Zr0($,Z,Q){return`fsu_${es0("sha256","fsunlock-name").update(`${$}:${Z}:${Q}`).digest("hex").slice(0,16)}`}var $Z4=64,f1$,A30=null;var Qr0=L(()=>{u1();f1$=e94(a94)});import{createHash as ZZ4}from"crypto";function GZ4($){if(typeof $!=="object"||$===null)return!1;let Z=$;return Z.name==="NoSuchKey"||Z.Code==="NoSuchKey"||Z.code==="ENOENT"||Z.$metadata?.httpStatusCode===404}function c1$($){return ZZ4("sha256").update($).digest("hex")}class ZK{storage;manifest;organizationId;maxFileBytes;volumeQuotaBytes;constructor($,Z,Q,Y={}){this.storage=$;this.manifest=Z;this.organizationId=Q;this.maxFileBytes=Y.maxFileBytes??XZ4,this.volumeQuotaBytes=Y.volumeQuotaBytes??JZ4}async usage($){return y7($),this.manifest.usage(this.organizationId,$)}async stat($,Z){return y7($),this.manifest.get(this.organizationId,$,N5(Z))}async listVolumeFiles($){return y7($),this.manifest.listVolumeFiles(this.organizationId,$)}async listDir($,Z){return y7($),this.manifest.listDir(this.organizationId,$,N5(Z))}async read($,Z){let Q=await this.requireFile($,Z);try{return await this.storage.getBytes($K($,Q.path))}catch(Y){if(GZ4(Y))throw new JJ(`No such file: ${Q.path}`);throw Y}}async setShareMode($,Z,Q,Y){y7($);let X=N5(Z),J=await this.manifest.get(this.organizationId,$,X);if(!J)throw new JJ(`No such path: ${X}`);let G=null,W=null;if(Q==="password"){if(!Y.password)throw new A3("A password is required to set password mode");G=await y1$(Y.password),W=h1$()}let K=await this.manifest.setShareMode({organizationId:this.organizationId,volume:$,path:J.path,readPublic:Q!=="private",passwordHash:G,shareSecret:W,actor:Y.actor});if(!K)throw new JJ(`No such path: ${J.path}`);return K}async setReadPublic($,Z,Q,Y){return this.setShareMode($,Z,Q?"public":"private",{actor:Y.actor})}async resolveReadAccess($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return{access:"private"};let X=await this.manifest.resolveGoverningShare({organizationId:this.organizationId,volume:$,candidatePaths:[Q,...Jw(Q)]});if(!X)return{access:"private"};if(!X.passwordHash)return{access:"public"};return{access:"password",govPath:X.path,secret:X.secret??"",passwordHash:X.passwordHash}}async isPubliclyReadable($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return!1;if(Y.readPublic)return!0;return this.manifest.hasPublicAncestorDir(this.organizationId,$,Jw(Q))}async inheritsPublic($,Z){return y7($),this.manifest.hasPublicAncestorDir(this.organizationId,$,Jw(N5(Z)))}async childrenInheritPublic($,Z){y7($);let Q=N5(Z);if(Q==="")return!1;return this.manifest.hasPublicAncestorDir(this.organizationId,$,[...Jw(Q),Q])}async recentWithEffectivePublic($){return this.withEffectivePublic(await this.recent($))}async searchWithEffectivePublic($,Z,Q,Y,X){return this.withEffectivePublic(await this.manifest.searchFiles({organizationId:this.organizationId,query:$,limit:Z,volumes:Q,pathPrefix:Y?N5(Y):void 0,beforeSeq:X}))}async withEffectivePublic($){let Z=new Map;for(let Y of $){let X=Z.get(Y.volume);if(!X)X=new Set,Z.set(Y.volume,X);for(let J of Jw(Y.path))X.add(J)}let Q=new Map;return await Promise.all([...Z].map(async([Y,X])=>{let J=await this.manifest.publicDirPaths({organizationId:this.organizationId,volume:Y,paths:[...X]});Q.set(Y,new Set(J))})),$.map((Y)=>{let X=Q.get(Y.volume),J=!!X&&Jw(Y.path).some((G)=>X.has(G));return{...Y,effectivePublic:Y.readPublic||J}})}async presignRead($,Z,Q){let Y=await this.requireFile($,Z);return this.storage.presignedGetUrl($K($,Y.path),Q)}async write($,Z,Q,Y){y7($);let X=N5(Z);if(X==="")throw new A3("Cannot write to the volume root");let J=typeof Q==="string"?new TextEncoder().encode(Q):Q;if(J.byteLength>this.maxFileBytes)throw new xA(`File exceeds the ${this.maxFileBytes}-byte per-file limit`);let[G,W]=await Promise.all([Y.skipVolumeQuota?Promise.resolve(null):this.manifest.usage(this.organizationId,$),this.manifest.get(this.organizationId,$,X)]);if(W?.kind==="dir")throw new A3(`Cannot write a file at ${X}: a directory exists there`);if(Y.expect){let K=W?.kind==="file"?W.contentHash:null;if(!("absent"in Y.expect?!W:K===Y.expect.contentHash))throw new Vm(`${X} changed since it was read`)}if(G){let K=W?.kind==="file"?W.size:0;if(G.bytes-K+J.byteLength>this.volumeQuotaBytes)throw new xA(`Write would exceed the volume quota of ${this.volumeQuotaBytes} bytes`)}await this.ensureDirs($,X,Y.actor),await this.storage.put($K($,X),J,{contentType:Y.contentType??f7(X)});try{return await F8(()=>this.manifest.putFile({organizationId:this.organizationId,volume:$,path:X,parent:Mm(X),contentHash:c1$(J),size:J.byteLength,actor:Y.actor,threadId:Y.threadId??null}))}catch(K){throw console.error("org-fs manifest write lost after object put",{organizationId:this.organizationId,volume:$,path:X,size:J.byteLength,error:K instanceof Error?K.message:String(K)}),K}}async mkdir($,Z,Q){y7($);let Y=N5(Z);if(Y==="")return;if((await this.manifest.get(this.organizationId,$,Y))?.kind==="file")throw new A3(`Cannot create a directory at ${Y}: a file exists there`);await this.ensureDirs($,Y,Q.actor),await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:Mm(Y),actor:Q.actor})}async delete($,Z,Q){y7($);let Y=N5(Z);if(Y==="")throw new A3("Cannot delete the volume root");let X=await this.manifest.get(this.organizationId,$,Y);if(!X)return;if(X.kind==="dir"){let J=await this.manifest.listSubtreeFiles(this.organizationId,$,Y);await Promise.all(J.map((G)=>this.storage.delete($K($,G.path)))),await this.manifest.tombstoneSubtree(this.organizationId,$,Y,Q.actor);return}await this.storage.delete($K($,Y)),await this.manifest.tombstone(this.organizationId,$,Y,Q.actor)}async move($,Z,Q,Y){y7($);let X=N5(Z),J=N5(Q);if(X===""||J==="")throw new A3("Cannot move the volume root");if(J===X||J.startsWith(`${X}/`))throw new A3(`Cannot move ${X} onto itself or into its own subtree`);let G=await this.manifest.get(this.organizationId,$,X);if(!G)throw new JJ(`No such path: ${X}`);if(G.kind==="file"){let H=await this.storage.getBytes($K($,X));await this.write($,J,H,{...Y,skipVolumeQuota:!0}),await this.delete($,X,Y);return}let[W,K]=await Promise.all([this.manifest.listSubtreeFiles(this.organizationId,$,X),this.manifest.listSubtreeDirs(this.organizationId,$,X)]);await this.mkdir($,J,Y);for(let H of W){let F=H.path.slice(X.length+1),U=await this.storage.getBytes($K($,H.path));await this.write($,`${J}/${F}`,U,{...Y,skipVolumeQuota:!0})}for(let H of K){let F=H.path.slice(X.length+1);await this.mkdir($,`${J}/${F}`,Y)}await this.delete($,X,Y)}async filesExist($,Z){y7($);let Q=await this.manifest.liveFilePaths({organizationId:this.organizationId,volume:$,paths:Z.map((Y)=>N5(Y))});return new Set(Q)}async recent($){return this.manifest.recentFiles({organizationId:this.organizationId,limit:$})}async changes($,Z,Q=QZ4){y7($);let Y=Z||"0";if(!/^\d+$/.test(Y))throw new A3(`Invalid cursor: ${Z}`);let X=await this.manifest.changesSince({organizationId:this.organizationId,volume:$,sinceSeq:Y,limit:Q}),J=X.at(-1);return{entries:X,cursor:J?J.seq:Z||"0",hasMore:X.length>=Q}}async latestSeq($){return y7($),this.manifest.latestSeq({organizationId:this.organizationId,volume:$})}async backfillFromStorage($,Z){y7($);let Q=z30($),Y,X=0;do{let J=await this.storage.list({prefix:Q,maxKeys:YZ4,continuationToken:Y});for(let G of J.objects){let W=G.key.slice(Q.length);if(W==="")continue;await this.ensureDirs($,W,Z.actor);let K=await this.storage.getBytes(G.key);await this.manifest.putFile({organizationId:this.organizationId,volume:$,path:W,parent:Mm(W),contentHash:c1$(K),size:K.byteLength,actor:Z.actor}),X++}Y=J.isTruncated?J.nextContinuationToken:void 0}while(Y);return X}async requireFile($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")throw new JJ(`No such file: ${Q}`);return Y}async ensureDirs($,Z,Q){for(let Y of Jw(Z))await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:Mm(Y),actor:Q})}}var QZ4=500,YZ4=1000,XZ4=524288000,JZ4=10737418240,xA,A3,Vm,JJ;var xU=L(()=>{n$();cH();QY();Qr0();xA=class xA extends Error{constructor($){super($);this.name="OrgFsQuotaError"}};A3=class A3 extends Error{constructor($){super($);this.name="OrgFsValidationError"}};Vm=class Vm extends Error{constructor($){super($);this.name="OrgFsConflictError"}};JJ=class JJ extends Error{constructor($){super($);this.name="OrgFsNotFoundError"}}});import{existsSync as WZ4}from"fs";import{join as i1$}from"path";import{z as fU}from"zod";function QK($){return $.startsWith(p1$)}function Gw($){return`${p1$}${$}`}function UZ4($){let Z=new Map(n1$.map((Q)=>[Q.set,Q]));if($)try{for(let Q of FZ4.parse(JSON.parse($)))Z.set(Q.set,Q)}catch(Q){console.warn("[org-fs] invalid ORGFS_PUBLIC_SETS \u2014 using built-in defaults only",Q)}return[...Z.values()]}function YK(){let $=B0(),Z=UZ4($.orgFsPublicSetsJson);if($.nodeEnv==="production")return Z;return Z.map((Q)=>Q===n1$[0]&&WZ4(i1$(d1$,Q.paths[0].from))?{...Q,dir:d1$}:Q)}function fa($){let Z=XJ(),Q=Z?z3(Z,xa):new aW(xa,$.baseUrl);return new ZK(Q,$.storage.orgFsEntries,xa)}var xa="org_orgfs_public_skills",p1$="public-",KZ4,HZ4,n1$,FZ4,d1$;var Ww=L(()=>{u1();Xw();Rm();xU();KZ4=fU.object({from:fU.string(),to:fU.string().optional()}),HZ4=fU.object({set:fU.string().regex(/^[a-z0-9][a-z0-9-]{0,40}$/),repo:fU.string().regex(/^[\w.-]+\/[\w.-]+$/),ref:fU.string().min(1),paths:fU.array(KZ4).min(1),dir:fU.string().optional()}),n1$=[{set:"core",repo:"decocms/studio",ref:"main",paths:[{from:"packages/sandbox/image/skills"}]},{set:"storefront",repo:"decocms/storefront-skills",ref:"main",paths:[{from:".claude-seo/skills"},{from:".claude-performance/skills"},{from:".claude-deco/skills"}]}],FZ4=fU.array(HZ4).refine(($)=>new Set($.map((Z)=>Z.set)).size===$.length,{message:"duplicate set names"});d1$=i1$(import.meta.dir,"../../../..")});function lD($){if(typeof $==="string")return $.length>0?[$]:[];if(Array.isArray($))return $.flatMap(lD);if($!==null&&typeof $==="object")return Object.values($).flatMap(lD);return[]}var y0;var C5=L(()=>{y0=class y0 extends Error{provider;status;retryAfterMs;constructor($){super($.message,{cause:$.cause});this.name="GitProviderError",this.provider=$.provider,this.status=$.status,this.retryAfterMs=$.retryAfterMs??null}get isRateLimited(){return this.status===429||this.retryAfterMs!==null}get isAuthFailure(){return this.status===401||this.status===403}}});import{sql as Kw}from"kysely";function Yr0($){if($===null)return null;return $ instanceof Date?$.toISOString():String($)}function dH($){return{organizationId:$.organization_id,volume:$.volume,path:$.path,parent:$.parent,kind:$.kind,contentHash:$.content_hash,size:Number($.size),seq:String($.seq),deletedAt:Yr0($.deleted_at),createdBy:$.created_by,createdAt:Yr0($.created_at)??"",updatedBy:$.updated_by,updatedAt:Yr0($.updated_at)??"",threadId:$.thread_id,readPublic:$.read_public,shareMode:!$.read_public?"private":$.share_password_hash?"password":"public"}}class ga{db;constructor($){this.db=$}async putFile($){let Z=new Date,Q=$.threadId??null,Y=await this.db.insertInto("org_fs_entry").values({organization_id:$.organizationId,volume:$.volume,path:$.path,parent:$.parent,kind:"file",content_hash:$.contentHash,size:$.size,deleted_at:null,created_by:$.actor,created_at:Z,updated_by:$.actor,updated_at:Z,thread_id:Q}).onConflict((X)=>X.columns(["organization_id","volume","path"]).doUpdateSet({kind:"file",content_hash:$.contentHash,size:$.size,deleted_at:null,updated_by:$.actor,updated_at:Z,seq:T30,read_public:Kw`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`,thread_id:Kw`coalesce(cast(${Q} as text), org_fs_entry.thread_id)`})).returning(iH).executeTakeFirstOrThrow();return dH(Y)}async putDir($){let Z=new Date;await this.db.insertInto("org_fs_entry").values({organization_id:$.organizationId,volume:$.volume,path:$.path,parent:$.parent,kind:"dir",content_hash:null,size:0,deleted_at:null,created_by:$.actor,created_at:Z,updated_by:$.actor,updated_at:Z}).onConflict((Q)=>Q.columns(["organization_id","volume","path"]).where("org_fs_entry.deleted_at","is not",null).doUpdateSet({kind:"dir",content_hash:null,size:0,deleted_at:null,updated_by:$.actor,updated_at:Z,seq:T30,read_public:Kw`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`})).execute()}async get($,Z,Q){let Y=await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("path","=",Q).where("deleted_at","is",null).select(iH).executeTakeFirst();return Y?dH(Y):null}async listDir($,Z,Q){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("parent","=",Q).where("deleted_at","is",null).select(iH).orderBy("path","asc").execute()).map((X)=>dH(X))}async listVolumeDirs($,Z){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","dir").where("deleted_at","is",null).select(iH).execute()).map((Y)=>dH(Y))}async listVolumeFiles($,Z){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","file").where("deleted_at","is",null).select(iH).execute()).map((Y)=>dH(Y))}async listSubtreeFiles($,Z,Q){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","file").where("deleted_at","is",null).where("path","like",`${ya(Q)}/%`).select(iH).execute()).map((X)=>dH(X))}async listSubtreeDirs($,Z,Q){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","dir").where("deleted_at","is",null).where("path","like",`${ya(Q)}/%`).select(iH).execute()).map((X)=>dH(X))}async tombstone($,Z,Q,Y){await this.db.updateTable("org_fs_entry").set({deleted_at:new Date,updated_by:Y,updated_at:new Date,seq:T30}).where("organization_id","=",$).where("volume","=",Z).where("path","=",Q).where("deleted_at","is",null).execute()}async tombstoneSubtree($,Z,Q,Y){await this.db.updateTable("org_fs_entry").set({deleted_at:new Date,updated_by:Y,updated_at:new Date,seq:T30}).where("organization_id","=",$).where("volume","=",Z).where("deleted_at","is",null).where((X)=>X.or([X("path","=",Q),X("path","like",`${ya(Q)}/%`)])).execute()}async setShareMode($){let Z=new Date,Q=await this.db.updateTable("org_fs_entry").set({read_public:$.readPublic,share_password_hash:$.passwordHash,share_secret:$.shareSecret,updated_by:$.actor,updated_at:Z}).where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("path","=",$.path).where("deleted_at","is",null).returning(iH).executeTakeFirst();return Q?dH(Q):null}async resolveGoverningShare($){if($.candidatePaths.length===0)return null;let Z=await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("read_public","=",!0).where("deleted_at","is",null).where("path","in",$.candidatePaths).select(["path","share_password_hash","share_secret"]).execute();if(Z.length===0)return null;Z.sort((Y,X)=>X.path.length-Y.path.length);let Q=Z[0];return{path:Q.path,passwordHash:Q.share_password_hash,secret:Q.share_secret}}async hasPublicAncestorDir($,Z,Q){if(Q.length===0)return!1;return!!await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","dir").where("read_public","=",!0).where("deleted_at","is",null).where("path","in",Q).select("path").limit(1).executeTakeFirst()}async publicDirPaths($){if($.paths.length===0)return[];return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("kind","=","dir").where("read_public","=",!0).where("deleted_at","is",null).where("path","in",$.paths).select("path").execute()).map((Q)=>Q.path)}async usage($,Z){let Q=await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","file").where("deleted_at","is",null).select((Y)=>[Y.fn.countAll().as("files"),Y.fn.coalesce(Y.fn.sum("size"),Kw`0`).as("bytes")]).executeTakeFirst();return{files:Number(Q?.files??0),bytes:Number(Q?.bytes??0)}}async liveFilePaths($){if($.paths.length===0)return[];return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("kind","=","file").where("deleted_at","is",null).where("path","in",$.paths).select(["path"]).execute()).map((Q)=>Q.path)}async recentFiles($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("kind","=","file").where("deleted_at","is",null).select(iH).orderBy("seq","desc").limit($.limit).execute()).map((Q)=>dH(Q))}async searchFiles($){if($.volumes&&$.volumes.length===0)return[];let Z=ya($.query),Q=this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("kind","=","file").where("deleted_at","is",null);if(Z)Q=Q.where("path","ilike",`%${Z}%`);if($.volumes)Q=Q.where("volume","in",$.volumes);if($.pathPrefix)Q=Q.where("path","like",`${ya($.pathPrefix)}/%`);if($.beforeSeq)Q=Q.where("seq","<",Kw`cast(${$.beforeSeq} as bigint)`);return(await Q.select(iH).orderBy("seq","desc").limit($.limit).execute()).map((X)=>dH(X))}async changesSince($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("seq",">",Kw`cast(${$.sinceSeq} as bigint)`).select(iH).orderBy("seq","asc").limit($.limit).execute()).map((Q)=>dH(Q))}async latestSeq($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).select(Kw`max(seq)`.as("seq")).executeTakeFirst())?.seq??"0"}}function ya($){return $.replace(/[\\%_]/g,"\\$&")}var iH,T30;var Xr0=L(()=>{iH=["organization_id","volume","path","parent","kind","content_hash","size","seq","deleted_at","created_by","created_at","updated_by","updated_at","thread_id","read_public","share_password_hash"],T30=Kw`nextval('org_fs_entry_seq')`});import{createHash as NZ4}from"crypto";import{readdir as BZ4,readFile as DZ4,stat as LZ4}from"fs/promises";import{join as t1$}from"path";import{gunzipSync as OZ4}from"zlib";function Gr0($,Z,Q){let Y=Z,X=Z+Q;while(Y<X&&$[Y]!==0)Y++;return new TextDecoder().decode($.subarray(Z,Y))}function wZ4($,Z,Q){let Y=Gr0($,Z,Q).trim();return Y===""?0:Number.parseInt(Y,8)}function EZ4($){let Z=new Map,Q=0,Y=null,X=null;while(Q+512<=$.length){let J=$.subarray(Q,Q+512);if(Q+=512,J.every((N)=>N===0))break;let G=Gr0(J,0,100),W=Gr0(J,345,155);if(W)G=`${W}/${G}`;let K=wZ4(J,124,12),H=String.fromCharCode(J[156]??0),F=$.subarray(Q,Q+K);if(Q+=Math.ceil(K/512)*512,H==="L"){let N=new TextDecoder().decode(F),B=N.indexOf("\x00");Y=B===-1?N:N.slice(0,B);continue}if(H==="x"){let N=new TextDecoder().decode(F);X=/(?:^|\n)\d+ path=([^\n]*)\n/.exec(N)?.[1]??null;continue}if(H==="g")continue;let U=X??Y??G;if(Y=null,X=null,H==="0"||H==="\x00"||H==="")Z.set(U,new Uint8Array(F))}return Z}function PZ4($,Z,Q){let Y=encodeURIComponent(Z);if(!Q)return{url:`https://codeload.github.com/${$}/tar.gz/${Y}`,headers:{}};return{url:`https://api.github.com/repos/${$}/tarball/${Y}`,headers:{Authorization:`Bearer ${Q}`,Accept:"application/vnd.github+json"}}}function o1$($,Z){if($.length>Im)throw Error(`tarball for ${Z} exceeds ${Im} bytes`);let Q=EZ4(new Uint8Array(OZ4($,{maxOutputLength:jZ4}))),Y=new Map;for(let[X,J]of Q){let G=X.indexOf("/");if(G===-1)continue;let W=X.slice(G+1);if(W)Y.set(W,J)}return Y}function s1$($,Z,Q){if($>Z)throw Error(`tarball for ${Q} exceeds ${Z} bytes`)}async function zZ4($,Z){let Q=[],Y=0,X=$.getReader();try{while(!0){let{done:W,value:K}=await X.read();if(W)break;Y+=K.length,s1$(Y,Im,Z),Q.push(K)}}finally{await X.cancel().catch(()=>{}),X.releaseLock()}let J=new Uint8Array(Y),G=0;for(let W of Q)J.set(W,G),G+=W.length;return J}function r1$($){if($ instanceof Wr0)return $.status>=500||$.status===429;if($ instanceof y0)return $.status===0||$.status>=500||$.status===429;if($ instanceof Error&&/declares .* bytes|exceeds .* bytes/.test($.message))return!1;return!0}async function AZ4($,Z,Q){let{url:Y,headers:X}=PZ4($,Z,Q),J=`${$}@${Z}`,G=async()=>{let W=await fetch(Y,{headers:X,signal:AbortSignal.timeout(60000)});if(!W.ok)throw await W.body?.cancel().catch(()=>{}),new Wr0(W.status,`tarball fetch failed for ${J}: HTTP ${W.status}`);let K=Number(W.headers.get("content-length")??0);if(K>Im)throw Error(`tarball for ${J} declares ${K} bytes (cap ${Im})`);let H=new Uint8Array(await W.arrayBuffer());return s1$(H.length,Im,J),H};try{let W=await F8(G,{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:r1$});return o1$(W,J)}catch(W){if(W instanceof e6)throw W.cause instanceof Error?W.cause:W;throw W}}async function TZ4($,Z){let Q=new Map;for(let{from:Y}of Z){let X=t1$($,Y);for(let J of await BZ4(X,{recursive:!0})){let G=t1$(X,J);if(!(await LZ4(G)).isFile())continue;Q.set(Y?`${Y}/${J}`:J,new Uint8Array(await DZ4(G)))}}return Q}async function qZ4($,Z){if($.dir)return TZ4($.dir,$.paths);if(!Z.tarball)return AZ4($.repo,$.ref,Z.authToken);let Q=Z.tarball,Y=`${$.repo}@${$.ref}`,X;try{X=await F8(()=>Q(),{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:r1$})}catch(J){throw J instanceof e6&&J.cause instanceof Error?J.cause:J}if(!X)throw Error(`tarball not found for ${Y}`);return o1$(await zZ4(X,Y),Y)}function RZ4($,Z){let Q=new Map;for(let{from:Y,to:X}of Z){let J=Y===""?"":`${Y.replace(/\/+$/,"")}/`;for(let[G,W]of $){if(!G.startsWith(J))continue;let K=G.slice(J.length);if(!K)continue;let H=N5(X?`${X}/${K}`:K);if(H)Q.set(H,W)}}return Q}function MZ4($,Z){let Q=new Set;for(let J of $){let G=J.split("/");for(let W=1;W<G.length;W++)Q.add(G.slice(0,W).join("/"))}let Y=[...Z].filter((J)=>!Q.has(J)).sort((J,G)=>J.length-G.length),X=[];for(let J of Y)if(!X.some((G)=>J.startsWith(`${G}/`)))X.push(J);return X}function VZ4($){return NZ4("sha256").update($).digest("hex")}function IZ4($){return $.manifestHash===$.hash&&$.storedPaths.has($.path)}async function kZ4($,Z){let Q=z30(Z),Y=new Set,X;do{let J=await $.list({prefix:Q,continuationToken:X});for(let G of J.objects)Y.add(G.key.slice(Q.length));X=J.nextContinuationToken}while(X);return Y}async function Kr0($,Z){let{orgId:Q,volume:Y,source:X}=Z,J=XJ(),G=J?z3(J,Q):new aW(Q,Z.baseUrl),W=new ga($),K=new ZK(G,W,Q),H=RZ4(await qZ4(X,Z),X.paths),F=new Map((await W.listVolumeFiles(Q,Y)).map((j)=>[j.path,j.contentHash]));if(H.size===0&&F.size>0)throw Error(`volume "${Y}" resolved 0 files from ${X.repo}@${X.ref} `+`(check paths config) \u2014 refusing to delete the ${F.size} existing files`);let U=0;for(let j of F.keys()){if(H.has(j))continue;await K.delete(Y,j,{actor:Jr0}),U++}let N=await W.listVolumeDirs(Q,Y);for(let j of MZ4(H.keys(),N.map((w)=>w.path)))await K.delete(Y,j,{actor:Jr0});let B=0,D=0,O=await kZ4(G,Y);for(let[j,w]of H){if(IZ4({hash:VZ4(w),manifestHash:F.get(j),storedPaths:O,path:j})){D++;continue}await K.write(Y,j,w,{actor:Jr0,contentType:f7(j),skipVolumeQuota:Z.skipVolumeQuota}),B++}return{written:B,deleted:U,unchanged:D}}async function CZ4($,Z,Q){let Y=await Kr0($,{orgId:xa,baseUrl:Q.baseUrl,volume:Gw(Z.set),source:Z,skipVolumeQuota:!0});return{set:Z.set,...Y}}async function Hr0($,Z,Q){try{return await CZ4($,Z,Q)}catch(Y){return{set:Z.set,error:Y instanceof Error?Y.message:String(Y)}}}async function a1$($,Z){let Q=[];for(let Y of YK())Q.push(await Hr0($,Y,Z));return Q}var Jr0="system:skill-set-sync",Im=209715200,jZ4=1073741824,Wr0;var q30=L(()=>{n$();C5();Xr0();Rm();Xw();cH();xU();QY();Ww();Wr0=class Wr0 extends Error{status;constructor($,Z){super(Z);this.status=$;this.name="TarballHttpError"}}});import{DBOS as R30,SchedulerMode as SZ4}from"@dbos-inc/dbos-sdk";function e1$($){Fr0=$}function vZ4(){if(!Fr0)throw Error("[org-fs] public-sets sync runtime not initialized \u2014 setPublicSetsSyncRuntime() must run before the workflow fires");return Fr0}async function bZ4($,Z){for(let Q of YK()){let Y=await R30.runStep(()=>{let X=vZ4();return Hr0(X.db,Q,{baseUrl:X.baseUrl})},{name:`syncPublicSet:${Q.set}`});if("error"in Y)console.warn(`[org-fs] public set "${Y.set}" sync failed: ${Y.error}`);else if(Y.written||Y.deleted)console.log(`[org-fs] public set "${Y.set}" synced: +${Y.written} -${Y.deleted} (=${Y.unchanged})`)}}function $$$(){if(ha)return;ha=R30.registerWorkflow(bZ4,{name:"publicSetsSyncWorkflow"}),R30.registerScheduled(ha,{name:"publicSetsSyncWorkflow",crontab:_Z4,mode:SZ4.ExactlyOncePerIntervalWhenActive})}async function Z$$(){if(YK().length===0||!ha)return;let $=new Date,Z=`public-sets-sync-boot:${$.toISOString().slice(0,13)}`;await R30.startWorkflow(ha,{workflowID:Z})($,$)}var _Z4="4,14,24,34,44,54 * * * *",Fr0=null,ha=null;var Q$$=L(()=>{Ww();q30()});import{createHash as Y$$}from"crypto";class Ur0{db;vault;constructor($,Z){this.db=$;this.vault=Z}async upsert($,Z){let Q=new Date,Y={encrypted_auth:await this.vault.encrypt(Z),auth_hash:Y$$("sha256").update(Z).digest("hex"),created_at:Q};return await this.db.insertInto("codex_subscriptions").values({user_id:$,...Y}).onConflict((X)=>X.column("user_id").doUpdateSet(Y)).execute(),{linkedAt:Q.toISOString(),expiresAt:null}}async find($){let Z=await this.db.selectFrom("codex_subscriptions").select("created_at").where("user_id","=",$).executeTakeFirst();return Z?{linkedAt:new Date(Z.created_at).toISOString(),expiresAt:null}:null}async findLiveToken($){let Z=await this.db.selectFrom("codex_subscriptions").select("encrypted_auth").where("user_id","=",$).executeTakeFirst();return Z?this.vault.decrypt(Z.encrypted_auth):null}async sync($,Z,Q){return(await this.db.updateTable("codex_subscriptions").set({encrypted_auth:await this.vault.encrypt(Q),auth_hash:Y$$("sha256").update(Q).digest("hex")}).where("user_id","=",$).where("auth_hash","=",Z).executeTakeFirst()).numUpdatedRows>0n}async delete($){await this.db.deleteFrom("codex_subscriptions").where("user_id","=",$).execute()}}var X$$=()=>{};import{jwtVerify as xZ4,SignJWT as J$$}from"jose";import{randomBytes as fZ4}from"crypto";function G$$(){if(ua)return ua;let $=B0(),Z=$.studioJwtSecret??$.betterAuthSecret;if(Z)ua=new TextEncoder().encode(Z);else console.warn("STUDIO_JWT_SECRET not set - generating random secret (not persistent)"),ua=new Uint8Array(fZ4(32));return ua}async function W$$($,Z="5m"){let Q=G$$();return await new J$$($).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Z).sign(Q)}async function Nr0($){try{let Z=G$$(),{payload:Q}=await xZ4($,Z);return Q}catch{return}}async function NQ($,Z,Q=3600){let Y=B0(),X=Y.plansEnabled?Y.studioJwtSecret:Y.studioJwtSecret??Y.betterAuthSecret;if(!X)throw Error(Y.plansEnabled?"STUDIO_JWT_SECRET (or MESH_JWT_SECRET) is required to mint gateway JWTs when STUDIO_PLANS_ENABLED is set \u2014 BETTER_AUTH_SECRET is deliberately not a fallback, see resolve-config":"A deterministic JWT secret is required to mint gateway JWTs \u2014 set STUDIO_JWT_SECRET or BETTER_AUTH_SECRET");let J=new TextEncoder().encode(X);return await new J$$({iss:"mesh",sub:$,...Z&&{email:Z}}).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Math.floor(Date.now()/1000)+Q).sign(J)}var ua=null;var pH=L(()=>{u1()});import{createCipheriv as yZ4,createDecipheriv as gZ4,createHash as hZ4,randomBytes as K$$}from"crypto";class GJ{key;constructor($){if(Buffer.from($,"base64").length===U$$)this.key=Buffer.from($,"base64");else this.key=hZ4("sha256").update($).digest()}async encrypt($){let Z=K$$(la),Q=yZ4(H$$,this.key,Z),Y=Q.update($,"utf8");Y=Buffer.concat([Y,Q.final()]);let X=Q.getAuthTag();return Buffer.concat([Z,X,Y]).toString("base64")}async decrypt($){let Z=Buffer.from($,"base64"),Q=Z.subarray(0,la),Y=Z.subarray(la,la+F$$),X=Z.subarray(la+F$$),J=gZ4(H$$,this.key,Q);J.setAuthTag(Y);let G=J.update(X);return G=Buffer.concat([G,J.final()]),G.toString("utf8")}static generateKey(){return K$$(U$$).toString("base64")}}var H$$="aes-256-gcm",la=16,F$$=16,U$$=32;var Hw=()=>{};function g9(){let $=B0();if($.baseUrl)return $.baseUrl;return`http://localhost:${$.port??3000}`}function N$$(){return`http://localhost:${B0().port??3000}`}function B5(){return B0().publicUrl??g9()}var H9=L(()=>{u1()});function km($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}import{z as uZ4}from"zod";function ca($){return fA.safeParse($).success}function da($,Z){let Q=km($??"").slice(0,ma).replace(/-+$/,"");return ca(Q)?Q:Z}function Br0($,Z){if(Z<=1)return $;let Q=`-${Z}`;return`${$.slice(0,ma-Q.length).replace(/-+$/,"")}${Q}`}var lZ4=2,ma=64,mZ4,cZ4,fA;var Fw=L(()=>{mZ4=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,cZ4=new Set(["new","edit","settings","apps","projects","connections"]),fA=uZ4.string().min(lZ4).max(ma).regex(mZ4,"Use lowercase letters, digits, and single hyphens between them").refine(($)=>!$.includes("--"),"Use single hyphens").refine(($)=>!cZ4.has($),"This slug is reserved")});import{z as v0}from"zod";function Or0($){let Z=$?.homeTiles;if(Array.isArray(Z)&&Z.length>0)return Z;let Q=$?.homeTile;return Q?[Q]:[]}function mD($){if(!$||typeof $!=="object"||Array.isArray($))return{};let Z=$,Q={};for(let[Y,X]of Object.entries(Z)){if(!X||typeof X!=="object")continue;if(Y!=="agent-sandbox"&&Y!=="local-api")continue;try{Q[Y]=jr0.parse(X)}catch{}}return Q}function wr0($){if(!$||typeof $!=="object"||Array.isArray($))return{};let Z={};for(let[Q,Y]of Object.entries($)){if(!Y||typeof Y!=="object"||Array.isArray(Y))continue;let X={};for(let[J,G]of Object.entries(Y)){let W=mD(G);if(Object.keys(W).length>0)X[J]=W}if(Object.keys(X).length>0)Z[Q]=X}return Z}var L$$,Dr0=500,O$$=200,dZ4=200,iZ4=20,pZ4=50,nZ4=100,tZ4=20,oZ4=100,j$$=300,sZ4=100,rZ4=8192,w$$,aZ4,E$$,Lr0,eZ4,$74,P$$,B$$,Z74,M30,D$$,Q74,Y74,V30,X74,J74,jr0,z$$,G74,W74,K74,H74,F74,U74,N74,A$$,B74,Er0,oY,Pr0,I30,k30;var zr0=L(()=>{Fw();L$$=v0.object({connection_id:v0.string().describe("Connection ID"),selected_tools:v0.array(v0.string()).nullable().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).nullable().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),w$$=L$$.extend({selected_tools:v0.array(v0.string()).max(Dr0).nullable().optional().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).max(Dr0).nullable().optional().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).max(Dr0).nullable().optional().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),aZ4=v0.object({connectionId:v0.string(),toolName:v0.string(),label:v0.string(),icon:v0.string().nullable().optional()}),E$$=v0.object({id:v0.string().describe("Stable id; used as React key and ?tab= value"),title:v0.string().describe("Tab label"),icon:v0.string().optional().describe("Optional lucide icon name"),view:v0.object({type:v0.literal("ext-app"),appId:v0.string(),args:v0.record(v0.string(),v0.unknown()).optional()})}),Lr0=v0.enum(["overview","reports","board","site-editor","assets","releases","hosting","e2e","analytics","cdn","automations","experiments"]),eZ4=v0.enum(["on","off"]),$74=v0.enum(["on","off","manual","auto"]),P$$=v0.object({defaultMainView:v0.object({type:v0.string(),id:v0.string().optional(),toolName:v0.string().optional()}).nullable().optional(),chatDefaultOpen:v0.boolean().nullable().optional(),cmsDefaultOpen:v0.boolean().nullable().optional(),cms:$74.nullable().optional().describe("How this agent offers content editing. Absent means on; the retired `manual` / `auto` read as on too."),sidebarViews:v0.array(Lr0).max(10).nullable().optional().describe("Deprecated layout-scoped sidebar selections. Read only as a fallback when metadata.sidebarViews is absent."),tabs:v0.array(E$$).max(tZ4).optional()}),B$$=v0.object({tileId:v0.string().optional(),connectionId:v0.string().optional().describe("Connection that owns the resource \u2014 the host opens a direct MCP client to this connection so the iframe can call tools by their bare names."),resourceUri:v0.string().describe("ui:// resource URI exposed by `connectionId`. Read on the home page and rendered via MCPAppRenderer."),toolName:v0.string().optional().describe("Tool name \u2014 identifies which tool's inputSchema to display when editing tile props."),toolInput:v0.record(v0.string(),v0.unknown()).optional().describe("User-configured input props passed to MCPAppRenderer when rendering the tile."),minHeight:v0.number().int().positive().optional(),maxHeight:v0.number().int().positive().optional()}),Z74=v0.object({banner:v0.string().nullable().optional(),bannerColor:v0.string().nullable().optional(),icon:v0.string().nullable().optional(),themeColor:v0.string().nullable().optional(),pinnedViews:v0.array(aZ4).max(nZ4).nullable().optional(),layout:P$$.nullable().optional(),homeTile:B$$.nullable().optional(),homeTiles:v0.array(B$$).max(iZ4).nullable().optional(),homePrompts:v0.array(v0.string()).max(pZ4).nullable().optional()});M30=/^[A-Za-z_][A-Za-z0-9_]*$/,D$$=v0.string().min(1).regex(M30,{message:"Env var key must start with a letter or underscore and contain only letters, digits, and underscores."}),Q74=v0.discriminatedUnion("kind",[v0.object({key:D$$,kind:v0.literal("literal"),value:v0.string().max(rZ4)}),v0.object({key:D$$,kind:v0.literal("secret"),secretId:v0.string().min(1)})]),Y74=v0.object({selected:v0.string().nullable().optional().describe("User-selected package manager (npm | pnpm | yarn | bun | deno). Null/absent means autodetect on next SANDBOX_START."),port:v0.string().nullable().optional().describe("User-selected dev server port as a string (allows '' / null for unset). Null/absent means autodetect."),path:v0.string().nullable().optional().describe("Optional path (relative to repo root) to the directory containing package.json. Null/absent means repo root. Forwarded as `application.packageManager.path` to the daemon config."),env:v0.array(Q74).max(sZ4).nullable().optional().describe("Env vars injected on every SANDBOX_START. Literal entries inline their value; secret entries store a secretId that Studio resolves via the credential vault before posting /_sandbox/config.")}),V30=v0.object({url:v0.string().describe("Repository URL, including its provider host"),owner:v0.string().describe("Repository owner"),name:v0.string().describe("Repository name"),installationId:v0.number().optional().describe("GitHub App installation ID. Absent when the repo was linked without a GitHub connection (public-clone mode)."),connectionId:v0.string().optional().describe("ID of the mcp-github connection used for authentication. Absent for public repos cloned without credentials."),repositoryId:v0.string().optional().describe("First-class repository (REPOSITORY_LINK) backing this binding. When set, credentials come from the repository's git provider account rather than connectionId.")}),X74=v0.enum(["agent-sandbox","local-api"]),J74={sandboxHandle:v0.string().describe("Provider-specific handle"),previewUrl:v0.string().nullable().describe("URL where the sandbox's iframe-proxied UI is served, or null when the sandbox has no dev server (blank / tool sandboxes)."),sandboxApiUrl:v0.string().nullable().optional().describe("Direct sandbox API URL for runtimes that expose one. Equal to previewUrl for local-api; null/absent for AgentSandbox, which routes control traffic through hosted Studio."),createdAt:v0.number().optional().describe("Epoch ms the entry was first written by SANDBOX_START. Used by the booting overlay to show a stable elapsed timer that survives browser reloads. Optional for backward compatibility with entries written before this field existed."),startedWith:v0.object({packageManager:v0.string().nullable().optional().describe("metadata.runtime.selected at the time of SANDBOX_START"),port:v0.string().nullable().optional().describe("metadata.runtime.port at the time of SANDBOX_START"),path:v0.string().nullable().optional().describe("metadata.runtime.path at the time of SANDBOX_START")}).optional().describe("Snapshot of metadata.runtime fields (selected/port/path) used at SANDBOX_START. The Preview tab compares the live metadata.runtime against this to decide if a restart is required to apply changes.")},jr0=v0.object(J74);z$$=v0.record(v0.string().describe("userId"),v0.record(v0.string().describe("branch"),v0.partialRecord(X74,jr0)));G74=v0.object({id:v0.string().describe("Stable identifier for this knowledge file"),name:v0.string().describe("File name shown in the UI"),kind:v0.enum(["file","skill"]).optional().describe("'file' (a single document) or 'skill' (a Claude Code skill folder containing SKILL.md). Defaults to 'file'."),volume:v0.string().describe("Org filesystem (Library) volume the file lives in"),path:v0.string().describe("Path within the volume"),url:v0.string().describe("Same-origin URL to read the file (display/download)"),contentType:v0.string().nullable().optional().describe("MIME type, used to decide whether to inline the content"),size:v0.number().nullable().optional().describe("File size in bytes"),addedAt:v0.string().describe("ISO timestamp when the file was attached")}),W74=v0.array(G74).max(oZ4).nullable().optional().describe("Files attached to the agent as reference knowledge. Surfaced in the system prompt: small text documents are inlined, others are listed as retrievable references."),K74=v0.enum(["smart","code-review","open"]),H74=K74.nullable().optional().describe("Controls when this code agent's changes may be published directly vs. requiring PR review. 'smart' (default) uses AI to judge per change; 'code-review' requires review for any code; 'open' allows direct publish always."),F74=v0.boolean().nullable().optional().describe("Enable Fast Preview (sandbox-less): render the draft instantly on the preview server's own page via a ?__draft pointer, with reads/writes served by the decofile API against GitHub. Requires previewServerUrl (or legacy productionUrl) to be set to take effect."),U74=v0.boolean().nullable().optional().describe("EXPERIMENTAL: with Fast Preview on, refresh content edits via an in-place /live/previews render (no commit, no reload) instead of a commit + re-navigation. Deco-runtime preview targets only. Requires fastPreview."),N74=v0.string().nullable().optional().describe("Preview server URL \u2014 the deployment the CMS preview renders against (often the live site, e.g. https://acme.com). Painted in the preview iframe, and the render target for Fast Preview drafts. Supersedes the legacy productionUrl key."),A$$=v0.object({branch:v0.string().describe("Git branch backing this release"),name:v0.string().describe('User-facing name, e.g. "Black Friday 2026"'),color:v0.string().describe("Dot color token shown in the version switcher"),createdBy:v0.string().optional().describe("User ID who created the release"),createdAt:v0.string().optional().describe("ISO 8601 creation timestamp")}),B74=v0.array(A$$).max(j$$).nullable().optional().describe("Curated list of named, branch-backed releases shown in the version switcher. The base branch ('No ar') is derived, not stored here."),Er0={instructions:v0.string().nullable().optional().describe("Instructions also used as system prompt"),subAgents:v0.array(v0.string()).max(dZ4).nullable().optional().describe("Allowlist of Virtual MCP (agent) or concrete MCP connection IDs this agent may delegate to via subtask. Concrete connections create ephemeral subagents. null/absent = all active org targets; empty array = itself only."),liveAgentId:v0.string().nullable().optional().describe("ID of the live agent this (dev) agent develops. Set only on dev agents; powers the Develop/Live toggle. A dev agent is hidden from the sidebar (reached via the toggle on its live counterpart)."),ui:Z74.nullable().optional().describe("UI customization settings"),sidebarViews:v0.array(Lr0).max(10).nullable().optional().describe("Project views selected for the sidebar. Interpret as an exact list when sidebarViewsVersion is 1; unversioned values use legacy native-only semantics. Runtime presence gates still apply."),sidebarViewsVersion:v0.literal(1).optional().describe("Version 1 marks metadata.sidebarViews as an exact list that can disable legacy default rows."),repository:V30.nullable().optional().describe("Linked repository"),runtime:Y74.nullable().optional().describe("User-pinned runtime config (package manager, dev port). Empty fields = autodetect."),knowledge:W74,siteSlug:v0.string().nullable().optional().describe("The project's site id (asset tenancy, CDN paths, site tokens). Set once when the site is created or imported; any write that would change it is refused."),publishPolicy:H74,previewServerUrl:N74,productionUrl:v0.string().nullable().optional().describe("Legacy key for previewServerUrl \u2014 still read as a fallback. New writes use previewServerUrl."),fieldDescriptionTooltips:v0.boolean().nullable().optional().describe("Blocks form: opt in to showing a field's schema description as a hover tooltip on its title, instead of the default inline text below the title."),fastPreview:F74,releases:B74,fastPreviewInPlace:U74},oY=v0.object({id:v0.string().describe("Unique identifier"),title:v0.string().describe("Human-readable name"),url_slug:v0.string().nullable().optional().describe("Name of the project in Studio URLs, unique in the organization"),description:v0.string().nullable().describe("Description"),icon:v0.string().nullable().describe("Icon URL"),created_at:v0.string().describe("Creation timestamp"),updated_at:v0.string().describe("Last update timestamp"),created_by:v0.string().describe("User ID who created this item"),updated_by:v0.string().optional().describe("User ID who last updated this item"),organization_id:v0.string().describe("Organization ID this item belongs to"),status:v0.enum(["active","inactive"]).describe("Current status"),pinned:v0.boolean().describe("Whether this space is pinned to the sidebar"),metadata:v0.object(Er0).extend({instructions:v0.string().nullable().describe("Instructions also used as system prompt"),sandboxMap:z$$.optional().describe("Per-user, per-branch sandbox mapping: sandboxMap[userId][branch] -> { sandboxHandle, previewUrl }")}).loose().describe("Metadata"),connections:v0.array(L$$).describe("Connections with their selected tools, resources, and prompts")}),Pr0=v0.object({title:v0.string().min(1).max(120).describe("Short label shown on the chip"),description:v0.string().max(280).optional().describe("One-line subtitle shown under the title"),text:v0.string().min(1).max(4000).describe("The message sent to the agent when the prompt is clicked")}),I30=v0.object({title:v0.string().min(1).max(255).describe("Name for the virtual MCP"),description:v0.string().max(500).nullable().optional().describe("Optional description"),icon:v0.string().nullish().describe("Optional icon URL"),status:v0.enum(["active","inactive"]).optional().default("active").describe("Initial status"),pinned:v0.boolean().optional().default(!1).describe("Pin to sidebar"),metadata:v0.object(Er0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(w$$).max(O$$).describe("Connections to include/exclude (can be empty for exclusion mode)"),prompts:v0.array(Pr0).max(20).optional().describe("Optional kickstart prompts to seed on the agent. Each becomes a clickable conversation starter (icebreaker) on the agent. Author them from the agent's role and the tools it will have so they're coherent and immediately useful.")}),k30=v0.object({title:v0.string().min(1).max(255).optional().describe("New name"),url_slug:fA.nullish().describe("New URL slug. The old one keeps redirecting. Renaming does not change it. null keeps the current slug."),description:v0.string().max(500).nullable().optional().describe("New description (null to clear)"),icon:v0.string().nullish().describe("New icon URL"),status:v0.enum(["active","inactive"]).optional().describe("New status"),pinned:v0.boolean().optional().describe("Pin/unpin from sidebar"),metadata:v0.object(Er0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(w$$).max(O$$).optional().describe("New connections (replaces existing)"),prompts:v0.array(Pr0).max(20).optional().describe("Replace the agent's kickstart prompts with this full set. Omit to leave them unchanged; pass an empty array to remove all. Each becomes a clickable conversation starter (icebreaker).")})});function q$$($){return $==="repository"||$==="additionalRepositories"?Tr0[$]:$}function R$$($){return $!==null&&typeof $==="object"&&!Array.isArray($)?$:null}function T$$($){let Z=R$$($),Q=Z&&Z.url===void 0&&typeof Z.owner==="string"&&/^[\w.-]+$/.test(Z.owner)&&typeof Z.name==="string"&&/^[\w.-]+$/.test(Z.name)?`https://github.com/${Z.owner}/${Z.name}`:void 0,Y=V30.safeParse(Q?{...Z,url:Q}:$);if(!Y.success)return null;try{return Ar0(Y.data)??null}catch{return null}}function nH($){let Z=R$$($);if(!Z)return null;let Q={...Z};for(let[Y,X]of Object.entries(Tr0)){if(delete Q[X],!(Y in Z)&&!(X in Z))continue;let J=Object.hasOwn(Z,Y)?Z[Y]:Z[X];if(Y==="repository")Q.repository=T$$(J);else Q.additionalRepositories=J===null?null:Array.isArray(J)?J.map(T$$).filter((G)=>G!==null):[]}return Q}function Ar0($){if($===null||$===void 0)return $;let Z=V30.parse($),Q=new URL(Z.url);if(Q.protocol!=="https:"&&Q.protocol!=="http:")throw Error("Repository URL must use HTTP or HTTPS");return Q.username="",Q.password="",Q.search="",Q.hash="",{...Z,url:Q.toString()}}function yU($){if(!$)return null;let Z={...$};for(let[Q,Y]of Object.entries(Tr0)){if(Object.hasOwn($,Y))throw Error(`Repository metadata must use ${Q}; ${Y} is a database compatibility key`);if(delete Z[Q],delete Z[Y],!Object.hasOwn($,Q))continue;let X=$[Q];if(Q==="repository")Z[Y]=Ar0(X);else if(X===null||X===void 0)Z[Y]=X;else{if(!Array.isArray(X))throw Error("Additional repositories must be an array");Z[Y]=X.map((J)=>Ar0(J))}}return Z}var Tr0;var ia=L(()=>{zr0();Tr0={repository:"githubRepo",additionalRepositories:"githubRepos"}});import*as g from"zod/v4";function l$$($){if($.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${$.params.ref.type}`)}function m$$($){if($.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${$.params.ref.type}`)}var Uw="2025-11-25",M$$="2025-03-26",Nw,Bw="io.modelcontextprotocol/related-task",S30="2.0",g7,V$$,I$$,ng5,D74,L74,qr0,T3,pa,k$$=($)=>pa.safeParse($).success,YY,XK,JK,XY,_30,C$$,gU=($)=>C$$.safeParse($).success,S$$,_$$=($)=>S$$.safeParse($).success,Rr0,tH=($)=>Rr0.safeParse($).success,l1,Mr0,Sm=($)=>Mr0.safeParse($).success,q3,tg5,cD,O74,v30,j74,na,Cm,v$$,w74,E74,P74,z74,A74,T74,b30,Vr0=($)=>b30.safeParse($).success,q74,Ir0,x30,b$$=($)=>x30.safeParse($).success,f30,R74,M74,y30,V74,ta,oa,I74,sa,dD,k74,ra,g30,h30,u30,og5,l30,m30,c30,x$$,f$$,y$$,kr0,g$$,aa,_m,h$$,C74,Dw,Cr0,Lw,Sr0,_r0,S74,vm,vr0,br0,_74,v74,b74,x74,f74,y74,g74,h74,Ow,xr0,u74,bm,fr0,yr0,gr0,l74,m74,c74,hr0,d74,ur0,lr0,i74,p74,d30,xm,ea,hU,sg5,n74,jw,mr0,u$$,$e,t74,cr0,o74,s74,r74,a74,e74,$Q4,ZQ4,C30,QQ4,YQ4,dr0,yA,Ze,XQ4,JQ4,GQ4,WQ4,KQ4,HQ4,FQ4,UQ4,NQ4,BQ4,DQ4,LQ4,OQ4,jQ4,wQ4,ir0,EQ4,PQ4,ww,zQ4,AQ4,TQ4,i30,pr0,qQ4,RQ4,nr0,MQ4,rg5,ag5,eg5,$h5,Zh5,Qh5,x1,c$$;var IZ=L(()=>{Nw=[Uw,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],g7=g.custom(($)=>$!==null&&(typeof $==="object"||typeof $==="function")),V$$=g.union([g.string(),g.number().int()]),I$$=g.string(),ng5=g.looseObject({ttl:g.number().optional(),pollInterval:g.number().optional()}),D74=g.object({ttl:g.number().optional()}),L74=g.object({taskId:g.string()}),qr0=g.looseObject({progressToken:V$$.optional(),[Bw]:L74.optional()}),T3=g.object({_meta:qr0.optional()}),pa=T3.extend({task:D74.optional()}),YY=g.object({method:g.string(),params:T3.loose().optional()}),XK=g.object({_meta:qr0.optional()}),JK=g.object({method:g.string(),params:XK.loose().optional()}),XY=g.looseObject({_meta:qr0.optional()}),_30=g.union([g.string(),g.number().int()]),C$$=g.object({jsonrpc:g.literal(S30),id:_30,...YY.shape}).strict(),S$$=g.object({jsonrpc:g.literal(S30),...JK.shape}).strict(),Rr0=g.object({jsonrpc:g.literal(S30),id:_30,result:XY}).strict();(function($){$[$.ConnectionClosed=-32000]="ConnectionClosed",$[$.RequestTimeout=-32001]="RequestTimeout",$[$.ParseError=-32700]="ParseError",$[$.InvalidRequest=-32600]="InvalidRequest",$[$.MethodNotFound=-32601]="MethodNotFound",$[$.InvalidParams=-32602]="InvalidParams",$[$.InternalError=-32603]="InternalError",$[$.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(l1||(l1={}));Mr0=g.object({jsonrpc:g.literal(S30),id:_30.optional(),error:g.object({code:g.number().int(),message:g.string(),data:g.unknown().optional()})}).strict(),q3=g.union([C$$,S$$,Rr0,Mr0]),tg5=g.union([Rr0,Mr0]),cD=XY.strict(),O74=XK.extend({requestId:_30.optional(),reason:g.string().optional()}),v30=JK.extend({method:g.literal("notifications/cancelled"),params:O74}),j74=g.object({src:g.string(),mimeType:g.string().optional(),sizes:g.array(g.string()).optional(),theme:g.enum(["light","dark"]).optional()}),na=g.object({icons:g.array(j74).optional()}),Cm=g.object({name:g.string(),title:g.string().optional()}),v$$=Cm.extend({...Cm.shape,...na.shape,version:g.string(),websiteUrl:g.string().optional(),description:g.string().optional()}),w74=g.intersection(g.object({applyDefaults:g.boolean().optional()}),g.record(g.string(),g.unknown())),E74=g.preprocess(($)=>{if($&&typeof $==="object"&&!Array.isArray($)){if(Object.keys($).length===0)return{form:{}}}return $},g.intersection(g.object({form:w74.optional(),url:g7.optional()}),g.record(g.string(),g.unknown()).optional())),P74=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({sampling:g.looseObject({createMessage:g7.optional()}).optional(),elicitation:g.looseObject({create:g7.optional()}).optional()}).optional()}),z74=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({tools:g.looseObject({call:g7.optional()}).optional()}).optional()}),A74=g.object({experimental:g.record(g.string(),g7).optional(),sampling:g.object({context:g7.optional(),tools:g7.optional()}).optional(),elicitation:E74.optional(),roots:g.object({listChanged:g.boolean().optional()}).optional(),tasks:P74.optional(),extensions:g.record(g.string(),g7).optional()}),T74=T3.extend({protocolVersion:g.string(),capabilities:A74,clientInfo:v$$}),b30=YY.extend({method:g.literal("initialize"),params:T74}),q74=g.object({experimental:g.record(g.string(),g7).optional(),logging:g7.optional(),completions:g7.optional(),prompts:g.object({listChanged:g.boolean().optional()}).optional(),resources:g.object({subscribe:g.boolean().optional(),listChanged:g.boolean().optional()}).optional(),tools:g.object({listChanged:g.boolean().optional()}).optional(),tasks:z74.optional(),extensions:g.record(g.string(),g7).optional()}),Ir0=XY.extend({protocolVersion:g.string(),capabilities:q74,serverInfo:v$$,instructions:g.string().optional()}),x30=JK.extend({method:g.literal("notifications/initialized"),params:XK.optional()}),f30=YY.extend({method:g.literal("ping"),params:T3.optional()}),R74=g.object({progress:g.number(),total:g.optional(g.number()),message:g.optional(g.string())}),M74=g.object({...XK.shape,...R74.shape,progressToken:V$$}),y30=JK.extend({method:g.literal("notifications/progress"),params:M74}),V74=T3.extend({cursor:I$$.optional()}),ta=YY.extend({params:V74.optional()}),oa=XY.extend({nextCursor:I$$.optional()}),I74=g.enum(["working","input_required","completed","failed","cancelled"]),sa=g.object({taskId:g.string(),status:I74,ttl:g.union([g.number(),g.null()]),createdAt:g.string(),lastUpdatedAt:g.string(),pollInterval:g.optional(g.number()),statusMessage:g.optional(g.string())}),dD=XY.extend({task:sa}),k74=XK.merge(sa),ra=JK.extend({method:g.literal("notifications/tasks/status"),params:k74}),g30=YY.extend({method:g.literal("tasks/get"),params:T3.extend({taskId:g.string()})}),h30=XY.merge(sa),u30=YY.extend({method:g.literal("tasks/result"),params:T3.extend({taskId:g.string()})}),og5=XY.loose(),l30=ta.extend({method:g.literal("tasks/list")}),m30=oa.extend({tasks:g.array(sa)}),c30=YY.extend({method:g.literal("tasks/cancel"),params:T3.extend({taskId:g.string()})}),x$$=XY.merge(sa),f$$=g.object({uri:g.string(),mimeType:g.optional(g.string()),_meta:g.record(g.string(),g.unknown()).optional()}),y$$=f$$.extend({text:g.string()}),kr0=g.string().refine(($)=>{try{return atob($),!0}catch{return!1}},{message:"Invalid Base64 string"}),g$$=f$$.extend({blob:kr0}),aa=g.enum(["user","assistant"]),_m=g.object({audience:g.array(aa).optional(),priority:g.number().min(0).max(1).optional(),lastModified:g.iso.datetime({offset:!0}).optional()}),h$$=g.object({...Cm.shape,...na.shape,uri:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),size:g.optional(g.number()),annotations:_m.optional(),_meta:g.optional(g.looseObject({}))}),C74=g.object({...Cm.shape,...na.shape,uriTemplate:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),annotations:_m.optional(),_meta:g.optional(g.looseObject({}))}),Dw=ta.extend({method:g.literal("resources/list")}),Cr0=oa.extend({resources:g.array(h$$)}),Lw=ta.extend({method:g.literal("resources/templates/list")}),Sr0=oa.extend({resourceTemplates:g.array(C74)}),_r0=T3.extend({uri:g.string()}),S74=_r0,vm=YY.extend({method:g.literal("resources/read"),params:S74}),vr0=XY.extend({contents:g.array(g.union([y$$,g$$]))}),br0=JK.extend({method:g.literal("notifications/resources/list_changed"),params:XK.optional()}),_74=_r0,v74=YY.extend({method:g.literal("resources/subscribe"),params:_74}),b74=_r0,x74=YY.extend({method:g.literal("resources/unsubscribe"),params:b74}),f74=XK.extend({uri:g.string()}),y74=JK.extend({method:g.literal("notifications/resources/updated"),params:f74}),g74=g.object({name:g.string(),description:g.optional(g.string()),required:g.optional(g.boolean())}),h74=g.object({...Cm.shape,...na.shape,description:g.optional(g.string()),arguments:g.optional(g.array(g74)),_meta:g.optional(g.looseObject({}))}),Ow=ta.extend({method:g.literal("prompts/list")}),xr0=oa.extend({prompts:g.array(h74)}),u74=T3.extend({name:g.string(),arguments:g.record(g.string(),g.string()).optional()}),bm=YY.extend({method:g.literal("prompts/get"),params:u74}),fr0=g.object({type:g.literal("text"),text:g.string(),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),yr0=g.object({type:g.literal("image"),data:kr0,mimeType:g.string(),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),gr0=g.object({type:g.literal("audio"),data:kr0,mimeType:g.string(),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),l74=g.object({type:g.literal("tool_use"),name:g.string(),id:g.string(),input:g.record(g.string(),g.unknown()),_meta:g.record(g.string(),g.unknown()).optional()}),m74=g.object({type:g.literal("resource"),resource:g.union([y$$,g$$]),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),c74=h$$.extend({type:g.literal("resource_link")}),hr0=g.union([fr0,yr0,gr0,c74,m74]),d74=g.object({role:aa,content:hr0}),ur0=XY.extend({description:g.string().optional(),messages:g.array(d74)}),lr0=JK.extend({method:g.literal("notifications/prompts/list_changed"),params:XK.optional()}),i74=g.object({title:g.string().optional(),readOnlyHint:g.boolean().optional(),destructiveHint:g.boolean().optional(),idempotentHint:g.boolean().optional(),openWorldHint:g.boolean().optional()}),p74=g.object({taskSupport:g.enum(["required","optional","forbidden"]).optional()}),d30=g.object({...Cm.shape,...na.shape,description:g.string().optional(),inputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()),outputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()).optional(),annotations:i74.optional(),execution:p74.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),xm=ta.extend({method:g.literal("tools/list")}),ea=oa.extend({tools:g.array(d30)}),hU=XY.extend({content:g.array(hr0).default([]),structuredContent:g.record(g.string(),g.unknown()).optional(),isError:g.boolean().optional()}),sg5=hU.or(XY.extend({toolResult:g.unknown()})),n74=pa.extend({name:g.string(),arguments:g.record(g.string(),g.unknown()).optional()}),jw=YY.extend({method:g.literal("tools/call"),params:n74}),mr0=JK.extend({method:g.literal("notifications/tools/list_changed"),params:XK.optional()}),u$$=g.object({autoRefresh:g.boolean().default(!0),debounceMs:g.number().int().nonnegative().default(300)}),$e=g.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),t74=T3.extend({level:$e}),cr0=YY.extend({method:g.literal("logging/setLevel"),params:t74}),o74=XK.extend({level:$e,logger:g.string().optional(),data:g.unknown()}),s74=JK.extend({method:g.literal("notifications/message"),params:o74}),r74=g.object({name:g.string().optional()}),a74=g.object({hints:g.array(r74).optional(),costPriority:g.number().min(0).max(1).optional(),speedPriority:g.number().min(0).max(1).optional(),intelligencePriority:g.number().min(0).max(1).optional()}),e74=g.object({mode:g.enum(["auto","required","none"]).optional()}),$Q4=g.object({type:g.literal("tool_result"),toolUseId:g.string().describe("The unique identifier for the corresponding tool call."),content:g.array(hr0).default([]),structuredContent:g.object({}).loose().optional(),isError:g.boolean().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),ZQ4=g.discriminatedUnion("type",[fr0,yr0,gr0]),C30=g.discriminatedUnion("type",[fr0,yr0,gr0,l74,$Q4]),QQ4=g.object({role:aa,content:g.union([C30,g.array(C30)]),_meta:g.record(g.string(),g.unknown()).optional()}),YQ4=pa.extend({messages:g.array(QQ4),modelPreferences:a74.optional(),systemPrompt:g.string().optional(),includeContext:g.enum(["none","thisServer","allServers"]).optional(),temperature:g.number().optional(),maxTokens:g.number().int(),stopSequences:g.array(g.string()).optional(),metadata:g7.optional(),tools:g.array(d30).optional(),toolChoice:e74.optional()}),dr0=YY.extend({method:g.literal("sampling/createMessage"),params:YQ4}),yA=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens"]).or(g.string())),role:aa,content:ZQ4}),Ze=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(g.string())),role:aa,content:g.union([C30,g.array(C30)])}),XQ4=g.object({type:g.literal("boolean"),title:g.string().optional(),description:g.string().optional(),default:g.boolean().optional()}),JQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),minLength:g.number().optional(),maxLength:g.number().optional(),format:g.enum(["email","uri","date","date-time"]).optional(),default:g.string().optional()}),GQ4=g.object({type:g.enum(["number","integer"]),title:g.string().optional(),description:g.string().optional(),minimum:g.number().optional(),maximum:g.number().optional(),default:g.number().optional()}),WQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),default:g.string().optional()}),KQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),oneOf:g.array(g.object({const:g.string(),title:g.string()})),default:g.string().optional()}),HQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),enumNames:g.array(g.string()).optional(),default:g.string().optional()}),FQ4=g.union([WQ4,KQ4]),UQ4=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({type:g.literal("string"),enum:g.array(g.string())}),default:g.array(g.string()).optional()}),NQ4=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({anyOf:g.array(g.object({const:g.string(),title:g.string()}))}),default:g.array(g.string()).optional()}),BQ4=g.union([UQ4,NQ4]),DQ4=g.union([HQ4,FQ4,BQ4]),LQ4=g.union([DQ4,XQ4,JQ4,GQ4]),OQ4=pa.extend({mode:g.literal("form").optional(),message:g.string(),requestedSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),LQ4),required:g.array(g.string()).optional()})}),jQ4=pa.extend({mode:g.literal("url"),message:g.string(),elicitationId:g.string(),url:g.string().url()}),wQ4=g.union([OQ4,jQ4]),ir0=YY.extend({method:g.literal("elicitation/create"),params:wQ4}),EQ4=XK.extend({elicitationId:g.string()}),PQ4=JK.extend({method:g.literal("notifications/elicitation/complete"),params:EQ4}),ww=XY.extend({action:g.enum(["accept","decline","cancel"]),content:g.preprocess(($)=>$===null?void 0:$,g.record(g.string(),g.union([g.string(),g.number(),g.boolean(),g.array(g.string())])).optional())}),zQ4=g.object({type:g.literal("ref/resource"),uri:g.string()}),AQ4=g.object({type:g.literal("ref/prompt"),name:g.string()}),TQ4=T3.extend({ref:g.union([AQ4,zQ4]),argument:g.object({name:g.string(),value:g.string()}),context:g.object({arguments:g.record(g.string(),g.string()).optional()}).optional()}),i30=YY.extend({method:g.literal("completion/complete"),params:TQ4});pr0=XY.extend({completion:g.looseObject({values:g.array(g.string()).max(100),total:g.optional(g.number().int()),hasMore:g.optional(g.boolean())})}),qQ4=g.object({uri:g.string().startsWith("file://"),name:g.string().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),RQ4=YY.extend({method:g.literal("roots/list"),params:T3.optional()}),nr0=XY.extend({roots:g.array(qQ4)}),MQ4=JK.extend({method:g.literal("notifications/roots/list_changed"),params:XK.optional()}),rg5=g.union([f30,b30,i30,cr0,bm,Ow,Dw,Lw,vm,v74,x74,jw,xm,g30,u30,l30,c30]),ag5=g.union([v30,y30,x30,MQ4,ra]),eg5=g.union([cD,yA,Ze,ww,nr0,h30,m30,dD]),$h5=g.union([f30,dr0,ir0,RQ4,g30,u30,l30,c30]),Zh5=g.union([v30,y30,s74,y74,br0,mr0,lr0,ra,PQ4]),Qh5=g.union([cD,Ir0,pr0,ur0,xr0,Cr0,Sr0,vr0,hU,ea,h30,m30,dD]);x1=class x1 extends Error{constructor($,Z,Q){super(`MCP error ${$}: ${Z}`);this.code=$,this.data=Q,this.name="McpError"}static fromError($,Z,Q){if($===l1.UrlElicitationRequired&&Q){let Y=Q;if(Y.elicitations)return new c$$(Y.elicitations,Z)}return new x1($,Z,Q)}};c$$=class c$$ extends x1{constructor($,Z=`URL elicitation${$.length>1?"s":""} required`){super(l1.UrlElicitationRequired,Z,{elicitations:$})}get elicitations(){return this.data?.elicitations??[]}}});import{z as e$}from"zod";function p$$($){return e$.record(e$.string(),e$.unknown()).nullable().refine((Z)=>Z===null||JSON.stringify(Z).length<=i$$,{message:`${$} must serialize to at most ${i$$} bytes`})}function uU($){return $!==null&&$!==void 0&&"command"in $}function fm($){if(!$||!$.startsWith("virtual://"))return null;return $.replace("virtual://","")}function ym($){return`virtual://${$}`}var n$$,d$$,VQ4,IQ4,kQ4,i$$=262144,sY,p30,n30;var t$$=L(()=>{Fw();IZ();n$$=e$.object({authorizationEndpoint:e$.string().url(),tokenEndpoint:e$.string().url(),introspectionEndpoint:e$.string().url().optional(),clientId:e$.string(),clientSecret:e$.string().optional(),scopes:e$.array(e$.string()),grantType:e$.enum(["authorization_code","client_credentials"])}),d$$=e$.object({type:e$.literal("object"),properties:e$.record(e$.string(),e$.unknown()).optional(),required:e$.array(e$.string()).optional()}).catchall(e$.unknown()),VQ4=d30.extend({inputSchema:d$$,outputSchema:d$$.optional()}),IQ4=e$.object({headers:e$.record(e$.string(),e$.string()).optional()}),kQ4=e$.object({command:e$.string().describe("Command to run (e.g., 'npx', 'node')"),args:e$.array(e$.string()).optional().describe("Command arguments"),cwd:e$.string().optional().describe("Working directory"),envVars:e$.record(e$.string(),e$.string()).optional().describe("Environment variables (encrypted in storage)")});sY=e$.object({id:e$.string().describe("Unique identifier for the connection"),title:e$.string().describe("Human-readable name for the connection"),created_at:e$.string().describe("When the connection was created"),updated_at:e$.string().describe("When the connection was last updated"),created_by:e$.string().describe("User ID who created the connection"),updated_by:e$.string().optional().describe("User ID who last updated the connection"),organization_id:e$.string().describe("Organization ID this connection belongs to"),description:e$.string().nullable().describe("Description of the connection"),icon:e$.string().nullable().describe("Icon URL for the connection"),app_name:e$.string().nullable().describe("Associated app name"),app_id:e$.string().nullable().describe("Associated app ID"),slug:e$.string().nullable().optional().describe("URL-safe slug derived from app_name, connection_url, or title"),url_slug:e$.string().nullable().optional().describe("Name of the connection in Studio URLs, unique in the organization. Set it to rename the URL; the old one keeps redirecting."),connection_type:e$.enum(["HTTP","SSE","Websocket","STDIO","VIRTUAL"]).describe("Type of connection"),connection_url:e$.string().nullable().describe("URL for HTTP/SSE/WebSocket connections. virtual://$id for VIRTUAL. Null for STDIO."),connection_token:e$.string().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:e$.union([kQ4,IQ4]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:n$$.nullable().describe("OAuth configuration"),configuration_state:p$$("configuration_state").describe("Configuration state (decrypted)"),configuration_scopes:e$.array(e$.string()).nullable().optional().describe("Configuration scopes"),metadata:p$$("metadata").describe("Additional metadata (includes repository info)"),tools:e$.array(VQ4).nullable().describe("Discovered tools from MCP"),bindings:e$.array(e$.string()).nullable().describe("Detected bindings"),status:e$.enum(["active","inactive","error"]).describe("Current status")}),p30=sY.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0}).extend({icon:e$.string().nullish()}),n30=sY.partial().extend({url_slug:fA.nullish()})});function gA($){return CQ4.has($)}function o$$($){return SQ4.has($)}var tZ,CQ4,SQ4,t30;var tr0=L(()=>{tZ=["deco","anthropic","openrouter","llmapi","google","openai-compatible"],CQ4=new Set(tZ);SQ4=new Set(["anthropic","openrouter","deco"]);t30=[...tZ,"claude-code","codex"]});function or0($,Z){return{id:crypto.randomUUID(),type:Qe.STEP,source:"decopilot",subject:$,data:{stepCount:Z},time:new Date().toISOString()}}function o30($,Z){return{id:crypto.randomUUID(),type:Qe.FINISH,source:"decopilot",subject:$,data:{status:Z},time:new Date().toISOString()}}function lU($,Z,Q){return{id:crypto.randomUUID(),type:Qe.THREAD_STATUS,source:"decopilot",subject:$,data:{status:Z,...Q?.messageId!==void 0&&{message_id:Q.messageId},...Q?.virtualMcpId!==void 0&&{virtual_mcp_id:Q.virtualMcpId},...Q?.createdBy!==void 0&&{created_by:Q.createdBy},...Q?.triggerId!==void 0&&{trigger_id:Q.triggerId},...Q?.title!==void 0&&{title:Q.title},...Q?.branch!==void 0&&{branch:Q.branch},...Q?.harnessId!==void 0&&{harness_id:Q.harnessId},...Q?.createdAt!==void 0&&{created_at:Q.createdAt},...Q?.updatedAt!==void 0&&{updated_at:Q.updatedAt},...Q?.metadata!==void 0&&{metadata:Q.metadata}},time:new Date().toISOString()}}var s$$,_Q4,Qe,vQ4;var r$$=L(()=>{s$$=["in_progress","requires_action","failed","completed"],_Q4=[...s$$,"expired"],Qe={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},vQ4=Object.values(Qe)});var s30=L(()=>{t$$();zr0();tr0();r$$()});var mU=L(()=>{s30()});import{lookup as bQ4}from"dns/promises";function Ye($,Z){if($===10)return!0;if($===172&&Z!==void 0&&Z>=16&&Z<=31)return!0;if($===192&&Z===168)return!0;if($===127)return!0;if($===169&&Z===254)return!0;if($===0)return!0;if($===100&&Z!==void 0&&Z>=64&&Z<=127)return!0;return!1}function sr0($){let Z=Number.parseInt($.padStart(4,"0"),16);return[Z>>8,Z&255]}function a$$($){let Z=$.split(":").filter((Q)=>Q.length>0);if($.startsWith("2002:")&&Z.length>=2){let[Q,Y]=sr0(Z[1]);if(Ye(Q,Y))return!0}if($.startsWith("64:ff9b::")&&Z.length>=4){let[Q,Y]=sr0(Z[Z.length-2]);if(Ye(Q,Y))return!0}if($.startsWith("::")&&Z.length===2){let[Q,Y]=sr0(Z[0]);if(Ye(Q,Y))return!0}return!1}function r30($){try{let Q=new URL($).hostname.toLowerCase();if(Q==="localhost"||Q==="0.0.0.0"||Q.endsWith(".local")||Q.endsWith(".internal")||Q.endsWith(".localhost"))return!0;let Y=Q.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Y){let[,X,J]=Y.map(Number);if(Ye(X,J))return!0}if(Q.startsWith("[")&&Q.endsWith("]")){let X=Q.slice(1,-1).toLowerCase();if(X==="::1"||X==="::")return!0;if(X.startsWith("::ffff:"))return!0;if(X.startsWith("fc")||X.startsWith("fd"))return!0;if(X.startsWith("fe80"))return!0;if(X.startsWith("100:"))return!0;if(X.startsWith("::1"))return!0;if(a$$(X))return!0}return!1}catch{return!0}}function xQ4($){let Z=$.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Z){let[,Y,X]=Z.map(Number);return Ye(Y,X)}let Q=$.toLowerCase();if(Q==="::1"||Q==="::")return!0;if(Q.startsWith("::ffff:"))return!0;if(Q.startsWith("fc")||Q.startsWith("fd"))return!0;if(Q.startsWith("fe80"))return!0;if(Q.startsWith("100:"))return!0;return a$$(Q)}async function fQ4($,Z=async(Q)=>(await bQ4(Q,{all:!0})).map((Y)=>Y.address)){try{let Q=await Z($);return Q.length===0||Q.some(xQ4)}catch{return!0}}async function iD($){if(r30($))return"URLs targeting private networks are not allowed";let Q=new URL($).hostname;if(/^\d+\.\d+\.\d+\.\d+$/.test(Q)||Q.startsWith("[")&&Q.endsWith("]"))return null;try{return await rr0(fQ4(Q),5000,"DNS resolution timeout")?"URLs targeting private networks are not allowed":null}catch{return"URLs targeting private networks are not allowed"}}function rr0($,Z,Q){let Y,X=new Promise((J,G)=>{Y=setTimeout(()=>G(Error(Q)),Z)});return Promise.race([$,X]).finally(()=>clearTimeout(Y))}function pD($=fetch){return async(Z,Q)=>{let Y=await $(Z,{...Q,redirect:"manual"});if(Y.status>=300&&Y.status<400)throw Error("Refusing to follow a redirect from the remote server");return Y}}var gm=()=>{};var e$$="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";import{webcrypto as $8$}from"crypto";function gQ4($){if(!hA||hA.length<$)hA=Buffer.allocUnsafe($*yQ4),$8$.getRandomValues(hA),hm=0;else if(hm+$>hA.length)$8$.getRandomValues(hA),hm=0;hm+=$}function a30($=21){gQ4($|=0);let Z="";for(let Q=hm-$;Q<hm;Q++)Z+=e$$[hA[Q]&63];return Z}var yQ4=128,hA,hm;var ar0=()=>{};function m8($){return`${$}_${a30()}`}var JY=L(()=>{ar0()});function Q8$($,Z){return{id:s8.SELF(Z),title:"Deco CMS",description:"The MCP for the CMS API",connection_type:"HTTP",connection_url:`${$}/mcp/self`,icon:"https://assets.decocache.com/mcp/09e44283-f47d-4046-955f-816d227c626f/app.png",app_name:"@deco/management-mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"self"}}}function Y8$($,Z){return{id:s8.DEV_ASSETS(Z),title:"Local Files",description:"Local file storage for development. Files are stored in /data/assets/.",connection_type:"HTTP",connection_url:`${$}/mcp/dev-assets`,icon:"https://api.iconify.design/lucide:folder.svg?color=%23888",app_name:"@deco/dev-assets-mcp",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isFixed:!0,devOnly:!0,type:"dev-assets"}}}function cU($){return{is(Z){if(!Z)return null;if(!Z.startsWith($))return null;return Z.slice($.length)||null},get(Z){return`${$}${Z}`}}}function hQ4($){return{id:$.id,organization_id:$.organizationId,title:$.title,description:$.description,icon:$.icon,status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:$.instructions??null,...$.ui?{ui:$.ui}:{}},pinned:!1,connections:[]}}function Ew($){if(!$)return!1;try{return uQ4.has(new URL($).hostname)}catch{return!1}}function $a0($){return hQ4({id:R3($),organizationId:$,title:"Super Agent",description:"Default agent that aggregates all organization connections",icon:lQ4,ui:{layout:{defaultMainView:{type:"overview"},chatDefaultOpen:!0}}})}function H8$($,Z,Q="https://reports.decocms.com/api/v2/mcp"){return{id:s8.REPORTS($),title:"Deco Score",description:"Your store's Deco Score",connection_type:"HTTP",connection_url:Q,icon:"https://github.com/decocms.png",app_name:"commerce-discovery",app_id:null,connection_token:Z,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!1,type:"commerce-discovery"}}}function F8$($,Z=s8.REPORTS($)){return{title:"Deco Score Agent",description:"Ask anything about your store's Deco Score",icon:"https://github.com/decocms.png",status:"active",pinned:!0,metadata:{type:"commerce-discovery",isDefault:!1,ui:{pinnedViews:[{connectionId:Z,toolName:"get_my_diagnostic",label:"Deco Score",icon:"https://github.com/decocms.png"}],layout:{defaultMainView:{type:"ext-apps",id:Z,toolName:"get_my_diagnostic"},chatDefaultOpen:!0}}},connections:[{connection_id:Z,selected_tools:null,selected_resources:null,selected_prompts:null}]}}function Za0($){if(!$)return!1;return Object.values(um).some((Z)=>Z.is($)!==null)}function dQ4($){if(!$)return!1;return cQ4.some((Z)=>Z.is($)!==null)}function $W0($){let Z=$.metadata?.liveAgentId;return!(typeof Z==="string"&&Z)&&!BQ($.id)&&!Za0($.id)&&!dQ4($.id)}function U8$($){let Z=$a0($);return{...Z,id:Z.id,connection_type:"VIRTUAL",connection_url:`virtual://${Z.id}`,app_name:"decopilot",app_id:"decopilot",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"decopilot"},tools:[],bindings:[]}}var s8,Z8$="https://reports.decocms.com/api/v2/mcp",e30="get_my_diagnostic",X8$,BQ,R3,uQ4,J8$,G8$,er0,lQ4="https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png",mQ4="#6366f1",Ih5,W8$,kh5,Ch5,K8$,Sh5,lm,um,dU,Qa0,cQ4;var N8$=L(()=>{s8={SELF:($)=>`${$}_self`,REGISTRY:($)=>`${$}_registry`,COMMUNITY_REGISTRY:($)=>`${$}_community-registry`,DEV_ASSETS:($)=>`${$}_dev-assets`,SITE_DIAGNOSTICS:($)=>`site-diagnostics_${$}`,REPORTS:($)=>`${$}_commerce-discovery`};X8$=cU("decopilot_"),BQ=X8$.is,R3=X8$.get,uQ4=new Set(["mcp.figma.com"]);J8$=cU("dev_"),G8$=J8$.get,er0=J8$.is,Ih5=`https://api.iconify.design/lucide:file-search.svg?color=${encodeURIComponent(mQ4)}`;W8$=cU("site-diagnostics_"),kh5=W8$.is,Ch5=W8$.get,K8$=cU("commerce-discovery_"),Sh5=K8$.is,lm=K8$.get;um={AUTOMATION_MANAGER:cU("studio-automation-manager_"),CONNECTION_MANAGER:cU("studio-connection-manager_"),API_KEY_MANAGER:cU("studio-api-key-manager_"),STORE_MANAGER:cU("studio-store-manager_"),USAGE_MANAGER:cU("studio-usage-manager_")},dU={AUTOMATION_MANAGER:um.AUTOMATION_MANAGER.get,CONNECTION_MANAGER:um.CONNECTION_MANAGER.get,API_KEY_MANAGER:um.API_KEY_MANAGER.get,STORE_MANAGER:um.STORE_MANAGER.get,USAGE_MANAGER:um.USAGE_MANAGER.get};Qa0=["studio-agent-manager_","studio-task-manager_","studio-brand-manager_"],cQ4=Qa0.map(cU)});function iQ4($){return $.capabilities?.includes("decisions")===!0}function B8$($){return $.toLowerCase().replace(/[^a-z0-9]/g,"")}function aQ4($){return B8$($).includes("deepresearch")}function D8$($){let Z=B8$($);if(Z.includes("deepresearch"))return!1;return eQ4.some((Q)=>Z.includes(Q))}function $Y4($){return $.asyncResearch!==!0&&D8$($.modelId)}function ZY4($){return $.asyncResearch===!0||aQ4($.modelId)||D8$($.modelId)}function mm($,Z,Q,Y){for(let X of Q){let J=$.find((G)=>G.modelId===X);if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}for(let X of Q){let J=$.find((G)=>G.modelId.includes(X));if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}if(Y){let X=$.find(Y);if(X)return{keyId:Z,modelId:X.modelId,title:X.title}}return null}function L8$($,Z){let Q={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(let Y of $){let X=(Z[Y.id]??[]).filter((G)=>!iQ4(G)),J=Y.providerId;if(!Q.chat.fast)Q.chat.fast=mm(X,Y.id,pQ4[J]??[]);if(!Q.chat.smart)Q.chat.smart=mm(X,Y.id,nQ4[J]??[]);if(!Q.chat.thinking)Q.chat.thinking=mm(X,Y.id,tQ4[J]??[]);if(!Q.image)Q.image=mm(X,Y.id,oQ4[J]??[],(G)=>G.capabilities?.includes("image")===!0&&!G.modelId.startsWith("openrouter/auto"));if(!Q.webSearch)Q.webSearch=mm(X,Y.id,sQ4[J]??[],$Y4);if(!Q.deepResearch)Q.deepResearch=mm(X,Y.id,rQ4[J]??[],ZY4)}return Q}var pQ4,nQ4,tQ4,oQ4,sQ4,rQ4,eQ4;var O8$=L(()=>{pQ4={anthropic:["claude-haiku-4-5","claude-haiku"],openrouter:["qwen/qwen3.5-flash","anthropic/claude-haiku-4.5","anthropic/claude-haiku","google/gemini-3-flash"],deco:["qwen/qwen3.5-flash","anthropic/claude-haiku"],llmapi:["claude-haiku-4-5","claude-haiku","gpt-4o-mini"],google:["gemini-2.5-flash","gemini-3-flash"]},nQ4={anthropic:["claude-sonnet-5","claude-sonnet"],openrouter:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude-opus-4.8","google/gemini-3-pro"],deco:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude"],llmapi:["claude-sonnet-4-6","claude-sonnet"],google:["gemini-3-pro","gemini-3-flash"]},tQ4={anthropic:["claude-opus-4-8","claude-sonnet-5","claude-sonnet","claude-fable-5"],openrouter:["anthropic/claude-opus-4.8:extended","anthropic/claude-opus-4.8","anthropic/claude-sonnet-5:extended","anthropic/claude-sonnet-5","google/gemini-3-pro","anthropic/claude-fable-5"],deco:["anthropic/claude-opus","anthropic/claude-sonnet-4.6","anthropic/claude-sonnet","anthropic/claude-fable"],llmapi:["claude-opus-4-8","claude-opus","claude-sonnet-4-6"],google:["gemini-3-pro"]},oQ4={openrouter:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],deco:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],llmapi:["gemini-2.5-flash-image","gpt-image-1"],google:["gemini-2.0-flash-image"]},sQ4={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},rQ4={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};eQ4=["sonar","searchpreview","online"]});function ZW0($){if(!$)return;let Z={};for(let Q in $){let Y=$[Q];if(typeof Y==="object"&&Y!==null){let X={};for(let J of QY4)if(J in Y)X[J]=Y[J];Z[Q]=X}}return Object.keys(Z).length>0?Z:void 0}var QY4;var j8$=L(()=>{QY4=["usage","cost","model"]});var q8=L(()=>{s30();N8$();O8$();j8$()});function uA($){if($.app_name)return $.app_name;if($.connection_url)try{let Z=new URL($.connection_url),Y=((Z.port?`${Z.hostname}-${Z.port}`:Z.hostname)+Z.pathname).replace(/\/+$/,"");return km(Y)}catch{return km($.connection_url)}if($.title)return km($.title);return $.id??"unknown"}var QW0=()=>{};var cm=300000,Pw=5000,YW0=1e4,Ya0=3,Xa0=30000,w8$=65000,XW0=1000,dm=3,E8$=5,P8$=60000,z8$=300000,Ja0=60000;function A8$(){if(nD.size<XW0)return;let $=null,Z=1/0;for(let[Q,Y]of nD)if(Y.lastFailureAt<Z)Z=Y.lastFailureAt,$=Q;if($)nD.delete($)}function T8$($){let Z=nD.get($);if(!Z)return A8$(),nD.set($,{consecutiveFailures:1,disabled:!1,lastFailureAt:Date.now()}),{consecutiveFailures:1,thresholdCrossed:1>=dm};return Z.consecutiveFailures++,Z.lastFailureAt=Date.now(),{consecutiveFailures:Z.consecutiveFailures,thresholdCrossed:Z.consecutiveFailures>=dm}}function Ga0($){let Z=nD.get($);if(Z){Z.disabled=!0;return}A8$(),nD.set($,{consecutiveFailures:dm,disabled:!0,lastFailureAt:Date.now()})}function q8$($){return nD.get($)?.disabled??!1}function R8$($){nD.delete($)}var nD;var M8$=L(()=>{nD=new Map});function Wa0($){try{let Z=new URL($.url);if(Z.protocol!=="https:"&&Z.protocol!=="http:")return null;let Q=Z.pathname.replace(/\/+$/,"").replace(/\.git$/i,"");return Q?{host:Z.host.toLowerCase(),path:Q.slice(1)}:null}catch{return null}}function Xe($){let Z=Wa0($);return Z?`${Z.host}/${Z.path}`.toLowerCase():null}function tD($,Z){if($.repositoryId&&Z.repositoryId)return $.repositoryId===Z.repositoryId;let Q=Xe($);return Q!==null&&Q===Xe(Z)}function zw($){let Z=$.startsWith("./")?$.slice(2):$;for(let Q of["/app/org/","org/"]){if(!Z.startsWith(Q))continue;let Y=Z.slice(Q.length);return Y.split("/").includes("..")?null:Y}return null}var rY="/app/org",aY="home";var YG=()=>{};var Aw="New chat";function I8$(){return`<platform>
|
|
79
|
+
`),kt1=!0}throw new nG0.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:$.logger,tryNextLink:!0})}return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),Cd0($)()},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:Q,ssoAccountId:Y,ssoRegion:X,ssoRoleName:J,ssoSession:G}=$;if(!Q&&!Y&&!X&&!J&&!G)throw new nG0.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:$.logger});let{fromSSO:W}=await Promise.resolve().then(() => (li0(),ui0));return W($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:Q}=await Promise.resolve().then(() => (It1(),Vt1));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:Q}=await Promise.resolve().then(() => (cp0(),mp0));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:Q}=await Promise.resolve().then(() => (op0(),tp0));return Q($)(Z)},async()=>{return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await pl1($))()},async()=>{throw new nG0.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:!1,logger:$.logger})}],H94),H94=($)=>$?.expiration!==void 0&&$.expiration.getTime()-Date.now()<300000;var _t1=L(()=>{Sd0();nl1();nG0=_(o5(),1),Ct1=_(ZJ(),1)});var vt1=L(()=>{_t1()});var bt1=()=>{};var Em,F94="AWS_S3_USE_ARN_REGION",U94="s3_use_arn_region",xt1;var ft1=L(()=>{Em=_(mr(),1),xt1={environmentVariableSelector:($)=>Em.booleanSelector($,F94,Em.SelectorType.ENV),configFileSelector:($)=>Em.booleanSelector($,U94,Em.SelectorType.CONFIG),default:void 0}});var yt1=()=>{};var gt1=()=>{};var ht1=L(()=>{bt1();ft1();gt1();yt1()});class Pm{bytes;constructor($){if(this.bytes=$,$.byteLength!==8)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber($){if($>9223372036854776000||$<-9223372036854776000)throw Error(`${$} is too large (or, if negative, too small) to represent as an Int64`);let Z=new Uint8Array(8);for(let Q=7,Y=Math.abs(Math.round($));Q>-1&&Y>0;Q--,Y/=256)Z[Q]=Y;if($<0)ut1(Z);return new Pm(Z)}valueOf(){let $=this.bytes.slice(0),Z=$[0]&128;if(Z)ut1($);return parseInt(lt1.toHex($),16)*(Z?-1:1)}toString(){return String(this.valueOf())}}function ut1($){for(let Z=0;Z<8;Z++)$[Z]^=255;for(let Z=7;Z>-1;Z--)if($[Z]++,$[Z]!==0)break}var lt1;var rp0=L(()=>{lt1=_(jr(),1)});class ap0{toUtf8;fromUtf8;constructor($,Z){this.toUtf8=$,this.fromUtf8=Z}format($){let Z=[];for(let X of Object.keys($)){let J=this.fromUtf8(X);Z.push(Uint8Array.from([J.byteLength]),J,this.formatHeaderValue($[X]))}let Q=new Uint8Array(Z.reduce((X,J)=>X+J.byteLength,0)),Y=0;for(let X of Z)Q.set(X,Y),Y+=X.byteLength;return Q}formatHeaderValue($){switch($.type){case"boolean":return Uint8Array.from([$.value?0:1]);case"byte":return Uint8Array.from([2,$.value]);case"short":let Z=new DataView(new ArrayBuffer(3));return Z.setUint8(0,3),Z.setInt16(1,$.value,!1),new Uint8Array(Z.buffer);case"integer":let Q=new DataView(new ArrayBuffer(5));return Q.setUint8(0,4),Q.setInt32(1,$.value,!1),new Uint8Array(Q.buffer);case"long":let Y=new Uint8Array(9);return Y[0]=5,Y.set($.value.bytes,1),Y;case"binary":let X=new DataView(new ArrayBuffer(3+$.value.byteLength));X.setUint8(0,6),X.setUint16(1,$.value.byteLength,!1);let J=new Uint8Array(X.buffer);return J.set($.value,3),J;case"string":let G=this.fromUtf8($.value),W=new DataView(new ArrayBuffer(3+G.byteLength));W.setUint8(0,7),W.setUint16(1,G.byteLength,!1);let K=new Uint8Array(W.buffer);return K.set(G,3),K;case"timestamp":let H=new Uint8Array(9);return H[0]=8,H.set(Pm.fromNumber($.value.valueOf()).bytes,1),H;case"uuid":if(!P94.test($.value))throw Error(`Invalid UUID received: ${$.value}`);let F=new Uint8Array(17);return F[0]=9,F.set(aj.fromHex($.value.replace(/\-/g,"")),1),F}}parse($){let Z={},Q=0;while(Q<$.byteLength){let Y=$.getUint8(Q++),X=this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,Y));switch(Q+=Y,$.getUint8(Q++)){case 0:Z[X]={type:ct1,value:!0};break;case 1:Z[X]={type:ct1,value:!1};break;case 2:Z[X]={type:N94,value:$.getInt8(Q++)};break;case 3:Z[X]={type:B94,value:$.getInt16(Q,!1)},Q+=2;break;case 4:Z[X]={type:D94,value:$.getInt32(Q,!1)},Q+=4;break;case 5:Z[X]={type:L94,value:new Pm(new Uint8Array($.buffer,$.byteOffset+Q,8))},Q+=8;break;case 6:let J=$.getUint16(Q,!1);Q+=2,Z[X]={type:O94,value:new Uint8Array($.buffer,$.byteOffset+Q,J)},Q+=J;break;case 7:let G=$.getUint16(Q,!1);Q+=2,Z[X]={type:j94,value:this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,G))},Q+=G;break;case 8:Z[X]={type:w94,value:new Date(new Pm(new Uint8Array($.buffer,$.byteOffset+Q,8)).valueOf())},Q+=8;break;case 9:let W=new Uint8Array($.buffer,$.byteOffset+Q,16);Q+=16,Z[X]={type:E94,value:`${aj.toHex(W.subarray(0,4))}-${aj.toHex(W.subarray(4,6))}-${aj.toHex(W.subarray(6,8))}-${aj.toHex(W.subarray(8,10))}-${aj.toHex(W.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return Z}}var aj,mt1,ct1="boolean",N94="byte",B94="short",D94="integer",L94="long",O94="binary",j94="string",w94="timestamp",E94="uuid",P94;var ep0=L(()=>{rp0();aj=_(jr(),1);(function($){$[$.boolTrue=0]="boolTrue",$[$.boolFalse=1]="boolFalse",$[$.byte=2]="byte",$[$.short=3]="short",$[$.integer=4]="integer",$[$.long=5]="long",$[$.byteArray=6]="byteArray",$[$.string=7]="string",$[$.timestamp=8]="timestamp",$[$.uuid=9]="uuid"})(mt1||(mt1={}));P94=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/});function pt1({byteLength:$,byteOffset:Z,buffer:Q}){if($<z94)throw Error("Provided message too short to accommodate event stream message overhead");let Y=new DataView(Q,Z,$),X=Y.getUint32(0,!1);if($!==X)throw Error("Reported message length does not match received message length");let J=Y.getUint32(it1,!1),G=Y.getUint32(ej,!1),W=Y.getUint32($-_A,!1),K=new dt1.Crc32().update(new Uint8Array(Q,Z,ej));if(G!==K.digest())throw Error(`The prelude checksum specified in the message (${G}) does not match the calculated CRC32 checksum (${K.digest()})`);if(K.update(new Uint8Array(Q,Z+ej,$-(ej+_A))),W!==K.digest())throw Error(`The message checksum (${K.digest()}) did not match the expected value of ${W}`);return{headers:new DataView(Q,Z+ej+_A,J),body:new Uint8Array(Q,Z+ej+_A+J,X-J-(ej+_A+_A))}}var dt1,it1=4,ej,_A=4,z94;var nt1=L(()=>{dt1=_(a2(),1),ej=it1*2,z94=ej+_A*2});class $n0{headerMarshaller;messageBuffer;isEndOfStream;constructor($,Z){this.headerMarshaller=new ap0($,Z),this.messageBuffer=[],this.isEndOfStream=!1}feed($){this.messageBuffer.push(this.decode($))}endOfStream(){this.isEndOfStream=!0}getMessage(){let $=this.messageBuffer.pop(),Z=this.isEndOfStream;return{getMessage(){return $},isEndOfStream(){return Z}}}getAvailableMessages(){let $=this.messageBuffer;this.messageBuffer=[];let Z=this.isEndOfStream;return{getMessages(){return $},isEndOfStream(){return Z}}}encode({headers:$,body:Z}){let Q=this.headerMarshaller.format($),Y=Q.byteLength+Z.byteLength+16,X=new Uint8Array(Y),J=new DataView(X.buffer,X.byteOffset,X.byteLength),G=new tt1.Crc32;return J.setUint32(0,Y,!1),J.setUint32(4,Q.byteLength,!1),J.setUint32(8,G.update(X.subarray(0,8)).digest(),!1),X.set(Q,12),X.set(Z,Q.byteLength+12),J.setUint32(Y-4,G.update(X.subarray(8,Y-4)).digest(),!1),X}decode($){let{headers:Z,body:Q}=pt1($);return{headers:this.headerMarshaller.parse(Z),body:Q}}formatHeaders($){return this.headerMarshaller.format($)}}var tt1;var ot1=L(()=>{ep0();nt1();tt1=_(a2(),1)});var st1=()=>{};var Zn0;var rt1=L(()=>{Zn0=class Zn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.decoder.decode($)}}});var Qn0;var at1=L(()=>{Qn0=class Qn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.messageStream)yield this.options.encoder.encode($);if(this.options.includeEndFrame)yield new Uint8Array(0)}}});var Yn0;var et1=L(()=>{Yn0=class Yn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.messageStream){let Z=await this.options.deserializer($);if(Z===void 0)continue;yield Z}}}});var Xn0;var $o1=L(()=>{Xn0=class Xn0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.serializer($)}}});var Zo1=L(()=>{ot1();ep0();rp0();st1();rt1();at1();et1();$o1()});function Qo1($){let Z=0,Q=0,Y=null,X=null,J=(W)=>{if(typeof W!=="number")throw Error("Attempted to allocate an event message where size was not a number: "+W);Z=W,Q=4,Y=new Uint8Array(W),new DataView(Y.buffer).setUint32(0,W,!1)},G=async function*(){let W=$[Symbol.asyncIterator]();while(!0){let{value:K,done:H}=await W.next();if(H){if(!Z)return;else if(Z===Q)yield Y;else throw Error("Truncated event message received.");return}let F=K.length,U=0;while(U<F){if(!Y){let B=F-U;if(!X)X=new Uint8Array(4);let D=Math.min(4-Q,B);if(X.set(K.slice(U,U+D),Q),Q+=D,U+=D,Q<4)break;J(new DataView(X.buffer).getUint32(0,!1)),X=null}let N=Math.min(Z-Q,F-U);if(Y.set(K.slice(U,U+N),Q),Q+=N,U+=N,Z&&Z===Q)yield Y,Y=null,Z=0,Q=0}}};return{[Symbol.asyncIterator]:G}}function Yo1($,Z){return async function(Q){let{value:Y}=Q.headers[":message-type"];if(Y==="error"){let X=Error(Q.headers[":error-message"].value||"UnknownError");throw X.name=Q.headers[":error-code"].value,X}else if(Y==="exception"){let X=Q.headers[":exception-type"].value,J={[X]:Q},G=await $(J);if(G.$unknown){let W=Error(Z(Q.body));throw W.name=X,W}throw G[X]}else if(Y==="event"){let X={[Q.headers[":event-type"].value]:Q},J=await $(X);if(J.$unknown)return;return J}else throw Error(`Unrecognizable event type: ${Q.headers[":event-type"].value}`)}}class Jn0{eventStreamCodec;utfEncoder;constructor({utf8Encoder:$,utf8Decoder:Z}){this.eventStreamCodec=new $n0($,Z),this.utfEncoder=$}deserialize($,Z){let Q=Qo1($);return new Yn0({messageStream:new Zn0({inputStream:Q,decoder:this.eventStreamCodec}),deserializer:Yo1(Z,this.utfEncoder)})}serialize($,Z){return new Qn0({messageStream:new Xn0({inputStream:$,serializer:Z}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}var Xo1=L(()=>{Zo1()});var Jo1=()=>{};var Go1=L(()=>{Xo1();Jo1()});async function*Wo1($){let Z=!1,Q=!1,Y=[];$.on("error",(X)=>{if(!Z)Z=!0;if(X)throw X}),$.on("data",(X)=>{Y.push(X)}),$.on("end",()=>{Z=!0});while(!Q){let X=await new Promise((J)=>setTimeout(()=>J(Y.shift()),0));if(X)yield X;Q=Z&&Y.length===0}}import{Readable as A94}from"stream";class Gn0{universalMarshaller;constructor({utf8Encoder:$,utf8Decoder:Z}){this.universalMarshaller=new Jn0({utf8Decoder:Z,utf8Encoder:$})}deserialize($,Z){let Q=typeof $[Symbol.asyncIterator]==="function"?$:Wo1($);return this.universalMarshaller.deserialize(Q,Z)}serialize($,Z){return A94.from(this.universalMarshaller.serialize($,Z))}}var Wn0=L(()=>{Go1()});var Ko1=($)=>new Gn0($);var Ho1=L(()=>{Wn0()});var Fo1=L(()=>{Wn0();Ho1()});import{Writable as T94}from"stream";var Uo1,Kn0;var No1=L(()=>{Uo1=_(oQ(),1);Kn0=class Kn0 extends T94{hash;constructor($,Z){super(Z);this.hash=$}_write($,Z,Q){try{this.hash.update(Uo1.toUint8Array($))}catch(Y){return Q(Y)}Q()}}});var Bo1=()=>{};var Do1=($,Z)=>{if(Z.readableFlowing!==null)throw Error("Unable to calculate hash for flowing readable stream");let Q=new $,Y=new Kn0(Q);return Z.pipe(Y),new Promise((X,J)=>{Z.on("error",(G)=>{Y.end(),J(G)}),Y.on("error",J),Y.on("finish",()=>{Q.digest().then(X).catch(J)})})};var Lo1=L(()=>{No1()});var Oo1=L(()=>{Bo1();Lo1()});var tG0,jo1,wo1,Eo1,Po1,oG0,sG0,rG0,zo1=($)=>{return{apiVersion:"2006-03-01",base64Decoder:$?.base64Decoder??oG0.fromBase64,base64Encoder:$?.base64Encoder??oG0.toBase64,disableHostPrefix:$?.disableHostPrefix??!1,endpointProvider:$?.endpointProvider??IJ0,extensions:$?.extensions??[],getAwsChunkedEncodingStream:$?.getAwsChunkedEncodingStream??sG0.getAwsChunkedEncodingStream,httpAuthSchemeProvider:$?.httpAuthSchemeProvider??qg1,httpAuthSchemes:$?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4"),signer:new tG0.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4a"),signer:new tG0.AwsSdkSigV4ASigner}],logger:$?.logger??new Eo1.NoOpLogger,protocol:$?.protocol??jo1.S3RestXmlProtocol,protocolSettings:$?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",errorTypeRegistries:Cg1,xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:$?.sdkStreamMixin??sG0.sdkStreamMixin,serviceId:$?.serviceId??"S3",signerConstructor:$?.signerConstructor??wo1.SignatureV4MultiRegion,signingEscapePath:$?.signingEscapePath??!1,urlParser:$?.urlParser??Po1.parseUrl,useArnRegion:$?.useArnRegion??void 0,utf8Decoder:$?.utf8Decoder??rG0.fromUtf8,utf8Encoder:$?.utf8Encoder??rG0.toUtf8}};var Ao1=L(()=>{jd0();Od0();F1();tG0=_(iY(),1),jo1=_(U$(),1),wo1=_(el(),1),Eo1=_(p0(),1),Po1=_(MU(),1),oG0=_(rJ(),1),sG0=_(Ml(),1),rG0=_(oQ(),1)});var To1,eG0,qo1,$30,$w,aG0,Z30,w3,Q30,Y30,Ro1,Mo1,Vo1,Io1=($)=>{Y30.emitWarningIfUnsupportedVersion(process.version);let Z=Mo1.resolveDefaultsModeConfig($),Q=()=>Z().then(Y30.loadConfigsForDefaultMode),Y=zo1($);To1.emitWarningIfUnsupportedVersion(process.version);let X={profile:$?.profile,logger:Y.logger};return{...Y,...$,runtime:"node",defaultsMode:Z,authSchemePreference:$?.authSchemePreference??w3.loadConfig(eG0.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,X),bodyLengthChecker:$?.bodyLengthChecker??Ro1.calculateBodyLength,credentialDefaultProvider:$?.credentialDefaultProvider??St1,defaultUserAgentProvider:$?.defaultUserAgentProvider??$30.createDefaultUserAgentProvider({serviceId:Y.serviceId,clientVersion:Gl1.version}),disableS3ExpressSessionAuth:$?.disableS3ExpressSessionAuth??w3.loadConfig(qo1.NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,X),eventStreamSerdeProvider:$?.eventStreamSerdeProvider??Ko1,maxAttempts:$?.maxAttempts??w3.loadConfig(Z30.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,$),md5:$?.md5??aG0.Hash.bind(null,"md5"),region:$?.region??w3.loadConfig($w.NODE_REGION_CONFIG_OPTIONS,{...$w.NODE_REGION_CONFIG_FILE_OPTIONS,...X}),requestChecksumCalculation:$?.requestChecksumCalculation??w3.loadConfig(Lk1,X),requestHandler:Q30.NodeHttpHandler.create($?.requestHandler??Q),responseChecksumValidation:$?.responseChecksumValidation??w3.loadConfig(jk1,X),retryMode:$?.retryMode??w3.loadConfig({...Z30.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await Q()).retryMode||Vo1.DEFAULT_RETRY_MODE},$),sha1:$?.sha1??aG0.Hash.bind(null,"sha1"),sha256:$?.sha256??aG0.Hash.bind(null,"sha256"),sigv4aSigningRegionSet:$?.sigv4aSigningRegionSet??w3.loadConfig(eG0.NODE_SIGV4A_CONFIG_OPTIONS,X),streamCollector:$?.streamCollector??Q30.streamCollector,streamHasher:$?.streamHasher??Do1,useArnRegion:$?.useArnRegion??w3.loadConfig(xt1,X),useDualstackEndpoint:$?.useDualstackEndpoint??w3.loadConfig($w.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,X),useFipsEndpoint:$?.useFipsEndpoint??w3.loadConfig($w.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,X),userAgentAppId:$?.userAgentAppId??w3.loadConfig($30.NODE_APP_ID_CONFIG_OPTIONS,X)}};var ko1=L(()=>{Jl1();vt1();ht1();C6();Fo1();Oo1();Ao1();To1=_(w9(),1),eG0=_(iY(),1),qo1=_(U$(),1),$30=_(Gm(),1),$w=_($G(),1),aG0=_(Wm(),1),Z30=_(xH(),1),w3=_(bH(),1),Q30=_(Sj(),1),Y30=_(p0(),1),Ro1=_(Km(),1),Mo1=_(Hm(),1),Vo1=_(OD(),1)});var Co1=($)=>{let{httpAuthSchemes:Z,httpAuthSchemeProvider:Q,credentials:Y}=$;return{setHttpAuthScheme(X){let J=Z.findIndex((G)=>G.schemeId===X.schemeId);if(J===-1)Z.push(X);else Z.splice(J,1,X)},httpAuthSchemes(){return Z},setHttpAuthSchemeProvider(X){Q=X},httpAuthSchemeProvider(){return Q},setCredentials(X){Y=X},credentials(){return Y}}},So1=($)=>{return{httpAuthSchemes:$.httpAuthSchemes(),httpAuthSchemeProvider:$.httpAuthSchemeProvider(),credentials:$.credentials()}};var X30,J30,G30,_o1=($,Z)=>{let Q=Object.assign(X30.getAwsRegionExtensionConfiguration($),G30.getDefaultExtensionConfiguration($),J30.getHttpHandlerExtensionConfiguration($),Co1($));return Z.forEach((Y)=>Y.configure(Q)),Object.assign($,X30.resolveAwsRegionExtensionConfiguration(Q),G30.resolveDefaultRuntimeConfig(Q),J30.resolveHttpHandlerRuntimeConfig(Q),So1(Q))};var vo1=L(()=>{X30=_(LA(),1),J30=_(t5(),1),G30=_(p0(),1)});var W30,bo1,xo1,SU,K30,fo1,zm,yo1,go1,ho1,H30,uo1,ZY;var vA=L(()=>{Bk1();C6();wf1();jd0();nJ0();N1();ko1();vo1();W30=_(_l(),1),bo1=_(vl(),1),xo1=_(bl(),1),SU=_(U$(),1),K30=_(HA(),1),fo1=_($G(),1),zm=_(b7(),1),yo1=_(mY(),1),go1=_(ol(),1),ho1=_(G1(),1),H30=_(xH(),1),uo1=_(p0(),1);ZY=class ZY extends uo1.Client{config;constructor(...[$]){let Z=Io1($||{});super(Z);this.initConfig=Z;let Q=Mg1(Z),Y=K30.resolveUserAgentConfig(Q),X=d_1(Y),J=H30.resolveRetryConfig(X),G=fo1.resolveRegionConfig(J),W=W30.resolveHostHeaderConfig(G),K=ho1.resolveEndpointConfig(W),H=jf1(K),F=Rg1(H),U=SU.resolveS3Config(F,{session:[()=>this,$a]}),N=_o1(U,$?.extensions||[]);this.config=N,this.middlewareStack.use(yo1.getSchemaSerdePlugin(this.config)),this.middlewareStack.use(K30.getUserAgentPlugin(this.config)),this.middlewareStack.use(H30.getRetryPlugin(this.config)),this.middlewareStack.use(go1.getContentLengthPlugin(this.config)),this.middlewareStack.use(W30.getHostHeaderPlugin(this.config)),this.middlewareStack.use(bo1.getLoggerPlugin(this.config)),this.middlewareStack.use(xo1.getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(zm.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:zg1,identityProviderConfigProvider:async(B)=>new zm.DefaultIdentityProviderConfig({"aws.auth#sigv4":B.credentials,"aws.auth#sigv4a":B.credentials})})),this.middlewareStack.use(zm.getHttpSigningPlugin(this.config)),this.middlewareStack.use(SU.getValidateBucketNamePlugin(this.config)),this.middlewareStack.use(Nk1(this.config)),this.middlewareStack.use(SU.getRegionRedirectMiddlewarePlugin(this.config)),this.middlewareStack.use(SU.getS3ExpressPlugin(this.config)),this.middlewareStack.use(SU.getS3ExpressHttpSigningPlugin(this.config))}destroy(){super.destroy()}}});var lo1,mo1,co1,za;var Hn0=L(()=>{N1();F1();lo1=_(U$(),1),mo1=_(G1(),1),co1=_(p0(),1);za=class za extends co1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[mo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),lo1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(Yh1).build(){}});function q94($){return(Z)=>async(Q)=>{let Y={...Q.input},X=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let J of X){let G=Y[J.target];if(G){let W;if(typeof G==="string")if(M94(G,$))W=$.base64Decoder(G);else W=$.utf8Decoder(G),Y[J.target]=$.base64Encoder(W);else W=ArrayBuffer.isView(G)?new Uint8Array(G.buffer,G.byteOffset,G.byteLength):new Uint8Array(G),Y[J.target]=$.base64Encoder(W);let K=new $.md5;K.update(W),Y[J.hash]=$.base64Encoder(await K.digest())}}return Z({...Q,input:Y})}}function M94($,Z){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test($))return!1;try{return Z.base64Decoder($).length===32}catch{return!1}}var R94,VZ=($)=>({applyToStack:(Z)=>{Z.add(q94($),R94)}});var sW=L(()=>{R94={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0}});var do1,io1,po1,Aa;var Fn0=L(()=>{sW();N1();F1();do1=_(U$(),1),io1=_(G1(),1),po1=_(p0(),1);Aa=class Aa extends po1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[io1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),do1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(Xh1).build(){}});var no1,to1,oo1,Un0;var Nn0=L(()=>{sW();N1();F1();no1=_(U$(),1),to1=_(G1(),1),oo1=_(p0(),1);Un0=class Un0 extends oo1.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"},CopySource:{type:"contextParams",name:"CopySource"}}).m(function($,Z,Q,Y){return[to1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),no1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CopyObject",{}).n("S3Client","CopyObjectCommand").sc(Jh1).build(){}});function V94($){return(Z)=>async(Q)=>{let{CreateBucketConfiguration:Y}=Q.input,X=await $.region();if(!Y?.LocationConstraint&&!Y?.Location){if(X!=="us-east-1")Q.input.CreateBucketConfiguration=Q.input.CreateBucketConfiguration??{},Q.input.CreateBucketConfiguration.LocationConstraint=X}return Z(Q)}}var I94,so1=($)=>({applyToStack:(Z)=>{Z.add(V94($),I94)}});var ro1=L(()=>{I94={step:"initialize",tags:["LOCATION_CONSTRAINT","CREATE_BUCKET_CONFIGURATION"],name:"locationConstraintMiddleware",override:!0}});var ao1,eo1,$s1,Bn0;var Dn0=L(()=>{ro1();N1();F1();ao1=_(U$(),1),eo1=_(G1(),1),$s1=_(p0(),1);Bn0=class Bn0 extends $s1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},DisableAccessPoints:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[eo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ao1.getThrow200ExceptionsPlugin(Q),so1(Q)]}).s("AmazonS3","CreateBucket",{}).n("S3Client","CreateBucketCommand").sc(Gh1).build(){}});var Zs1,Qs1,Ln0;var On0=L(()=>{C6();N1();F1();Zs1=_(G1(),1),Qs1=_(p0(),1);Ln0=class Ln0 extends Qs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Zs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataConfiguration",{}).n("S3Client","CreateBucketMetadataConfigurationCommand").sc(Wh1).build(){}});var Ys1,Xs1,jn0;var wn0=L(()=>{C6();N1();F1();Ys1=_(G1(),1),Xs1=_(p0(),1);jn0=class jn0 extends Xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ys1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataTableConfiguration",{}).n("S3Client","CreateBucketMetadataTableConfigurationCommand").sc(Kh1).build(){}});var Js1,Gs1,Ws1,Ta;var En0=L(()=>{sW();N1();F1();Js1=_(U$(),1),Gs1=_(G1(),1),Ws1=_(p0(),1);Ta=class Ta extends Ws1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Gs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Js1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(Hh1).build(){}});var Ks1,Hs1,Pn0;var zn0=L(()=>{N1();F1();Ks1=_(G1(),1),Hs1=_(p0(),1);Pn0=class Pn0 extends Hs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ks1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketAnalyticsConfiguration",{}).n("S3Client","DeleteBucketAnalyticsConfigurationCommand").sc(Nh1).build(){}});var Fs1,Us1,An0;var Tn0=L(()=>{N1();F1();Fs1=_(G1(),1),Us1=_(p0(),1);An0=class An0 extends Us1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucket",{}).n("S3Client","DeleteBucketCommand").sc(Uh1).build(){}});var Ns1,Bs1,qn0;var Rn0=L(()=>{N1();F1();Ns1=_(G1(),1),Bs1=_(p0(),1);qn0=class qn0 extends Bs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ns1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketCors",{}).n("S3Client","DeleteBucketCorsCommand").sc(Bh1).build(){}});var Ds1,Ls1,Mn0;var Vn0=L(()=>{N1();F1();Ds1=_(G1(),1),Ls1=_(p0(),1);Mn0=class Mn0 extends Ls1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ds1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketEncryption",{}).n("S3Client","DeleteBucketEncryptionCommand").sc(Dh1).build(){}});var Os1,js1,In0;var kn0=L(()=>{N1();F1();Os1=_(G1(),1),js1=_(p0(),1);In0=class In0 extends js1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Os1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketIntelligentTieringConfiguration",{}).n("S3Client","DeleteBucketIntelligentTieringConfigurationCommand").sc(Lh1).build(){}});var ws1,Es1,Cn0;var Sn0=L(()=>{N1();F1();ws1=_(G1(),1),Es1=_(p0(),1);Cn0=class Cn0 extends Es1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ws1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketInventoryConfiguration",{}).n("S3Client","DeleteBucketInventoryConfigurationCommand").sc(Oh1).build(){}});var Ps1,zs1,_n0;var vn0=L(()=>{N1();F1();Ps1=_(G1(),1),zs1=_(p0(),1);_n0=class _n0 extends zs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ps1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketLifecycle",{}).n("S3Client","DeleteBucketLifecycleCommand").sc(jh1).build(){}});var As1,Ts1,bn0;var xn0=L(()=>{N1();F1();As1=_(G1(),1),Ts1=_(p0(),1);bn0=class bn0 extends Ts1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[As1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataConfiguration",{}).n("S3Client","DeleteBucketMetadataConfigurationCommand").sc(wh1).build(){}});var qs1,Rs1,fn0;var yn0=L(()=>{N1();F1();qs1=_(G1(),1),Rs1=_(p0(),1);fn0=class fn0 extends Rs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[qs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataTableConfiguration",{}).n("S3Client","DeleteBucketMetadataTableConfigurationCommand").sc(Eh1).build(){}});var Ms1,Vs1,gn0;var hn0=L(()=>{N1();F1();Ms1=_(G1(),1),Vs1=_(p0(),1);gn0=class gn0 extends Vs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetricsConfiguration",{}).n("S3Client","DeleteBucketMetricsConfigurationCommand").sc(Ph1).build(){}});var Is1,ks1,un0;var ln0=L(()=>{N1();F1();Is1=_(G1(),1),ks1=_(p0(),1);un0=class un0 extends ks1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketOwnershipControls",{}).n("S3Client","DeleteBucketOwnershipControlsCommand").sc(zh1).build(){}});var Cs1,Ss1,mn0;var cn0=L(()=>{N1();F1();Cs1=_(G1(),1),Ss1=_(p0(),1);mn0=class mn0 extends Ss1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Cs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketPolicy",{}).n("S3Client","DeleteBucketPolicyCommand").sc(Ah1).build(){}});var _s1,vs1,dn0;var in0=L(()=>{N1();F1();_s1=_(G1(),1),vs1=_(p0(),1);dn0=class dn0 extends vs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_s1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketReplication",{}).n("S3Client","DeleteBucketReplicationCommand").sc(Th1).build(){}});var bs1,xs1,pn0;var nn0=L(()=>{N1();F1();bs1=_(G1(),1),xs1=_(p0(),1);pn0=class pn0 extends xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[bs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketTagging",{}).n("S3Client","DeleteBucketTaggingCommand").sc(qh1).build(){}});var fs1,ys1,tn0;var on0=L(()=>{N1();F1();fs1=_(G1(),1),ys1=_(p0(),1);tn0=class tn0 extends ys1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketWebsite",{}).n("S3Client","DeleteBucketWebsiteCommand").sc(Rh1).build(){}});var gs1,hs1,us1,uD;var sn0=L(()=>{N1();F1();gs1=_(U$(),1),hs1=_(G1(),1),us1=_(p0(),1);uD=class uD extends us1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[hs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),gs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(Mh1).build(){}});var ls1,ms1,cs1,rn0;var an0=L(()=>{C6();N1();F1();ls1=_(U$(),1),ms1=_(G1(),1),cs1=_(p0(),1);rn0=class rn0 extends cs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ls1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjects",{}).n("S3Client","DeleteObjectsCommand").sc(Vh1).build(){}});var ds1,is1,ps1,en0;var $t0=L(()=>{N1();F1();ds1=_(U$(),1),is1=_(G1(),1),ps1=_(p0(),1);en0=class en0 extends ps1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ds1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjectTagging",{}).n("S3Client","DeleteObjectTaggingCommand").sc(Ih1).build(){}});var ns1,ts1,Zt0;var Qt0=L(()=>{N1();F1();ns1=_(G1(),1),ts1=_(p0(),1);Zt0=class Zt0 extends ts1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ns1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeletePublicAccessBlock",{}).n("S3Client","DeletePublicAccessBlockCommand").sc(kh1).build(){}});var os1,ss1,rs1,Yt0;var Xt0=L(()=>{N1();F1();os1=_(U$(),1),ss1=_(G1(),1),rs1=_(p0(),1);Yt0=class Yt0 extends rs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ss1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),os1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAbac",{}).n("S3Client","GetBucketAbacCommand").sc(Ch1).build(){}});var as1,es1,$r1,Jt0;var Gt0=L(()=>{N1();F1();as1=_(U$(),1),es1=_(G1(),1),$r1=_(p0(),1);Jt0=class Jt0 extends $r1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[es1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),as1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAccelerateConfiguration",{}).n("S3Client","GetBucketAccelerateConfigurationCommand").sc(Sh1).build(){}});var Zr1,Qr1,Yr1,Wt0;var Kt0=L(()=>{N1();F1();Zr1=_(U$(),1),Qr1=_(G1(),1),Yr1=_(p0(),1);Wt0=class Wt0 extends Yr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Qr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Zr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAcl",{}).n("S3Client","GetBucketAclCommand").sc(_h1).build(){}});var Xr1,Jr1,Gr1,Ht0;var Ft0=L(()=>{N1();F1();Xr1=_(U$(),1),Jr1=_(G1(),1),Gr1=_(p0(),1);Ht0=class Ht0 extends Gr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Jr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Xr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAnalyticsConfiguration",{}).n("S3Client","GetBucketAnalyticsConfigurationCommand").sc(vh1).build(){}});var Wr1,Kr1,Hr1,Ut0;var Nt0=L(()=>{N1();F1();Wr1=_(U$(),1),Kr1=_(G1(),1),Hr1=_(p0(),1);Ut0=class Ut0 extends Hr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Kr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Wr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketCors",{}).n("S3Client","GetBucketCorsCommand").sc(bh1).build(){}});var Fr1,Ur1,Nr1,Bt0;var Dt0=L(()=>{N1();F1();Fr1=_(U$(),1),Ur1=_(G1(),1),Nr1=_(p0(),1);Bt0=class Bt0 extends Nr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ur1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Fr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketEncryption",{}).n("S3Client","GetBucketEncryptionCommand").sc(xh1).build(){}});var Br1,Dr1,Lr1,Lt0;var Ot0=L(()=>{N1();F1();Br1=_(U$(),1),Dr1=_(G1(),1),Lr1=_(p0(),1);Lt0=class Lt0 extends Lr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Dr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Br1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketIntelligentTieringConfiguration",{}).n("S3Client","GetBucketIntelligentTieringConfigurationCommand").sc(fh1).build(){}});var Or1,jr1,wr1,jt0;var wt0=L(()=>{N1();F1();Or1=_(U$(),1),jr1=_(G1(),1),wr1=_(p0(),1);jt0=class jt0 extends wr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[jr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Or1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketInventoryConfiguration",{}).n("S3Client","GetBucketInventoryConfigurationCommand").sc(yh1).build(){}});var Er1,Pr1,zr1,Et0;var Pt0=L(()=>{N1();F1();Er1=_(U$(),1),Pr1=_(G1(),1),zr1=_(p0(),1);Et0=class Et0 extends zr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Pr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Er1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLifecycleConfiguration",{}).n("S3Client","GetBucketLifecycleConfigurationCommand").sc(gh1).build(){}});var Ar1,Tr1,qr1,zt0;var At0=L(()=>{N1();F1();Ar1=_(U$(),1),Tr1=_(G1(),1),qr1=_(p0(),1);zt0=class zt0 extends qr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Tr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ar1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLocation",{}).n("S3Client","GetBucketLocationCommand").sc(hh1).build(){}});var Rr1,Mr1,Vr1,Tt0;var qt0=L(()=>{N1();F1();Rr1=_(U$(),1),Mr1=_(G1(),1),Vr1=_(p0(),1);Tt0=class Tt0 extends Vr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Mr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Rr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLogging",{}).n("S3Client","GetBucketLoggingCommand").sc(uh1).build(){}});var Ir1,kr1,Cr1,Rt0;var Mt0=L(()=>{N1();F1();Ir1=_(U$(),1),kr1=_(G1(),1),Cr1=_(p0(),1);Rt0=class Rt0 extends Cr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[kr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ir1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataConfiguration",{}).n("S3Client","GetBucketMetadataConfigurationCommand").sc(lh1).build(){}});var Sr1,_r1,vr1,Vt0;var It0=L(()=>{N1();F1();Sr1=_(U$(),1),_r1=_(G1(),1),vr1=_(p0(),1);Vt0=class Vt0 extends vr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_r1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Sr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataTableConfiguration",{}).n("S3Client","GetBucketMetadataTableConfigurationCommand").sc(mh1).build(){}});var br1,xr1,fr1,kt0;var Ct0=L(()=>{N1();F1();br1=_(U$(),1),xr1=_(G1(),1),fr1=_(p0(),1);kt0=class kt0 extends fr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[xr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),br1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetricsConfiguration",{}).n("S3Client","GetBucketMetricsConfigurationCommand").sc(ch1).build(){}});var yr1,gr1,hr1,St0;var _t0=L(()=>{N1();F1();yr1=_(U$(),1),gr1=_(G1(),1),hr1=_(p0(),1);St0=class St0 extends hr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[gr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),yr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketNotificationConfiguration",{}).n("S3Client","GetBucketNotificationConfigurationCommand").sc(dh1).build(){}});var ur1,lr1,mr1,vt0;var bt0=L(()=>{N1();F1();ur1=_(U$(),1),lr1=_(G1(),1),mr1=_(p0(),1);vt0=class vt0 extends mr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[lr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ur1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketOwnershipControls",{}).n("S3Client","GetBucketOwnershipControlsCommand").sc(ih1).build(){}});var cr1,dr1,xt0;var ft0=L(()=>{N1();F1();cr1=_(G1(),1),dr1=_(p0(),1);xt0=class xt0 extends dr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[cr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetBucketPolicy",{}).n("S3Client","GetBucketPolicyCommand").sc(ph1).build(){}});var ir1,pr1,nr1,yt0;var gt0=L(()=>{N1();F1();ir1=_(U$(),1),pr1=_(G1(),1),nr1=_(p0(),1);yt0=class yt0 extends nr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[pr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ir1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketPolicyStatus",{}).n("S3Client","GetBucketPolicyStatusCommand").sc(nh1).build(){}});var tr1,or1,sr1,ht0;var ut0=L(()=>{N1();F1();tr1=_(U$(),1),or1=_(G1(),1),sr1=_(p0(),1);ht0=class ht0 extends sr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[or1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),tr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketReplication",{}).n("S3Client","GetBucketReplicationCommand").sc(th1).build(){}});var rr1,ar1,er1,lt0;var mt0=L(()=>{N1();F1();rr1=_(U$(),1),ar1=_(G1(),1),er1=_(p0(),1);lt0=class lt0 extends er1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ar1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),rr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketRequestPayment",{}).n("S3Client","GetBucketRequestPaymentCommand").sc(oh1).build(){}});var $a1,Za1,Qa1,ct0;var dt0=L(()=>{N1();F1();$a1=_(U$(),1),Za1=_(G1(),1),Qa1=_(p0(),1);ct0=class ct0 extends Qa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Za1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),$a1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketTagging",{}).n("S3Client","GetBucketTaggingCommand").sc(sh1).build(){}});var Ya1,Xa1,Ja1,it0;var pt0=L(()=>{N1();F1();Ya1=_(U$(),1),Xa1=_(G1(),1),Ja1=_(p0(),1);it0=class it0 extends Ja1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ya1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketVersioning",{}).n("S3Client","GetBucketVersioningCommand").sc(rh1).build(){}});var Ga1,Wa1,Ka1,nt0;var tt0=L(()=>{N1();F1();Ga1=_(U$(),1),Wa1=_(G1(),1),Ka1=_(p0(),1);nt0=class nt0 extends Ka1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Wa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ga1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketWebsite",{}).n("S3Client","GetBucketWebsiteCommand").sc(ah1).build(){}});var Ha1,Fa1,Ua1,ot0;var st0=L(()=>{N1();F1();Ha1=_(U$(),1),Fa1=_(G1(),1),Ua1=_(p0(),1);ot0=class ot0 extends Ua1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Fa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ha1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectAcl",{}).n("S3Client","GetObjectAclCommand").sc($u1).build(){}});var Na1,Ba1,Da1,rt0;var at0=L(()=>{sW();N1();F1();Na1=_(U$(),1),Ba1=_(G1(),1),Da1=_(p0(),1);rt0=class rt0 extends Da1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ba1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Na1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","GetObjectAttributes",{}).n("S3Client","GetObjectAttributesCommand").sc(Zu1).build(){}});var La1,Oa1,ja1,_U;var et0=L(()=>{C6();sW();N1();F1();La1=_(U$(),1),Oa1=_(G1(),1),ja1=_(p0(),1);_U=class _U extends ja1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Oa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1","SHA512","MD5","XXHASH64","XXHASH3","XXHASH128"]}),VZ(Q),La1.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(eh1).build(){}});var wa1,Ea1,Pa1,$o0;var Zo0=L(()=>{N1();F1();wa1=_(U$(),1),Ea1=_(G1(),1),Pa1=_(p0(),1);$o0=class $o0 extends Pa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),wa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLegalHold",{}).n("S3Client","GetObjectLegalHoldCommand").sc(Qu1).build(){}});var za1,Aa1,Ta1,Qo0;var Yo0=L(()=>{N1();F1();za1=_(U$(),1),Aa1=_(G1(),1),Ta1=_(p0(),1);Qo0=class Qo0 extends Ta1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Aa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),za1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLockConfiguration",{}).n("S3Client","GetObjectLockConfigurationCommand").sc(Yu1).build(){}});var qa1,Ra1,Ma1,Xo0;var Jo0=L(()=>{N1();F1();qa1=_(U$(),1),Ra1=_(G1(),1),Ma1=_(p0(),1);Xo0=class Xo0 extends Ma1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ra1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),qa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectRetention",{}).n("S3Client","GetObjectRetentionCommand").sc(Xu1).build(){}});var Va1,Ia1,ka1,Go0;var Wo0=L(()=>{N1();F1();Va1=_(U$(),1),Ia1=_(G1(),1),ka1=_(p0(),1);Go0=class Go0 extends ka1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ia1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Va1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectTagging",{}).n("S3Client","GetObjectTaggingCommand").sc(Ju1).build(){}});var Ca1,Sa1,Ko0;var Ho0=L(()=>{N1();F1();Ca1=_(G1(),1),Sa1=_(p0(),1);Ko0=class Ko0 extends Sa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ca1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetObjectTorrent",{}).n("S3Client","GetObjectTorrentCommand").sc(Gu1).build(){}});var _a1,va1,ba1,Fo0;var Uo0=L(()=>{N1();F1();_a1=_(U$(),1),va1=_(G1(),1),ba1=_(p0(),1);Fo0=class Fo0 extends ba1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[va1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),_a1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetPublicAccessBlock",{}).n("S3Client","GetPublicAccessBlockCommand").sc(Wu1).build(){}});var xa1,fa1,ya1,bA;var qa=L(()=>{N1();F1();xa1=_(U$(),1),fa1=_(G1(),1),ya1=_(p0(),1);bA=class bA extends ya1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),xa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","HeadBucket",{}).n("S3Client","HeadBucketCommand").sc(Ku1).build(){}});var F30,ga1,ha1,vU;var Ra=L(()=>{sW();N1();F1();F30=_(U$(),1),ga1=_(G1(),1),ha1=_(p0(),1);vU=class vU extends ha1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ga1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),F30.getThrow200ExceptionsPlugin(Q),VZ(Q),F30.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(Hu1).build(){}});var ua1,la1,ma1,No0;var Bo0=L(()=>{N1();F1();ua1=_(U$(),1),la1=_(G1(),1),ma1=_(p0(),1);No0=class No0 extends ma1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[la1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ua1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketAnalyticsConfigurations",{}).n("S3Client","ListBucketAnalyticsConfigurationsCommand").sc(Fu1).build(){}});var ca1,da1,ia1,Do0;var Lo0=L(()=>{N1();F1();ca1=_(U$(),1),da1=_(G1(),1),ia1=_(p0(),1);Do0=class Do0 extends ia1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[da1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ca1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketIntelligentTieringConfigurations",{}).n("S3Client","ListBucketIntelligentTieringConfigurationsCommand").sc(Uu1).build(){}});var pa1,na1,ta1,Oo0;var jo0=L(()=>{N1();F1();pa1=_(U$(),1),na1=_(G1(),1),ta1=_(p0(),1);Oo0=class Oo0 extends ta1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[na1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),pa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketInventoryConfigurations",{}).n("S3Client","ListBucketInventoryConfigurationsCommand").sc(Nu1).build(){}});var oa1,sa1,ra1,wo0;var Eo0=L(()=>{N1();F1();oa1=_(U$(),1),sa1=_(G1(),1),ra1=_(p0(),1);wo0=class wo0 extends ra1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[sa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),oa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketMetricsConfigurations",{}).n("S3Client","ListBucketMetricsConfigurationsCommand").sc(Bu1).build(){}});var aa1,ea1,$e1,Ma;var U30=L(()=>{N1();F1();aa1=_(U$(),1),ea1=_(G1(),1),$e1=_(p0(),1);Ma=class Ma extends $e1.Command.classBuilder().ep(L0).m(function($,Z,Q,Y){return[ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),aa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBuckets",{}).n("S3Client","ListBucketsCommand").sc(Du1).build(){}});var Ze1,Qe1,Ye1,Va;var N30=L(()=>{N1();F1();Ze1=_(U$(),1),Qe1=_(G1(),1),Ye1=_(p0(),1);Va=class Va extends Ye1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[Qe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ze1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListDirectoryBuckets",{}).n("S3Client","ListDirectoryBucketsCommand").sc(Lu1).build(){}});var Xe1,Je1,Ge1,Po0;var zo0=L(()=>{N1();F1();Xe1=_(U$(),1),Je1=_(G1(),1),Ge1=_(p0(),1);Po0=class Po0 extends Ge1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[Je1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Xe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListMultipartUploads",{}).n("S3Client","ListMultipartUploadsCommand").sc(Ou1).build(){}});var We1,Ke1,He1,Ao0;var To0=L(()=>{N1();F1();We1=_(U$(),1),Ke1=_(G1(),1),He1=_(p0(),1);Ao0=class Ao0 extends He1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[Ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),We1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjects",{}).n("S3Client","ListObjectsCommand").sc(ju1).build(){}});var Fe1,Ue1,Ne1,rW;var B30=L(()=>{N1();F1();Fe1=_(U$(),1),Ue1=_(G1(),1),Ne1=_(p0(),1);rW=class rW extends Ne1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[Ue1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Fe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(wu1).build(){}});var Be1,De1,Le1,qo0;var Ro0=L(()=>{N1();F1();Be1=_(U$(),1),De1=_(G1(),1),Le1=_(p0(),1);qo0=class qo0 extends Le1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[De1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Be1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectVersions",{}).n("S3Client","ListObjectVersionsCommand").sc(Eu1).build(){}});var Oe1,je1,we1,Ia;var D30=L(()=>{sW();N1();F1();Oe1=_(U$(),1),je1=_(G1(),1),we1=_(p0(),1);Ia=class Ia extends we1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[je1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Oe1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","ListParts",{}).n("S3Client","ListPartsCommand").sc(Pu1).build(){}});var Ee1,Pe1,Mo0;var Vo0=L(()=>{C6();N1();F1();Ee1=_(G1(),1),Pe1=_(p0(),1);Mo0=class Mo0 extends Pe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ee1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAbac",{}).n("S3Client","PutBucketAbacCommand").sc(zu1).build(){}});var ze1,Ae1,Io0;var ko0=L(()=>{C6();N1();F1();ze1=_(G1(),1),Ae1=_(p0(),1);Io0=class Io0 extends Ae1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAccelerateConfiguration",{}).n("S3Client","PutBucketAccelerateConfigurationCommand").sc(Au1).build(){}});var Te1,qe1,Co0;var So0=L(()=>{C6();N1();F1();Te1=_(G1(),1),qe1=_(p0(),1);Co0=class Co0 extends qe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketAcl",{}).n("S3Client","PutBucketAclCommand").sc(Tu1).build(){}});var Re1,Me1,_o0;var vo0=L(()=>{N1();F1();Re1=_(G1(),1),Me1=_(p0(),1);_o0=class _o0 extends Me1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Re1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketAnalyticsConfiguration",{}).n("S3Client","PutBucketAnalyticsConfigurationCommand").sc(qu1).build(){}});var Ve1,Ie1,bo0;var xo0=L(()=>{C6();N1();F1();Ve1=_(G1(),1),Ie1=_(p0(),1);bo0=class bo0 extends Ie1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketCors",{}).n("S3Client","PutBucketCorsCommand").sc(Ru1).build(){}});var ke1,Ce1,fo0;var yo0=L(()=>{C6();N1();F1();ke1=_(G1(),1),Ce1=_(p0(),1);fo0=class fo0 extends Ce1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketEncryption",{}).n("S3Client","PutBucketEncryptionCommand").sc(Mu1).build(){}});var Se1,_e1,go0;var ho0=L(()=>{N1();F1();Se1=_(G1(),1),_e1=_(p0(),1);go0=class go0 extends _e1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketIntelligentTieringConfiguration",{}).n("S3Client","PutBucketIntelligentTieringConfigurationCommand").sc(Vu1).build(){}});var ve1,be1,uo0;var lo0=L(()=>{N1();F1();ve1=_(G1(),1),be1=_(p0(),1);uo0=class uo0 extends be1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketInventoryConfiguration",{}).n("S3Client","PutBucketInventoryConfigurationCommand").sc(Iu1).build(){}});var xe1,fe1,ye1,mo0;var co0=L(()=>{C6();N1();F1();xe1=_(U$(),1),fe1=_(G1(),1),ye1=_(p0(),1);mo0=class mo0 extends ye1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),xe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutBucketLifecycleConfiguration",{}).n("S3Client","PutBucketLifecycleConfigurationCommand").sc(ku1).build(){}});var ge1,he1,do0;var io0=L(()=>{C6();N1();F1();ge1=_(G1(),1),he1=_(p0(),1);do0=class do0 extends he1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ge1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketLogging",{}).n("S3Client","PutBucketLoggingCommand").sc(Cu1).build(){}});var ue1,le1,po0;var no0=L(()=>{N1();F1();ue1=_(G1(),1),le1=_(p0(),1);po0=class po0 extends le1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ue1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketMetricsConfiguration",{}).n("S3Client","PutBucketMetricsConfigurationCommand").sc(Su1).build(){}});var me1,ce1,to0;var oo0=L(()=>{N1();F1();me1=_(G1(),1),ce1=_(p0(),1);to0=class to0 extends ce1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[me1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketNotificationConfiguration",{}).n("S3Client","PutBucketNotificationConfigurationCommand").sc(_u1).build(){}});var de1,ie1,so0;var ro0=L(()=>{C6();N1();F1();de1=_(G1(),1),ie1=_(p0(),1);so0=class so0 extends ie1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[de1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketOwnershipControls",{}).n("S3Client","PutBucketOwnershipControlsCommand").sc(vu1).build(){}});var pe1,ne1,ao0;var eo0=L(()=>{C6();N1();F1();pe1=_(G1(),1),ne1=_(p0(),1);ao0=class ao0 extends ne1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[pe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketPolicy",{}).n("S3Client","PutBucketPolicyCommand").sc(bu1).build(){}});var te1,oe1,$s0;var Zs0=L(()=>{C6();N1();F1();te1=_(G1(),1),oe1=_(p0(),1);$s0=class $s0 extends oe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketReplication",{}).n("S3Client","PutBucketReplicationCommand").sc(xu1).build(){}});var se1,re1,Qs0;var Ys0=L(()=>{C6();N1();F1();se1=_(G1(),1),re1=_(p0(),1);Qs0=class Qs0 extends re1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketRequestPayment",{}).n("S3Client","PutBucketRequestPaymentCommand").sc(fu1).build(){}});var ae1,ee1,Xs0;var Js0=L(()=>{C6();N1();F1();ae1=_(G1(),1),ee1=_(p0(),1);Xs0=class Xs0 extends ee1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ae1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketTagging",{}).n("S3Client","PutBucketTaggingCommand").sc(yu1).build(){}});var $0$,Z0$,Gs0;var Ws0=L(()=>{C6();N1();F1();$0$=_(G1(),1),Z0$=_(p0(),1);Gs0=class Gs0 extends Z0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketVersioning",{}).n("S3Client","PutBucketVersioningCommand").sc(gu1).build(){}});var Q0$,Y0$,Ks0;var Hs0=L(()=>{C6();N1();F1();Q0$=_(G1(),1),Y0$=_(p0(),1);Ks0=class Ks0 extends Y0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketWebsite",{}).n("S3Client","PutBucketWebsiteCommand").sc(hu1).build(){}});var X0$,J0$,G0$,Fs0;var Us0=L(()=>{C6();N1();F1();X0$=_(U$(),1),J0$=_(G1(),1),G0$=_(p0(),1);Fs0=class Fs0 extends G0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[J0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),X0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectAcl",{}).n("S3Client","PutObjectAclCommand").sc(lu1).build(){}});var L30,W0$,K0$,E3;var Ns0=L(()=>{C6();sW();N1();F1();L30=_(U$(),1),W0$=_(G1(),1),K0$=_(p0(),1);E3=class E3 extends K0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[W0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),L30.getCheckContentLengthHeaderPlugin(Q),L30.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(uu1).build(){}});var H0$,F0$,U0$,Bs0;var Ds0=L(()=>{C6();N1();F1();H0$=_(U$(),1),F0$=_(G1(),1),U0$=_(p0(),1);Bs0=class Bs0 extends U0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[F0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),H0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLegalHold",{}).n("S3Client","PutObjectLegalHoldCommand").sc(mu1).build(){}});var N0$,B0$,D0$,Ls0;var Os0=L(()=>{C6();N1();F1();N0$=_(U$(),1),B0$=_(G1(),1),D0$=_(p0(),1);Ls0=class Ls0 extends D0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[B0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),N0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLockConfiguration",{}).n("S3Client","PutObjectLockConfigurationCommand").sc(cu1).build(){}});var L0$,O0$,j0$,js0;var ws0=L(()=>{C6();N1();F1();L0$=_(U$(),1),O0$=_(G1(),1),j0$=_(p0(),1);js0=class js0 extends j0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[O0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),L0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectRetention",{}).n("S3Client","PutObjectRetentionCommand").sc(du1).build(){}});var w0$,E0$,P0$,ka;var Es0=L(()=>{C6();N1();F1();w0$=_(U$(),1),E0$=_(G1(),1),P0$=_(p0(),1);ka=class ka extends P0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[E0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),w0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(iu1).build(){}});var z0$,A0$,Ps0;var zs0=L(()=>{C6();N1();F1();z0$=_(G1(),1),A0$=_(p0(),1);Ps0=class Ps0 extends A0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[z0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutPublicAccessBlock",{}).n("S3Client","PutPublicAccessBlockCommand").sc(pu1).build(){}});var T0$,q0$,R0$,As0;var Ts0=L(()=>{N1();F1();T0$=_(U$(),1),q0$=_(G1(),1),R0$=_(p0(),1);As0=class As0 extends R0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),T0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RenameObject",{}).n("S3Client","RenameObjectCommand").sc(nu1).build(){}});var M0$,V0$,I0$,qs0;var Rs0=L(()=>{C6();N1();F1();M0$=_(U$(),1),V0$=_(G1(),1),I0$=_(p0(),1);qs0=class qs0 extends I0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[V0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),M0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RestoreObject",{}).n("S3Client","RestoreObjectCommand").sc(tu1).build(){}});var k0$,C0$,Ms0;var Vs0=L(()=>{sW();N1();F1();k0$=_(G1(),1),C0$=_(p0(),1);Ms0=class Ms0 extends C0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[k0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),VZ(Q)]}).s("AmazonS3","SelectObjectContent",{eventStream:{output:!0}}).n("S3Client","SelectObjectContentCommand").sc(ou1).build(){}});var S0$,_0$,Is0;var ks0=L(()=>{C6();N1();F1();S0$=_(G1(),1),_0$=_(p0(),1);Is0=class Is0 extends _0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[S0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataInventoryTableConfiguration",{}).n("S3Client","UpdateBucketMetadataInventoryTableConfigurationCommand").sc(su1).build(){}});var v0$,b0$,Cs0;var Ss0=L(()=>{C6();N1();F1();v0$=_(G1(),1),b0$=_(p0(),1);Cs0=class Cs0 extends b0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[v0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataJournalTableConfiguration",{}).n("S3Client","UpdateBucketMetadataJournalTableConfigurationCommand").sc(ru1).build(){}});var x0$,f0$,y0$,_s0;var vs0=L(()=>{C6();N1();F1();x0$=_(U$(),1),f0$=_(G1(),1),y0$=_(p0(),1);_s0=class _s0 extends y0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[f0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),x0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","UpdateObjectEncryption",{}).n("S3Client","UpdateObjectEncryptionCommand").sc(au1).build(){}});var g0$,h0$,u0$,Ca;var bs0=L(()=>{C6();sW();N1();F1();g0$=_(U$(),1),h0$=_(G1(),1),u0$=_(p0(),1);Ca=class Ca extends u0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[h0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),g0$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(eu1).build(){}});var l0$,m0$,c0$,xs0;var fs0=L(()=>{sW();N1();F1();l0$=_(U$(),1),m0$=_(G1(),1),c0$=_(p0(),1);xs0=class xs0 extends c0$.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[m0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),l0$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPartCopy",{}).n("S3Client","UploadPartCopyCommand").sc($l1).build(){}});var d0$,i0$,ys0;var gs0=L(()=>{N1();F1();d0$=_(G1(),1),i0$=_(p0(),1);ys0=class ys0 extends i0$.Command.classBuilder().ep({...L0,UseObjectLambdaEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[d0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","WriteGetObjectResponse",{}).n("S3Client","WriteGetObjectResponseCommand").sc(Zl1).build(){}});var p0$,n0$;var hs0=L(()=>{U30();vA();p0$=_(b7(),1),n0$=p0$.createPaginator(ZY,Ma,"ContinuationToken","ContinuationToken","MaxBuckets")});var t0$,o0$;var us0=L(()=>{N30();vA();t0$=_(b7(),1),o0$=t0$.createPaginator(ZY,Va,"ContinuationToken","ContinuationToken","MaxDirectoryBuckets")});var s0$,r0$;var ls0=L(()=>{B30();vA();s0$=_(b7(),1),r0$=s0$.createPaginator(ZY,rW,"ContinuationToken","NextContinuationToken","MaxKeys")});var a0$,e0$;var ms0=L(()=>{D30();vA();a0$=_(b7(),1),e0$=a0$.createPaginator(ZY,Ia,"PartNumberMarker","NextPartNumberMarker","MaxParts")});var Am=()=>{let $=new WeakSet;return(Z,Q)=>{if(typeof Q==="object"&&Q!==null){if($.has(Q))return"[Circular]";$.add(Q)}return Q}};var $1$=($)=>{return new Promise((Z)=>setTimeout(Z,$*1000))};var Z1$,E9,Zw=($)=>{if($.state===E9.ABORTED){let Z=Error(`${JSON.stringify({...$,reason:"Request was aborted"},Am())}`);throw Z.name="AbortError",Z}else if($.state===E9.TIMEOUT){let Z=Error(`${JSON.stringify({...$,reason:"Waiter has timed out"},Am())}`);throw Z.name="TimeoutError",Z}else if($.state!==E9.SUCCESS)throw Error(`${JSON.stringify($,Am())}`);return $};var O30=L(()=>{Z1$={minDelay:2,maxDelay:120};(function($){$.ABORTED="ABORTED",$.FAILURE="FAILURE",$.SUCCESS="SUCCESS",$.RETRY="RETRY",$.TIMEOUT="TIMEOUT"})(E9||(E9={}))});var Q1$=async({minDelay:$,maxDelay:Z,maxWaitTime:Q,abortController:Y,client:X,abortSignal:J},G,W)=>{let K={},[H,F]=[$*1000,Z*1000],U=0,N=Date.now()+Q*1000,B=Date.now()+60000,D=!1;while(!0){if(U>0){let w=S94(H,F,U,N);if(Y?.signal?.aborted||J?.aborted)return K["AbortController signal aborted."]|=0,K["AbortController signal aborted."]+=1,{state:E9.ABORTED,observedResponses:K};if(Date.now()+w>N)return{state:E9.TIMEOUT,observedResponses:K};await $1$(w/1000)}let{state:O,reason:j}=await W(X,G);if(j){let w=C94(j);K[w]|=0,K[w]+=1}if(O!==E9.RETRY)return{state:O,reason:j,final:j,observedResponses:K};if(U+=1,!D&&Date.now()>=B)k94(K,X),D=!0}},k94=($={},Z)=>{let Q=Object.keys($),Y=0,X=0;for(let W of Q){let K=$[W]|0;if(Y=Math.max(K,Y),W.startsWith("403:"))X+=K}let J=Z?.config?.logger,G=typeof J?.warn==="function"&&!J.constructor?.name?.includes?.("NoOpLogger")?J:console;if(X>=3||Q[Q.length-1].startsWith("403:"))G.warn("@smithy/util-waiter WARN - 403 status code encountered during waiter polling.")},C94=($)=>{let Z=$?.$response?.statusCode??$?.$metadata?.httpStatusCode;if($?.$responseBodyText)return`${Z?Z+": ":""}Deserialization error for body: ${$.$responseBodyText}`;if(Z){if($?.$response||$?.message)return`${Z??"Unknown"}: ${$?.message}`;return`${Z}: OK`}return String($?.message??JSON.stringify($,Am())??"Unknown")},S94=($,Z,Q,Y)=>{let X=Math.log(Z/$)/Math.log(2)+1;if(Q>X)return Z;let J=$*2**(Q-1),G=Math.min(J,Z),W=_94($,G);if(Date.now()+W>Y){let K=Y-Date.now();return Math.max(0,K-500)}return W},_94=($,Z)=>$+Math.random()*(Z-$);var Y1$=L(()=>{O30()});var X1$=($)=>{if($.maxWaitTime<=0)throw Error("WaiterConfiguration.maxWaitTime must be greater than 0");else if($.minDelay<=0)throw Error("WaiterConfiguration.minDelay must be greater than 0");else if($.maxDelay<=0)throw Error("WaiterConfiguration.maxDelay must be greater than 0");else if($.maxWaitTime<=$.minDelay)throw Error(`WaiterConfiguration.maxWaitTime [${$.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${$.minDelay}] for this waiter`);else if($.maxDelay<$.minDelay)throw Error(`WaiterConfiguration.maxDelay [${$.maxDelay}] must be greater than WaiterConfiguration.minDelay [${$.minDelay}] for this waiter`)};var J1$=()=>{};var G1$=($)=>{let Z,Q=new Promise((Y)=>{if(Z=()=>Y({state:E9.ABORTED}),typeof $.addEventListener==="function")$.addEventListener("abort",Z);else $.onabort=Z});return{clearListener(){if(typeof $.removeEventListener==="function")$.removeEventListener("abort",Z)},aborted:Q}},Qw=async($,Z,Q)=>{let Y={...Z1$,...$};X1$(Y);let X=[Q1$(Y,Z,Q)],J=[];if($.abortSignal){let{aborted:G,clearListener:W}=G1$($.abortSignal);J.push(W),X.push(G)}if($.abortController?.signal){let{aborted:G,clearListener:W}=G1$($.abortController.signal);J.push(W),X.push(G)}return Promise.race(X).then((G)=>{for(let W of J)W();return G})};var W1$=L(()=>{Y1$();J1$();O30()});var Sa=L(()=>{W1$();O30()});var v94=async($,Z)=>{let Q;try{return Q=await $.send(new bA(Z)),{state:E9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.RETRY,reason:Q}}return{state:E9.RETRY,reason:Q}},K1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,v94);return Zw(Y)};var cs0=L(()=>{Sa();qa()});var b94=async($,Z)=>{let Q;try{Q=await $.send(new bA(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.SUCCESS,reason:Q}}return{state:E9.RETRY,reason:Q}},H1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,b94);return Zw(Y)};var ds0=L(()=>{Sa();qa()});var x94=async($,Z)=>{let Q;try{return Q=await $.send(new vU(Z)),{state:E9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.RETRY,reason:Q}}return{state:E9.RETRY,reason:Q}},F1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,x94);return Zw(Y)};var is0=L(()=>{Sa();Ra()});var f94=async($,Z)=>{let Q;try{Q=await $.send(new vU(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:E9.SUCCESS,reason:Q}}return{state:E9.RETRY,reason:Q}},U1$=async($,Z)=>{let Y=await Qw({...{minDelay:5,maxDelay:120},...$},Z,f94);return Zw(Y)};var ps0=L(()=>{Sa();Ra()});var N1$,y94,g94,h94,B1$;var D1$=L(()=>{Hn0();Fn0();Nn0();Dn0();On0();wn0();En0();nJ0();zn0();Tn0();Rn0();Vn0();kn0();Sn0();vn0();xn0();yn0();hn0();ln0();cn0();in0();nn0();on0();sn0();an0();$t0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();It0();Ct0();_t0();bt0();ft0();gt0();ut0();mt0();dt0();pt0();tt0();st0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();qa();Ra();Bo0();Lo0();jo0();Eo0();U30();N30();zo0();To0();B30();Ro0();D30();Vo0();ko0();So0();vo0();xo0();yo0();ho0();lo0();co0();io0();no0();oo0();ro0();eo0();Zs0();Ys0();Js0();Ws0();Hs0();Us0();Ns0();Ds0();Os0();ws0();Es0();zs0();Ts0();Rs0();Vs0();ks0();Ss0();vs0();bs0();fs0();gs0();hs0();us0();ls0();ms0();vA();cs0();ds0();is0();ps0();N1$=_(p0(),1),y94={AbortMultipartUploadCommand:za,CompleteMultipartUploadCommand:Aa,CopyObjectCommand:Un0,CreateBucketCommand:Bn0,CreateBucketMetadataConfigurationCommand:Ln0,CreateBucketMetadataTableConfigurationCommand:jn0,CreateMultipartUploadCommand:Ta,CreateSessionCommand:$a,DeleteBucketCommand:An0,DeleteBucketAnalyticsConfigurationCommand:Pn0,DeleteBucketCorsCommand:qn0,DeleteBucketEncryptionCommand:Mn0,DeleteBucketIntelligentTieringConfigurationCommand:In0,DeleteBucketInventoryConfigurationCommand:Cn0,DeleteBucketLifecycleCommand:_n0,DeleteBucketMetadataConfigurationCommand:bn0,DeleteBucketMetadataTableConfigurationCommand:fn0,DeleteBucketMetricsConfigurationCommand:gn0,DeleteBucketOwnershipControlsCommand:un0,DeleteBucketPolicyCommand:mn0,DeleteBucketReplicationCommand:dn0,DeleteBucketTaggingCommand:pn0,DeleteBucketWebsiteCommand:tn0,DeleteObjectCommand:uD,DeleteObjectsCommand:rn0,DeleteObjectTaggingCommand:en0,DeletePublicAccessBlockCommand:Zt0,GetBucketAbacCommand:Yt0,GetBucketAccelerateConfigurationCommand:Jt0,GetBucketAclCommand:Wt0,GetBucketAnalyticsConfigurationCommand:Ht0,GetBucketCorsCommand:Ut0,GetBucketEncryptionCommand:Bt0,GetBucketIntelligentTieringConfigurationCommand:Lt0,GetBucketInventoryConfigurationCommand:jt0,GetBucketLifecycleConfigurationCommand:Et0,GetBucketLocationCommand:zt0,GetBucketLoggingCommand:Tt0,GetBucketMetadataConfigurationCommand:Rt0,GetBucketMetadataTableConfigurationCommand:Vt0,GetBucketMetricsConfigurationCommand:kt0,GetBucketNotificationConfigurationCommand:St0,GetBucketOwnershipControlsCommand:vt0,GetBucketPolicyCommand:xt0,GetBucketPolicyStatusCommand:yt0,GetBucketReplicationCommand:ht0,GetBucketRequestPaymentCommand:lt0,GetBucketTaggingCommand:ct0,GetBucketVersioningCommand:it0,GetBucketWebsiteCommand:nt0,GetObjectCommand:_U,GetObjectAclCommand:ot0,GetObjectAttributesCommand:rt0,GetObjectLegalHoldCommand:$o0,GetObjectLockConfigurationCommand:Qo0,GetObjectRetentionCommand:Xo0,GetObjectTaggingCommand:Go0,GetObjectTorrentCommand:Ko0,GetPublicAccessBlockCommand:Fo0,HeadBucketCommand:bA,HeadObjectCommand:vU,ListBucketAnalyticsConfigurationsCommand:No0,ListBucketIntelligentTieringConfigurationsCommand:Do0,ListBucketInventoryConfigurationsCommand:Oo0,ListBucketMetricsConfigurationsCommand:wo0,ListBucketsCommand:Ma,ListDirectoryBucketsCommand:Va,ListMultipartUploadsCommand:Po0,ListObjectsCommand:Ao0,ListObjectsV2Command:rW,ListObjectVersionsCommand:qo0,ListPartsCommand:Ia,PutBucketAbacCommand:Mo0,PutBucketAccelerateConfigurationCommand:Io0,PutBucketAclCommand:Co0,PutBucketAnalyticsConfigurationCommand:_o0,PutBucketCorsCommand:bo0,PutBucketEncryptionCommand:fo0,PutBucketIntelligentTieringConfigurationCommand:go0,PutBucketInventoryConfigurationCommand:uo0,PutBucketLifecycleConfigurationCommand:mo0,PutBucketLoggingCommand:do0,PutBucketMetricsConfigurationCommand:po0,PutBucketNotificationConfigurationCommand:to0,PutBucketOwnershipControlsCommand:so0,PutBucketPolicyCommand:ao0,PutBucketReplicationCommand:$s0,PutBucketRequestPaymentCommand:Qs0,PutBucketTaggingCommand:Xs0,PutBucketVersioningCommand:Gs0,PutBucketWebsiteCommand:Ks0,PutObjectCommand:E3,PutObjectAclCommand:Fs0,PutObjectLegalHoldCommand:Bs0,PutObjectLockConfigurationCommand:Ls0,PutObjectRetentionCommand:js0,PutObjectTaggingCommand:ka,PutPublicAccessBlockCommand:Ps0,RenameObjectCommand:As0,RestoreObjectCommand:qs0,SelectObjectContentCommand:Ms0,UpdateBucketMetadataInventoryTableConfigurationCommand:Is0,UpdateBucketMetadataJournalTableConfigurationCommand:Cs0,UpdateObjectEncryptionCommand:_s0,UploadPartCommand:Ca,UploadPartCopyCommand:xs0,WriteGetObjectResponseCommand:ys0},g94={paginateListBuckets:n0$,paginateListDirectoryBuckets:o0$,paginateListObjectsV2:r0$,paginateListParts:e0$},h94={waitUntilBucketExists:K1$,waitUntilBucketNotExists:H1$,waitUntilObjectExists:F1$,waitUntilObjectNotExists:U1$};B1$=class B1$ extends ZY{};N1$.createAggregatedClient(y94,B1$,{paginators:g94,waiters:h94})});var L1$=L(()=>{Hn0();Fn0();Nn0();Dn0();On0();wn0();En0();nJ0();zn0();Tn0();Rn0();Vn0();kn0();Sn0();vn0();xn0();yn0();hn0();ln0();cn0();in0();nn0();on0();sn0();$t0();an0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();It0();Ct0();_t0();bt0();ft0();gt0();ut0();mt0();dt0();pt0();tt0();st0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();qa();Ra();Bo0();Lo0();jo0();Eo0();U30();N30();zo0();Ro0();To0();B30();D30();Vo0();ko0();So0();vo0();xo0();yo0();ho0();lo0();co0();io0();no0();oo0();ro0();eo0();Zs0();Ys0();Js0();Ws0();Hs0();Us0();Ns0();Ds0();Os0();ws0();Es0();zs0();Ts0();Rs0();Vs0();ks0();Ss0();vs0();bs0();fs0();gs0()});var O1$=()=>{};var j1$=L(()=>{O1$();hs0();us0();ls0();ms0()});var w1$=L(()=>{cs0();ds0();is0();ps0()});var E1$;var P1$=L(()=>{E1$={CRC32:"CRC32",CRC32C:"CRC32C",CRC64NVME:"CRC64NVME",MD5:"MD5",SHA1:"SHA1",SHA256:"SHA256",SHA512:"SHA512",XXHASH128:"XXHASH128",XXHASH3:"XXHASH3",XXHASH64:"XXHASH64"}});var z1$=()=>{};var A1$=()=>{};var _a=L(()=>{vA();D1$();L1$();F1();j1$();w1$();P1$();Ed0();z1$();A1$()});function q1$($){let{port:Z,query:Q}=$,{protocol:Y,path:X,hostname:J}=$;if(Y&&Y.slice(-1)!==":")Y+=":";if(Z)J+=`:${Z}`;if(X&&X.charAt(0)!=="/")X=`/${X}`;let G=Q?T1$.buildQueryString(Q):"";if(G&&G[0]!=="?")G=`?${G}`;let W="";if($.username!=null||$.password!=null){let H=$.username??"",F=$.password??"";W=`${H}:${F}@`}let K="";if($.fragment)K=`#${$.fragment}`;return`${Y}//${W}${J}${X}${G}${K}`}var T1$;var R1$=L(()=>{T1$=_(aY0(),1)});var M1$="UNSIGNED-PAYLOAD",V1$="X-Amz-Content-Sha256";class j30{signer;constructor($){let Z={service:$.signingName||$.service||"s3",uriEscapePath:$.uriEscapePath||!1,applyChecksum:$.applyChecksum||!1,...$};this.signer=new I1$.SignatureV4MultiRegion(Z)}presign($,{unsignableHeaders:Z=new Set,hoistableHeaders:Q=new Set,unhoistableHeaders:Y=new Set,...X}={}){return this.prepareRequest($,{unsignableHeaders:Z,unhoistableHeaders:Y,hoistableHeaders:Q}),this.signer.presign($,{expiresIn:900,unsignableHeaders:Z,unhoistableHeaders:Y,...X})}presignWithCredentials($,Z,{unsignableHeaders:Q=new Set,hoistableHeaders:Y=new Set,unhoistableHeaders:X=new Set,...J}={}){return this.prepareRequest($,{unsignableHeaders:Q,unhoistableHeaders:X,hoistableHeaders:Y}),this.signer.presignWithCredentials($,Z,{expiresIn:900,unsignableHeaders:Q,unhoistableHeaders:X,...J})}prepareRequest($,{unsignableHeaders:Z=new Set,unhoistableHeaders:Q=new Set,hoistableHeaders:Y=new Set}={}){Z.add("content-type"),Object.keys($.headers).map((W)=>W.toLowerCase()).filter((W)=>W.startsWith("x-amz-server-side-encryption")).forEach((W)=>{if(!Y.has(W))Q.add(W)}),$.headers[V1$]=M1$;let X=$.headers.host,J=$.port,G=`${$.hostname}${$.port!=null?":"+J:""}`;if(!X||X===$.hostname&&$.port!=null)$.headers.host=G}}var I1$;var ns0=L(()=>{I1$=_(el(),1)});var k1$,C1$,w30=async($,Z,Q={})=>{let Y,X;if(typeof $.config.endpointProvider==="function"){let N=(await k1$.getEndpointFromInstructions(Z.input,Z.constructor,$.config)).properties?.authSchemes?.[0];if(N?.name==="sigv4a")X=N?.signingRegionSet?.join(",");else X=N?.signingRegion;Y=new j30({...$.config,signingName:N?.signingName,region:async()=>X})}else Y=new j30($.config);let J=(U,N)=>async(B)=>{let{request:D}=B;if(!C1$.HttpRequest.isInstance(D))throw Error("Request to be presigned is not an valid HTTP request.");delete D.headers["amz-sdk-invocation-id"],delete D.headers["amz-sdk-request"],delete D.headers["x-amz-user-agent"];let O,j={...Q,signingRegion:Q.signingRegion??N.signing_region??X,signingService:Q.signingService??N.signing_service};if(N.s3ExpressIdentity)O=await Y.presignWithCredentials(D,N.s3ExpressIdentity,j);else O=await Y.presign(D,j);return{response:{},output:{$metadata:{httpStatusCode:200},presigned:O}}},G="presignInterceptMiddleware",W=$.middlewareStack.clone();W.addRelativeTo(J,{name:G,relation:"before",toMiddleware:"awsAuthMiddleware",override:!0});let K=Z.resolveMiddleware(W,$.config,{}),{output:H}=await K({input:Z.input}),{presigned:F}=H;return q1$(F)};var S1$=L(()=>{R1$();ns0();k1$=_(G1(),1),C1$=_(t5(),1)});var _1$=L(()=>{S1$();ns0()});import{extname as u94}from"path";function P3($){let Z;try{Z=decodeURIComponent($)}catch{Z=$}let Y=Z.replace(/\0/g,"").replace(/[\x00-\x1f\x7f]/g,"").replace(/\\/g,"/").split("/"),X=[];for(let J of Y)if(J==="..")X.pop();else if(J!=="."&&J!=="")X.push(J);return X.join("/")}function Yw($,Z){let Q=P3(Z);if(!Q)throw Error("Key is empty after sanitization");return`${$}/${Q}`}function v1$($,Z){if(!Z)return`${$}/`;let Q=P3(Z);return`${$}/${Q}${Q.endsWith("/")?"":"/"}`}function Tm($,Z,Q){let Y=Q.split("/").map(encodeURIComponent).join("/");return`${$}/api/${encodeURIComponent(Z)}/files/${Y}`}function ts0($,Z){let Q=`${$}/`;if(Z.startsWith(Q))return Z.slice(Q.length);return Z}function f7($){let Z=u94($).toLowerCase();return l94[Z]??"application/octet-stream"}function E30($){let Z=$.split(";")[0].trim();if(m94.has(Z))return!0;if(Z.startsWith("text/"))return!0;return!1}var l94,m94;var cH=L(()=>{l94={".json":"application/json",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".mjs":"application/javascript",".ts":"text/typescript",".txt":"text/plain",".md":"text/markdown",".csv":"text/csv",".xml":"application/xml",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".pdf":"application/pdf",".zip":"application/zip",".gz":"application/gzip",".tar":"application/x-tar",".wasm":"application/wasm",".yaml":"application/yaml",".yml":"application/yaml",".toml":"application/toml"};m94=new Set(["application/json","text/html","text/css","application/javascript","text/typescript","text/plain","text/markdown","text/csv","application/xml","image/svg+xml","application/yaml","application/toml"])});class os0{client;bucket;constructor($){this.bucket=$.bucket,this.client=new ZY({endpoint:$.endpoint,region:$.region,credentials:{accessKeyId:$.accessKeyId,secretAccessKey:$.secretAccessKey},forcePathStyle:$.forcePathStyle})}async getBytesOrPresign($,Z,Q){let Y=Yw($,Z),X=await this.client.send(new vU({Bucket:this.bucket,Key:Y})),J=X.ContentLength??0,G=X.ContentType??f7(Z);if(J>Q.presignWhenLargerThan){let F=await w30(this.client,new _U({Bucket:this.bucket,Key:Y}),{expiresIn:Q.presignExpiresIn??3600});return{error:"FILE_TOO_LARGE",size:J,maxInlineSize:Q.presignWhenLargerThan,presignedUrl:F,contentType:G}}let K=await(await this.client.send(new _U({Bucket:this.bucket,Key:Y}))).Body.transformToByteArray(),H=E30(G);return{content:H?new TextDecoder().decode(K):Buffer.from(K).toString("base64"),contentType:G,encoding:H?"utf-8":"base64",size:J,lastModified:X.LastModified,etag:X.ETag}}async getBytes($,Z){let Q=Yw($,Z);return(await this.client.send(new _U({Bucket:this.bucket,Key:Q}))).Body.transformToByteArray()}async put($,Z,Q,Y){let X=Yw($,Z),J=Y?.contentType??f7(Z);return{etag:(await this.client.send(new E3({Bucket:this.bucket,Key:X,Body:typeof Q==="string"?Buffer.from(Q,"utf-8"):Q,ContentType:J}))).ETag,key:Z}}async list($,Z){let Q=v1$($,Z?.prefix),Y=await this.client.send(new rW({Bucket:this.bucket,Prefix:Q,MaxKeys:Z?.maxKeys??1000,ContinuationToken:Z?.continuationToken,Delimiter:Z?.delimiter})),X=Y.CommonPrefixes?.map((J)=>ts0($,J.Prefix??"")).filter(Boolean);return{objects:(Y.Contents??[]).map((J)=>({key:ts0($,J.Key??""),size:J.Size??0,lastModified:J.LastModified,etag:J.ETag})),isTruncated:Y.IsTruncated??!1,nextContinuationToken:Y.NextContinuationToken,commonPrefixes:X&&X.length>0?X:void 0}}async delete($,Z){let Q=Yw($,Z);await this.client.send(new uD({Bucket:this.bucket,Key:Q}))}async head($,Z){let Q=Yw($,Z),Y=await this.client.send(new vU({Bucket:this.bucket,Key:Q}));return{contentType:Y.ContentType??f7(Z),size:Y.ContentLength??0,lastModified:Y.LastModified,etag:Y.ETag,metadata:Y.Metadata&&Object.keys(Y.Metadata).length>0?Y.Metadata:void 0}}async presignedGetUrl($,Z,Q=3600,Y){let X=Yw($,Z);return w30(this.client,new _U({Bucket:this.bucket,Key:X}),{expiresIn:Q})}async presignedPutUrl($,Z,Q=3600,Y){let X=Yw($,Z);return w30(this.client,new E3({Bucket:this.bucket,Key:X,ContentType:Y}),{expiresIn:Q})}}var b1$=L(()=>{_a();_1$();cH()});function c94(){let $=B0();return!!($.s3Endpoint&&$.s3Bucket&&$.s3AccessKeyId&&$.s3SecretAccessKey)}function XJ(){if(va!==void 0)return va;if(!c94())return va=null,null;let $=B0();return va=new os0({endpoint:$.s3Endpoint,bucket:$.s3Bucket,region:$.s3Region,accessKeyId:$.s3AccessKeyId,secretAccessKey:$.s3SecretAccessKey,forcePathStyle:$.s3ForcePathStyle}),va}var va;var Xw=L(()=>{u1();b1$()});function z3($,Z){return{getBytesOrPresign:(Q,Y)=>$.getBytesOrPresign(Z,Q,Y),getBytes:(Q)=>$.getBytes(Z,Q),put:(Q,Y,X)=>$.put(Z,Q,Y,X),list:(Q)=>$.list(Z,Q),delete:(Q)=>$.delete(Z,Q),head:(Q)=>$.head(Z,Q),presignedGetUrl:(Q,Y,X)=>$.presignedGetUrl(Z,Q,Y,X),presignedPutUrl:(Q,Y,X)=>$.presignedPutUrl(Z,Q,Y,X)}}import{mkdir as d94,readdir as i94,readFile as ss0,stat as P30,unlink as p94,writeFile as n94}from"fs/promises";import{createHmac as t94}from"crypto";import{dirname as o94,join as ba}from"path";function rs0($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return ba(s94,Z)}function qm($,Z){return ba(rs0($),P3(Z))}class aW{orgId;baseUrl;constructor($,Z){this.orgId=$;this.baseUrl=Z}async getBytesOrPresign($,Z){let Q=qm(this.orgId,$),Y=await P30(Q),X=f7($);if(Y.size>Z.presignWhenLargerThan)return{error:"FILE_TOO_LARGE",size:Y.size,maxInlineSize:Z.presignWhenLargerThan,presignedUrl:await this.presignedGetUrl($),contentType:X};let J=await ss0(Q),G=E30(X);return{content:G?new TextDecoder().decode(J):Buffer.from(J).toString("base64"),contentType:X,encoding:G?"utf-8":"base64",size:Y.size,lastModified:Y.mtime}}async getBytes($){let Z=await ss0(qm(this.orgId,$));return new Uint8Array(Z)}async put($,Z,Q){let Y=qm(this.orgId,$);return await d94(o94(Y),{recursive:!0}),await n94(Y,typeof Z==="string"?Buffer.from(Z,"utf-8"):Z),{key:$}}async list($){let Z=$?.prefix?ba(rs0(this.orgId),P3($.prefix)):rs0(this.orgId),Q;try{Q=await i94(Z,{withFileTypes:!0})}catch{return{objects:[],isTruncated:!1}}let Y=$?.maxKeys??1000,X=$?.prefix,J=Q.filter((W)=>W.isFile());if($?.delimiter){let W=[],K=Q.filter((D)=>D.isDirectory());for(let D of K){let O=X?`${X}/${D.name}/`:`${D.name}/`;W.push(O)}W.sort();let H=Y,F=W.slice(0,H);H-=F.length;let U=J.slice(0,H),N=W.length+J.length;return{objects:await Promise.all(U.map(async(D)=>{let O=await P30(ba(Z,D.name));return{key:X?`${X}/${D.name}`:D.name,size:O.size,lastModified:O.mtime}})),isTruncated:N>Y,commonPrefixes:F.length>0?F:void 0}}return{objects:await Promise.all(J.slice(0,Y).map(async(W)=>{let K=await P30(ba(Z,W.name));return{key:X?`${X}/${W.name}`:W.name,size:K.size,lastModified:K.mtime}})),isTruncated:J.length>Y}}async delete($){await p94(qm(this.orgId,$))}async head($){let Z=await P30(qm(this.orgId,$));return{contentType:f7($),size:Z.size,lastModified:Z.mtime}}async presignedGetUrl($,Z,Q){if(Q?.requireFetchable)throw Error("object storage returned a not fetchable (data:) URL; configure real S3/R2/MinIO for large-payload offload");let Y=qm(this.orgId,$),X=await ss0(Y),J=f7($),G=Buffer.from(X).toString("base64");return`data:${J};base64,${G}`}async presignedPutUrl($,Z=3600){if(!this.baseUrl)throw Error("baseUrl required for presigned PUT URLs in dev mode");let Q=P3($),Y=Math.floor(Date.now()/1000)+Z,X=B0().encryptionKey||"dev-secret",J=`${this.orgId}:${Q}:${Y}:PUT`,G=t94("sha256",X).update(J).digest("hex"),W=new URL(`/api/dev-assets/${this.orgId}/${Q}`,this.baseUrl);return W.searchParams.set("expires",Y.toString()),W.searchParams.set("signature",G),W.searchParams.set("method","PUT"),W.toString()}}var s94="./data/assets";var Rm=L(()=>{cH();u1()});function eW($){return r94.test($)&&$!=="."&&$!==".."}function y7($){if(!eW($))throw Error(`Invalid org-fs volume name: ${JSON.stringify($)}`)}function N5($){return P3($)}function Mm($){let Z=$.lastIndexOf("/");return Z===-1?"":$.slice(0,Z)}function Jw($){let Z=Mm($);if(Z==="")return[];let Q=Z.split("/"),Y=[],X="";for(let J of Q)X=X===""?J:`${X}/${J}`,Y.push(X);return Y}function $K($,Z){return`${as0}/${$}/${Z}`}function bU($){let[Z,Q="",...Y]=P3($).split("/");return Z===as0?{volume:Q,path:Y.join("/")}:null}function z30($){return`${as0}/${$}/`}var r94,as0="_fs";var QY=L(()=>{cH();r94=/^[A-Za-z0-9_.-]{1,128}$/});import{createHmac as es0,randomBytes as $r0,scrypt as a94,timingSafeEqual as x1$}from"crypto";import{promisify as e94}from"util";async function y1$($){let Z=$r0(16),Q=await f1$($,Z,$Z4);return`scrypt$${Z.toString("hex")}$${Q.toString("hex")}`}async function g1$($,Z){let Q=Z.split("$");if(Q.length!==3||Q[0]!=="scrypt")return!1;let Y=Buffer.from(Q[1],"hex"),X=Buffer.from(Q[2],"hex");if(Y.length===0||X.length===0)return!1;let J;try{J=await f1$($,Y,X.length)}catch{return!1}return X.length===J.length&&x1$(X,J)}function h1$(){return $r0(16).toString("hex")}function u1$(){if(A30)return A30;let $;try{let Z=B0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return A30=$?Buffer.from($):$r0(32),A30}function l1$($){let Z=Buffer.from(JSON.stringify($)).toString("base64url"),Q=es0("sha256",u1$()).update(Z).digest("base64url");return`${Z}.${Q}`}function m1$($,Z){let Q=$.indexOf(".");if(Q<0)return null;let Y=$.slice(0,Q),X=Buffer.from($.slice(Q+1)),J=Buffer.from(es0("sha256",u1$()).update(Y).digest("base64url"));if(X.length!==J.length||!x1$(X,J))return null;let G;try{G=JSON.parse(Buffer.from(Y,"base64url").toString())}catch{return null}if(G.o!==Z.org||G.v!==Z.volume||G.s!==Z.secret||typeof G.e!=="number"||G.e<Z.nowSec)return null;return{govPath:G.p}}function Zr0($,Z,Q){return`fsu_${es0("sha256","fsunlock-name").update(`${$}:${Z}:${Q}`).digest("hex").slice(0,16)}`}var $Z4=64,f1$,A30=null;var Qr0=L(()=>{u1();f1$=e94(a94)});import{createHash as ZZ4}from"crypto";function GZ4($){if(typeof $!=="object"||$===null)return!1;let Z=$;return Z.name==="NoSuchKey"||Z.Code==="NoSuchKey"||Z.code==="ENOENT"||Z.$metadata?.httpStatusCode===404}function c1$($){return ZZ4("sha256").update($).digest("hex")}class ZK{storage;manifest;organizationId;maxFileBytes;volumeQuotaBytes;constructor($,Z,Q,Y={}){this.storage=$;this.manifest=Z;this.organizationId=Q;this.maxFileBytes=Y.maxFileBytes??XZ4,this.volumeQuotaBytes=Y.volumeQuotaBytes??JZ4}async usage($){return y7($),this.manifest.usage(this.organizationId,$)}async stat($,Z){return y7($),this.manifest.get(this.organizationId,$,N5(Z))}async listVolumeFiles($){return y7($),this.manifest.listVolumeFiles(this.organizationId,$)}async listDir($,Z){return y7($),this.manifest.listDir(this.organizationId,$,N5(Z))}async read($,Z){let Q=await this.requireFile($,Z);try{return await this.storage.getBytes($K($,Q.path))}catch(Y){if(GZ4(Y))throw new JJ(`No such file: ${Q.path}`);throw Y}}async setShareMode($,Z,Q,Y){y7($);let X=N5(Z),J=await this.manifest.get(this.organizationId,$,X);if(!J)throw new JJ(`No such path: ${X}`);let G=null,W=null;if(Q==="password"){if(!Y.password)throw new A3("A password is required to set password mode");G=await y1$(Y.password),W=h1$()}let K=await this.manifest.setShareMode({organizationId:this.organizationId,volume:$,path:J.path,readPublic:Q!=="private",passwordHash:G,shareSecret:W,actor:Y.actor});if(!K)throw new JJ(`No such path: ${J.path}`);return K}async setReadPublic($,Z,Q,Y){return this.setShareMode($,Z,Q?"public":"private",{actor:Y.actor})}async resolveReadAccess($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return{access:"private"};let X=await this.manifest.resolveGoverningShare({organizationId:this.organizationId,volume:$,candidatePaths:[Q,...Jw(Q)]});if(!X)return{access:"private"};if(!X.passwordHash)return{access:"public"};return{access:"password",govPath:X.path,secret:X.secret??"",passwordHash:X.passwordHash}}async isPubliclyReadable($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return!1;if(Y.readPublic)return!0;return this.manifest.hasPublicAncestorDir(this.organizationId,$,Jw(Q))}async inheritsPublic($,Z){return y7($),this.manifest.hasPublicAncestorDir(this.organizationId,$,Jw(N5(Z)))}async childrenInheritPublic($,Z){y7($);let Q=N5(Z);if(Q==="")return!1;return this.manifest.hasPublicAncestorDir(this.organizationId,$,[...Jw(Q),Q])}async recentWithEffectivePublic($){return this.withEffectivePublic(await this.recent($))}async searchWithEffectivePublic($,Z,Q,Y,X){return this.withEffectivePublic(await this.manifest.searchFiles({organizationId:this.organizationId,query:$,limit:Z,volumes:Q,pathPrefix:Y?N5(Y):void 0,beforeSeq:X}))}async withEffectivePublic($){let Z=new Map;for(let Y of $){let X=Z.get(Y.volume);if(!X)X=new Set,Z.set(Y.volume,X);for(let J of Jw(Y.path))X.add(J)}let Q=new Map;return await Promise.all([...Z].map(async([Y,X])=>{let J=await this.manifest.publicDirPaths({organizationId:this.organizationId,volume:Y,paths:[...X]});Q.set(Y,new Set(J))})),$.map((Y)=>{let X=Q.get(Y.volume),J=!!X&&Jw(Y.path).some((G)=>X.has(G));return{...Y,effectivePublic:Y.readPublic||J}})}async presignRead($,Z,Q){let Y=await this.requireFile($,Z);return this.storage.presignedGetUrl($K($,Y.path),Q)}async write($,Z,Q,Y){y7($);let X=N5(Z);if(X==="")throw new A3("Cannot write to the volume root");let J=typeof Q==="string"?new TextEncoder().encode(Q):Q;if(J.byteLength>this.maxFileBytes)throw new xA(`File exceeds the ${this.maxFileBytes}-byte per-file limit`);let[G,W]=await Promise.all([Y.skipVolumeQuota?Promise.resolve(null):this.manifest.usage(this.organizationId,$),this.manifest.get(this.organizationId,$,X)]);if(W?.kind==="dir")throw new A3(`Cannot write a file at ${X}: a directory exists there`);if(Y.expect){let K=W?.kind==="file"?W.contentHash:null;if(!("absent"in Y.expect?!W:K===Y.expect.contentHash))throw new Vm(`${X} changed since it was read`)}if(G){let K=W?.kind==="file"?W.size:0;if(G.bytes-K+J.byteLength>this.volumeQuotaBytes)throw new xA(`Write would exceed the volume quota of ${this.volumeQuotaBytes} bytes`)}await this.ensureDirs($,X,Y.actor),await this.storage.put($K($,X),J,{contentType:Y.contentType??f7(X)});try{return await F8(()=>this.manifest.putFile({organizationId:this.organizationId,volume:$,path:X,parent:Mm(X),contentHash:c1$(J),size:J.byteLength,actor:Y.actor,threadId:Y.threadId??null}))}catch(K){throw console.error("org-fs manifest write lost after object put",{organizationId:this.organizationId,volume:$,path:X,size:J.byteLength,error:K instanceof Error?K.message:String(K)}),K}}async mkdir($,Z,Q){y7($);let Y=N5(Z);if(Y==="")return;if((await this.manifest.get(this.organizationId,$,Y))?.kind==="file")throw new A3(`Cannot create a directory at ${Y}: a file exists there`);await this.ensureDirs($,Y,Q.actor),await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:Mm(Y),actor:Q.actor})}async delete($,Z,Q){y7($);let Y=N5(Z);if(Y==="")throw new A3("Cannot delete the volume root");let X=await this.manifest.get(this.organizationId,$,Y);if(!X)return;if(X.kind==="dir"){let J=await this.manifest.listSubtreeFiles(this.organizationId,$,Y);await Promise.all(J.map((G)=>this.storage.delete($K($,G.path)))),await this.manifest.tombstoneSubtree(this.organizationId,$,Y,Q.actor);return}await this.storage.delete($K($,Y)),await this.manifest.tombstone(this.organizationId,$,Y,Q.actor)}async move($,Z,Q,Y){y7($);let X=N5(Z),J=N5(Q);if(X===""||J==="")throw new A3("Cannot move the volume root");if(J===X||J.startsWith(`${X}/`))throw new A3(`Cannot move ${X} onto itself or into its own subtree`);let G=await this.manifest.get(this.organizationId,$,X);if(!G)throw new JJ(`No such path: ${X}`);if(G.kind==="file"){let H=await this.storage.getBytes($K($,X));await this.write($,J,H,{...Y,skipVolumeQuota:!0}),await this.delete($,X,Y);return}let[W,K]=await Promise.all([this.manifest.listSubtreeFiles(this.organizationId,$,X),this.manifest.listSubtreeDirs(this.organizationId,$,X)]);await this.mkdir($,J,Y);for(let H of W){let F=H.path.slice(X.length+1),U=await this.storage.getBytes($K($,H.path));await this.write($,`${J}/${F}`,U,{...Y,skipVolumeQuota:!0})}for(let H of K){let F=H.path.slice(X.length+1);await this.mkdir($,`${J}/${F}`,Y)}await this.delete($,X,Y)}async filesExist($,Z){y7($);let Q=await this.manifest.liveFilePaths({organizationId:this.organizationId,volume:$,paths:Z.map((Y)=>N5(Y))});return new Set(Q)}async recent($){return this.manifest.recentFiles({organizationId:this.organizationId,limit:$})}async changes($,Z,Q=QZ4){y7($);let Y=Z||"0";if(!/^\d+$/.test(Y))throw new A3(`Invalid cursor: ${Z}`);let X=await this.manifest.changesSince({organizationId:this.organizationId,volume:$,sinceSeq:Y,limit:Q}),J=X.at(-1);return{entries:X,cursor:J?J.seq:Z||"0",hasMore:X.length>=Q}}async latestSeq($){return y7($),this.manifest.latestSeq({organizationId:this.organizationId,volume:$})}async backfillFromStorage($,Z){y7($);let Q=z30($),Y,X=0;do{let J=await this.storage.list({prefix:Q,maxKeys:YZ4,continuationToken:Y});for(let G of J.objects){let W=G.key.slice(Q.length);if(W==="")continue;await this.ensureDirs($,W,Z.actor);let K=await this.storage.getBytes(G.key);await this.manifest.putFile({organizationId:this.organizationId,volume:$,path:W,parent:Mm(W),contentHash:c1$(K),size:K.byteLength,actor:Z.actor}),X++}Y=J.isTruncated?J.nextContinuationToken:void 0}while(Y);return X}async requireFile($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")throw new JJ(`No such file: ${Q}`);return Y}async ensureDirs($,Z,Q){for(let Y of Jw(Z))await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:Mm(Y),actor:Q})}}var QZ4=500,YZ4=1000,XZ4=524288000,JZ4=10737418240,xA,A3,Vm,JJ;var xU=L(()=>{n$();cH();QY();Qr0();xA=class xA extends Error{constructor($){super($);this.name="OrgFsQuotaError"}};A3=class A3 extends Error{constructor($){super($);this.name="OrgFsValidationError"}};Vm=class Vm extends Error{constructor($){super($);this.name="OrgFsConflictError"}};JJ=class JJ extends Error{constructor($){super($);this.name="OrgFsNotFoundError"}}});import{existsSync as WZ4}from"fs";import{join as i1$}from"path";import{z as fU}from"zod";function QK($){return $.startsWith(p1$)}function Gw($){return`${p1$}${$}`}function UZ4($){let Z=new Map(n1$.map((Q)=>[Q.set,Q]));if($)try{for(let Q of FZ4.parse(JSON.parse($)))Z.set(Q.set,Q)}catch(Q){console.warn("[org-fs] invalid ORGFS_PUBLIC_SETS \u2014 using built-in defaults only",Q)}return[...Z.values()]}function YK(){let $=B0(),Z=UZ4($.orgFsPublicSetsJson);if($.nodeEnv==="production")return Z;return Z.map((Q)=>Q===n1$[0]&&WZ4(i1$(d1$,Q.paths[0].from))?{...Q,dir:d1$}:Q)}function fa($){let Z=XJ(),Q=Z?z3(Z,xa):new aW(xa,$.baseUrl);return new ZK(Q,$.storage.orgFsEntries,xa)}var xa="org_orgfs_public_skills",p1$="public-",KZ4,HZ4,n1$,FZ4,d1$;var Ww=L(()=>{u1();Xw();Rm();xU();KZ4=fU.object({from:fU.string(),to:fU.string().optional()}),HZ4=fU.object({set:fU.string().regex(/^[a-z0-9][a-z0-9-]{0,40}$/),repo:fU.string().regex(/^[\w.-]+\/[\w.-]+$/),ref:fU.string().min(1),paths:fU.array(KZ4).min(1),dir:fU.string().optional()}),n1$=[{set:"core",repo:"decocms/studio",ref:"main",paths:[{from:"packages/sandbox/image/skills"}]},{set:"storefront",repo:"decocms/storefront-skills",ref:"main",paths:[{from:".claude-seo/skills"},{from:".claude-performance/skills"},{from:".claude-deco/skills"}]}],FZ4=fU.array(HZ4).refine(($)=>new Set($.map((Z)=>Z.set)).size===$.length,{message:"duplicate set names"});d1$=i1$(import.meta.dir,"../../../..")});function lD($){if(typeof $==="string")return $.length>0?[$]:[];if(Array.isArray($))return $.flatMap(lD);if($!==null&&typeof $==="object")return Object.values($).flatMap(lD);return[]}var y0;var C5=L(()=>{y0=class y0 extends Error{provider;status;retryAfterMs;constructor($){super($.message,{cause:$.cause});this.name="GitProviderError",this.provider=$.provider,this.status=$.status,this.retryAfterMs=$.retryAfterMs??null}get isRateLimited(){return this.status===429||this.retryAfterMs!==null}get isAuthFailure(){return this.status===401||this.status===403}}});import{sql as Kw}from"kysely";function Yr0($){if($===null)return null;return $ instanceof Date?$.toISOString():String($)}function dH($){return{organizationId:$.organization_id,volume:$.volume,path:$.path,parent:$.parent,kind:$.kind,contentHash:$.content_hash,size:Number($.size),seq:String($.seq),deletedAt:Yr0($.deleted_at),createdBy:$.created_by,createdAt:Yr0($.created_at)??"",updatedBy:$.updated_by,updatedAt:Yr0($.updated_at)??"",threadId:$.thread_id,readPublic:$.read_public,shareMode:!$.read_public?"private":$.share_password_hash?"password":"public"}}class ga{db;constructor($){this.db=$}async putFile($){let Z=new Date,Q=$.threadId??null,Y=await this.db.insertInto("org_fs_entry").values({organization_id:$.organizationId,volume:$.volume,path:$.path,parent:$.parent,kind:"file",content_hash:$.contentHash,size:$.size,deleted_at:null,created_by:$.actor,created_at:Z,updated_by:$.actor,updated_at:Z,thread_id:Q}).onConflict((X)=>X.columns(["organization_id","volume","path"]).doUpdateSet({kind:"file",content_hash:$.contentHash,size:$.size,deleted_at:null,updated_by:$.actor,updated_at:Z,seq:T30,read_public:Kw`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`,thread_id:Kw`coalesce(cast(${Q} as text), org_fs_entry.thread_id)`})).returning(iH).executeTakeFirstOrThrow();return dH(Y)}async putDir($){let Z=new Date;await this.db.insertInto("org_fs_entry").values({organization_id:$.organizationId,volume:$.volume,path:$.path,parent:$.parent,kind:"dir",content_hash:null,size:0,deleted_at:null,created_by:$.actor,created_at:Z,updated_by:$.actor,updated_at:Z}).onConflict((Q)=>Q.columns(["organization_id","volume","path"]).where("org_fs_entry.deleted_at","is not",null).doUpdateSet({kind:"dir",content_hash:null,size:0,deleted_at:null,updated_by:$.actor,updated_at:Z,seq:T30,read_public:Kw`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`})).execute()}async get($,Z,Q){let Y=await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("path","=",Q).where("deleted_at","is",null).select(iH).executeTakeFirst();return Y?dH(Y):null}async listDir($,Z,Q){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("parent","=",Q).where("deleted_at","is",null).select(iH).orderBy("path","asc").execute()).map((X)=>dH(X))}async listVolumeDirs($,Z){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","dir").where("deleted_at","is",null).select(iH).execute()).map((Y)=>dH(Y))}async listVolumeFiles($,Z){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","file").where("deleted_at","is",null).select(iH).execute()).map((Y)=>dH(Y))}async listSubtreeFiles($,Z,Q){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","file").where("deleted_at","is",null).where("path","like",`${ya(Q)}/%`).select(iH).execute()).map((X)=>dH(X))}async listSubtreeDirs($,Z,Q){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","dir").where("deleted_at","is",null).where("path","like",`${ya(Q)}/%`).select(iH).execute()).map((X)=>dH(X))}async tombstone($,Z,Q,Y){await this.db.updateTable("org_fs_entry").set({deleted_at:new Date,updated_by:Y,updated_at:new Date,seq:T30}).where("organization_id","=",$).where("volume","=",Z).where("path","=",Q).where("deleted_at","is",null).execute()}async tombstoneSubtree($,Z,Q,Y){await this.db.updateTable("org_fs_entry").set({deleted_at:new Date,updated_by:Y,updated_at:new Date,seq:T30}).where("organization_id","=",$).where("volume","=",Z).where("deleted_at","is",null).where((X)=>X.or([X("path","=",Q),X("path","like",`${ya(Q)}/%`)])).execute()}async setShareMode($){let Z=new Date,Q=await this.db.updateTable("org_fs_entry").set({read_public:$.readPublic,share_password_hash:$.passwordHash,share_secret:$.shareSecret,updated_by:$.actor,updated_at:Z}).where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("path","=",$.path).where("deleted_at","is",null).returning(iH).executeTakeFirst();return Q?dH(Q):null}async resolveGoverningShare($){if($.candidatePaths.length===0)return null;let Z=await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("read_public","=",!0).where("deleted_at","is",null).where("path","in",$.candidatePaths).select(["path","share_password_hash","share_secret"]).execute();if(Z.length===0)return null;Z.sort((Y,X)=>X.path.length-Y.path.length);let Q=Z[0];return{path:Q.path,passwordHash:Q.share_password_hash,secret:Q.share_secret}}async hasPublicAncestorDir($,Z,Q){if(Q.length===0)return!1;return!!await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","dir").where("read_public","=",!0).where("deleted_at","is",null).where("path","in",Q).select("path").limit(1).executeTakeFirst()}async publicDirPaths($){if($.paths.length===0)return[];return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("kind","=","dir").where("read_public","=",!0).where("deleted_at","is",null).where("path","in",$.paths).select("path").execute()).map((Q)=>Q.path)}async usage($,Z){let Q=await this.db.selectFrom("org_fs_entry").where("organization_id","=",$).where("volume","=",Z).where("kind","=","file").where("deleted_at","is",null).select((Y)=>[Y.fn.countAll().as("files"),Y.fn.coalesce(Y.fn.sum("size"),Kw`0`).as("bytes")]).executeTakeFirst();return{files:Number(Q?.files??0),bytes:Number(Q?.bytes??0)}}async liveFilePaths($){if($.paths.length===0)return[];return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("kind","=","file").where("deleted_at","is",null).where("path","in",$.paths).select(["path"]).execute()).map((Q)=>Q.path)}async recentFiles($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("kind","=","file").where("deleted_at","is",null).select(iH).orderBy("seq","desc").limit($.limit).execute()).map((Q)=>dH(Q))}async searchFiles($){if($.volumes&&$.volumes.length===0)return[];let Z=ya($.query),Q=this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("kind","=","file").where("deleted_at","is",null);if(Z)Q=Q.where("path","ilike",`%${Z}%`);if($.volumes)Q=Q.where("volume","in",$.volumes);if($.pathPrefix)Q=Q.where("path","like",`${ya($.pathPrefix)}/%`);if($.beforeSeq)Q=Q.where("seq","<",Kw`cast(${$.beforeSeq} as bigint)`);return(await Q.select(iH).orderBy("seq","desc").limit($.limit).execute()).map((X)=>dH(X))}async changesSince($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("seq",">",Kw`cast(${$.sinceSeq} as bigint)`).select(iH).orderBy("seq","asc").limit($.limit).execute()).map((Q)=>dH(Q))}async latestSeq($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).select(Kw`max(seq)`.as("seq")).executeTakeFirst())?.seq??"0"}}function ya($){return $.replace(/[\\%_]/g,"\\$&")}var iH,T30;var Xr0=L(()=>{iH=["organization_id","volume","path","parent","kind","content_hash","size","seq","deleted_at","created_by","created_at","updated_by","updated_at","thread_id","read_public","share_password_hash"],T30=Kw`nextval('org_fs_entry_seq')`});import{createHash as NZ4}from"crypto";import{readdir as BZ4,readFile as DZ4,stat as LZ4}from"fs/promises";import{join as t1$}from"path";import{gunzipSync as OZ4}from"zlib";function Gr0($,Z,Q){let Y=Z,X=Z+Q;while(Y<X&&$[Y]!==0)Y++;return new TextDecoder().decode($.subarray(Z,Y))}function wZ4($,Z,Q){let Y=Gr0($,Z,Q).trim();return Y===""?0:Number.parseInt(Y,8)}function EZ4($){let Z=new Map,Q=0,Y=null,X=null;while(Q+512<=$.length){let J=$.subarray(Q,Q+512);if(Q+=512,J.every((N)=>N===0))break;let G=Gr0(J,0,100),W=Gr0(J,345,155);if(W)G=`${W}/${G}`;let K=wZ4(J,124,12),H=String.fromCharCode(J[156]??0),F=$.subarray(Q,Q+K);if(Q+=Math.ceil(K/512)*512,H==="L"){let N=new TextDecoder().decode(F),B=N.indexOf("\x00");Y=B===-1?N:N.slice(0,B);continue}if(H==="x"){let N=new TextDecoder().decode(F);X=/(?:^|\n)\d+ path=([^\n]*)\n/.exec(N)?.[1]??null;continue}if(H==="g")continue;let U=X??Y??G;if(Y=null,X=null,H==="0"||H==="\x00"||H==="")Z.set(U,new Uint8Array(F))}return Z}function PZ4($,Z,Q){let Y=encodeURIComponent(Z);if(!Q)return{url:`https://codeload.github.com/${$}/tar.gz/${Y}`,headers:{}};return{url:`https://api.github.com/repos/${$}/tarball/${Y}`,headers:{Authorization:`Bearer ${Q}`,Accept:"application/vnd.github+json"}}}function o1$($,Z){if($.length>Im)throw Error(`tarball for ${Z} exceeds ${Im} bytes`);let Q=EZ4(new Uint8Array(OZ4($,{maxOutputLength:jZ4}))),Y=new Map;for(let[X,J]of Q){let G=X.indexOf("/");if(G===-1)continue;let W=X.slice(G+1);if(W)Y.set(W,J)}return Y}function s1$($,Z,Q){if($>Z)throw Error(`tarball for ${Q} exceeds ${Z} bytes`)}async function zZ4($,Z){let Q=[],Y=0,X=$.getReader();try{while(!0){let{done:W,value:K}=await X.read();if(W)break;Y+=K.length,s1$(Y,Im,Z),Q.push(K)}}finally{await X.cancel().catch(()=>{}),X.releaseLock()}let J=new Uint8Array(Y),G=0;for(let W of Q)J.set(W,G),G+=W.length;return J}function r1$($){if($ instanceof Wr0)return $.status>=500||$.status===429;if($ instanceof y0)return $.status===0||$.status>=500||$.status===429;if($ instanceof Error&&/declares .* bytes|exceeds .* bytes/.test($.message))return!1;return!0}async function AZ4($,Z,Q){let{url:Y,headers:X}=PZ4($,Z,Q),J=`${$}@${Z}`,G=async()=>{let W=await fetch(Y,{headers:X,signal:AbortSignal.timeout(60000)});if(!W.ok)throw await W.body?.cancel().catch(()=>{}),new Wr0(W.status,`tarball fetch failed for ${J}: HTTP ${W.status}`);let K=Number(W.headers.get("content-length")??0);if(K>Im)throw Error(`tarball for ${J} declares ${K} bytes (cap ${Im})`);let H=new Uint8Array(await W.arrayBuffer());return s1$(H.length,Im,J),H};try{let W=await F8(G,{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:r1$});return o1$(W,J)}catch(W){if(W instanceof e6)throw W.cause instanceof Error?W.cause:W;throw W}}async function TZ4($,Z){let Q=new Map;for(let{from:Y}of Z){let X=t1$($,Y);for(let J of await BZ4(X,{recursive:!0})){let G=t1$(X,J);if(!(await LZ4(G)).isFile())continue;Q.set(Y?`${Y}/${J}`:J,new Uint8Array(await DZ4(G)))}}return Q}async function qZ4($,Z){if($.dir)return TZ4($.dir,$.paths);if(!Z.tarball)return AZ4($.repo,$.ref,Z.authToken);let Q=Z.tarball,Y=`${$.repo}@${$.ref}`,X;try{X=await F8(()=>Q(),{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:r1$})}catch(J){throw J instanceof e6&&J.cause instanceof Error?J.cause:J}if(!X)throw Error(`tarball not found for ${Y}`);return o1$(await zZ4(X,Y),Y)}function RZ4($,Z){let Q=new Map;for(let{from:Y,to:X}of Z){let J=Y===""?"":`${Y.replace(/\/+$/,"")}/`;for(let[G,W]of $){if(!G.startsWith(J))continue;let K=G.slice(J.length);if(!K)continue;let H=N5(X?`${X}/${K}`:K);if(H)Q.set(H,W)}}return Q}function MZ4($,Z){let Q=new Set;for(let J of $){let G=J.split("/");for(let W=1;W<G.length;W++)Q.add(G.slice(0,W).join("/"))}let Y=[...Z].filter((J)=>!Q.has(J)).sort((J,G)=>J.length-G.length),X=[];for(let J of Y)if(!X.some((G)=>J.startsWith(`${G}/`)))X.push(J);return X}function VZ4($){return NZ4("sha256").update($).digest("hex")}function IZ4($){return $.manifestHash===$.hash&&$.storedPaths.has($.path)}async function kZ4($,Z){let Q=z30(Z),Y=new Set,X;do{let J=await $.list({prefix:Q,continuationToken:X});for(let G of J.objects)Y.add(G.key.slice(Q.length));X=J.nextContinuationToken}while(X);return Y}async function Kr0($,Z){let{orgId:Q,volume:Y,source:X}=Z,J=XJ(),G=J?z3(J,Q):new aW(Q,Z.baseUrl),W=new ga($),K=new ZK(G,W,Q),H=RZ4(await qZ4(X,Z),X.paths),F=new Map((await W.listVolumeFiles(Q,Y)).map((j)=>[j.path,j.contentHash]));if(H.size===0&&F.size>0)throw Error(`volume "${Y}" resolved 0 files from ${X.repo}@${X.ref} `+`(check paths config) \u2014 refusing to delete the ${F.size} existing files`);let U=0;for(let j of F.keys()){if(H.has(j))continue;await K.delete(Y,j,{actor:Jr0}),U++}let N=await W.listVolumeDirs(Q,Y);for(let j of MZ4(H.keys(),N.map((w)=>w.path)))await K.delete(Y,j,{actor:Jr0});let B=0,D=0,O=await kZ4(G,Y);for(let[j,w]of H){if(IZ4({hash:VZ4(w),manifestHash:F.get(j),storedPaths:O,path:j})){D++;continue}await K.write(Y,j,w,{actor:Jr0,contentType:f7(j),skipVolumeQuota:Z.skipVolumeQuota}),B++}return{written:B,deleted:U,unchanged:D}}async function CZ4($,Z,Q){let Y=await Kr0($,{orgId:xa,baseUrl:Q.baseUrl,volume:Gw(Z.set),source:Z,skipVolumeQuota:!0});return{set:Z.set,...Y}}async function Hr0($,Z,Q){try{return await CZ4($,Z,Q)}catch(Y){return{set:Z.set,error:Y instanceof Error?Y.message:String(Y)}}}async function a1$($,Z){let Q=[];for(let Y of YK())Q.push(await Hr0($,Y,Z));return Q}var Jr0="system:skill-set-sync",Im=209715200,jZ4=1073741824,Wr0;var q30=L(()=>{n$();C5();Xr0();Rm();Xw();cH();xU();QY();Ww();Wr0=class Wr0 extends Error{status;constructor($,Z){super(Z);this.status=$;this.name="TarballHttpError"}}});import{DBOS as R30,SchedulerMode as SZ4}from"@dbos-inc/dbos-sdk";function e1$($){Fr0=$}function vZ4(){if(!Fr0)throw Error("[org-fs] public-sets sync runtime not initialized \u2014 setPublicSetsSyncRuntime() must run before the workflow fires");return Fr0}async function bZ4($,Z){for(let Q of YK()){let Y=await R30.runStep(()=>{let X=vZ4();return Hr0(X.db,Q,{baseUrl:X.baseUrl})},{name:`syncPublicSet:${Q.set}`});if("error"in Y)console.warn(`[org-fs] public set "${Y.set}" sync failed: ${Y.error}`);else if(Y.written||Y.deleted)console.log(`[org-fs] public set "${Y.set}" synced: +${Y.written} -${Y.deleted} (=${Y.unchanged})`)}}function $$$(){if(ha)return;ha=R30.registerWorkflow(bZ4,{name:"publicSetsSyncWorkflow"}),R30.registerScheduled(ha,{name:"publicSetsSyncWorkflow",crontab:_Z4,mode:SZ4.ExactlyOncePerIntervalWhenActive})}async function Z$$(){if(YK().length===0||!ha)return;let $=new Date,Z=`public-sets-sync-boot:${$.toISOString().slice(0,13)}`;await R30.startWorkflow(ha,{workflowID:Z})($,$)}var _Z4="4,14,24,34,44,54 * * * *",Fr0=null,ha=null;var Q$$=L(()=>{Ww();q30()});import{createHash as Y$$}from"crypto";class Ur0{db;vault;constructor($,Z){this.db=$;this.vault=Z}async upsert($,Z){let Q=new Date,Y={encrypted_auth:await this.vault.encrypt(Z),auth_hash:Y$$("sha256").update(Z).digest("hex"),created_at:Q};return await this.db.insertInto("codex_subscriptions").values({user_id:$,...Y}).onConflict((X)=>X.column("user_id").doUpdateSet(Y)).execute(),{linkedAt:Q.toISOString(),expiresAt:null}}async find($){let Z=await this.db.selectFrom("codex_subscriptions").select("created_at").where("user_id","=",$).executeTakeFirst();return Z?{linkedAt:new Date(Z.created_at).toISOString(),expiresAt:null}:null}async findLiveToken($){let Z=await this.db.selectFrom("codex_subscriptions").select("encrypted_auth").where("user_id","=",$).executeTakeFirst();return Z?this.vault.decrypt(Z.encrypted_auth):null}async sync($,Z,Q){return(await this.db.updateTable("codex_subscriptions").set({encrypted_auth:await this.vault.encrypt(Q),auth_hash:Y$$("sha256").update(Q).digest("hex")}).where("user_id","=",$).where("auth_hash","=",Z).executeTakeFirst()).numUpdatedRows>0n}async delete($){await this.db.deleteFrom("codex_subscriptions").where("user_id","=",$).execute()}}var X$$=()=>{};import{jwtVerify as xZ4,SignJWT as J$$}from"jose";import{randomBytes as fZ4}from"crypto";function G$$(){if(ua)return ua;let $=B0(),Z=$.studioJwtSecret??$.betterAuthSecret;if(Z)ua=new TextEncoder().encode(Z);else console.warn("STUDIO_JWT_SECRET not set - generating random secret (not persistent)"),ua=new Uint8Array(fZ4(32));return ua}async function W$$($,Z="5m"){let Q=G$$();return await new J$$($).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Z).sign(Q)}async function Nr0($){try{let Z=G$$(),{payload:Q}=await xZ4($,Z);return Q}catch{return}}async function NQ($,Z,Q=3600){let Y=B0(),X=Y.plansEnabled?Y.studioJwtSecret:Y.studioJwtSecret??Y.betterAuthSecret;if(!X)throw Error(Y.plansEnabled?"STUDIO_JWT_SECRET (or MESH_JWT_SECRET) is required to mint gateway JWTs when STUDIO_PLANS_ENABLED is set \u2014 BETTER_AUTH_SECRET is deliberately not a fallback, see resolve-config":"A deterministic JWT secret is required to mint gateway JWTs \u2014 set STUDIO_JWT_SECRET or BETTER_AUTH_SECRET");let J=new TextEncoder().encode(X);return await new J$$({iss:"mesh",sub:$,...Z&&{email:Z}}).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Math.floor(Date.now()/1000)+Q).sign(J)}var ua=null;var pH=L(()=>{u1()});import{createCipheriv as yZ4,createDecipheriv as gZ4,createHash as hZ4,randomBytes as K$$}from"crypto";class GJ{key;constructor($){if(Buffer.from($,"base64").length===U$$)this.key=Buffer.from($,"base64");else this.key=hZ4("sha256").update($).digest()}async encrypt($){let Z=K$$(la),Q=yZ4(H$$,this.key,Z),Y=Q.update($,"utf8");Y=Buffer.concat([Y,Q.final()]);let X=Q.getAuthTag();return Buffer.concat([Z,X,Y]).toString("base64")}async decrypt($){let Z=Buffer.from($,"base64"),Q=Z.subarray(0,la),Y=Z.subarray(la,la+F$$),X=Z.subarray(la+F$$),J=gZ4(H$$,this.key,Q);J.setAuthTag(Y);let G=J.update(X);return G=Buffer.concat([G,J.final()]),G.toString("utf8")}static generateKey(){return K$$(U$$).toString("base64")}}var H$$="aes-256-gcm",la=16,F$$=16,U$$=32;var Hw=()=>{};function g9(){let $=B0();if($.baseUrl)return $.baseUrl;return`http://localhost:${$.port??3000}`}function N$$(){return`http://localhost:${B0().port??3000}`}function B5(){return B0().publicUrl??g9()}var H9=L(()=>{u1()});function km($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}import{z as uZ4}from"zod";function ca($){return fA.safeParse($).success}function da($,Z){let Q=km($??"").slice(0,ma).replace(/-+$/,"");return ca(Q)?Q:Z}function Br0($,Z){if(Z<=1)return $;let Q=`-${Z}`;return`${$.slice(0,ma-Q.length).replace(/-+$/,"")}${Q}`}var lZ4=2,ma=64,mZ4,cZ4,fA;var Fw=L(()=>{mZ4=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,cZ4=new Set(["new","edit","settings","apps","projects","connections"]),fA=uZ4.string().min(lZ4).max(ma).regex(mZ4,"Use lowercase letters, digits, and single hyphens between them").refine(($)=>!$.includes("--"),"Use single hyphens").refine(($)=>!cZ4.has($),"This slug is reserved")});import{z as v0}from"zod";function Or0($){let Z=$?.homeTiles;if(Array.isArray(Z)&&Z.length>0)return Z;let Q=$?.homeTile;return Q?[Q]:[]}function mD($){if(!$||typeof $!=="object"||Array.isArray($))return{};let Z=$,Q={};for(let[Y,X]of Object.entries(Z)){if(!X||typeof X!=="object")continue;if(Y!=="agent-sandbox"&&Y!=="local-api")continue;try{Q[Y]=jr0.parse(X)}catch{}}return Q}function wr0($){if(!$||typeof $!=="object"||Array.isArray($))return{};let Z={};for(let[Q,Y]of Object.entries($)){if(!Y||typeof Y!=="object"||Array.isArray(Y))continue;let X={};for(let[J,G]of Object.entries(Y)){let W=mD(G);if(Object.keys(W).length>0)X[J]=W}if(Object.keys(X).length>0)Z[Q]=X}return Z}var L$$,Dr0=500,O$$=200,dZ4=200,iZ4=20,pZ4=50,nZ4=100,tZ4=20,oZ4=100,j$$=300,sZ4=100,rZ4=8192,w$$,aZ4,E$$,Lr0,eZ4,$74,P$$,B$$,Z74,M30,D$$,Q74,Y74,V30,X74,J74,jr0,z$$,G74,W74,K74,H74,F74,U74,N74,A$$,B74,Er0,oY,Pr0,I30,k30;var zr0=L(()=>{Fw();L$$=v0.object({connection_id:v0.string().describe("Connection ID"),selected_tools:v0.array(v0.string()).nullable().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).nullable().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),w$$=L$$.extend({selected_tools:v0.array(v0.string()).max(Dr0).nullable().optional().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).max(Dr0).nullable().optional().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).max(Dr0).nullable().optional().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),aZ4=v0.object({connectionId:v0.string(),toolName:v0.string(),label:v0.string(),icon:v0.string().nullable().optional()}),E$$=v0.object({id:v0.string().describe("Stable id; used as React key and ?tab= value"),title:v0.string().describe("Tab label"),icon:v0.string().optional().describe("Optional lucide icon name"),view:v0.object({type:v0.literal("ext-app"),appId:v0.string(),args:v0.record(v0.string(),v0.unknown()).optional()})}),Lr0=v0.enum(["overview","reports","board","site-editor","assets","releases","hosting","e2e","analytics","cdn","automations","experiments"]),eZ4=v0.enum(["on","off"]),$74=v0.enum(["on","off","manual","auto"]),P$$=v0.object({defaultMainView:v0.object({type:v0.string(),id:v0.string().optional(),toolName:v0.string().optional()}).nullable().optional(),chatDefaultOpen:v0.boolean().nullable().optional(),cmsDefaultOpen:v0.boolean().nullable().optional(),cms:$74.nullable().optional().describe("How this agent offers content editing. Absent means on; the retired `manual` / `auto` read as on too."),sidebarViews:v0.array(Lr0).max(10).nullable().optional().describe("Deprecated layout-scoped sidebar selections. Read only as a fallback when metadata.sidebarViews is absent."),tabs:v0.array(E$$).max(tZ4).optional()}),B$$=v0.object({tileId:v0.string().optional(),connectionId:v0.string().optional().describe("Connection that owns the resource \u2014 the host opens a direct MCP client to this connection so the iframe can call tools by their bare names."),resourceUri:v0.string().describe("ui:// resource URI exposed by `connectionId`. Read on the home page and rendered via MCPAppRenderer."),toolName:v0.string().optional().describe("Tool name \u2014 identifies which tool's inputSchema to display when editing tile props."),toolInput:v0.record(v0.string(),v0.unknown()).optional().describe("User-configured input props passed to MCPAppRenderer when rendering the tile."),minHeight:v0.number().int().positive().optional(),maxHeight:v0.number().int().positive().optional()}),Z74=v0.object({banner:v0.string().nullable().optional(),bannerColor:v0.string().nullable().optional(),icon:v0.string().nullable().optional(),themeColor:v0.string().nullable().optional(),pinnedViews:v0.array(aZ4).max(nZ4).nullable().optional(),layout:P$$.nullable().optional(),homeTile:B$$.nullable().optional(),homeTiles:v0.array(B$$).max(iZ4).nullable().optional(),homePrompts:v0.array(v0.string()).max(pZ4).nullable().optional()});M30=/^[A-Za-z_][A-Za-z0-9_]*$/,D$$=v0.string().min(1).regex(M30,{message:"Env var key must start with a letter or underscore and contain only letters, digits, and underscores."}),Q74=v0.discriminatedUnion("kind",[v0.object({key:D$$,kind:v0.literal("literal"),value:v0.string().max(rZ4)}),v0.object({key:D$$,kind:v0.literal("secret"),secretId:v0.string().min(1)})]),Y74=v0.object({selected:v0.string().nullable().optional().describe("User-selected package manager (npm | pnpm | yarn | bun | deno). Null/absent means autodetect on next SANDBOX_START."),port:v0.string().nullable().optional().describe("User-selected dev server port as a string (allows '' / null for unset). Null/absent means autodetect."),path:v0.string().nullable().optional().describe("Optional path (relative to repo root) to the directory containing package.json. Null/absent means repo root. Forwarded as `application.packageManager.path` to the daemon config."),env:v0.array(Q74).max(sZ4).nullable().optional().describe("Env vars injected on every SANDBOX_START. Literal entries inline their value; secret entries store a secretId that Studio resolves via the credential vault before posting /_sandbox/config.")}),V30=v0.object({url:v0.string().describe("Repository URL, including its provider host"),owner:v0.string().describe("Repository owner"),name:v0.string().describe("Repository name"),installationId:v0.number().optional().describe("GitHub App installation ID. Absent when the repo was linked without a GitHub connection (public-clone mode)."),connectionId:v0.string().optional().describe("ID of the mcp-github connection used for authentication. Absent for public repos cloned without credentials."),repositoryId:v0.string().optional().describe("First-class repository (REPOSITORY_LINK) backing this binding. When set, credentials come from the repository's git provider account rather than connectionId.")}),X74=v0.enum(["agent-sandbox","local-api"]),J74={sandboxHandle:v0.string().describe("Provider-specific handle"),previewUrl:v0.string().nullable().describe("URL where the sandbox's iframe-proxied UI is served, or null when the sandbox has no dev server (blank / tool sandboxes)."),sandboxApiUrl:v0.string().nullable().optional().describe("Direct sandbox API URL for runtimes that expose one. Equal to previewUrl for local-api; null/absent for AgentSandbox, which routes control traffic through hosted Studio."),createdAt:v0.number().optional().describe("Epoch ms the entry was first written by SANDBOX_START. Used by the booting overlay to show a stable elapsed timer that survives browser reloads. Optional for backward compatibility with entries written before this field existed."),startedWith:v0.object({packageManager:v0.string().nullable().optional().describe("metadata.runtime.selected at the time of SANDBOX_START"),port:v0.string().nullable().optional().describe("metadata.runtime.port at the time of SANDBOX_START"),path:v0.string().nullable().optional().describe("metadata.runtime.path at the time of SANDBOX_START")}).optional().describe("Snapshot of metadata.runtime fields (selected/port/path) used at SANDBOX_START. The Preview tab compares the live metadata.runtime against this to decide if a restart is required to apply changes.")},jr0=v0.object(J74);z$$=v0.record(v0.string().describe("userId"),v0.record(v0.string().describe("branch"),v0.partialRecord(X74,jr0)));G74=v0.object({id:v0.string().describe("Stable identifier for this knowledge file"),name:v0.string().describe("File name shown in the UI"),kind:v0.enum(["file","skill"]).optional().describe("'file' (a single document) or 'skill' (a Claude Code skill folder containing SKILL.md). Defaults to 'file'."),volume:v0.string().describe("Org filesystem (Library) volume the file lives in"),path:v0.string().describe("Path within the volume"),url:v0.string().describe("Same-origin URL to read the file (display/download)"),contentType:v0.string().nullable().optional().describe("MIME type, used to decide whether to inline the content"),size:v0.number().nullable().optional().describe("File size in bytes"),addedAt:v0.string().describe("ISO timestamp when the file was attached")}),W74=v0.array(G74).max(oZ4).nullable().optional().describe("Files attached to the agent as reference knowledge. Surfaced in the system prompt: small text documents are inlined, others are listed as retrievable references."),K74=v0.enum(["smart","code-review","open"]),H74=K74.nullable().optional().describe("Controls when this code agent's changes may be published directly vs. requiring PR review. 'smart' (default) uses AI to judge per change; 'code-review' requires review for any code; 'open' allows direct publish always."),F74=v0.boolean().nullable().optional().describe("Enable Fast Preview (sandbox-less): render the draft instantly on the preview server's own page via a ?__draft pointer, with reads/writes served by the decofile API against GitHub. Requires previewServerUrl (or legacy productionUrl) to be set to take effect."),U74=v0.boolean().nullable().optional().describe("EXPERIMENTAL: with Fast Preview on, refresh content edits via an in-place /live/previews render (no commit, no reload) instead of a commit + re-navigation. Deco-runtime preview targets only. Requires fastPreview."),N74=v0.string().nullable().optional().describe("Preview server URL \u2014 the deployment the CMS preview renders against (often the live site, e.g. https://acme.com). Painted in the preview iframe, and the render target for Fast Preview drafts. Supersedes the legacy productionUrl key."),A$$=v0.object({branch:v0.string().describe("Git branch backing this release"),name:v0.string().describe('User-facing name, e.g. "Black Friday 2026"'),color:v0.string().describe("Dot color token shown in the version switcher"),createdBy:v0.string().optional().describe("User ID who created the release"),createdAt:v0.string().optional().describe("ISO 8601 creation timestamp")}),B74=v0.array(A$$).max(j$$).nullable().optional().describe("Curated list of named, branch-backed releases shown in the version switcher. The base branch ('No ar') is derived, not stored here."),Er0={instructions:v0.string().nullable().optional().describe("Instructions also used as system prompt"),subAgents:v0.array(v0.string()).max(dZ4).nullable().optional().describe("Allowlist of Virtual MCP (agent) or concrete MCP connection IDs this agent may delegate to via subtask. Concrete connections create ephemeral subagents. null/absent = all active org targets; empty array = itself only."),ui:Z74.nullable().optional().describe("UI customization settings"),sidebarViews:v0.array(Lr0).max(10).nullable().optional().describe("Project views selected for the sidebar. Interpret as an exact list when sidebarViewsVersion is 1; unversioned values use legacy native-only semantics. Runtime presence gates still apply."),sidebarViewsVersion:v0.literal(1).optional().describe("Version 1 marks metadata.sidebarViews as an exact list that can disable legacy default rows."),repository:V30.nullable().optional().describe("Linked repository"),runtime:Y74.nullable().optional().describe("User-pinned runtime config (package manager, dev port). Empty fields = autodetect."),knowledge:W74,siteSlug:v0.string().nullable().optional().describe("The project's site id (asset tenancy, CDN paths, site tokens). Set once when the site is created or imported; any write that would change it is refused."),publishPolicy:H74,previewServerUrl:N74,productionUrl:v0.string().nullable().optional().describe("Legacy key for previewServerUrl \u2014 still read as a fallback. New writes use previewServerUrl."),fieldDescriptionTooltips:v0.boolean().nullable().optional().describe("Blocks form: opt in to showing a field's schema description as a hover tooltip on its title, instead of the default inline text below the title."),fastPreview:F74,releases:B74,fastPreviewInPlace:U74},oY=v0.object({id:v0.string().describe("Unique identifier"),title:v0.string().describe("Human-readable name"),url_slug:v0.string().nullable().optional().describe("Name of the project in Studio URLs, unique in the organization"),description:v0.string().nullable().describe("Description"),icon:v0.string().nullable().describe("Icon URL"),created_at:v0.string().describe("Creation timestamp"),updated_at:v0.string().describe("Last update timestamp"),created_by:v0.string().describe("User ID who created this item"),updated_by:v0.string().optional().describe("User ID who last updated this item"),organization_id:v0.string().describe("Organization ID this item belongs to"),status:v0.enum(["active","inactive"]).describe("Current status"),pinned:v0.boolean().describe("Whether this space is pinned to the sidebar"),metadata:v0.object(Er0).extend({instructions:v0.string().nullable().describe("Instructions also used as system prompt"),sandboxMap:z$$.optional().describe("Per-user, per-branch sandbox mapping: sandboxMap[userId][branch] -> { sandboxHandle, previewUrl }")}).loose().describe("Metadata"),connections:v0.array(L$$).describe("Connections with their selected tools, resources, and prompts")}),Pr0=v0.object({title:v0.string().min(1).max(120).describe("Short label shown on the chip"),description:v0.string().max(280).optional().describe("One-line subtitle shown under the title"),text:v0.string().min(1).max(4000).describe("The message sent to the agent when the prompt is clicked")}),I30=v0.object({title:v0.string().min(1).max(255).describe("Name for the virtual MCP"),description:v0.string().max(500).nullable().optional().describe("Optional description"),icon:v0.string().nullish().describe("Optional icon URL"),status:v0.enum(["active","inactive"]).optional().default("active").describe("Initial status"),pinned:v0.boolean().optional().default(!1).describe("Pin to sidebar"),metadata:v0.object(Er0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(w$$).max(O$$).describe("Connections to include/exclude (can be empty for exclusion mode)"),prompts:v0.array(Pr0).max(20).optional().describe("Optional kickstart prompts to seed on the agent. Each becomes a clickable conversation starter (icebreaker) on the agent. Author them from the agent's role and the tools it will have so they're coherent and immediately useful.")}),k30=v0.object({title:v0.string().min(1).max(255).optional().describe("New name"),url_slug:fA.nullish().describe("New URL slug. The old one keeps redirecting. Renaming does not change it. null keeps the current slug."),description:v0.string().max(500).nullable().optional().describe("New description (null to clear)"),icon:v0.string().nullish().describe("New icon URL"),status:v0.enum(["active","inactive"]).optional().describe("New status"),pinned:v0.boolean().optional().describe("Pin/unpin from sidebar"),metadata:v0.object(Er0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(w$$).max(O$$).optional().describe("New connections (replaces existing)"),prompts:v0.array(Pr0).max(20).optional().describe("Replace the agent's kickstart prompts with this full set. Omit to leave them unchanged; pass an empty array to remove all. Each becomes a clickable conversation starter (icebreaker).")})});function q$$($){return $==="repository"||$==="additionalRepositories"?Tr0[$]:$}function R$$($){return $!==null&&typeof $==="object"&&!Array.isArray($)?$:null}function T$$($){let Z=R$$($),Q=Z&&Z.url===void 0&&typeof Z.owner==="string"&&/^[\w.-]+$/.test(Z.owner)&&typeof Z.name==="string"&&/^[\w.-]+$/.test(Z.name)?`https://github.com/${Z.owner}/${Z.name}`:void 0,Y=V30.safeParse(Q?{...Z,url:Q}:$);if(!Y.success)return null;try{return Ar0(Y.data)??null}catch{return null}}function nH($){let Z=R$$($);if(!Z)return null;let Q={...Z};for(let[Y,X]of Object.entries(Tr0)){if(delete Q[X],!(Y in Z)&&!(X in Z))continue;let J=Object.hasOwn(Z,Y)?Z[Y]:Z[X];if(Y==="repository")Q.repository=T$$(J);else Q.additionalRepositories=J===null?null:Array.isArray(J)?J.map(T$$).filter((G)=>G!==null):[]}return Q}function Ar0($){if($===null||$===void 0)return $;let Z=V30.parse($),Q=new URL(Z.url);if(Q.protocol!=="https:"&&Q.protocol!=="http:")throw Error("Repository URL must use HTTP or HTTPS");return Q.username="",Q.password="",Q.search="",Q.hash="",{...Z,url:Q.toString()}}function yU($){if(!$)return null;let Z={...$};for(let[Q,Y]of Object.entries(Tr0)){if(Object.hasOwn($,Y))throw Error(`Repository metadata must use ${Q}; ${Y} is a database compatibility key`);if(delete Z[Q],delete Z[Y],!Object.hasOwn($,Q))continue;let X=$[Q];if(Q==="repository")Z[Y]=Ar0(X);else if(X===null||X===void 0)Z[Y]=X;else{if(!Array.isArray(X))throw Error("Additional repositories must be an array");Z[Y]=X.map((J)=>Ar0(J))}}return Z}var Tr0;var ia=L(()=>{zr0();Tr0={repository:"githubRepo",additionalRepositories:"githubRepos"}});import*as g from"zod/v4";function l$$($){if($.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${$.params.ref.type}`)}function m$$($){if($.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${$.params.ref.type}`)}var Uw="2025-11-25",M$$="2025-03-26",Nw,Bw="io.modelcontextprotocol/related-task",S30="2.0",g7,V$$,I$$,ng5,D74,L74,qr0,T3,pa,k$$=($)=>pa.safeParse($).success,YY,XK,JK,XY,_30,C$$,gU=($)=>C$$.safeParse($).success,S$$,_$$=($)=>S$$.safeParse($).success,Rr0,tH=($)=>Rr0.safeParse($).success,l1,Mr0,Sm=($)=>Mr0.safeParse($).success,q3,tg5,cD,O74,v30,j74,na,Cm,v$$,w74,E74,P74,z74,A74,T74,b30,Vr0=($)=>b30.safeParse($).success,q74,Ir0,x30,b$$=($)=>x30.safeParse($).success,f30,R74,M74,y30,V74,ta,oa,I74,sa,dD,k74,ra,g30,h30,u30,og5,l30,m30,c30,x$$,f$$,y$$,kr0,g$$,aa,_m,h$$,C74,Dw,Cr0,Lw,Sr0,_r0,S74,vm,vr0,br0,_74,v74,b74,x74,f74,y74,g74,h74,Ow,xr0,u74,bm,fr0,yr0,gr0,l74,m74,c74,hr0,d74,ur0,lr0,i74,p74,d30,xm,ea,hU,sg5,n74,jw,mr0,u$$,$e,t74,cr0,o74,s74,r74,a74,e74,$Q4,ZQ4,C30,QQ4,YQ4,dr0,yA,Ze,XQ4,JQ4,GQ4,WQ4,KQ4,HQ4,FQ4,UQ4,NQ4,BQ4,DQ4,LQ4,OQ4,jQ4,wQ4,ir0,EQ4,PQ4,ww,zQ4,AQ4,TQ4,i30,pr0,qQ4,RQ4,nr0,MQ4,rg5,ag5,eg5,$h5,Zh5,Qh5,x1,c$$;var IZ=L(()=>{Nw=[Uw,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],g7=g.custom(($)=>$!==null&&(typeof $==="object"||typeof $==="function")),V$$=g.union([g.string(),g.number().int()]),I$$=g.string(),ng5=g.looseObject({ttl:g.number().optional(),pollInterval:g.number().optional()}),D74=g.object({ttl:g.number().optional()}),L74=g.object({taskId:g.string()}),qr0=g.looseObject({progressToken:V$$.optional(),[Bw]:L74.optional()}),T3=g.object({_meta:qr0.optional()}),pa=T3.extend({task:D74.optional()}),YY=g.object({method:g.string(),params:T3.loose().optional()}),XK=g.object({_meta:qr0.optional()}),JK=g.object({method:g.string(),params:XK.loose().optional()}),XY=g.looseObject({_meta:qr0.optional()}),_30=g.union([g.string(),g.number().int()]),C$$=g.object({jsonrpc:g.literal(S30),id:_30,...YY.shape}).strict(),S$$=g.object({jsonrpc:g.literal(S30),...JK.shape}).strict(),Rr0=g.object({jsonrpc:g.literal(S30),id:_30,result:XY}).strict();(function($){$[$.ConnectionClosed=-32000]="ConnectionClosed",$[$.RequestTimeout=-32001]="RequestTimeout",$[$.ParseError=-32700]="ParseError",$[$.InvalidRequest=-32600]="InvalidRequest",$[$.MethodNotFound=-32601]="MethodNotFound",$[$.InvalidParams=-32602]="InvalidParams",$[$.InternalError=-32603]="InternalError",$[$.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(l1||(l1={}));Mr0=g.object({jsonrpc:g.literal(S30),id:_30.optional(),error:g.object({code:g.number().int(),message:g.string(),data:g.unknown().optional()})}).strict(),q3=g.union([C$$,S$$,Rr0,Mr0]),tg5=g.union([Rr0,Mr0]),cD=XY.strict(),O74=XK.extend({requestId:_30.optional(),reason:g.string().optional()}),v30=JK.extend({method:g.literal("notifications/cancelled"),params:O74}),j74=g.object({src:g.string(),mimeType:g.string().optional(),sizes:g.array(g.string()).optional(),theme:g.enum(["light","dark"]).optional()}),na=g.object({icons:g.array(j74).optional()}),Cm=g.object({name:g.string(),title:g.string().optional()}),v$$=Cm.extend({...Cm.shape,...na.shape,version:g.string(),websiteUrl:g.string().optional(),description:g.string().optional()}),w74=g.intersection(g.object({applyDefaults:g.boolean().optional()}),g.record(g.string(),g.unknown())),E74=g.preprocess(($)=>{if($&&typeof $==="object"&&!Array.isArray($)){if(Object.keys($).length===0)return{form:{}}}return $},g.intersection(g.object({form:w74.optional(),url:g7.optional()}),g.record(g.string(),g.unknown()).optional())),P74=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({sampling:g.looseObject({createMessage:g7.optional()}).optional(),elicitation:g.looseObject({create:g7.optional()}).optional()}).optional()}),z74=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({tools:g.looseObject({call:g7.optional()}).optional()}).optional()}),A74=g.object({experimental:g.record(g.string(),g7).optional(),sampling:g.object({context:g7.optional(),tools:g7.optional()}).optional(),elicitation:E74.optional(),roots:g.object({listChanged:g.boolean().optional()}).optional(),tasks:P74.optional(),extensions:g.record(g.string(),g7).optional()}),T74=T3.extend({protocolVersion:g.string(),capabilities:A74,clientInfo:v$$}),b30=YY.extend({method:g.literal("initialize"),params:T74}),q74=g.object({experimental:g.record(g.string(),g7).optional(),logging:g7.optional(),completions:g7.optional(),prompts:g.object({listChanged:g.boolean().optional()}).optional(),resources:g.object({subscribe:g.boolean().optional(),listChanged:g.boolean().optional()}).optional(),tools:g.object({listChanged:g.boolean().optional()}).optional(),tasks:z74.optional(),extensions:g.record(g.string(),g7).optional()}),Ir0=XY.extend({protocolVersion:g.string(),capabilities:q74,serverInfo:v$$,instructions:g.string().optional()}),x30=JK.extend({method:g.literal("notifications/initialized"),params:XK.optional()}),f30=YY.extend({method:g.literal("ping"),params:T3.optional()}),R74=g.object({progress:g.number(),total:g.optional(g.number()),message:g.optional(g.string())}),M74=g.object({...XK.shape,...R74.shape,progressToken:V$$}),y30=JK.extend({method:g.literal("notifications/progress"),params:M74}),V74=T3.extend({cursor:I$$.optional()}),ta=YY.extend({params:V74.optional()}),oa=XY.extend({nextCursor:I$$.optional()}),I74=g.enum(["working","input_required","completed","failed","cancelled"]),sa=g.object({taskId:g.string(),status:I74,ttl:g.union([g.number(),g.null()]),createdAt:g.string(),lastUpdatedAt:g.string(),pollInterval:g.optional(g.number()),statusMessage:g.optional(g.string())}),dD=XY.extend({task:sa}),k74=XK.merge(sa),ra=JK.extend({method:g.literal("notifications/tasks/status"),params:k74}),g30=YY.extend({method:g.literal("tasks/get"),params:T3.extend({taskId:g.string()})}),h30=XY.merge(sa),u30=YY.extend({method:g.literal("tasks/result"),params:T3.extend({taskId:g.string()})}),og5=XY.loose(),l30=ta.extend({method:g.literal("tasks/list")}),m30=oa.extend({tasks:g.array(sa)}),c30=YY.extend({method:g.literal("tasks/cancel"),params:T3.extend({taskId:g.string()})}),x$$=XY.merge(sa),f$$=g.object({uri:g.string(),mimeType:g.optional(g.string()),_meta:g.record(g.string(),g.unknown()).optional()}),y$$=f$$.extend({text:g.string()}),kr0=g.string().refine(($)=>{try{return atob($),!0}catch{return!1}},{message:"Invalid Base64 string"}),g$$=f$$.extend({blob:kr0}),aa=g.enum(["user","assistant"]),_m=g.object({audience:g.array(aa).optional(),priority:g.number().min(0).max(1).optional(),lastModified:g.iso.datetime({offset:!0}).optional()}),h$$=g.object({...Cm.shape,...na.shape,uri:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),size:g.optional(g.number()),annotations:_m.optional(),_meta:g.optional(g.looseObject({}))}),C74=g.object({...Cm.shape,...na.shape,uriTemplate:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),annotations:_m.optional(),_meta:g.optional(g.looseObject({}))}),Dw=ta.extend({method:g.literal("resources/list")}),Cr0=oa.extend({resources:g.array(h$$)}),Lw=ta.extend({method:g.literal("resources/templates/list")}),Sr0=oa.extend({resourceTemplates:g.array(C74)}),_r0=T3.extend({uri:g.string()}),S74=_r0,vm=YY.extend({method:g.literal("resources/read"),params:S74}),vr0=XY.extend({contents:g.array(g.union([y$$,g$$]))}),br0=JK.extend({method:g.literal("notifications/resources/list_changed"),params:XK.optional()}),_74=_r0,v74=YY.extend({method:g.literal("resources/subscribe"),params:_74}),b74=_r0,x74=YY.extend({method:g.literal("resources/unsubscribe"),params:b74}),f74=XK.extend({uri:g.string()}),y74=JK.extend({method:g.literal("notifications/resources/updated"),params:f74}),g74=g.object({name:g.string(),description:g.optional(g.string()),required:g.optional(g.boolean())}),h74=g.object({...Cm.shape,...na.shape,description:g.optional(g.string()),arguments:g.optional(g.array(g74)),_meta:g.optional(g.looseObject({}))}),Ow=ta.extend({method:g.literal("prompts/list")}),xr0=oa.extend({prompts:g.array(h74)}),u74=T3.extend({name:g.string(),arguments:g.record(g.string(),g.string()).optional()}),bm=YY.extend({method:g.literal("prompts/get"),params:u74}),fr0=g.object({type:g.literal("text"),text:g.string(),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),yr0=g.object({type:g.literal("image"),data:kr0,mimeType:g.string(),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),gr0=g.object({type:g.literal("audio"),data:kr0,mimeType:g.string(),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),l74=g.object({type:g.literal("tool_use"),name:g.string(),id:g.string(),input:g.record(g.string(),g.unknown()),_meta:g.record(g.string(),g.unknown()).optional()}),m74=g.object({type:g.literal("resource"),resource:g.union([y$$,g$$]),annotations:_m.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),c74=h$$.extend({type:g.literal("resource_link")}),hr0=g.union([fr0,yr0,gr0,c74,m74]),d74=g.object({role:aa,content:hr0}),ur0=XY.extend({description:g.string().optional(),messages:g.array(d74)}),lr0=JK.extend({method:g.literal("notifications/prompts/list_changed"),params:XK.optional()}),i74=g.object({title:g.string().optional(),readOnlyHint:g.boolean().optional(),destructiveHint:g.boolean().optional(),idempotentHint:g.boolean().optional(),openWorldHint:g.boolean().optional()}),p74=g.object({taskSupport:g.enum(["required","optional","forbidden"]).optional()}),d30=g.object({...Cm.shape,...na.shape,description:g.string().optional(),inputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()),outputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()).optional(),annotations:i74.optional(),execution:p74.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),xm=ta.extend({method:g.literal("tools/list")}),ea=oa.extend({tools:g.array(d30)}),hU=XY.extend({content:g.array(hr0).default([]),structuredContent:g.record(g.string(),g.unknown()).optional(),isError:g.boolean().optional()}),sg5=hU.or(XY.extend({toolResult:g.unknown()})),n74=pa.extend({name:g.string(),arguments:g.record(g.string(),g.unknown()).optional()}),jw=YY.extend({method:g.literal("tools/call"),params:n74}),mr0=JK.extend({method:g.literal("notifications/tools/list_changed"),params:XK.optional()}),u$$=g.object({autoRefresh:g.boolean().default(!0),debounceMs:g.number().int().nonnegative().default(300)}),$e=g.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),t74=T3.extend({level:$e}),cr0=YY.extend({method:g.literal("logging/setLevel"),params:t74}),o74=XK.extend({level:$e,logger:g.string().optional(),data:g.unknown()}),s74=JK.extend({method:g.literal("notifications/message"),params:o74}),r74=g.object({name:g.string().optional()}),a74=g.object({hints:g.array(r74).optional(),costPriority:g.number().min(0).max(1).optional(),speedPriority:g.number().min(0).max(1).optional(),intelligencePriority:g.number().min(0).max(1).optional()}),e74=g.object({mode:g.enum(["auto","required","none"]).optional()}),$Q4=g.object({type:g.literal("tool_result"),toolUseId:g.string().describe("The unique identifier for the corresponding tool call."),content:g.array(hr0).default([]),structuredContent:g.object({}).loose().optional(),isError:g.boolean().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),ZQ4=g.discriminatedUnion("type",[fr0,yr0,gr0]),C30=g.discriminatedUnion("type",[fr0,yr0,gr0,l74,$Q4]),QQ4=g.object({role:aa,content:g.union([C30,g.array(C30)]),_meta:g.record(g.string(),g.unknown()).optional()}),YQ4=pa.extend({messages:g.array(QQ4),modelPreferences:a74.optional(),systemPrompt:g.string().optional(),includeContext:g.enum(["none","thisServer","allServers"]).optional(),temperature:g.number().optional(),maxTokens:g.number().int(),stopSequences:g.array(g.string()).optional(),metadata:g7.optional(),tools:g.array(d30).optional(),toolChoice:e74.optional()}),dr0=YY.extend({method:g.literal("sampling/createMessage"),params:YQ4}),yA=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens"]).or(g.string())),role:aa,content:ZQ4}),Ze=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(g.string())),role:aa,content:g.union([C30,g.array(C30)])}),XQ4=g.object({type:g.literal("boolean"),title:g.string().optional(),description:g.string().optional(),default:g.boolean().optional()}),JQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),minLength:g.number().optional(),maxLength:g.number().optional(),format:g.enum(["email","uri","date","date-time"]).optional(),default:g.string().optional()}),GQ4=g.object({type:g.enum(["number","integer"]),title:g.string().optional(),description:g.string().optional(),minimum:g.number().optional(),maximum:g.number().optional(),default:g.number().optional()}),WQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),default:g.string().optional()}),KQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),oneOf:g.array(g.object({const:g.string(),title:g.string()})),default:g.string().optional()}),HQ4=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),enumNames:g.array(g.string()).optional(),default:g.string().optional()}),FQ4=g.union([WQ4,KQ4]),UQ4=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({type:g.literal("string"),enum:g.array(g.string())}),default:g.array(g.string()).optional()}),NQ4=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({anyOf:g.array(g.object({const:g.string(),title:g.string()}))}),default:g.array(g.string()).optional()}),BQ4=g.union([UQ4,NQ4]),DQ4=g.union([HQ4,FQ4,BQ4]),LQ4=g.union([DQ4,XQ4,JQ4,GQ4]),OQ4=pa.extend({mode:g.literal("form").optional(),message:g.string(),requestedSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),LQ4),required:g.array(g.string()).optional()})}),jQ4=pa.extend({mode:g.literal("url"),message:g.string(),elicitationId:g.string(),url:g.string().url()}),wQ4=g.union([OQ4,jQ4]),ir0=YY.extend({method:g.literal("elicitation/create"),params:wQ4}),EQ4=XK.extend({elicitationId:g.string()}),PQ4=JK.extend({method:g.literal("notifications/elicitation/complete"),params:EQ4}),ww=XY.extend({action:g.enum(["accept","decline","cancel"]),content:g.preprocess(($)=>$===null?void 0:$,g.record(g.string(),g.union([g.string(),g.number(),g.boolean(),g.array(g.string())])).optional())}),zQ4=g.object({type:g.literal("ref/resource"),uri:g.string()}),AQ4=g.object({type:g.literal("ref/prompt"),name:g.string()}),TQ4=T3.extend({ref:g.union([AQ4,zQ4]),argument:g.object({name:g.string(),value:g.string()}),context:g.object({arguments:g.record(g.string(),g.string()).optional()}).optional()}),i30=YY.extend({method:g.literal("completion/complete"),params:TQ4});pr0=XY.extend({completion:g.looseObject({values:g.array(g.string()).max(100),total:g.optional(g.number().int()),hasMore:g.optional(g.boolean())})}),qQ4=g.object({uri:g.string().startsWith("file://"),name:g.string().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),RQ4=YY.extend({method:g.literal("roots/list"),params:T3.optional()}),nr0=XY.extend({roots:g.array(qQ4)}),MQ4=JK.extend({method:g.literal("notifications/roots/list_changed"),params:XK.optional()}),rg5=g.union([f30,b30,i30,cr0,bm,Ow,Dw,Lw,vm,v74,x74,jw,xm,g30,u30,l30,c30]),ag5=g.union([v30,y30,x30,MQ4,ra]),eg5=g.union([cD,yA,Ze,ww,nr0,h30,m30,dD]),$h5=g.union([f30,dr0,ir0,RQ4,g30,u30,l30,c30]),Zh5=g.union([v30,y30,s74,y74,br0,mr0,lr0,ra,PQ4]),Qh5=g.union([cD,Ir0,pr0,ur0,xr0,Cr0,Sr0,vr0,hU,ea,h30,m30,dD]);x1=class x1 extends Error{constructor($,Z,Q){super(`MCP error ${$}: ${Z}`);this.code=$,this.data=Q,this.name="McpError"}static fromError($,Z,Q){if($===l1.UrlElicitationRequired&&Q){let Y=Q;if(Y.elicitations)return new c$$(Y.elicitations,Z)}return new x1($,Z,Q)}};c$$=class c$$ extends x1{constructor($,Z=`URL elicitation${$.length>1?"s":""} required`){super(l1.UrlElicitationRequired,Z,{elicitations:$})}get elicitations(){return this.data?.elicitations??[]}}});import{z as e$}from"zod";function p$$($){return e$.record(e$.string(),e$.unknown()).nullable().refine((Z)=>Z===null||JSON.stringify(Z).length<=i$$,{message:`${$} must serialize to at most ${i$$} bytes`})}function uU($){return $!==null&&$!==void 0&&"command"in $}function fm($){if(!$||!$.startsWith("virtual://"))return null;return $.replace("virtual://","")}function ym($){return`virtual://${$}`}var n$$,d$$,VQ4,IQ4,kQ4,i$$=262144,sY,p30,n30;var t$$=L(()=>{Fw();IZ();n$$=e$.object({authorizationEndpoint:e$.string().url(),tokenEndpoint:e$.string().url(),introspectionEndpoint:e$.string().url().optional(),clientId:e$.string(),clientSecret:e$.string().optional(),scopes:e$.array(e$.string()),grantType:e$.enum(["authorization_code","client_credentials"])}),d$$=e$.object({type:e$.literal("object"),properties:e$.record(e$.string(),e$.unknown()).optional(),required:e$.array(e$.string()).optional()}).catchall(e$.unknown()),VQ4=d30.extend({inputSchema:d$$,outputSchema:d$$.optional()}),IQ4=e$.object({headers:e$.record(e$.string(),e$.string()).optional()}),kQ4=e$.object({command:e$.string().describe("Command to run (e.g., 'npx', 'node')"),args:e$.array(e$.string()).optional().describe("Command arguments"),cwd:e$.string().optional().describe("Working directory"),envVars:e$.record(e$.string(),e$.string()).optional().describe("Environment variables (encrypted in storage)")});sY=e$.object({id:e$.string().describe("Unique identifier for the connection"),title:e$.string().describe("Human-readable name for the connection"),created_at:e$.string().describe("When the connection was created"),updated_at:e$.string().describe("When the connection was last updated"),created_by:e$.string().describe("User ID who created the connection"),updated_by:e$.string().optional().describe("User ID who last updated the connection"),organization_id:e$.string().describe("Organization ID this connection belongs to"),description:e$.string().nullable().describe("Description of the connection"),icon:e$.string().nullable().describe("Icon URL for the connection"),app_name:e$.string().nullable().describe("Associated app name"),app_id:e$.string().nullable().describe("Associated app ID"),slug:e$.string().nullable().optional().describe("URL-safe slug derived from app_name, connection_url, or title"),url_slug:e$.string().nullable().optional().describe("Name of the connection in Studio URLs, unique in the organization. Set it to rename the URL; the old one keeps redirecting."),connection_type:e$.enum(["HTTP","SSE","Websocket","STDIO","VIRTUAL"]).describe("Type of connection"),connection_url:e$.string().nullable().describe("URL for HTTP/SSE/WebSocket connections. virtual://$id for VIRTUAL. Null for STDIO."),connection_token:e$.string().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:e$.union([kQ4,IQ4]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:n$$.nullable().describe("OAuth configuration"),configuration_state:p$$("configuration_state").describe("Configuration state (decrypted)"),configuration_scopes:e$.array(e$.string()).nullable().optional().describe("Configuration scopes"),metadata:p$$("metadata").describe("Additional metadata (includes repository info)"),tools:e$.array(VQ4).nullable().describe("Discovered tools from MCP"),bindings:e$.array(e$.string()).nullable().describe("Detected bindings"),status:e$.enum(["active","inactive","error"]).describe("Current status")}),p30=sY.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0}).extend({icon:e$.string().nullish()}),n30=sY.partial().extend({url_slug:fA.nullish()})});function gA($){return CQ4.has($)}function o$$($){return SQ4.has($)}var tZ,CQ4,SQ4,t30;var tr0=L(()=>{tZ=["deco","anthropic","openrouter","llmapi","google","openai-compatible"],CQ4=new Set(tZ);SQ4=new Set(["anthropic","openrouter","deco"]);t30=[...tZ,"claude-code","codex"]});function or0($,Z){return{id:crypto.randomUUID(),type:Qe.STEP,source:"decopilot",subject:$,data:{stepCount:Z},time:new Date().toISOString()}}function o30($,Z){return{id:crypto.randomUUID(),type:Qe.FINISH,source:"decopilot",subject:$,data:{status:Z},time:new Date().toISOString()}}function lU($,Z,Q){return{id:crypto.randomUUID(),type:Qe.THREAD_STATUS,source:"decopilot",subject:$,data:{status:Z,...Q?.messageId!==void 0&&{message_id:Q.messageId},...Q?.virtualMcpId!==void 0&&{virtual_mcp_id:Q.virtualMcpId},...Q?.createdBy!==void 0&&{created_by:Q.createdBy},...Q?.triggerId!==void 0&&{trigger_id:Q.triggerId},...Q?.title!==void 0&&{title:Q.title},...Q?.branch!==void 0&&{branch:Q.branch},...Q?.harnessId!==void 0&&{harness_id:Q.harnessId},...Q?.createdAt!==void 0&&{created_at:Q.createdAt},...Q?.updatedAt!==void 0&&{updated_at:Q.updatedAt},...Q?.metadata!==void 0&&{metadata:Q.metadata}},time:new Date().toISOString()}}var s$$,_Q4,Qe,vQ4;var r$$=L(()=>{s$$=["in_progress","requires_action","failed","completed"],_Q4=[...s$$,"expired"],Qe={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},vQ4=Object.values(Qe)});var s30=L(()=>{t$$();zr0();tr0();r$$()});var mU=L(()=>{s30()});import{lookup as bQ4}from"dns/promises";function Ye($,Z){if($===10)return!0;if($===172&&Z!==void 0&&Z>=16&&Z<=31)return!0;if($===192&&Z===168)return!0;if($===127)return!0;if($===169&&Z===254)return!0;if($===0)return!0;if($===100&&Z!==void 0&&Z>=64&&Z<=127)return!0;return!1}function sr0($){let Z=Number.parseInt($.padStart(4,"0"),16);return[Z>>8,Z&255]}function a$$($){let Z=$.split(":").filter((Q)=>Q.length>0);if($.startsWith("2002:")&&Z.length>=2){let[Q,Y]=sr0(Z[1]);if(Ye(Q,Y))return!0}if($.startsWith("64:ff9b::")&&Z.length>=4){let[Q,Y]=sr0(Z[Z.length-2]);if(Ye(Q,Y))return!0}if($.startsWith("::")&&Z.length===2){let[Q,Y]=sr0(Z[0]);if(Ye(Q,Y))return!0}return!1}function r30($){try{let Q=new URL($).hostname.toLowerCase();if(Q==="localhost"||Q==="0.0.0.0"||Q.endsWith(".local")||Q.endsWith(".internal")||Q.endsWith(".localhost"))return!0;let Y=Q.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Y){let[,X,J]=Y.map(Number);if(Ye(X,J))return!0}if(Q.startsWith("[")&&Q.endsWith("]")){let X=Q.slice(1,-1).toLowerCase();if(X==="::1"||X==="::")return!0;if(X.startsWith("::ffff:"))return!0;if(X.startsWith("fc")||X.startsWith("fd"))return!0;if(X.startsWith("fe80"))return!0;if(X.startsWith("100:"))return!0;if(X.startsWith("::1"))return!0;if(a$$(X))return!0}return!1}catch{return!0}}function xQ4($){let Z=$.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Z){let[,Y,X]=Z.map(Number);return Ye(Y,X)}let Q=$.toLowerCase();if(Q==="::1"||Q==="::")return!0;if(Q.startsWith("::ffff:"))return!0;if(Q.startsWith("fc")||Q.startsWith("fd"))return!0;if(Q.startsWith("fe80"))return!0;if(Q.startsWith("100:"))return!0;return a$$(Q)}async function fQ4($,Z=async(Q)=>(await bQ4(Q,{all:!0})).map((Y)=>Y.address)){try{let Q=await Z($);return Q.length===0||Q.some(xQ4)}catch{return!0}}async function iD($){if(r30($))return"URLs targeting private networks are not allowed";let Q=new URL($).hostname;if(/^\d+\.\d+\.\d+\.\d+$/.test(Q)||Q.startsWith("[")&&Q.endsWith("]"))return null;try{return await rr0(fQ4(Q),5000,"DNS resolution timeout")?"URLs targeting private networks are not allowed":null}catch{return"URLs targeting private networks are not allowed"}}function rr0($,Z,Q){let Y,X=new Promise((J,G)=>{Y=setTimeout(()=>G(Error(Q)),Z)});return Promise.race([$,X]).finally(()=>clearTimeout(Y))}function pD($=fetch){return async(Z,Q)=>{let Y=await $(Z,{...Q,redirect:"manual"});if(Y.status>=300&&Y.status<400)throw Error("Refusing to follow a redirect from the remote server");return Y}}var gm=()=>{};var e$$="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";import{webcrypto as $8$}from"crypto";function gQ4($){if(!hA||hA.length<$)hA=Buffer.allocUnsafe($*yQ4),$8$.getRandomValues(hA),hm=0;else if(hm+$>hA.length)$8$.getRandomValues(hA),hm=0;hm+=$}function a30($=21){gQ4($|=0);let Z="";for(let Q=hm-$;Q<hm;Q++)Z+=e$$[hA[Q]&63];return Z}var yQ4=128,hA,hm;var ar0=()=>{};function m8($){return`${$}_${a30()}`}var JY=L(()=>{ar0()});function Q8$($,Z){return{id:s8.SELF(Z),title:"Deco CMS",description:"The MCP for the CMS API",connection_type:"HTTP",connection_url:`${$}/mcp/self`,icon:"https://assets.decocache.com/mcp/09e44283-f47d-4046-955f-816d227c626f/app.png",app_name:"@deco/management-mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"self"}}}function Y8$($,Z){return{id:s8.DEV_ASSETS(Z),title:"Local Files",description:"Local file storage for development. Files are stored in /data/assets/.",connection_type:"HTTP",connection_url:`${$}/mcp/dev-assets`,icon:"https://api.iconify.design/lucide:folder.svg?color=%23888",app_name:"@deco/dev-assets-mcp",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isFixed:!0,devOnly:!0,type:"dev-assets"}}}function cU($){return{is(Z){if(!Z)return null;if(!Z.startsWith($))return null;return Z.slice($.length)||null},get(Z){return`${$}${Z}`}}}function hQ4($){return{id:$.id,organization_id:$.organizationId,title:$.title,description:$.description,icon:$.icon,status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:$.instructions??null,...$.ui?{ui:$.ui}:{}},pinned:!1,connections:[]}}function Ew($){if(!$)return!1;try{return uQ4.has(new URL($).hostname)}catch{return!1}}function $a0($){return hQ4({id:R3($),organizationId:$,title:"Super Agent",description:"Default agent that aggregates all organization connections",icon:lQ4,ui:{layout:{defaultMainView:{type:"overview"},chatDefaultOpen:!0}}})}function H8$($,Z,Q="https://reports.decocms.com/api/v2/mcp"){return{id:s8.REPORTS($),title:"Deco Score",description:"Your store's Deco Score",connection_type:"HTTP",connection_url:Q,icon:"https://github.com/decocms.png",app_name:"commerce-discovery",app_id:null,connection_token:Z,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!1,type:"commerce-discovery"}}}function F8$($,Z=s8.REPORTS($)){return{title:"Deco Score Agent",description:"Ask anything about your store's Deco Score",icon:"https://github.com/decocms.png",status:"active",pinned:!0,metadata:{type:"commerce-discovery",isDefault:!1,ui:{pinnedViews:[{connectionId:Z,toolName:"get_my_diagnostic",label:"Deco Score",icon:"https://github.com/decocms.png"}],layout:{defaultMainView:{type:"ext-apps",id:Z,toolName:"get_my_diagnostic"},chatDefaultOpen:!0}}},connections:[{connection_id:Z,selected_tools:null,selected_resources:null,selected_prompts:null}]}}function Za0($){if(!$)return!1;return Object.values(um).some((Z)=>Z.is($)!==null)}function dQ4($){if(!$)return!1;return cQ4.some((Z)=>Z.is($)!==null)}function $W0($){return!BQ($.id)&&!Za0($.id)&&!dQ4($.id)}function U8$($){let Z=$a0($);return{...Z,id:Z.id,connection_type:"VIRTUAL",connection_url:`virtual://${Z.id}`,app_name:"decopilot",app_id:"decopilot",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"decopilot"},tools:[],bindings:[]}}var s8,Z8$="https://reports.decocms.com/api/v2/mcp",e30="get_my_diagnostic",X8$,BQ,R3,uQ4,J8$,G8$,er0,lQ4="https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png",mQ4="#6366f1",Ih5,W8$,kh5,Ch5,K8$,Sh5,lm,um,dU,Qa0,cQ4;var N8$=L(()=>{s8={SELF:($)=>`${$}_self`,REGISTRY:($)=>`${$}_registry`,COMMUNITY_REGISTRY:($)=>`${$}_community-registry`,DEV_ASSETS:($)=>`${$}_dev-assets`,SITE_DIAGNOSTICS:($)=>`site-diagnostics_${$}`,REPORTS:($)=>`${$}_commerce-discovery`};X8$=cU("decopilot_"),BQ=X8$.is,R3=X8$.get,uQ4=new Set(["mcp.figma.com"]);J8$=cU("dev_"),G8$=J8$.get,er0=J8$.is,Ih5=`https://api.iconify.design/lucide:file-search.svg?color=${encodeURIComponent(mQ4)}`;W8$=cU("site-diagnostics_"),kh5=W8$.is,Ch5=W8$.get,K8$=cU("commerce-discovery_"),Sh5=K8$.is,lm=K8$.get;um={AUTOMATION_MANAGER:cU("studio-automation-manager_"),CONNECTION_MANAGER:cU("studio-connection-manager_"),API_KEY_MANAGER:cU("studio-api-key-manager_"),STORE_MANAGER:cU("studio-store-manager_"),USAGE_MANAGER:cU("studio-usage-manager_")},dU={AUTOMATION_MANAGER:um.AUTOMATION_MANAGER.get,CONNECTION_MANAGER:um.CONNECTION_MANAGER.get,API_KEY_MANAGER:um.API_KEY_MANAGER.get,STORE_MANAGER:um.STORE_MANAGER.get,USAGE_MANAGER:um.USAGE_MANAGER.get};Qa0=["studio-agent-manager_","studio-task-manager_","studio-brand-manager_"],cQ4=Qa0.map(cU)});function iQ4($){return $.capabilities?.includes("decisions")===!0}function B8$($){return $.toLowerCase().replace(/[^a-z0-9]/g,"")}function aQ4($){return B8$($).includes("deepresearch")}function D8$($){let Z=B8$($);if(Z.includes("deepresearch"))return!1;return eQ4.some((Q)=>Z.includes(Q))}function $Y4($){return $.asyncResearch!==!0&&D8$($.modelId)}function ZY4($){return $.asyncResearch===!0||aQ4($.modelId)||D8$($.modelId)}function mm($,Z,Q,Y){for(let X of Q){let J=$.find((G)=>G.modelId===X);if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}for(let X of Q){let J=$.find((G)=>G.modelId.includes(X));if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}if(Y){let X=$.find(Y);if(X)return{keyId:Z,modelId:X.modelId,title:X.title}}return null}function L8$($,Z){let Q={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(let Y of $){let X=(Z[Y.id]??[]).filter((G)=>!iQ4(G)),J=Y.providerId;if(!Q.chat.fast)Q.chat.fast=mm(X,Y.id,pQ4[J]??[]);if(!Q.chat.smart)Q.chat.smart=mm(X,Y.id,nQ4[J]??[]);if(!Q.chat.thinking)Q.chat.thinking=mm(X,Y.id,tQ4[J]??[]);if(!Q.image)Q.image=mm(X,Y.id,oQ4[J]??[],(G)=>G.capabilities?.includes("image")===!0&&!G.modelId.startsWith("openrouter/auto"));if(!Q.webSearch)Q.webSearch=mm(X,Y.id,sQ4[J]??[],$Y4);if(!Q.deepResearch)Q.deepResearch=mm(X,Y.id,rQ4[J]??[],ZY4)}return Q}var pQ4,nQ4,tQ4,oQ4,sQ4,rQ4,eQ4;var O8$=L(()=>{pQ4={anthropic:["claude-haiku-4-5","claude-haiku"],openrouter:["qwen/qwen3.5-flash","anthropic/claude-haiku-4.5","anthropic/claude-haiku","google/gemini-3-flash"],deco:["qwen/qwen3.5-flash","anthropic/claude-haiku"],llmapi:["claude-haiku-4-5","claude-haiku","gpt-4o-mini"],google:["gemini-2.5-flash","gemini-3-flash"]},nQ4={anthropic:["claude-sonnet-5","claude-sonnet"],openrouter:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude-opus-4.8","google/gemini-3-pro"],deco:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude"],llmapi:["claude-sonnet-4-6","claude-sonnet"],google:["gemini-3-pro","gemini-3-flash"]},tQ4={anthropic:["claude-opus-4-8","claude-sonnet-5","claude-sonnet","claude-fable-5"],openrouter:["anthropic/claude-opus-4.8:extended","anthropic/claude-opus-4.8","anthropic/claude-sonnet-5:extended","anthropic/claude-sonnet-5","google/gemini-3-pro","anthropic/claude-fable-5"],deco:["anthropic/claude-opus","anthropic/claude-sonnet-4.6","anthropic/claude-sonnet","anthropic/claude-fable"],llmapi:["claude-opus-4-8","claude-opus","claude-sonnet-4-6"],google:["gemini-3-pro"]},oQ4={openrouter:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],deco:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],llmapi:["gemini-2.5-flash-image","gpt-image-1"],google:["gemini-2.0-flash-image"]},sQ4={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},rQ4={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};eQ4=["sonar","searchpreview","online"]});function ZW0($){if(!$)return;let Z={};for(let Q in $){let Y=$[Q];if(typeof Y==="object"&&Y!==null){let X={};for(let J of QY4)if(J in Y)X[J]=Y[J];Z[Q]=X}}return Object.keys(Z).length>0?Z:void 0}var QY4;var j8$=L(()=>{QY4=["usage","cost","model"]});var q8=L(()=>{s30();N8$();O8$();j8$()});function uA($){if($.app_name)return $.app_name;if($.connection_url)try{let Z=new URL($.connection_url),Y=((Z.port?`${Z.hostname}-${Z.port}`:Z.hostname)+Z.pathname).replace(/\/+$/,"");return km(Y)}catch{return km($.connection_url)}if($.title)return km($.title);return $.id??"unknown"}var QW0=()=>{};var cm=300000,Pw=5000,YW0=1e4,Ya0=3,Xa0=30000,w8$=65000,XW0=1000,dm=3,E8$=5,P8$=60000,z8$=300000,Ja0=60000;function A8$(){if(nD.size<XW0)return;let $=null,Z=1/0;for(let[Q,Y]of nD)if(Y.lastFailureAt<Z)Z=Y.lastFailureAt,$=Q;if($)nD.delete($)}function T8$($){let Z=nD.get($);if(!Z)return A8$(),nD.set($,{consecutiveFailures:1,disabled:!1,lastFailureAt:Date.now()}),{consecutiveFailures:1,thresholdCrossed:1>=dm};return Z.consecutiveFailures++,Z.lastFailureAt=Date.now(),{consecutiveFailures:Z.consecutiveFailures,thresholdCrossed:Z.consecutiveFailures>=dm}}function Ga0($){let Z=nD.get($);if(Z){Z.disabled=!0;return}A8$(),nD.set($,{consecutiveFailures:dm,disabled:!0,lastFailureAt:Date.now()})}function q8$($){return nD.get($)?.disabled??!1}function R8$($){nD.delete($)}var nD;var M8$=L(()=>{nD=new Map});function Wa0($){try{let Z=new URL($.url);if(Z.protocol!=="https:"&&Z.protocol!=="http:")return null;let Q=Z.pathname.replace(/\/+$/,"").replace(/\.git$/i,"");return Q?{host:Z.host.toLowerCase(),path:Q.slice(1)}:null}catch{return null}}function Xe($){let Z=Wa0($);return Z?`${Z.host}/${Z.path}`.toLowerCase():null}function tD($,Z){if($.repositoryId&&Z.repositoryId)return $.repositoryId===Z.repositoryId;let Q=Xe($);return Q!==null&&Q===Xe(Z)}function zw($){let Z=$.startsWith("./")?$.slice(2):$;for(let Q of["/app/org/","org/"]){if(!Z.startsWith(Q))continue;let Y=Z.slice(Q.length);return Y.split("/").includes("..")?null:Y}return null}var rY="/app/org",aY="home";var YG=()=>{};var Aw="New chat";function I8$(){return`<platform>
|
|
80
80
|
You are an AI agent running on Deco CMS \u2014 a control plane for connecting
|
|
81
81
|
AI agents to external services via the Model Context Protocol (MCP).
|
|
82
82
|
|
|
@@ -4157,7 +4157,7 @@ ${Z}`}:Y)}}var YK8=L(()=>{IZ()});async function ae6($,Z,Q){if(!$)return!1;let Y=
|
|
|
4157
4157
|
${b.length>0?b.join(`
|
|
4158
4158
|
`):"None."}`].join(`
|
|
4159
4159
|
|
|
4160
|
-
`),l=await E.create({organizationId:X,title:X15(G,N.title,W),description:h,status:K1.intake,priority:ZH8[W.status],type:"bug",virtualMcpId:N.agentIds[0]??null,by:o$});return await E.recordActivity({taskBoardItemId:l.id,action:"created",actorId:null}),await Q.setIncidentTask(X,J,G,l.id),await Q.setVerdictFlags(X,J,G,{crossCheckPending:!1}),await R(l.id),K8(X,l),l.id}if(!P||!T){if(U)await Q.setIncidentTask(X,J,G,null);return null}if(Y.action==="pause")return await E.createComment({taskBoardItemId:P.id,organizationId:X,authorId:o$,body:`Too few orders to judge since ${j(H)}. The card closes once the rule is back to normal for ${QH8/60000} minutes.`}),P.id;let f=Y.action==="close";if(!f&&!(W.status==="alert"&&P.priority!=="urgent"))return P.id;await E.createComment({taskBoardItemId:P.id,organizationId:X,authorId:o$,body:f?`Back to normal since ${j(H)}. ${lP1(G,W)}`:`Now **alert**. ${lP1(G,W)}`});let S=await E.update(P.id,X,f?{status:K1.done}:{priority:ZH8.alert},o$);if(f)await Q.setIncidentTask(X,J,G,null);return await R(P.id),K8(X,S),f?null:P.id}var Cf0=($)=>$==="warning"||$==="alert",QH8=1800000,Y15=1800000,XH8,$H8=($)=>String($).padStart(2,"0"),Sf0=($)=>{let Z=($+rO)%rO;return`${$H8(Math.floor(Z*15/60))}:${$H8(Z*15%60)}`},N2=($)=>Math.round($).toLocaleString("en-US"),ZH8;var cP1=L(()=>{At();v8();H9();FP();m90();m5();M70();uP1();R70();XH8={orders_drop:"Orders",denied_spike:"Payment denials",cancel_spike:"Cancellations"};ZH8={warning:"high",alert:"urgent"}});import{DBOS as V70,SchedulerMode as G15}from"@dbos-inc/dbos-sdk";import{sql as W15}from"kysely";function WH8($){iP1=$}function nP1(){if(!iP1)throw Error("[order-monitor] runtime not initialized \u2014 setOrderMonitorRuntime() must run before the workflow fires");return iP1.db}async function F15(){let $=B0().orderMonitorIngestUrl;if(!$||!W2())return[];let Z=await H15().listIngestInstalls($),Q=await Promise.all(Z.map((Y)=>NP$(Y.createdBy,Y.organizationId,"monitoring")));return Z.filter((Y,X)=>Q[X])}async function U15($,{organizationId:Z,connectionId:Q},Y,X,J){return $.transaction().execute(async(G)=>{await KH8(G,Q);let W=new Vu(G),K=await W.listStates(Z,Q);if(K.some((U)=>U.evaluatedAt>Y))return null;let H=new Map(K.map((U)=>{let N=U.evaluatedAt.getTime()===Y.getTime();return[U.rule,{status:N?U.prevStatus??void 0:U.status,sinceStatus:U.status,since:U.since,verdict:U.verdict,task:U.task}]})),F=th.map((U)=>{let N=H.get(U),B=pP1(X[U].status),D=(j)=>B&&N?.verdict[j]===!0,O={...X[U],timezone:J,...D("ingestIncident")?{ingestIncident:!0}:{},...D("crossCheckPending")?{crossCheckPending:!0,...typeof N?.verdict.crossCheckSince==="string"?{crossCheckSince:N.verdict.crossCheckSince}:{}}:{}};return{rule:U,status:O.status,since:N?.sinceStatus===O.status?N.since:Y,evaluatedAt:Y,verdict:{...O},prevStatus:N?.status??null}});return await W.upsertStates(Z,Q,F),{prev:H,states:F}})}async function N15($,Z){let{organizationId:Q,connectionId:Y}=$;try{let X=await If0(Q,Y,Z);if(!X)return console.warn(`[order-monitor] connection ${Y} has no timezone in the lake; the ingest worker's zone map needs an entry`),{connectionId:Y,incidents:[]};let J=bP1(X),G=await U15(nP1(),$,Z,J,X.timezone);if(!G)return{connectionId:Y,incidents:[]};let{prev:W,states:K}=G,H=[];for(let F of K){let U=W.get(F.rule);if(U?.status!==F.status&&(pP1(U?.status)||pP1(F.status)))console.log("[order-monitor] transition",{organizationId:Q,connectionId:Y,rule:F.rule,from:U?.status??null,to:F.status,at:Z.toISOString(),observed:F.verdict.observed,expected:F.verdict.expected,notify:_P1[F.rule]});let B=YH8(U?.status,F.status,{hasCard:!!U?.task,heldMs:Z.getTime()-F.since.getTime(),retryOpen:F.verdict.crossCheckPending===!0});if(_P1[F.rule]&&B!=="none")H.push({organizationId:Q,connectionId:Y,rule:F.rule,action:B,verdict:F.verdict,at:Z,since:F.since})}if(K.some((F)=>W.get(F.rule)?.status!==F.status))IP1(Q,Y);return{connectionId:Y,incidents:H}}catch(X){return{connectionId:Y,incidents:[],error:X instanceof Error?X.message:String(X)}}}async function B15($){try{let Z=nP1(),Q=await hJ(Z,$.organizationId);if(!Q)return{};return await Z.transaction().execute(async(Y)=>{await KH8(Y,$.connectionId),await JH8(Q,Z,new Vu(Y),{...$,at:new Date($.at),since:new Date($.since)})}),IP1($.organizationId,$.connectionId),{}}catch(Z){return{error:Z instanceof Error?Z.message:String(Z)}}}async function D15($,Z){let Q=await V70.runStep(F15,{name:"loadMonitoredStores"});if(Q.length===0)return;let Y=[];for(let J=0;J<Q.length;J+=GH8)Y.push(...await Promise.all(Q.slice(J,J+GH8).map((G)=>V70.runStep(()=>N15(G,$),{name:`evaluateStore:${G.connectionId}`}))));let X=await Promise.all(Y.flatMap((J)=>J.incidents.map((G)=>V70.runStep(()=>B15(G),{name:`syncIncidentTask:${G.connectionId}:${G.rule}`}).then((W)=>({...W,connectionId:G.connectionId})))));for(let J of[...Y,...X])if(J.error)console.warn(`[order-monitor] connection ${J.connectionId} failed: ${J.error}`)}function HH8(){if(dP1)return;dP1=V70.registerWorkflow(D15,{name:"orderMonitorWorkflow"}),V70.registerScheduled(dP1,{name:"orderMonitorWorkflow",crontab:K15,mode:G15.ExactlyOncePerIntervalWhenActive})}var K15="3,8,13,18,23,28,33,38,43,48,53,58 * * * *",GH8=20,iP1=null,H15=()=>new Vu(nP1()),pP1=($)=>$==="warning"||$==="alert",KH8=($,Z)=>W15`select pg_advisory_xact_lock(hashtext(${`order-monitor:${Z}`})::bigint)`.execute($),dP1=null;var FH8=L(()=>{VG();Oo();u1();VP1();mz();uK8();cP1();M70();R70()});import{createHmac as L15,timingSafeEqual as O15}from"crypto";function NH8($,Z,Q,Y=Date.now()){if(!Z||!Q)return!1;let X,J=[];for(let H of Z.split(",")){let F=H.indexOf("=");if(F<=0)continue;let U=H.slice(0,F).trim(),N=H.slice(F+1).trim();if(U==="t")X=N;else if(U==="v1")J.push(N)}if(!X||J.length===0)return!1;let G=Number(X);if(!Number.isFinite(G)||Math.abs(Y/1000-G)>j15)return!1;let W=L15("sha256",Q).update(`${X}.${$}`).digest("hex"),K=Buffer.from(W,"hex");return J.some((H)=>{let F=Buffer.from(H,"hex");return K.length===F.length&&O15(K,F)})}function BH8($){let Z;try{Z=JSON.parse($)}catch{return null}let Q=k7(Z),Y=k7(k7(Q?.data)?.object);if(!Q||typeof Q.type!=="string"||!Y)return null;return{id:_W(Q.id),type:Q.type,created:typeof Q.created==="number"?Q.created:void 0,livemode:typeof Q.livemode==="boolean"?Q.livemode:void 0,data:{object:Y}}}function vf0($){switch($){case"active":case"trialing":return"active";case"past_due":return"past_due";default:return"canceled"}}function _W($){return typeof $==="string"?$:void 0}function k7($){return typeof $==="object"&&$!==null?$:void 0}function bf0($){return typeof $==="number"?new Date($*1000):null}function _f0($){return _W($)??_W(k7($)?.id)}function w15($){return _f0($.subscription)??_W(k7(k7($.parent)?.subscription_details)?.subscription)}function E15($){let Z=k7($.lines)?.data;if(Array.isArray(Z)){let Q=null;for(let Y of Z){let X=k7(k7(Y)?.period)?.end;if(typeof X==="number"&&(Q===null||X>Q))Q=X}if(Q!==null)return new Date(Q*1000)}return bf0($.period_end)}function P15($,Z){let Q=k7($.items)?.data;if(!Array.isArray(Q))return;for(let Y of Q){let X=k7(Y)?.amount;if(typeof X==="number"&&X<=0)continue;let J=_f0(k7(Y)?.price);if(J&&Z[J])return Z[J]}return}function sP1($,Z,Q){if($==="past_due")return;if($!=="active")return"free";return}function z15($){let Z=bf0($.current_period_end);if(Z)return Z;let Q=k7($.items)?.data;if(!Array.isArray(Q))return null;let Y=0;for(let X of Q){let J=k7(X)?.current_period_end;if(typeof J==="number"&&J>Y)Y=J}return Y>0?new Date(Y*1000):null}function tP1($,Z){let Q=bf0($.created);return!!Q&&!!Z.lastStripeEventAt&&Q<Z.lastStripeEventAt}function oP1($,Z){let Q=bf0($.created);if(!Q)return;return Z.lastStripeEventAt&&Z.lastStripeEventAt>Q?void 0:Q}async function A15($,Z){let Q=Z.data.object;switch(Z.type){case"checkout.session.completed":case"checkout.session.async_payment_succeeded":{let Y=_W(k7(Q.metadata)?.orgId);if(!Y)return{handled:!1,reason:"no orgId"};if(_W(k7(Q.metadata)?.kind)==="topup"){if(Q.mode!=="payment")return{handled:!1,reason:"topup with wrong mode"};if(_W(Q.payment_status)!=="paid")return{handled:!1,reason:"payment not confirmed"};let U=_W(Q.id);if(!U)return console.error("stripe webhook: topup session without id",{eventId:Z.id,organizationId:Y}),{handled:!1,reason:"topup session without id"};let N=Number(k7(Q.metadata)?.creditCents);if(!Number.isInteger(N)||N<=0)return console.error("stripe webhook: paid topup with bad metadata \u2014 credit NOT applied",{eventId:Z.id,organizationId:Y,creditCents:k7(Q.metadata)?.creditCents}),{handled:!1,reason:"bad topup metadata"};return{handled:!0,organizationId:Y,topUp:{creditCents:N,referenceId:`stripe-topup:${U}`}}}if(Q.mode!=="subscription")return{handled:!1,reason:"not a subscription checkout"};let X=_W(Q.payment_status),J=_W(k7(Q.metadata)?.trial)==="1"&&X==="no_payment_required";if(X!=="paid"&&!J)return{handled:!1,reason:"payment not confirmed"};let G=await $.ensureBilling(Y);if(!G)return console.error("stripe webhook: PAID checkout for an org that does not exist",{organizationId:Y,eventId:Z.id}),{handled:!1,reason:"unknown org"};let W=_f0(Q.subscription);if(!W)return console.error("stripe webhook: subscription checkout without a sub id",{organizationId:Y,eventId:Z.id}),{handled:!1,reason:"subscription checkout without sub id"};if(tP1(Z,G))return{handled:!1,reason:"stale event"};if(G.stripeSubscriptionId&&G.stripeSubscriptionId!==W)return console.error("stripe webhook: refused checkout rebind",{organizationId:Y,eventId:Z.id}),{handled:!1,reason:"org already bound to another subscription",orphanSubscriptionId:W};let K=_f0(Q.customer);if(!await $.bindSubscription(Y,{stripeSubscriptionId:W,...K?{stripeCustomerId:K}:{},status:"active",lastStripeEventAt:oP1(Z,G)}))return console.error("stripe webhook: lost the bind race",{organizationId:Y,subscriptionId:W,eventId:Z.id}),{handled:!1,reason:"org already bound to another subscription",orphanSubscriptionId:W};let F=_W(k7(Q.metadata)?.planId);return{handled:!0,organizationId:Y,...F?{planChange:{planId:F,note:`stripe checkout ${_W(Q.id)??""}`.trim()}}:{}}}case"customer.subscription.updated":case"customer.subscription.deleted":{let Y=_W(Q.id);if(!Y)return{handled:!1,reason:"no sub id"};let X=await $.getBillingByStripeSubscriptionId(Y);if(!X)return{handled:!1,reason:"unknown subscription"};let J=Z.type==="customer.subscription.deleted";if(!J&&tP1(Z,X))return{handled:!1,reason:"stale event"};let G=J?"canceled":vf0(Q.status);await $.updateStripeState(X.organizationId,{status:G,currentPeriodEnd:z15(Q),...J&&{stripeSubscriptionId:null},lastStripeEventAt:oP1(Z,X)});let W=sP1(G,Q,B0().stripePlanPriceIds);return{handled:!0,organizationId:X.organizationId,...W?{planChange:{planId:W,note:`stripe ${Z.type} (${G})`}}:{}}}case"invoice.paid":{let Y=w15(Q);if(!Y)return{handled:!1,reason:"no sub id"};let X=await $.getBillingByStripeSubscriptionId(Y);if(!X)return{handled:!1,reason:"unknown subscription"};if(tP1(Z,X))return{handled:!1,reason:"stale event"};await $.updateStripeState(X.organizationId,{status:"active",currentPeriodEnd:E15(Q),lastStripeEventAt:oP1(Z,X)});let J=P15({items:Q.lines},B0().stripePlanPriceIds);return{handled:!0,organizationId:X.organizationId,...J?{planChange:{planId:J,note:"stripe invoice.paid"}}:{}}}default:return{handled:!1,reason:`unhandled event ${Z.type}`}}}function T15($,Z){if(!Z.handled||$.livemode===!1)return null;let Q=$.data.object;if(Z.topUp)return{name:"credits_topup_succeeded",organizationId:Z.organizationId,properties:{credit_cents:Z.topUp.creditCents}};switch($.type){case"checkout.session.completed":case"checkout.session.async_payment_succeeded":return{name:"subscription_started",organizationId:Z.organizationId,properties:{}};case"customer.subscription.deleted":return{name:"subscription_canceled",organizationId:Z.organizationId,properties:{}};case"customer.subscription.updated":return{name:"subscription_updated",organizationId:Z.organizationId,properties:{status:vf0(Q.status),...typeof Q.cancel_at_period_end==="boolean"?{cancel_at_period_end:Q.cancel_at_period_end}:{}}};case"invoice.paid":if(Q.billing_reason==="subscription_create")return null;return{name:"subscription_renewed",organizationId:Z.organizationId,properties:{}};default:return null}}function UH8($,Z){let Q=T15($,Z);if(!Q)return;m7({event:Q.name,organizationId:Q.organizationId,...$.id?{uuid:aK$(`stripe:${$.id}:${Q.name}`)}:{},...$.created?{timestamp:new Date($.created*1000)}:{},properties:Q.properties})}async function DH8($){let Z=new I3(E8().db),Q=await A15(Z,$);if(!(Q.handled&&Q.topUp))UH8($,Q);if(Q.handled&&Q.topUp)await aQ8({organizationId:Q.organizationId,amountCents:Q.topUp.creditCents,referenceId:Q.topUp.referenceId}),UH8($,Q);if(Q.handled&&Q.planChange){try{await No({organizationId:Q.organizationId,planId:Q.planChange.planId,note:Q.planChange.note})}catch(Y){if(!(Y instanceof Uo))throw Y;return console.error("stripe webhook: gateway REFUSED the plan change \u2014 the org has been "+"charged (or cancelled) and its entitlement did NOT move. Place it by hand through the gateway admin API.",{organizationId:Q.organizationId,planId:Q.planChange.planId,eventId:$.id,status:Y.status,error:Y.message}),Q}Ou(Q.organizationId)}if(!Q.handled&&Q.orphanSubscriptionId){let Y=Q.orphanSubscriptionId;try{await sy$(Y)}catch(J){if(!(J instanceof G7&&(J.status===400||J.status===404)))throw J}let{refundedCents:X}=await ry$(Y);console.error("stripe webhook: reversed orphan subscription",{subscriptionId:Y,refundedCents:X,eventId:$.id})}return Q}var j15=300;var rP1=L(()=>{Q70();k3();Q6();I00();XO();Z70();u1()});import{DBOS as xf0,SchedulerMode as q15}from"@dbos-inc/dbos-sdk";function LH8($){eP1=$}function OH8(){if(!eP1)throw Error("[subscription-sweep] runtime not initialized \u2014 setSubscriptionSweepRuntime() must run before the workflow fires");return eP1}async function I15($){let{organizationId:Z,stripeSubscriptionId:Q}=$;if(!Q)return{organizationId:Z,action:"ok"};let Y=new I3(OH8().db);try{let X,J,G=!1;try{let K=await Gz(Q);X=vf0(K.status),J=k15(K)}catch(K){if(!(K instanceof G7)||K.status!==404)throw K;X="canceled",J=$.currentPeriodEnd,G=!0}let W=sP1(X,{},B0().stripePlanPriceIds);if(await Y.updateStripeState(Z,{status:X,currentPeriodEnd:J,...G&&{stripeSubscriptionId:null}}),!W)return{organizationId:Z,action:"ok"};return await No({organizationId:Z,planId:W,note:`studio subscription sweep (${X})`}),Ou(Z),console.warn("[subscription-sweep] revoked a paid tier whose webhook never arrived",{organizationId:Z,subscriptionId:Q,status:X}),{organizationId:Z,action:G?"gone":"revoked"}}catch(X){if(X instanceof Uo)console.error("[subscription-sweep] gateway REFUSED the revocation \u2014 the org still holds a tier it no longer pays for",{organizationId:Z,subscriptionId:Q,status:X.status});return{organizationId:Z,action:"failed",error:X instanceof Error?X.message:String(X)}}}function k15($){if(typeof $.current_period_end==="number")return new Date($.current_period_end*1000);let Z=0;for(let Q of $.items?.data??[])if(typeof Q.current_period_end==="number")Z=Math.max(Z,Q.current_period_end);return Z>0?new Date(Z*1000):null}async function C15($,Z){let Q=B0();if(!Q.plansEnabled||!Q.stripeSecretKey)return;let Y=new Date($.getTime()-M15),X=await xf0.runStep(()=>new I3(OH8().db).listSubscriptionsPastPeriodEnd(Y,V15),{name:"loadLapsedSubscriptions"});if(X.length===0)return;let J=await Promise.all(X.map((W)=>xf0.runStep(()=>I15(W),{name:`sweepSubscription:${W.organizationId}`})));for(let W of J)if(W.action==="failed")console.warn(`[subscription-sweep] org ${W.organizationId} failed: ${W.error}`);let G=J.filter((W)=>W.action==="revoked"||W.action==="gone").length;if(G>0)console.warn(`[subscription-sweep] revoked ${G} of ${X.length} lapsed subscriptions`)}function jH8(){if(aP1)return;aP1=xf0.registerWorkflow(C15,{name:"subscriptionSweepWorkflow"}),xf0.registerScheduled(aP1,{name:"subscriptionSweepWorkflow",crontab:R15,mode:q15.ExactlyOncePerIntervalWhenActive})}var R15="41 * * * *",M15=172800000,V15=100,eP1=null,aP1=null;var wH8=L(()=>{Q70();I00();XO();Z70();rP1();u1()});async function S15($,Z){let Q=await $.storage.tags.listOrgTags(Z),Y=Q.find((J)=>J.name.toLowerCase()===ff0);if(Y)return Y.id;return(await $.storage.tags.createTag(Z,ff0,qF0(Q.length))).id}async function _15($,Z,Q,Y,X){let J=await $.storage.taskBoard.getById(Q,Z);if(!J||!C88(J.status))return!1;let G=await $.storage.taskBoard.listPrs(Q,Z),W=await Promise.all(G.map(async(H)=>({...H,...await X($,Z,H)})));if(!sh(W))return!1;await $.storage.taskBoard.addItemTags(Q,[await Y()],"system");let K=await $.storage.taskBoard.getById(Q,Z);if(!K)return!1;return await Q9($,{taskBoardItemId:Q,action:"tags_changed",actorId:null,data:{from:J.tags,to:K.tags,reason:"merged_pr_auto_tag"}}),K8(Z,K),!0}async function EH8($,Z,Q,Y=Kv0){let X=null,J=()=>X??=S15($,Z),G=0;for(let W of Q)try{if(await _15($,Z,W,J,Y))G+=1}catch(K){console.error(`[task-board-merged-tag] ${W} failed`,K)}return{tagged:G}}var ff0="merged";var PH8=L(()=>{v8();xX();Mt();YU();yQ();m5()});import{DBOS as yf0,SchedulerMode as v15}from"@dbos-inc/dbos-sdk";function zH8($){Zz1=$}function AH8(){if(!Zz1)throw Error("[task-board-merged-tag] runtime not initialized \u2014 setTaskBoardMergedTagSweepRuntime() must run before the workflow fires");return Zz1}async function f15($,Z){try{let Q=await hJ(AH8().db,$);if(!Q)return{organizationId:$,tagged:0};let{tagged:Y}=await EH8(Q,$,Z);return{organizationId:$,tagged:Y}}catch(Q){return{organizationId:$,tagged:0,error:Q instanceof Error?Q.message:String(Q)}}}async function y15(){let $=await yf0.runStep(()=>new LW(AH8().db).listItemsAwaitingMergedTag(ff0,x15),{name:"loadMergedTagCandidates"});if($.length===0)return;let Z=await Promise.all(Wv0($).map(({organizationId:Y,itemIds:X})=>yf0.runStep(()=>f15(Y,X),{name:`tagMergedForOrg:${Y}`})));for(let Y of Z)if(Y.error)console.warn(`[task-board-merged-tag] org ${Y.organizationId} failed: ${Y.error}`);let Q=Z.reduce((Y,X)=>Y+X.tagged,0);if(Q>0)console.log(`[task-board-merged-tag] tagged ${Q} of ${$.length} candidates`)}function TH8(){if($z1)return;$z1=yf0.registerWorkflow(y15,{name:"taskBoardMergedTagSweepWorkflow"}),yf0.registerScheduled($z1,{name:"taskBoardMergedTagSweepWorkflow",crontab:b15,mode:v15.ExactlyOncePerIntervalWhenActive})}var b15="41 * * * *",x15=200,Zz1=null,$z1=null;var qH8=L(()=>{IO();Mt();mz();PH8()});function RH8($){if(!$)return!1;try{return new URL($).host==="api.decocms.com"}catch{return!1}}var VH8,g15,MH8=($)=>{let Z=0,Q=$.length;while(Z<Q){let Y=$.charCodeAt(Z);if(Y!==32&&Y!==9)break;Z++}while(Q>Z){let Y=$.charCodeAt(Q-1);if(Y!==32&&Y!==9)break;Q--}return Z===0&&Q===$.length?$:$.slice(Z,Q)},Qz1=($,Z)=>{if(Z&&$.indexOf(Z)===-1)return{};let Q=$.split(";"),Y={};for(let X of Q){let J=X.indexOf("=");if(J===-1)continue;let G=MH8(X.substring(0,J));if(Z&&Z!==G||!VH8.test(G))continue;let W=MH8(X.substring(J+1));if(W.startsWith('"')&&W.endsWith('"'))W=W.slice(1,-1);if(g15.test(W)){if(Y[G]=W.indexOf("%")!==-1?Rd(W,D10):W,Z)break}}return Y},h15=($,Z,Q={})=>{if(!VH8.test($))throw Error("Invalid cookie name");let Y=`${$}=${Z}`;if($.startsWith("__Secure-")&&!Q.secure)throw Error("__Secure- Cookie must have Secure attributes");if($.startsWith("__Host-")){if(!Q.secure)throw Error("__Host- Cookie must have Secure attributes");if(Q.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(Q.domain)throw Error("__Host- Cookie must not have Domain attributes")}for(let X of["domain","path"])if(Q[X]&&/[;\r\n]/.test(Q[X]))throw Error(`${X} must not contain ";", "\\r", or "\\n"`);if(Q&&typeof Q.maxAge==="number"&&Q.maxAge>=0){if(Q.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");Y+=`; Max-Age=${Q.maxAge|0}`}if(Q.domain&&Q.prefix!=="host")Y+=`; Domain=${Q.domain}`;if(Q.path)Y+=`; Path=${Q.path}`;if(Q.expires){if(Q.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");Y+=`; Expires=${Q.expires.toUTCString()}`}if(Q.httpOnly)Y+="; HttpOnly";if(Q.secure)Y+="; Secure";if(Q.sameSite)Y+=`; SameSite=${Q.sameSite.charAt(0).toUpperCase()+Q.sameSite.slice(1)}`;if(Q.priority)Y+=`; Priority=${Q.priority.charAt(0).toUpperCase()+Q.priority.slice(1)}`;if(Q.partitioned){if(!Q.secure)throw Error("Partitioned Cookie must have Secure attributes");Y+="; Partitioned"}return Y},gf0=($,Z,Q)=>{return Z=encodeURIComponent(Z),h15($,Z,Q)};var IH8=L(()=>{OE();VH8=/^[\w!#$%&'*.^`|~+-]+$/,g15=/^[ !#-:<-[\]-~]*$/});var vo=($,Z,Q)=>{let Y=$.req.raw.headers.get("Cookie");if(typeof Z==="string"){if(!Y)return;let J=Z;if(Q==="secure")J="__Secure-"+Z;else if(Q==="host")J="__Host-"+Z;return Qz1(Y,J)[J]}if(!Y)return{};return Qz1(Y)},u15=($,Z,Q)=>{let Y;if(Q?.prefix==="secure")Y=gf0("__Secure-"+$,Z,{path:"/",...Q,secure:!0});else if(Q?.prefix==="host")Y=gf0("__Host-"+$,Z,{...Q,path:"/",secure:!0,domain:void 0});else Y=gf0($,Z,{path:"/",...Q});return Y},I70=($,Z,Q,Y)=>{let X=u15(Z,Q,Y);$.header("Set-Cookie",X,{append:!0})};var hf0=L(()=>{IH8()});var kH8=($)=>{let Q={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...$},Y=((J)=>{if(typeof J==="string")if(J==="*"){if(Q.credentials)return(G)=>G||null;return()=>J}else return(G)=>J===G?G:null;else if(typeof J==="function")return J;else return(G)=>J.includes(G)?G:null})(Q.origin),X=((J)=>{if(typeof J==="function")return J;else if(Array.isArray(J))return()=>J;else return()=>[]})(Q.allowMethods);return async function(G,W){function K(F,U){G.res.headers.set(F,U)}let H=await Y(G.req.header("origin")||"",G);if(H)K("Access-Control-Allow-Origin",H);if(Q.credentials)K("Access-Control-Allow-Credentials","true");if(Q.exposeHeaders?.length)K("Access-Control-Expose-Headers",Q.exposeHeaders.join(","));if(G.req.method==="OPTIONS"){if(Q.origin!=="*"||Q.credentials)K("Vary","Origin");if(Q.maxAge!=null)K("Access-Control-Max-Age",Q.maxAge.toString());let F=await X(G.req.header("origin")||"",G);if(F.length)K("Access-Control-Allow-Methods",F.join(","));let U=Q.allowHeaders;if(!U?.length){let N=G.req.header("Access-Control-Request-Headers");if(N)U=N.split(/\s*,\s*/)}if(U?.length)K("Access-Control-Allow-Headers",U.join(",")),G.res.headers.append("Vary","Access-Control-Request-Headers");return G.res.headers.delete("Content-Length"),G.res.headers.delete("Content-Type"),new Response(null,{headers:G.res.headers,status:204,statusText:"No Content"})}if(await W(),Q.origin!=="*"||Q.credentials)G.header("Vary","Origin",{append:!0})}};var CH8=()=>{};function Yz1($,Z){return`${$}:${Z}`}function SH8($){let Z=$?.ttlMs??120000,Q=$?.maxSize??1e4,Y=new Map;function X(){if(Y.size<=Q)return;let J=Date.now();for(let[G,W]of Y)if(W.expiresAt<=J)Y.delete(G);if(Y.size>Q){let G=Y.size-Q,W=0;for(let K of Y.keys()){if(W>=G)break;Y.delete(K),W++}}}return{get(J,G){let W=Yz1(J,G),K=Y.get(W);if(!K)return;if(K.expiresAt<=Date.now()){Y.delete(W);return}return K.role},set(J,G,W){let K=Yz1(J,G);Y.set(K,{role:W,expiresAt:Date.now()+Z}),X()},invalidate(J,G){Y.delete(Yz1(J,G))}}}class Xz1{options;subscriptions=[];localEmit=null;originId=crypto.randomUUID();encoder=new TextEncoder;seenMessageIds=new Set;constructor($){this.options=$}async start($){if($)this.localEmit=$;if(this.subscriptions.length>0)return;if(!this.localEmit)return;let Z=this.options.getConnection();if(!Z)return;let Q=new TextDecoder;this.subscriptions=_H8.map((Y)=>Z.subscribe(Y));for(let Y of this.subscriptions)(async()=>{for await(let X of Y)try{let J=JSON.parse(Q.decode(X.data));if(typeof J?.originId!=="string"||typeof J?.organizationId!=="string"||typeof J?.event?.id!=="string"||typeof J?.event?.type!=="string")continue;if(J.originId===this.originId)continue;if(typeof J.messageId==="string"&&this.hasSeen(J.messageId))continue;this.localEmit?.(J.organizationId,J.event)}catch{}})().catch((X)=>{console.error("[NatsSSEBroadcast] Subscription error:",X)})}broadcast($,Z){this.localEmit?.($,Z);let Q={originId:this.originId,messageId:crypto.randomUUID(),organizationId:$,event:Z};try{let Y=this.options.getConnection();if(!Y)return;let X=this.encoder.encode(JSON.stringify(Q));for(let J of _H8)Y.publish(J,X)}catch(Y){console.warn("[NatsSSEBroadcast] Publish failed (non-critical):",Y)}}async stop(){for(let $ of this.subscriptions)$.unsubscribe();this.subscriptions=[],this.seenMessageIds.clear(),this.localEmit=null}hasSeen($){if(this.seenMessageIds.has($))return!0;if(this.seenMessageIds.add($),this.seenMessageIds.size>1000){let Z=this.seenMessageIds.values().next().value;if(Z)this.seenMessageIds.delete(Z)}return!1}}var _H8;var vH8=L(()=>{_H8=["studio.sse.broadcast","mesh.sse.broadcast"]});async function l15($,Z,Q=5){try{await F8(Z,{maxAttempts:Q,minTimeout:1000,maxTimeout:1e4,jitter:0})}catch(Y){console.error(`${$} Deferred start failed:`,Y instanceof e6?Y.cause:Y)}}function bH8($){let Z=new Xz1({getConnection:()=>$.getConnection()});I6.start(Z).catch((Q)=>{console.error("[SSEHub] Failed to start broadcast strategy:",Q)}),$.onReady(()=>{l15("[NatsSSEBroadcast]",()=>Z.start())})}var Jz1=L(()=>{n$();vH8();VO();VO()});var xH8=()=>{};var Gz1=()=>{};var fH8=()=>{};var m15,Vb7;var yH8=L(()=>{xH8();Gz1();OE();fH8();m15={br:".br",zstd:".zst",gzip:".gz"},Vb7=Object.keys(m15)});var gH8=L(()=>{yH8()});var hH8=()=>{};var uH8=L(()=>{hH8()});var lH8=()=>{};var mH8=L(()=>{Y81()});var Wz1=L(()=>{jE();mH8()});var Kz1="x-hono-disable-ssg",pb7;var Hz1=L(()=>{Wz1();pb7=(()=>{try{return new Response("SSG is disabled",{status:404,headers:{[Kz1]:"true"}})}catch{return null}})()});var cH8=L(()=>{sH0()});var Fz1=L(()=>{cH8()});var dH8=L(()=>{uH8();lH8();Gz1();Hz1();Fz1();Wz1()});var iH8=L(()=>{Hz1();Fz1();dH8()});var Ix7;var pH8=L(()=>{iH8();({write:Ix7}=Bun)});var i15=class{#$;constructor($){this.#$=$,this.raw=$.raw,this.url=$.url?new URL($.url):null,this.protocol=$.protocol??null}send($,Z){this.#$.send($,Z??{})}raw;binaryType="arraybuffer";get readyState(){return this.#$.readyState}url;protocol;close($,Z){this.#$.close($,Z)}},nH8=($)=>{return(...Z)=>{if(typeof Z[0]==="function"){let[Q,Y]=Z;return async function(J,G){let W=await Q(J),K=await $(J,W,Y);if(K)return K;await G()}}else{let[Q,Y,X]=Z;return(async()=>{let J=await $(Q,Y,X);if(!J)throw Error("Failed to upgrade WebSocket");return J})()}}};var tH8=()=>{};var k70=($)=>("server"in $.env)?$.env.server:$.env;var uf0=()=>{};var p15;var oH8=L(()=>{tH8();uf0();p15=nH8(($,Z)=>{let Q=k70($);if(!Q)throw TypeError("env has to include the 2nd argument of fetch.");if(Q.upgrade($.req.raw,{data:{events:Z,url:new URL($.req.url),protocol:$.req.url}}))return new Response(null);return})});var C70=($)=>{let Z=k70($);if(!Z)throw TypeError("env has to include the 2nd argument of fetch.");if(typeof Z.requestIP!=="function")throw TypeError("server.requestIP is not a function.");let Q=Z.requestIP($.req.raw);if(!Q)return{remote:{}};return{remote:{address:Q.address,addressType:Q.family==="IPv6"||Q.family==="IPv4"?Q.family:void 0,port:Q.port}}};var sH8=L(()=>{uf0()});var Uz1=L(()=>{gH8();pH8();oH8();sH8();uf0()});var rH8;var aH8=L(()=>{rH8={google:{name:"Google",icon:"https://assets.decocache.com/webdraw/eb7480aa-a68b-4ce4-98ff-36aa121762a7/google.svg"},github:{name:"GitHub",icon:"https://assets.decocache.com/decocms/e02ce92e-6684-41a6-acfc-432977eb4878/github.png"},microsoft:{name:"Microsoft",icon:"https://assets.decocache.com/mcp/aa6f6e1a-6526-4bca-99cc-82e2ec38b0e4/microsoft.png"}}});function eH8(){let $=Object.keys(_4.socialProviders??{}),Z=$.length>0,Q=$.map((X)=>({name:X,icon:rH8[X].icon})),Y=B0().localMode;return{emailAndPassword:{enabled:_4.emailAndPassword?.enabled??!1},magicLink:{enabled:_4.magicLinkConfig?.enabled??!1},emailOtp:{enabled:_4.emailOtpConfig?.enabled??!1},resetPassword:{enabled:Uf0},socialProviders:{enabled:Z,providers:Q},sso:_4.ssoConfig?{enabled:!0,providerId:_4.ssoConfig.providerId}:{enabled:!1},stdioEnabled:Y,localMode:bO()}}async function n15($,Z,Q){try{if(!_4.inviteEmailProviderId||!_4.emailProviders||_4.emailProviders.length===0)return;let Y=S3(_4.emailProviders,_4.inviteEmailProviderId);if(!Y)return;let X=await $.selectFrom("member").innerJoin("user","user.id","member.userId").select(["user.email as email","member.role as role"]).where("member.organizationId","=",Z.id).execute(),J=C00,G=X.filter((H)=>(H.role??"").split(",").map((F)=>F.trim()).some((F)=>J.includes(F)));if(G.length===0)return;let W=C3(Y),K=`${g9()}/${Z.slug}/settings/members`;await Promise.allSettled(G.map((H)=>W({to:H.email,subject:`New request to join ${Z.name}`,html:_3({preheader:`${Q} requested to join ${Z.name}.`,heading:"New join request",subheading:`<strong>${Q}</strong> requested to join <strong>${Z.name}</strong> on deco Studio.`,body:lT("Review request",K),footnote:"You can approve or deny this request from your members settings."})})))}catch(Y){console.error("[Auth] Failed to notify admins of join request:",Y)}}var aO,$F8;var Nz1=L(()=>{W8();Uz1();Q6();u1();iK();k3();xE1();Kf0();uT();YX();H9();aH8();eh();aw();aO=new Z1;aO.post("/local-session",async($)=>{if(!bO())return $.json({success:!1,error:"Local mode is not active"},403);let Z;try{Z=C70($).remote.address}catch{}if(!(Z==="127.0.0.1"||Z==="::1"||Z==="::ffff:127.0.0.1"))return $.json({success:!1,error:"Forbidden"},403);try{let{waitForSeed:Y}=await Promise.resolve().then(() => (eh(),uv0));await Y();let{auth:X}=await Promise.resolve().then(() => (iK(),OW8)),J=await zD1();if(!J)return $.json({success:!1,error:"Local admin user not found"},500);let G=await hv0();return await X.api.signInEmail({body:{email:J.email,password:G},asResponse:!0})}catch(Y){return console.error("Failed to create local session:",Y),$.json({success:!1,error:Y instanceof Error?Y.message:"Failed to create local session"},500)}});aO.get("/my-capabilities/:slug",async($)=>{let Z=$.req.param("slug"),Q=await B4.api.getSession({headers:$.req.raw.headers});if(!Q?.user)return $.json({error:"Authentication required"},401);let Y=E8().db,X=await Y.selectFrom("organization").select(["id"]).where("slug","=",Z).executeTakeFirst();if(!X)return $.json({role:null,capabilities:{}});let G=(await Y.selectFrom("member").select(["role"]).where("userId","=",Q.user.id).where("organizationId","=",X.id).executeTakeFirst())?.role??null;if(!G)return $.json({role:null,capabilities:{}});if(CZ(G))return $.json({role:G,capabilities:sZ$()});if(G==="user")return $.json({role:G,capabilities:R01({self:[...oc]})});let W=await Y.selectFrom("organizationRole").select(["permission"]).where("role","=",G).where("organizationId","=",X.id).executeTakeFirst(),K={},H=W?.permission;if(typeof H==="string")try{let F=JSON.parse(H);if(F&&typeof F==="object"&&!Array.isArray(F))K=F}catch{K={}}return $.json({role:G,capabilities:R01(K)})});aO.get("/domain-lookup",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({found:!1,organizations:[]});let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({found:!1,organizations:[]});try{let X=(await new V3(E8().db).getAllByDomain(Q)).filter(Wf0);if(X.length===0)return $.json({found:!1,organizations:[]});let J=await E8().db.selectFrom("organization").select(["id","name","slug","logo","metadata"]).where("id","in",X.map((K)=>K.organizationId)).execute(),G=new Map(J.map((K)=>[K.id,K])),W=X.map((K)=>{let H=G.get(K.organizationId);if(!H)return null;if(u9(H))return null;return{id:H.id,name:H.name,slug:H.slug,logo:H.logo,joinMode:K.joinMode}}).filter((K)=>K!==null);return $.json({found:W.length>0,organizations:W})}catch(Y){return console.error("[Auth] Domain lookup failed:",Y),$.json({success:!1,error:"Domain lookup failed"},500)}});aO.post("/domain-join",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({success:!1,error:"Email must be verified to join"},403);let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({success:!1,error:"Generic email domains cannot auto-join"},403);let Y=await $.req.json().catch(()=>({})),X=typeof Y.organizationSlug==="string"&&Y.organizationSlug.trim()?Y.organizationSlug.trim():null;try{let J=E8().db,K=(await new V3(J).getAllByDomain(Q)).filter((B)=>B.verificationStatus==="verified"&&B.joinMode==="auto");if(K.length===0)return $.json({success:!1,error:"Auto-join is not available for this domain"},403);let H=await J.selectFrom("organization").select(["id","slug","metadata"]).where("id","in",K.map((B)=>B.organizationId)).execute(),F=new Map(H.filter((B)=>!u9(B)).map((B)=>[B.id,{id:B.id,slug:B.slug}])),U=K.flatMap((B)=>{let D=F.get(B.organizationId);return D?[D]:[]});if(U.length===0)return $.json({success:!1,error:"Auto-join is not available for this domain"},403);let N;if(X){let B=U.find((D)=>D.slug===X);if(!B)return $.json({success:!1,error:"This organization is not available for auto-join with your email domain."},403);N=B}else if(U.length===1)N=U[0];else return $.json({success:!1,error:"Multiple organizations match this domain. Please pick one.",requiresSelection:!0},409);try{await B4.api.addMember({body:{userId:Z.user.id,role:"user",organizationId:N.id}})}catch(B){if(!Jz(B))return console.error("[Auth] Domain join addMember failed:",B),$.json({success:!1,error:"Failed to join organization"},500)}return m1.capture({distinctId:Z.user.id,event:"organization_domain_joined",groups:{organization:N.id},properties:{organization_id:N.id,organization_slug:N.slug,email_domain:Q}}),$.json({success:!0,slug:N.slug})}catch(J){return m1.captureException(J,Z.user.id),console.error("[Auth] Domain join failed:",J),$.json({success:!1,error:"Failed to join organization"},500)}});aO.post("/domain-setup",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({success:!1,error:"Email must be verified"},403);let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({success:!1,error:"Corporate email required"},403);let Y=await $.req.json().catch(()=>({})),X=typeof Y.name==="string"&&Y.name.trim().length>0?Y.name.trim():null,J=typeof Y.logo==="string"&&Y.logo.length>0?Y.logo:null,G=Y.claimDomain!==!1;try{let W=E8().db,K=new V3(W),H=await K.getAllByDomain(Q);if(H.length>0){let O=await W.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["organization.slug"]).where("member.userId","=",Z.user.id).where("member.organizationId","in",H.map((j)=>j.organizationId)).executeTakeFirst();if(O)return $.json({success:!0,slug:O.slug,alreadyExists:!0})}let F=Q.split(".")[0]??Q,U=X??F.charAt(0).toUpperCase()+F.slice(1),N=(X??F).toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")||F.toLowerCase().replace(/[^a-z0-9-]/g,""),B=null;for(let j=0;j<3;j++){let w=j===0?"":`-${Math.random().toString(36).slice(2,6)}`,E=j===0?U:`${U}${w}`,P=`${N}${w}`;try{B=await B4.api.createOrganization({body:{name:E,slug:P,userId:Z.user.id}});break}catch(T){if(!(T instanceof Error&&("body"in T)&&T.body?.code==="ORGANIZATION_ALREADY_EXISTS")||j===2)throw T}}if(!B?.id)throw Error("Failed to create organization");let D=B.id;if(G)await K.add(D,Q,{joinMode:"auto",verificationStatus:"verified",verificationMethod:"email"});if(J)try{await B4.api.updateOrganization({headers:$.req.raw.headers,body:{organizationId:D,data:{logo:J}}})}catch(O){console.error("[Auth] Org update failed (non-fatal):",O)}return m1.identify({distinctId:Z.user.id,properties:{email:Z.user.email,$set:{email:Z.user.email},$set_once:{first_organization_created_at:new Date().toISOString()}}}),m1.groupIdentify({groupType:"organization",groupKey:D,properties:{name:B.slug??N,slug:B.slug??N,email_domain:Q,created_at:new Date().toISOString()}}),m1.capture({distinctId:Z.user.id,event:"organization_created",groups:{organization:D},properties:{organization_id:D,organization_slug:B.slug??N,email_domain:Q}}),$.json({success:!0,slug:B.slug??N})}catch(W){return m1.captureException(W,Z.user?.id),console.error("[Auth] Domain setup failed:",W),$.json({success:!1,error:"Failed to set up organization"},500)}});aO.get("/org-access-status/:slug",async($)=>{let Z=$.req.param("slug"),Q=await B4.api.getSession({headers:$.req.raw.headers});if(!Q?.user)return $.json({success:!1,error:"Authentication required"},401);let Y=E8().db,X=await Y.selectFrom("organization").select(["id","name","slug","logo"]).where("slug","=",Z).executeTakeFirst();if(!X)return $.json({status:"not-found"});let J={id:X.id,name:X.name,slug:X.slug,logo:X.logo};if(await Y.selectFrom("member").select(["id"]).where("userId","=",Q.user.id).where("organizationId","=",X.id).executeTakeFirst())return $.json({status:"member",organization:J});try{let W=await B4.api.listUserInvitations({headers:$.req.raw.headers}),K=Date.now(),H=W.find((F)=>F.organizationId===X.id&&F.status==="pending"&&new Date(F.expiresAt).getTime()>K);if(H)return $.json({status:"pending-invite",invitation:{id:H.id},organization:J})}catch(W){console.error("[Auth] listUserInvitations failed:",W)}if(Q.user.emailVerified){let W=Q.user.email?.split("@")[1]?.toLowerCase();if(W&&!cF.has(W)){let K=await new V3(Y).getByOrgAndDomain(X.id,W);if(K?.verificationStatus==="verified"){if(K.joinMode==="auto")return $.json({status:"auto-domain-join",organization:{...J,domain:W}});if(K.joinMode==="request"){let H=await new ic(Y).getPending(X.id,Q.user.id);return $.json({status:H?"request-pending":"can-request",organization:{...J,domain:W}})}}}}return $.json({status:"no-access",organization:J})});aO.post("/domain-request-join",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({success:!1,error:"Email must be verified to request access"},403);let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({success:!1,error:"Generic email domains cannot request access"},403);let Y=await $.req.json().catch(()=>({})),X=typeof Y.organizationSlug==="string"&&Y.organizationSlug.trim()?Y.organizationSlug.trim():null;if(!X)return $.json({success:!1,error:"organizationSlug is required"},400);try{let J=E8().db,G=await J.selectFrom("organization").select(["id","slug","name"]).where("slug","=",X).executeTakeFirst();if(!G)return $.json({success:!1,error:"Organization not found"},404);let W=await new V3(J).getByOrgAndDomain(G.id,Q);if(!W||W.verificationStatus!=="verified"||W.joinMode!=="request")return $.json({success:!1,error:"This organization is not accepting requests for your domain."},403);if(await J.selectFrom("member").select(["id"]).where("userId","=",Z.user.id).where("organizationId","=",G.id).executeTakeFirst())return $.json({success:!0,slug:G.slug,alreadyMember:!0});return await new ic(J).create(G.id,Z.user.id),await n15(J,G,Z.user.email),m1.capture({distinctId:Z.user.id,event:"organization_join_requested",groups:{organization:G.id},properties:{organization_id:G.id,organization_slug:G.slug,email_domain:Q}}),$.json({success:!0,status:"pending"})}catch(J){return m1.captureException(J,Z.user.id),console.error("[Auth] Domain request-join failed:",J),$.json({success:!1,error:"Failed to request access"},500)}});aO.post("/ensure-organization",async($)=>{let Z=null;try{if(Z=await B4.api.getSession({headers:$.req.raw.headers}),!Z?.user)return $.json({success:!1,error:"Authentication required"},401);let Q=await Hf0({db:E8().db,authApi:B4.api,user:{id:Z.user.id,email:Z.user.email,name:Z.user.name??null,emailVerified:!!Z.user.emailVerified},allowCreate:!0,createdVia:"commerce_onboarding_recovery"});if(Q.status==="ambiguous")return $.json({success:!1,status:Q.status,domain:Q.domain,organizations:Q.organizations});if(Q.status==="skipped")return $.json({success:!1,status:Q.status,reason:Q.reason,domain:Q.domain,error:"Organization creation is not available."},409);if(Q.status==="already_has_organization")return $.json({success:!0,status:Q.status,organization:Q.organization,domain:Q.domain});return $.json({success:!0,status:Q.status,organization:Q.organization,domain:Q.domain})}catch(Q){let Y=Z?.user?.id;if(Y)m1.captureException(Q,Y);return console.error("[Auth] ensure organization failed:",Q),$.json({success:!1,error:"Failed to ensure organization"},500)}});$F8=aO});var bo=($)=>{let Z=$.req.header("sec-fetch-dest");if(Z!==void 0)return Z==="document";let Q=$.req.header("accept")??"";return Q.includes("text/html")&&!/text\/html\s*;\s*q\s*=\s*0/.test(Q)};function t15($){let Z=$.req.path;return $.req.method==="GET"&&/\/fs\/[^/]+\/read$/.test(Z)||$.req.method==="POST"&&/\/fs\/[^/]+\/unlock$/.test(Z)||$.req.method==="PUT"&&/\/fs\/[^/]+\/upload\/[^/]+$/.test(Z)}function Bz1($){let Z=$.auth?.apiKey?.metadata;if(!Z||typeof Z!=="object"||Array.isArray(Z)||!("organization"in Z))return{present:!1};let Q=Z.organization;if(!Q||typeof Q!=="object"||Array.isArray(Q))return{present:!0};let Y=Q.id;return{present:!0,id:typeof Y==="string"?Y:void 0}}function s15($){let Z=$.split("/").filter(Boolean);if(Z[0]!=="api")return!1;let Q=Z.slice(2);return o15.some((Y)=>Y.length===Q.length&&Y.every((X,J)=>X==="*"||X===Q[J]))}var o15,xo=async($,Z)=>{let Q=$.req.param("org");if(!Q)return $.json({error:"org slug missing in path"},400);let Y=$.get("studioContext");if(!Y?.db)return $.json({error:"studioContext not initialized"},500);let X=Y.db,J=s15($.req.path),G=await X.selectFrom("organization").select(["id","slug","name","metadata"]).where((F)=>J?F.or([F("slug","=",Q),F("id","=",Q)]):F("slug","=",Q)).executeTakeFirst().then((F)=>F??AF0(X,Q));if(!G){if(bo($))return $.redirect(`/${encodeURIComponent(Q)}`,302);return $.json({error:`organization "${Q}" not found`},404)}let W=Bz1(Y);if(Y.auth?.apiKey?.id&&W.present&&W.id!==G.id)return $.json({error:"forbidden: API key is scoped to another organization"},403);if(Y.auth?.tokenOrganizationId&&Y.auth.tokenOrganizationId!==G.id)return $.json({error:"forbidden: token is scoped to another organization"},403);if(u9(G)){if(bo($))return $.redirect(`/${encodeURIComponent(Q)}`,302);return $.json({error:`organization "${Q}" not found`},404)}let K=Y.auth?.user?.id,H;if(K){let F=await X.selectFrom("member").select(["role"]).where("userId","=",K).where("organizationId","=",G.id).executeTakeFirst();if(F)H=F.role;else if(await OB1(X,K))kO({action:"org_scope_admit",actorUserId:K,targetOrgId:G.id,method:$.req.method,route:$.req.path}),H="owner";else if(!t15($)){if(bo($))return $.redirect(`/${encodeURIComponent(G.slug)}`,302);return $.json({error:"forbidden: not a member of organization"},403)}}return Y.organization={id:G.id,slug:G.slug,name:G.name,role:H},Y.access.setOrganizationId(G.id),Y.access.setRole(H),cz(Y,G),await Z()};var lf0=L(()=>{tN();qt();o15=[["vault","connections","*","access-token"],["vault","connections","*","configuration"],["internal","task-board","import"],["internal","task-board","resolve"],["internal","commerce-diagnostic","share-invite"],["internal","organization-notices"],["internal","repositories","resolve"],["internal","repositories","*","tree"],["internal","repositories","*","file"],["internal","repositories","*","search"],["internal","repositories","*","change-requests"],["internal","repositories","*","commits"]]});function r15($){if(BQ($.id)!==null)return!0;if(Za0($.id))return!0;let Z=$.metadata?.liveAgentId;return typeof Z==="string"&&Z.length>0}function ZF8($,Z){let Q=new Map,Y=(X)=>{let J=Q.get(X);if(J)return J;let G=(async()=>{if(!(await $.storage.orgSsoConfig.getByOrgId(X))?.enforced)return!0;return await $.storage.orgSsoSessions.isValid(Z,X)})();return Q.set(X,G),G};return async(X)=>{let J=await Promise.all(X.map((G)=>Y(G.orgId)));return X.filter((G,W)=>J[W]===!0)}}function QF8($){let Z=$.auth?.apiKey?.id?Bz1($):{present:!1,id:void 0};if(Z.present&&!Z.id)return S70;let Q=$.auth?.tokenOrganizationId;if(Z.id&&Q&&Z.id!==Q)return S70;let Y=Z.id??Q??null;if(Y===null&&$.auth?.apiKey?.id)return S70;return Y}var YF8="/api/_me",S70,a15=256,e15=20,$$5=50,Z$5=10,Q$5=5,XF8=()=>{let $=new Z1;return $.get("/projects/search",async(Z)=>{let Q=Z.get("studioContext");Z.header("Cache-Control","private, no-store");let Y=S0(Q);if(!Y)return Z.json({error:"Unauthorized"},401);let X=QF8(Q);if(X===S70)return Z.json({error:"forbidden: credential is scoped to another organization"},403);let J=(Z.req.query("q")??"").trim();if(!J)return Z.json({items:[]});if(J.length>a15)return Z.json({error:"query too long"},400);let G=Number.parseInt(Z.req.query("limit")??"",10),W=Number.isFinite(G)&&G>0?Math.min(G,$$5):e15,K=ZF8(Q,Y),H=W+Z$5,F=[];for(let U=0;U<Q$5&&F.length<W;U++){let N=await Q.storage.virtualMcps.searchAcrossMemberships({userId:Y,term:J,limit:H,offset:U*H,organizationId:X}),B=N.filter((D)=>!r15(D)).filter((D)=>!u9({metadata:D.organization_metadata})).map((D)=>({id:D.id,title:D.title,icon:D.icon,orgId:D.organization_id,orgName:D.organization_name,orgSlug:D.organization_slug}));if(F.push(...await K(B)),N.length<H)break}return Z.json({items:F.slice(0,W)})}),$.get("/organizations",async(Z)=>{let Q=Z.get("studioContext");Z.header("Cache-Control","private, no-store");let Y=S0(Q);if(!Y)return Z.json({error:"Unauthorized"},401);let X=QF8(Q);if(X===S70)return Z.json({error:"forbidden: credential is scoped to another organization"},403);let G=(await Q.boundAuth.organization.list()).filter((K)=>X===null||K.id===X).map((K)=>({orgId:K.id,slug:K.slug,name:K.name,logo:K.logo??null})),W=await ZF8(Q,Y)(G);return Z.json({organizations:W.map(({orgId:K,...H})=>({id:K,...H}))})}),$};var JF8=L(()=>{W8();q8();lf0();S70=Symbol("deny")});var GF8="Payload Too Large",WF8,h6=($)=>{let Z=$.onError||(()=>{let Y=new Response(GF8,{status:413});throw new R1(413,{res:Y})}),Q=$.maxSize;return async function(X,J){if(!X.req.raw.body)return J();let G=X.req.raw.headers.has("transfer-encoding"),W=X.req.raw.headers.has("content-length");if(W&&!G)return parseInt(X.req.raw.headers.get("content-length")||"0",10)>Q?Z(X):J();let K=0,H=X.req.raw.body.getReader(),U={body:new ReadableStream({async start(N){try{for(;;){let{done:B,value:D}=await H.read();if(B)break;if(K+=D.length,K>Q){N.error(new WF8(GF8));break}N.enqueue(D)}}finally{N.close()}}}),duplex:"half"};if(X.req.raw=new Request(X.req.raw,U),await J(),X.error instanceof WF8)X.res=await Z(X)}};var vW=L(()=>{NG();WF8=class extends Error{constructor($){super($);this.name="BodyLimitError"}}});import{createHash as Y$5}from"crypto";function _70($,Z,Q=0){return Z.every((Y,X)=>$[Q+X]===Y)}function HF8($){if(_70($,[137,80,78,71,13,10,26,10]))return{mime:"image/png",ext:"png"};if(_70($,[255,216,255]))return{mime:"image/jpeg",ext:"jpg"};if(_70($,[71,73,70,56])&&($[4]===55||$[4]===57)&&$[5]===97)return{mime:"image/gif",ext:"gif"};if(_70($,[82,73,70,70])&&_70($,[87,69,66,80],8))return{mime:"image/webp",ext:"webp"};return null}function Lz1($){return eW($)}function G$5($,Z){let Q=Y$5("sha256").update($).digest("hex");return`${mf0}/${Q}.${Z}`}function df0($,Z,Q){let Y=new URLSearchParams({path:Q}).toString();return`${$.replace(/\/$/,"")}${cf0}/fs/${encodeURIComponent(Z)}/read?${Y}`}function fo($){let Z=XJ(),Q=Z?z3(Z,Dz1):new aW(Dz1,$.baseUrl);return new ZK(Q,$.storage.orgFsEntries,Dz1,X$5)}async function v70($,Z){return(await $.listDir(Z,mf0).catch(()=>[])).filter((Y)=>Y.kind==="file").sort((Y,X)=>X.updatedAt.localeCompare(Y.updatedAt))}async function FF8($,Z){return(await v70($,Z)).map((Y)=>({path:Y.path,current:Y.readPublic,updatedAt:Y.updatedAt}))}async function W$5($,Z){if((await $.stat(Z,mf0))?.readPublic)await $.setReadPublic(Z,mf0,!1,{actor:Z})}async function Oz1($,Z,Q){let Y=await v70($,Z);if(!Y.some((X)=>X.path===Q))throw new JJ(`No such avatar: ${Q}`);await W$5($,Z),await $.setReadPublic(Z,Q,!0,{actor:Z}),await Promise.all(Y.filter((X)=>X.path!==Q&&X.readPublic).map((X)=>$.setReadPublic(Z,X.path,!1,{actor:Z})))}async function K$5($,Z,Q){try{let X=(await v70($,Z)).filter((J)=>J.path!==Q).slice(J$5-1);await Promise.all(X.map((J)=>$.delete(Z,J.path,{actor:Z})))}catch(Y){console.warn("[user-fs] failed to evict old avatars",Y)}}async function UF8($,Z){let{userId:Q,bytes:Y,contentType:X,ext:J}=Z,G=G$5(Y,J);return await $.write(Q,G,Y,{actor:Q,contentType:X}),await Oz1($,Q,G),await K$5($,Q,G),G}async function NF8($,Z,Q){if(!(await v70($,Z)).some((X)=>X.path===Q))throw new JJ(`No such avatar: ${Q}`);await $.delete(Z,Q,{actor:Z})}async function BF8($,Z){try{let Q=await v70($,Z);await Promise.all(Q.map((Y)=>$.delete(Z,Y.path,{actor:Z})))}catch(Q){console.warn("[user-fs] failed to clear avatars",Q)}}var Dz1="org_user_fs",cf0="/api/_users",mf0="avatars",X$5,KF8=2097152,J$5=5;var jz1=L(()=>{Rm();Xw();xU();QY();X$5={maxFileBytes:5242880,volumeQuotaBytes:67108864}});var DF8="uploads",LF8="editor-images",OF8="editor-files",jF8;var wF8=L(()=>{jF8=["image/png","image/jpeg","image/gif","image/webp","image/avif"]});function wz1($,Z){if($!==DF8)return!1;let Q=N5(Z);return[OF8,LF8].some((X)=>Q.startsWith(`${X}/`))&&!F$5.has(f7(Q))}function b70($,Z,Q,Y,{downloadOnly:X=!1}={}){let J=f7(Q),G={"Content-Type":J,"X-Content-Type-Options":"nosniff","Cache-Control":Y?"public, max-age=0, must-revalidate":"private, max-age=0"};if(X)G["Content-Disposition"]="attachment",G["Content-Security-Policy"]="sandbox; default-src 'none'";else if(H$5.has(J))G["Content-Security-Policy"]="sandbox; default-src 'none'; img-src data:; style-src 'unsafe-inline'";else if(J.startsWith("text/html"))G["Content-Security-Policy"]="sandbox allow-scripts allow-modals allow-same-origin allow-downloads";return $.body(Buffer.from(Z),200,G)}var H$5,F$5;var Ez1=L(()=>{wF8();QY();cH();H$5=new Set(["image/svg+xml","application/xml"]),F$5=new Set([...jF8,"application/pdf"])});function if0($,Z){if(Z instanceof JJ)return $.json({error:Z.message},404);if(Z instanceof A3)return $.json({error:Z.message},400);if(Z instanceof xA)return $.json({error:Z.message},413);return console.error("[user-fs] request failed",Z),$.json({error:"Internal error"},500)}function pf0($){let Q=$.get("studioContext").auth?.user?.id;if(!Q)return{ok:!1,res:$.json({error:"Unauthorized"},401)};if(!Lz1(Q))return{ok:!1,res:$.json({error:"Unsupported user id"},400)};return{ok:!0,userId:Q}}var EF8=()=>{let $=new Z1;return $.get("/fs/:userId/read",async(Z)=>{let Q=Z.req.param("userId"),Y=Z.req.query("path")??"";if(!Lz1(Q))return Z.json({error:"Invalid user id"},400);let X=Z.get("studioContext"),J=fo(X),W=(await J.resolveReadAccess(Q,Y).catch(()=>({access:"private"}))).access==="public";if(!W&&X.auth?.user?.id!==Q)return Z.json({error:"Not found"},404);try{return b70(Z,await J.read(Q,Y),Y,W)}catch(K){return if0(Z,K)}}),$.post("/avatar",h6({maxSize:KF8,onError:(Z)=>Z.json({error:"Avatar exceeds the size limit"},413)}),async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let{userId:Y}=Q,X=Z.get("studioContext"),J=new Uint8Array(await Z.req.arrayBuffer());if(J.byteLength===0)return Z.json({error:"Empty request body"},400);let G=HF8(J);if(!G)return Z.json({error:"Avatar must be a PNG, JPEG, GIF or WebP image"},415);try{let W=await UF8(fo(X),{userId:Y,bytes:J,contentType:G.mime,ext:G.ext});return Z.json({url:df0(X.baseUrl,Y,W)})}catch(W){return if0(Z,W)}}),$.get("/avatars",async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let Y=Z.get("studioContext"),X=await FF8(fo(Y),Q.userId);return Z.json({avatars:X.map((J)=>({...J,url:df0(Y.baseUrl,Q.userId,J.path)}))})}),$.post("/avatar/select",async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let Y=Z.get("studioContext"),X=await Z.req.json().catch(()=>null);if(typeof X?.path!=="string"||!X.path)return Z.json({error:"Body must be { path: string }"},400);try{return await Oz1(fo(Y),Q.userId,X.path),Z.json({url:df0(Y.baseUrl,Q.userId,X.path)})}catch(J){return if0(Z,J)}}),$.delete("/avatar",async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let Y=Z.get("studioContext"),X=fo(Y),J=Z.req.query("path");if(!J)return await BF8(X,Q.userId),Z.json({ok:!0});try{return await NF8(X,Q.userId,J),Z.json({ok:!0})}catch(G){return if0(Z,G)}}),$};var PF8=L(()=>{W8();vW();xU();jz1();Ez1()});import{z as yo}from"zod";var U$5,N$5,B$5=200,D$5=2000,L$5=60,O$5=2000,j$5,nf0;var Pz1=L(()=>{U$5=["warn","block"],N$5=yo.enum(U$5),j$5=yo.string().max(O$5).refine(($)=>{try{let Z=new URL($);return Z.protocol==="https:"||Z.protocol==="http:"}catch{return!1}},{message:"ctaUrl must be an absolute http(s) URL"}),nf0=yo.object({severity:N$5,title:yo.string().trim().min(1).max(B$5),message:yo.string().trim().min(1).max(D$5),ctaLabel:yo.string().trim().max(L$5).nullable().optional(),ctaUrl:j$5.nullable().optional()}).refine(($)=>!$.ctaLabel===!$.ctaUrl,{message:"ctaLabel and ctaUrl must be set together",path:["ctaUrl"]})});import{z as zz1}from"zod";function Az1($){let Z=$??{},Q=new Set([...Object.keys(mT.shape),...Object.keys(Z)]),Y={};for(let X of Q)Y[X]=b5(Z,X);return{flags:Z,effective:Y}}var w$5,zF8;var AF8=L(()=>{YZ();w$5=zz1.string().min(1).max(64).regex(/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/),zF8=zz1.record(w$5,zz1.boolean())});function TF8($,Z,Q){let Y=Q;for(;;){if(Y=$.indexOf(Z,Y),Y===-1)return-1;let X=$[Y+Z.length];if(X===void 0||X===`
|
|
4160
|
+
`),l=await E.create({organizationId:X,title:X15(G,N.title,W),description:h,status:K1.intake,priority:ZH8[W.status],type:"bug",virtualMcpId:N.agentIds[0]??null,by:o$});return await E.recordActivity({taskBoardItemId:l.id,action:"created",actorId:null}),await Q.setIncidentTask(X,J,G,l.id),await Q.setVerdictFlags(X,J,G,{crossCheckPending:!1}),await R(l.id),K8(X,l),l.id}if(!P||!T){if(U)await Q.setIncidentTask(X,J,G,null);return null}if(Y.action==="pause")return await E.createComment({taskBoardItemId:P.id,organizationId:X,authorId:o$,body:`Too few orders to judge since ${j(H)}. The card closes once the rule is back to normal for ${QH8/60000} minutes.`}),P.id;let f=Y.action==="close";if(!f&&!(W.status==="alert"&&P.priority!=="urgent"))return P.id;await E.createComment({taskBoardItemId:P.id,organizationId:X,authorId:o$,body:f?`Back to normal since ${j(H)}. ${lP1(G,W)}`:`Now **alert**. ${lP1(G,W)}`});let S=await E.update(P.id,X,f?{status:K1.done}:{priority:ZH8.alert},o$);if(f)await Q.setIncidentTask(X,J,G,null);return await R(P.id),K8(X,S),f?null:P.id}var Cf0=($)=>$==="warning"||$==="alert",QH8=1800000,Y15=1800000,XH8,$H8=($)=>String($).padStart(2,"0"),Sf0=($)=>{let Z=($+rO)%rO;return`${$H8(Math.floor(Z*15/60))}:${$H8(Z*15%60)}`},N2=($)=>Math.round($).toLocaleString("en-US"),ZH8;var cP1=L(()=>{At();v8();H9();FP();m90();m5();M70();uP1();R70();XH8={orders_drop:"Orders",denied_spike:"Payment denials",cancel_spike:"Cancellations"};ZH8={warning:"high",alert:"urgent"}});import{DBOS as V70,SchedulerMode as G15}from"@dbos-inc/dbos-sdk";import{sql as W15}from"kysely";function WH8($){iP1=$}function nP1(){if(!iP1)throw Error("[order-monitor] runtime not initialized \u2014 setOrderMonitorRuntime() must run before the workflow fires");return iP1.db}async function F15(){let $=B0().orderMonitorIngestUrl;if(!$||!W2())return[];let Z=await H15().listIngestInstalls($),Q=await Promise.all(Z.map((Y)=>NP$(Y.createdBy,Y.organizationId,"monitoring")));return Z.filter((Y,X)=>Q[X])}async function U15($,{organizationId:Z,connectionId:Q},Y,X,J){return $.transaction().execute(async(G)=>{await KH8(G,Q);let W=new Vu(G),K=await W.listStates(Z,Q);if(K.some((U)=>U.evaluatedAt>Y))return null;let H=new Map(K.map((U)=>{let N=U.evaluatedAt.getTime()===Y.getTime();return[U.rule,{status:N?U.prevStatus??void 0:U.status,sinceStatus:U.status,since:U.since,verdict:U.verdict,task:U.task}]})),F=th.map((U)=>{let N=H.get(U),B=pP1(X[U].status),D=(j)=>B&&N?.verdict[j]===!0,O={...X[U],timezone:J,...D("ingestIncident")?{ingestIncident:!0}:{},...D("crossCheckPending")?{crossCheckPending:!0,...typeof N?.verdict.crossCheckSince==="string"?{crossCheckSince:N.verdict.crossCheckSince}:{}}:{}};return{rule:U,status:O.status,since:N?.sinceStatus===O.status?N.since:Y,evaluatedAt:Y,verdict:{...O},prevStatus:N?.status??null}});return await W.upsertStates(Z,Q,F),{prev:H,states:F}})}async function N15($,Z){let{organizationId:Q,connectionId:Y}=$;try{let X=await If0(Q,Y,Z);if(!X)return console.warn(`[order-monitor] connection ${Y} has no timezone in the lake; the ingest worker's zone map needs an entry`),{connectionId:Y,incidents:[]};let J=bP1(X),G=await U15(nP1(),$,Z,J,X.timezone);if(!G)return{connectionId:Y,incidents:[]};let{prev:W,states:K}=G,H=[];for(let F of K){let U=W.get(F.rule);if(U?.status!==F.status&&(pP1(U?.status)||pP1(F.status)))console.log("[order-monitor] transition",{organizationId:Q,connectionId:Y,rule:F.rule,from:U?.status??null,to:F.status,at:Z.toISOString(),observed:F.verdict.observed,expected:F.verdict.expected,notify:_P1[F.rule]});let B=YH8(U?.status,F.status,{hasCard:!!U?.task,heldMs:Z.getTime()-F.since.getTime(),retryOpen:F.verdict.crossCheckPending===!0});if(_P1[F.rule]&&B!=="none")H.push({organizationId:Q,connectionId:Y,rule:F.rule,action:B,verdict:F.verdict,at:Z,since:F.since})}if(K.some((F)=>W.get(F.rule)?.status!==F.status))IP1(Q,Y);return{connectionId:Y,incidents:H}}catch(X){return{connectionId:Y,incidents:[],error:X instanceof Error?X.message:String(X)}}}async function B15($){try{let Z=nP1(),Q=await hJ(Z,$.organizationId);if(!Q)return{};return await Z.transaction().execute(async(Y)=>{await KH8(Y,$.connectionId),await JH8(Q,Z,new Vu(Y),{...$,at:new Date($.at),since:new Date($.since)})}),IP1($.organizationId,$.connectionId),{}}catch(Z){return{error:Z instanceof Error?Z.message:String(Z)}}}async function D15($,Z){let Q=await V70.runStep(F15,{name:"loadMonitoredStores"});if(Q.length===0)return;let Y=[];for(let J=0;J<Q.length;J+=GH8)Y.push(...await Promise.all(Q.slice(J,J+GH8).map((G)=>V70.runStep(()=>N15(G,$),{name:`evaluateStore:${G.connectionId}`}))));let X=await Promise.all(Y.flatMap((J)=>J.incidents.map((G)=>V70.runStep(()=>B15(G),{name:`syncIncidentTask:${G.connectionId}:${G.rule}`}).then((W)=>({...W,connectionId:G.connectionId})))));for(let J of[...Y,...X])if(J.error)console.warn(`[order-monitor] connection ${J.connectionId} failed: ${J.error}`)}function HH8(){if(dP1)return;dP1=V70.registerWorkflow(D15,{name:"orderMonitorWorkflow"}),V70.registerScheduled(dP1,{name:"orderMonitorWorkflow",crontab:K15,mode:G15.ExactlyOncePerIntervalWhenActive})}var K15="3,8,13,18,23,28,33,38,43,48,53,58 * * * *",GH8=20,iP1=null,H15=()=>new Vu(nP1()),pP1=($)=>$==="warning"||$==="alert",KH8=($,Z)=>W15`select pg_advisory_xact_lock(hashtext(${`order-monitor:${Z}`})::bigint)`.execute($),dP1=null;var FH8=L(()=>{VG();Oo();u1();VP1();mz();uK8();cP1();M70();R70()});import{createHmac as L15,timingSafeEqual as O15}from"crypto";function NH8($,Z,Q,Y=Date.now()){if(!Z||!Q)return!1;let X,J=[];for(let H of Z.split(",")){let F=H.indexOf("=");if(F<=0)continue;let U=H.slice(0,F).trim(),N=H.slice(F+1).trim();if(U==="t")X=N;else if(U==="v1")J.push(N)}if(!X||J.length===0)return!1;let G=Number(X);if(!Number.isFinite(G)||Math.abs(Y/1000-G)>j15)return!1;let W=L15("sha256",Q).update(`${X}.${$}`).digest("hex"),K=Buffer.from(W,"hex");return J.some((H)=>{let F=Buffer.from(H,"hex");return K.length===F.length&&O15(K,F)})}function BH8($){let Z;try{Z=JSON.parse($)}catch{return null}let Q=k7(Z),Y=k7(k7(Q?.data)?.object);if(!Q||typeof Q.type!=="string"||!Y)return null;return{id:_W(Q.id),type:Q.type,created:typeof Q.created==="number"?Q.created:void 0,livemode:typeof Q.livemode==="boolean"?Q.livemode:void 0,data:{object:Y}}}function vf0($){switch($){case"active":case"trialing":return"active";case"past_due":return"past_due";default:return"canceled"}}function _W($){return typeof $==="string"?$:void 0}function k7($){return typeof $==="object"&&$!==null?$:void 0}function bf0($){return typeof $==="number"?new Date($*1000):null}function _f0($){return _W($)??_W(k7($)?.id)}function w15($){return _f0($.subscription)??_W(k7(k7($.parent)?.subscription_details)?.subscription)}function E15($){let Z=k7($.lines)?.data;if(Array.isArray(Z)){let Q=null;for(let Y of Z){let X=k7(k7(Y)?.period)?.end;if(typeof X==="number"&&(Q===null||X>Q))Q=X}if(Q!==null)return new Date(Q*1000)}return bf0($.period_end)}function P15($,Z){let Q=k7($.items)?.data;if(!Array.isArray(Q))return;for(let Y of Q){let X=k7(Y)?.amount;if(typeof X==="number"&&X<=0)continue;let J=_f0(k7(Y)?.price);if(J&&Z[J])return Z[J]}return}function sP1($,Z,Q){if($==="past_due")return;if($!=="active")return"free";return}function z15($){let Z=bf0($.current_period_end);if(Z)return Z;let Q=k7($.items)?.data;if(!Array.isArray(Q))return null;let Y=0;for(let X of Q){let J=k7(X)?.current_period_end;if(typeof J==="number"&&J>Y)Y=J}return Y>0?new Date(Y*1000):null}function tP1($,Z){let Q=bf0($.created);return!!Q&&!!Z.lastStripeEventAt&&Q<Z.lastStripeEventAt}function oP1($,Z){let Q=bf0($.created);if(!Q)return;return Z.lastStripeEventAt&&Z.lastStripeEventAt>Q?void 0:Q}async function A15($,Z){let Q=Z.data.object;switch(Z.type){case"checkout.session.completed":case"checkout.session.async_payment_succeeded":{let Y=_W(k7(Q.metadata)?.orgId);if(!Y)return{handled:!1,reason:"no orgId"};if(_W(k7(Q.metadata)?.kind)==="topup"){if(Q.mode!=="payment")return{handled:!1,reason:"topup with wrong mode"};if(_W(Q.payment_status)!=="paid")return{handled:!1,reason:"payment not confirmed"};let U=_W(Q.id);if(!U)return console.error("stripe webhook: topup session without id",{eventId:Z.id,organizationId:Y}),{handled:!1,reason:"topup session without id"};let N=Number(k7(Q.metadata)?.creditCents);if(!Number.isInteger(N)||N<=0)return console.error("stripe webhook: paid topup with bad metadata \u2014 credit NOT applied",{eventId:Z.id,organizationId:Y,creditCents:k7(Q.metadata)?.creditCents}),{handled:!1,reason:"bad topup metadata"};return{handled:!0,organizationId:Y,topUp:{creditCents:N,referenceId:`stripe-topup:${U}`}}}if(Q.mode!=="subscription")return{handled:!1,reason:"not a subscription checkout"};let X=_W(Q.payment_status),J=_W(k7(Q.metadata)?.trial)==="1"&&X==="no_payment_required";if(X!=="paid"&&!J)return{handled:!1,reason:"payment not confirmed"};let G=await $.ensureBilling(Y);if(!G)return console.error("stripe webhook: PAID checkout for an org that does not exist",{organizationId:Y,eventId:Z.id}),{handled:!1,reason:"unknown org"};let W=_f0(Q.subscription);if(!W)return console.error("stripe webhook: subscription checkout without a sub id",{organizationId:Y,eventId:Z.id}),{handled:!1,reason:"subscription checkout without sub id"};if(tP1(Z,G))return{handled:!1,reason:"stale event"};if(G.stripeSubscriptionId&&G.stripeSubscriptionId!==W)return console.error("stripe webhook: refused checkout rebind",{organizationId:Y,eventId:Z.id}),{handled:!1,reason:"org already bound to another subscription",orphanSubscriptionId:W};let K=_f0(Q.customer);if(!await $.bindSubscription(Y,{stripeSubscriptionId:W,...K?{stripeCustomerId:K}:{},status:"active",lastStripeEventAt:oP1(Z,G)}))return console.error("stripe webhook: lost the bind race",{organizationId:Y,subscriptionId:W,eventId:Z.id}),{handled:!1,reason:"org already bound to another subscription",orphanSubscriptionId:W};let F=_W(k7(Q.metadata)?.planId);return{handled:!0,organizationId:Y,...F?{planChange:{planId:F,note:`stripe checkout ${_W(Q.id)??""}`.trim()}}:{}}}case"customer.subscription.updated":case"customer.subscription.deleted":{let Y=_W(Q.id);if(!Y)return{handled:!1,reason:"no sub id"};let X=await $.getBillingByStripeSubscriptionId(Y);if(!X)return{handled:!1,reason:"unknown subscription"};let J=Z.type==="customer.subscription.deleted";if(!J&&tP1(Z,X))return{handled:!1,reason:"stale event"};let G=J?"canceled":vf0(Q.status);await $.updateStripeState(X.organizationId,{status:G,currentPeriodEnd:z15(Q),...J&&{stripeSubscriptionId:null},lastStripeEventAt:oP1(Z,X)});let W=sP1(G,Q,B0().stripePlanPriceIds);return{handled:!0,organizationId:X.organizationId,...W?{planChange:{planId:W,note:`stripe ${Z.type} (${G})`}}:{}}}case"invoice.paid":{let Y=w15(Q);if(!Y)return{handled:!1,reason:"no sub id"};let X=await $.getBillingByStripeSubscriptionId(Y);if(!X)return{handled:!1,reason:"unknown subscription"};if(tP1(Z,X))return{handled:!1,reason:"stale event"};await $.updateStripeState(X.organizationId,{status:"active",currentPeriodEnd:E15(Q),lastStripeEventAt:oP1(Z,X)});let J=P15({items:Q.lines},B0().stripePlanPriceIds);return{handled:!0,organizationId:X.organizationId,...J?{planChange:{planId:J,note:"stripe invoice.paid"}}:{}}}default:return{handled:!1,reason:`unhandled event ${Z.type}`}}}function T15($,Z){if(!Z.handled||$.livemode===!1)return null;let Q=$.data.object;if(Z.topUp)return{name:"credits_topup_succeeded",organizationId:Z.organizationId,properties:{credit_cents:Z.topUp.creditCents}};switch($.type){case"checkout.session.completed":case"checkout.session.async_payment_succeeded":return{name:"subscription_started",organizationId:Z.organizationId,properties:{}};case"customer.subscription.deleted":return{name:"subscription_canceled",organizationId:Z.organizationId,properties:{}};case"customer.subscription.updated":return{name:"subscription_updated",organizationId:Z.organizationId,properties:{status:vf0(Q.status),...typeof Q.cancel_at_period_end==="boolean"?{cancel_at_period_end:Q.cancel_at_period_end}:{}}};case"invoice.paid":if(Q.billing_reason==="subscription_create")return null;return{name:"subscription_renewed",organizationId:Z.organizationId,properties:{}};default:return null}}function UH8($,Z){let Q=T15($,Z);if(!Q)return;m7({event:Q.name,organizationId:Q.organizationId,...$.id?{uuid:aK$(`stripe:${$.id}:${Q.name}`)}:{},...$.created?{timestamp:new Date($.created*1000)}:{},properties:Q.properties})}async function DH8($){let Z=new I3(E8().db),Q=await A15(Z,$);if(!(Q.handled&&Q.topUp))UH8($,Q);if(Q.handled&&Q.topUp)await aQ8({organizationId:Q.organizationId,amountCents:Q.topUp.creditCents,referenceId:Q.topUp.referenceId}),UH8($,Q);if(Q.handled&&Q.planChange){try{await No({organizationId:Q.organizationId,planId:Q.planChange.planId,note:Q.planChange.note})}catch(Y){if(!(Y instanceof Uo))throw Y;return console.error("stripe webhook: gateway REFUSED the plan change \u2014 the org has been "+"charged (or cancelled) and its entitlement did NOT move. Place it by hand through the gateway admin API.",{organizationId:Q.organizationId,planId:Q.planChange.planId,eventId:$.id,status:Y.status,error:Y.message}),Q}Ou(Q.organizationId)}if(!Q.handled&&Q.orphanSubscriptionId){let Y=Q.orphanSubscriptionId;try{await sy$(Y)}catch(J){if(!(J instanceof G7&&(J.status===400||J.status===404)))throw J}let{refundedCents:X}=await ry$(Y);console.error("stripe webhook: reversed orphan subscription",{subscriptionId:Y,refundedCents:X,eventId:$.id})}return Q}var j15=300;var rP1=L(()=>{Q70();k3();Q6();I00();XO();Z70();u1()});import{DBOS as xf0,SchedulerMode as q15}from"@dbos-inc/dbos-sdk";function LH8($){eP1=$}function OH8(){if(!eP1)throw Error("[subscription-sweep] runtime not initialized \u2014 setSubscriptionSweepRuntime() must run before the workflow fires");return eP1}async function I15($){let{organizationId:Z,stripeSubscriptionId:Q}=$;if(!Q)return{organizationId:Z,action:"ok"};let Y=new I3(OH8().db);try{let X,J,G=!1;try{let K=await Gz(Q);X=vf0(K.status),J=k15(K)}catch(K){if(!(K instanceof G7)||K.status!==404)throw K;X="canceled",J=$.currentPeriodEnd,G=!0}let W=sP1(X,{},B0().stripePlanPriceIds);if(await Y.updateStripeState(Z,{status:X,currentPeriodEnd:J,...G&&{stripeSubscriptionId:null}}),!W)return{organizationId:Z,action:"ok"};return await No({organizationId:Z,planId:W,note:`studio subscription sweep (${X})`}),Ou(Z),console.warn("[subscription-sweep] revoked a paid tier whose webhook never arrived",{organizationId:Z,subscriptionId:Q,status:X}),{organizationId:Z,action:G?"gone":"revoked"}}catch(X){if(X instanceof Uo)console.error("[subscription-sweep] gateway REFUSED the revocation \u2014 the org still holds a tier it no longer pays for",{organizationId:Z,subscriptionId:Q,status:X.status});return{organizationId:Z,action:"failed",error:X instanceof Error?X.message:String(X)}}}function k15($){if(typeof $.current_period_end==="number")return new Date($.current_period_end*1000);let Z=0;for(let Q of $.items?.data??[])if(typeof Q.current_period_end==="number")Z=Math.max(Z,Q.current_period_end);return Z>0?new Date(Z*1000):null}async function C15($,Z){let Q=B0();if(!Q.plansEnabled||!Q.stripeSecretKey)return;let Y=new Date($.getTime()-M15),X=await xf0.runStep(()=>new I3(OH8().db).listSubscriptionsPastPeriodEnd(Y,V15),{name:"loadLapsedSubscriptions"});if(X.length===0)return;let J=await Promise.all(X.map((W)=>xf0.runStep(()=>I15(W),{name:`sweepSubscription:${W.organizationId}`})));for(let W of J)if(W.action==="failed")console.warn(`[subscription-sweep] org ${W.organizationId} failed: ${W.error}`);let G=J.filter((W)=>W.action==="revoked"||W.action==="gone").length;if(G>0)console.warn(`[subscription-sweep] revoked ${G} of ${X.length} lapsed subscriptions`)}function jH8(){if(aP1)return;aP1=xf0.registerWorkflow(C15,{name:"subscriptionSweepWorkflow"}),xf0.registerScheduled(aP1,{name:"subscriptionSweepWorkflow",crontab:R15,mode:q15.ExactlyOncePerIntervalWhenActive})}var R15="41 * * * *",M15=172800000,V15=100,eP1=null,aP1=null;var wH8=L(()=>{Q70();I00();XO();Z70();rP1();u1()});async function S15($,Z){let Q=await $.storage.tags.listOrgTags(Z),Y=Q.find((J)=>J.name.toLowerCase()===ff0);if(Y)return Y.id;return(await $.storage.tags.createTag(Z,ff0,qF0(Q.length))).id}async function _15($,Z,Q,Y,X){let J=await $.storage.taskBoard.getById(Q,Z);if(!J||!C88(J.status))return!1;let G=await $.storage.taskBoard.listPrs(Q,Z),W=await Promise.all(G.map(async(H)=>({...H,...await X($,Z,H)})));if(!sh(W))return!1;await $.storage.taskBoard.addItemTags(Q,[await Y()],"system");let K=await $.storage.taskBoard.getById(Q,Z);if(!K)return!1;return await Q9($,{taskBoardItemId:Q,action:"tags_changed",actorId:null,data:{from:J.tags,to:K.tags,reason:"merged_pr_auto_tag"}}),K8(Z,K),!0}async function EH8($,Z,Q,Y=Kv0){let X=null,J=()=>X??=S15($,Z),G=0;for(let W of Q)try{if(await _15($,Z,W,J,Y))G+=1}catch(K){console.error(`[task-board-merged-tag] ${W} failed`,K)}return{tagged:G}}var ff0="merged";var PH8=L(()=>{v8();xX();Mt();YU();yQ();m5()});import{DBOS as yf0,SchedulerMode as v15}from"@dbos-inc/dbos-sdk";function zH8($){Zz1=$}function AH8(){if(!Zz1)throw Error("[task-board-merged-tag] runtime not initialized \u2014 setTaskBoardMergedTagSweepRuntime() must run before the workflow fires");return Zz1}async function f15($,Z){try{let Q=await hJ(AH8().db,$);if(!Q)return{organizationId:$,tagged:0};let{tagged:Y}=await EH8(Q,$,Z);return{organizationId:$,tagged:Y}}catch(Q){return{organizationId:$,tagged:0,error:Q instanceof Error?Q.message:String(Q)}}}async function y15(){let $=await yf0.runStep(()=>new LW(AH8().db).listItemsAwaitingMergedTag(ff0,x15),{name:"loadMergedTagCandidates"});if($.length===0)return;let Z=await Promise.all(Wv0($).map(({organizationId:Y,itemIds:X})=>yf0.runStep(()=>f15(Y,X),{name:`tagMergedForOrg:${Y}`})));for(let Y of Z)if(Y.error)console.warn(`[task-board-merged-tag] org ${Y.organizationId} failed: ${Y.error}`);let Q=Z.reduce((Y,X)=>Y+X.tagged,0);if(Q>0)console.log(`[task-board-merged-tag] tagged ${Q} of ${$.length} candidates`)}function TH8(){if($z1)return;$z1=yf0.registerWorkflow(y15,{name:"taskBoardMergedTagSweepWorkflow"}),yf0.registerScheduled($z1,{name:"taskBoardMergedTagSweepWorkflow",crontab:b15,mode:v15.ExactlyOncePerIntervalWhenActive})}var b15="41 * * * *",x15=200,Zz1=null,$z1=null;var qH8=L(()=>{IO();Mt();mz();PH8()});function RH8($){if(!$)return!1;try{return new URL($).host==="api.decocms.com"}catch{return!1}}var VH8,g15,MH8=($)=>{let Z=0,Q=$.length;while(Z<Q){let Y=$.charCodeAt(Z);if(Y!==32&&Y!==9)break;Z++}while(Q>Z){let Y=$.charCodeAt(Q-1);if(Y!==32&&Y!==9)break;Q--}return Z===0&&Q===$.length?$:$.slice(Z,Q)},Qz1=($,Z)=>{if(Z&&$.indexOf(Z)===-1)return{};let Q=$.split(";"),Y={};for(let X of Q){let J=X.indexOf("=");if(J===-1)continue;let G=MH8(X.substring(0,J));if(Z&&Z!==G||!VH8.test(G))continue;let W=MH8(X.substring(J+1));if(W.startsWith('"')&&W.endsWith('"'))W=W.slice(1,-1);if(g15.test(W)){if(Y[G]=W.indexOf("%")!==-1?Rd(W,D10):W,Z)break}}return Y},h15=($,Z,Q={})=>{if(!VH8.test($))throw Error("Invalid cookie name");let Y=`${$}=${Z}`;if($.startsWith("__Secure-")&&!Q.secure)throw Error("__Secure- Cookie must have Secure attributes");if($.startsWith("__Host-")){if(!Q.secure)throw Error("__Host- Cookie must have Secure attributes");if(Q.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(Q.domain)throw Error("__Host- Cookie must not have Domain attributes")}for(let X of["domain","path"])if(Q[X]&&/[;\r\n]/.test(Q[X]))throw Error(`${X} must not contain ";", "\\r", or "\\n"`);if(Q&&typeof Q.maxAge==="number"&&Q.maxAge>=0){if(Q.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");Y+=`; Max-Age=${Q.maxAge|0}`}if(Q.domain&&Q.prefix!=="host")Y+=`; Domain=${Q.domain}`;if(Q.path)Y+=`; Path=${Q.path}`;if(Q.expires){if(Q.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");Y+=`; Expires=${Q.expires.toUTCString()}`}if(Q.httpOnly)Y+="; HttpOnly";if(Q.secure)Y+="; Secure";if(Q.sameSite)Y+=`; SameSite=${Q.sameSite.charAt(0).toUpperCase()+Q.sameSite.slice(1)}`;if(Q.priority)Y+=`; Priority=${Q.priority.charAt(0).toUpperCase()+Q.priority.slice(1)}`;if(Q.partitioned){if(!Q.secure)throw Error("Partitioned Cookie must have Secure attributes");Y+="; Partitioned"}return Y},gf0=($,Z,Q)=>{return Z=encodeURIComponent(Z),h15($,Z,Q)};var IH8=L(()=>{OE();VH8=/^[\w!#$%&'*.^`|~+-]+$/,g15=/^[ !#-:<-[\]-~]*$/});var vo=($,Z,Q)=>{let Y=$.req.raw.headers.get("Cookie");if(typeof Z==="string"){if(!Y)return;let J=Z;if(Q==="secure")J="__Secure-"+Z;else if(Q==="host")J="__Host-"+Z;return Qz1(Y,J)[J]}if(!Y)return{};return Qz1(Y)},u15=($,Z,Q)=>{let Y;if(Q?.prefix==="secure")Y=gf0("__Secure-"+$,Z,{path:"/",...Q,secure:!0});else if(Q?.prefix==="host")Y=gf0("__Host-"+$,Z,{...Q,path:"/",secure:!0,domain:void 0});else Y=gf0($,Z,{path:"/",...Q});return Y},I70=($,Z,Q,Y)=>{let X=u15(Z,Q,Y);$.header("Set-Cookie",X,{append:!0})};var hf0=L(()=>{IH8()});var kH8=($)=>{let Q={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...$},Y=((J)=>{if(typeof J==="string")if(J==="*"){if(Q.credentials)return(G)=>G||null;return()=>J}else return(G)=>J===G?G:null;else if(typeof J==="function")return J;else return(G)=>J.includes(G)?G:null})(Q.origin),X=((J)=>{if(typeof J==="function")return J;else if(Array.isArray(J))return()=>J;else return()=>[]})(Q.allowMethods);return async function(G,W){function K(F,U){G.res.headers.set(F,U)}let H=await Y(G.req.header("origin")||"",G);if(H)K("Access-Control-Allow-Origin",H);if(Q.credentials)K("Access-Control-Allow-Credentials","true");if(Q.exposeHeaders?.length)K("Access-Control-Expose-Headers",Q.exposeHeaders.join(","));if(G.req.method==="OPTIONS"){if(Q.origin!=="*"||Q.credentials)K("Vary","Origin");if(Q.maxAge!=null)K("Access-Control-Max-Age",Q.maxAge.toString());let F=await X(G.req.header("origin")||"",G);if(F.length)K("Access-Control-Allow-Methods",F.join(","));let U=Q.allowHeaders;if(!U?.length){let N=G.req.header("Access-Control-Request-Headers");if(N)U=N.split(/\s*,\s*/)}if(U?.length)K("Access-Control-Allow-Headers",U.join(",")),G.res.headers.append("Vary","Access-Control-Request-Headers");return G.res.headers.delete("Content-Length"),G.res.headers.delete("Content-Type"),new Response(null,{headers:G.res.headers,status:204,statusText:"No Content"})}if(await W(),Q.origin!=="*"||Q.credentials)G.header("Vary","Origin",{append:!0})}};var CH8=()=>{};function Yz1($,Z){return`${$}:${Z}`}function SH8($){let Z=$?.ttlMs??120000,Q=$?.maxSize??1e4,Y=new Map;function X(){if(Y.size<=Q)return;let J=Date.now();for(let[G,W]of Y)if(W.expiresAt<=J)Y.delete(G);if(Y.size>Q){let G=Y.size-Q,W=0;for(let K of Y.keys()){if(W>=G)break;Y.delete(K),W++}}}return{get(J,G){let W=Yz1(J,G),K=Y.get(W);if(!K)return;if(K.expiresAt<=Date.now()){Y.delete(W);return}return K.role},set(J,G,W){let K=Yz1(J,G);Y.set(K,{role:W,expiresAt:Date.now()+Z}),X()},invalidate(J,G){Y.delete(Yz1(J,G))}}}class Xz1{options;subscriptions=[];localEmit=null;originId=crypto.randomUUID();encoder=new TextEncoder;seenMessageIds=new Set;constructor($){this.options=$}async start($){if($)this.localEmit=$;if(this.subscriptions.length>0)return;if(!this.localEmit)return;let Z=this.options.getConnection();if(!Z)return;let Q=new TextDecoder;this.subscriptions=_H8.map((Y)=>Z.subscribe(Y));for(let Y of this.subscriptions)(async()=>{for await(let X of Y)try{let J=JSON.parse(Q.decode(X.data));if(typeof J?.originId!=="string"||typeof J?.organizationId!=="string"||typeof J?.event?.id!=="string"||typeof J?.event?.type!=="string")continue;if(J.originId===this.originId)continue;if(typeof J.messageId==="string"&&this.hasSeen(J.messageId))continue;this.localEmit?.(J.organizationId,J.event)}catch{}})().catch((X)=>{console.error("[NatsSSEBroadcast] Subscription error:",X)})}broadcast($,Z){this.localEmit?.($,Z);let Q={originId:this.originId,messageId:crypto.randomUUID(),organizationId:$,event:Z};try{let Y=this.options.getConnection();if(!Y)return;let X=this.encoder.encode(JSON.stringify(Q));for(let J of _H8)Y.publish(J,X)}catch(Y){console.warn("[NatsSSEBroadcast] Publish failed (non-critical):",Y)}}async stop(){for(let $ of this.subscriptions)$.unsubscribe();this.subscriptions=[],this.seenMessageIds.clear(),this.localEmit=null}hasSeen($){if(this.seenMessageIds.has($))return!0;if(this.seenMessageIds.add($),this.seenMessageIds.size>1000){let Z=this.seenMessageIds.values().next().value;if(Z)this.seenMessageIds.delete(Z)}return!1}}var _H8;var vH8=L(()=>{_H8=["studio.sse.broadcast","mesh.sse.broadcast"]});async function l15($,Z,Q=5){try{await F8(Z,{maxAttempts:Q,minTimeout:1000,maxTimeout:1e4,jitter:0})}catch(Y){console.error(`${$} Deferred start failed:`,Y instanceof e6?Y.cause:Y)}}function bH8($){let Z=new Xz1({getConnection:()=>$.getConnection()});I6.start(Z).catch((Q)=>{console.error("[SSEHub] Failed to start broadcast strategy:",Q)}),$.onReady(()=>{l15("[NatsSSEBroadcast]",()=>Z.start())})}var Jz1=L(()=>{n$();vH8();VO();VO()});var xH8=()=>{};var Gz1=()=>{};var fH8=()=>{};var m15,Vb7;var yH8=L(()=>{xH8();Gz1();OE();fH8();m15={br:".br",zstd:".zst",gzip:".gz"},Vb7=Object.keys(m15)});var gH8=L(()=>{yH8()});var hH8=()=>{};var uH8=L(()=>{hH8()});var lH8=()=>{};var mH8=L(()=>{Y81()});var Wz1=L(()=>{jE();mH8()});var Kz1="x-hono-disable-ssg",pb7;var Hz1=L(()=>{Wz1();pb7=(()=>{try{return new Response("SSG is disabled",{status:404,headers:{[Kz1]:"true"}})}catch{return null}})()});var cH8=L(()=>{sH0()});var Fz1=L(()=>{cH8()});var dH8=L(()=>{uH8();lH8();Gz1();Hz1();Fz1();Wz1()});var iH8=L(()=>{Hz1();Fz1();dH8()});var Ix7;var pH8=L(()=>{iH8();({write:Ix7}=Bun)});var i15=class{#$;constructor($){this.#$=$,this.raw=$.raw,this.url=$.url?new URL($.url):null,this.protocol=$.protocol??null}send($,Z){this.#$.send($,Z??{})}raw;binaryType="arraybuffer";get readyState(){return this.#$.readyState}url;protocol;close($,Z){this.#$.close($,Z)}},nH8=($)=>{return(...Z)=>{if(typeof Z[0]==="function"){let[Q,Y]=Z;return async function(J,G){let W=await Q(J),K=await $(J,W,Y);if(K)return K;await G()}}else{let[Q,Y,X]=Z;return(async()=>{let J=await $(Q,Y,X);if(!J)throw Error("Failed to upgrade WebSocket");return J})()}}};var tH8=()=>{};var k70=($)=>("server"in $.env)?$.env.server:$.env;var uf0=()=>{};var p15;var oH8=L(()=>{tH8();uf0();p15=nH8(($,Z)=>{let Q=k70($);if(!Q)throw TypeError("env has to include the 2nd argument of fetch.");if(Q.upgrade($.req.raw,{data:{events:Z,url:new URL($.req.url),protocol:$.req.url}}))return new Response(null);return})});var C70=($)=>{let Z=k70($);if(!Z)throw TypeError("env has to include the 2nd argument of fetch.");if(typeof Z.requestIP!=="function")throw TypeError("server.requestIP is not a function.");let Q=Z.requestIP($.req.raw);if(!Q)return{remote:{}};return{remote:{address:Q.address,addressType:Q.family==="IPv6"||Q.family==="IPv4"?Q.family:void 0,port:Q.port}}};var sH8=L(()=>{uf0()});var Uz1=L(()=>{gH8();pH8();oH8();sH8();uf0()});var rH8;var aH8=L(()=>{rH8={google:{name:"Google",icon:"https://assets.decocache.com/webdraw/eb7480aa-a68b-4ce4-98ff-36aa121762a7/google.svg"},github:{name:"GitHub",icon:"https://assets.decocache.com/decocms/e02ce92e-6684-41a6-acfc-432977eb4878/github.png"},microsoft:{name:"Microsoft",icon:"https://assets.decocache.com/mcp/aa6f6e1a-6526-4bca-99cc-82e2ec38b0e4/microsoft.png"}}});function eH8(){let $=Object.keys(_4.socialProviders??{}),Z=$.length>0,Q=$.map((X)=>({name:X,icon:rH8[X].icon})),Y=B0().localMode;return{emailAndPassword:{enabled:_4.emailAndPassword?.enabled??!1},magicLink:{enabled:_4.magicLinkConfig?.enabled??!1},emailOtp:{enabled:_4.emailOtpConfig?.enabled??!1},resetPassword:{enabled:Uf0},socialProviders:{enabled:Z,providers:Q},sso:_4.ssoConfig?{enabled:!0,providerId:_4.ssoConfig.providerId}:{enabled:!1},stdioEnabled:Y,localMode:bO()}}async function n15($,Z,Q){try{if(!_4.inviteEmailProviderId||!_4.emailProviders||_4.emailProviders.length===0)return;let Y=S3(_4.emailProviders,_4.inviteEmailProviderId);if(!Y)return;let X=await $.selectFrom("member").innerJoin("user","user.id","member.userId").select(["user.email as email","member.role as role"]).where("member.organizationId","=",Z.id).execute(),J=C00,G=X.filter((H)=>(H.role??"").split(",").map((F)=>F.trim()).some((F)=>J.includes(F)));if(G.length===0)return;let W=C3(Y),K=`${g9()}/${Z.slug}/settings/members`;await Promise.allSettled(G.map((H)=>W({to:H.email,subject:`New request to join ${Z.name}`,html:_3({preheader:`${Q} requested to join ${Z.name}.`,heading:"New join request",subheading:`<strong>${Q}</strong> requested to join <strong>${Z.name}</strong> on deco Studio.`,body:lT("Review request",K),footnote:"You can approve or deny this request from your members settings."})})))}catch(Y){console.error("[Auth] Failed to notify admins of join request:",Y)}}var aO,$F8;var Nz1=L(()=>{W8();Uz1();Q6();u1();iK();k3();xE1();Kf0();uT();YX();H9();aH8();eh();aw();aO=new Z1;aO.post("/local-session",async($)=>{if(!bO())return $.json({success:!1,error:"Local mode is not active"},403);let Z;try{Z=C70($).remote.address}catch{}if(!(Z==="127.0.0.1"||Z==="::1"||Z==="::ffff:127.0.0.1"))return $.json({success:!1,error:"Forbidden"},403);try{let{waitForSeed:Y}=await Promise.resolve().then(() => (eh(),uv0));await Y();let{auth:X}=await Promise.resolve().then(() => (iK(),OW8)),J=await zD1();if(!J)return $.json({success:!1,error:"Local admin user not found"},500);let G=await hv0();return await X.api.signInEmail({body:{email:J.email,password:G},asResponse:!0})}catch(Y){return console.error("Failed to create local session:",Y),$.json({success:!1,error:Y instanceof Error?Y.message:"Failed to create local session"},500)}});aO.get("/my-capabilities/:slug",async($)=>{let Z=$.req.param("slug"),Q=await B4.api.getSession({headers:$.req.raw.headers});if(!Q?.user)return $.json({error:"Authentication required"},401);let Y=E8().db,X=await Y.selectFrom("organization").select(["id"]).where("slug","=",Z).executeTakeFirst();if(!X)return $.json({role:null,capabilities:{}});let G=(await Y.selectFrom("member").select(["role"]).where("userId","=",Q.user.id).where("organizationId","=",X.id).executeTakeFirst())?.role??null;if(!G)return $.json({role:null,capabilities:{}});if(CZ(G))return $.json({role:G,capabilities:sZ$()});if(G==="user")return $.json({role:G,capabilities:R01({self:[...oc]})});let W=await Y.selectFrom("organizationRole").select(["permission"]).where("role","=",G).where("organizationId","=",X.id).executeTakeFirst(),K={},H=W?.permission;if(typeof H==="string")try{let F=JSON.parse(H);if(F&&typeof F==="object"&&!Array.isArray(F))K=F}catch{K={}}return $.json({role:G,capabilities:R01(K)})});aO.get("/domain-lookup",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({found:!1,organizations:[]});let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({found:!1,organizations:[]});try{let X=(await new V3(E8().db).getAllByDomain(Q)).filter(Wf0);if(X.length===0)return $.json({found:!1,organizations:[]});let J=await E8().db.selectFrom("organization").select(["id","name","slug","logo","metadata"]).where("id","in",X.map((K)=>K.organizationId)).execute(),G=new Map(J.map((K)=>[K.id,K])),W=X.map((K)=>{let H=G.get(K.organizationId);if(!H)return null;if(u9(H))return null;return{id:H.id,name:H.name,slug:H.slug,logo:H.logo,joinMode:K.joinMode}}).filter((K)=>K!==null);return $.json({found:W.length>0,organizations:W})}catch(Y){return console.error("[Auth] Domain lookup failed:",Y),$.json({success:!1,error:"Domain lookup failed"},500)}});aO.post("/domain-join",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({success:!1,error:"Email must be verified to join"},403);let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({success:!1,error:"Generic email domains cannot auto-join"},403);let Y=await $.req.json().catch(()=>({})),X=typeof Y.organizationSlug==="string"&&Y.organizationSlug.trim()?Y.organizationSlug.trim():null;try{let J=E8().db,K=(await new V3(J).getAllByDomain(Q)).filter((B)=>B.verificationStatus==="verified"&&B.joinMode==="auto");if(K.length===0)return $.json({success:!1,error:"Auto-join is not available for this domain"},403);let H=await J.selectFrom("organization").select(["id","slug","metadata"]).where("id","in",K.map((B)=>B.organizationId)).execute(),F=new Map(H.filter((B)=>!u9(B)).map((B)=>[B.id,{id:B.id,slug:B.slug}])),U=K.flatMap((B)=>{let D=F.get(B.organizationId);return D?[D]:[]});if(U.length===0)return $.json({success:!1,error:"Auto-join is not available for this domain"},403);let N;if(X){let B=U.find((D)=>D.slug===X);if(!B)return $.json({success:!1,error:"This organization is not available for auto-join with your email domain."},403);N=B}else if(U.length===1)N=U[0];else return $.json({success:!1,error:"Multiple organizations match this domain. Please pick one.",requiresSelection:!0},409);try{await B4.api.addMember({body:{userId:Z.user.id,role:"user",organizationId:N.id}})}catch(B){if(!Jz(B))return console.error("[Auth] Domain join addMember failed:",B),$.json({success:!1,error:"Failed to join organization"},500)}return m1.capture({distinctId:Z.user.id,event:"organization_domain_joined",groups:{organization:N.id},properties:{organization_id:N.id,organization_slug:N.slug,email_domain:Q}}),$.json({success:!0,slug:N.slug})}catch(J){return m1.captureException(J,Z.user.id),console.error("[Auth] Domain join failed:",J),$.json({success:!1,error:"Failed to join organization"},500)}});aO.post("/domain-setup",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({success:!1,error:"Email must be verified"},403);let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({success:!1,error:"Corporate email required"},403);let Y=await $.req.json().catch(()=>({})),X=typeof Y.name==="string"&&Y.name.trim().length>0?Y.name.trim():null,J=typeof Y.logo==="string"&&Y.logo.length>0?Y.logo:null,G=Y.claimDomain!==!1;try{let W=E8().db,K=new V3(W),H=await K.getAllByDomain(Q);if(H.length>0){let O=await W.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["organization.slug"]).where("member.userId","=",Z.user.id).where("member.organizationId","in",H.map((j)=>j.organizationId)).executeTakeFirst();if(O)return $.json({success:!0,slug:O.slug,alreadyExists:!0})}let F=Q.split(".")[0]??Q,U=X??F.charAt(0).toUpperCase()+F.slice(1),N=(X??F).toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")||F.toLowerCase().replace(/[^a-z0-9-]/g,""),B=null;for(let j=0;j<3;j++){let w=j===0?"":`-${Math.random().toString(36).slice(2,6)}`,E=j===0?U:`${U}${w}`,P=`${N}${w}`;try{B=await B4.api.createOrganization({body:{name:E,slug:P,userId:Z.user.id}});break}catch(T){if(!(T instanceof Error&&("body"in T)&&T.body?.code==="ORGANIZATION_ALREADY_EXISTS")||j===2)throw T}}if(!B?.id)throw Error("Failed to create organization");let D=B.id;if(G)await K.add(D,Q,{joinMode:"auto",verificationStatus:"verified",verificationMethod:"email"});if(J)try{await B4.api.updateOrganization({headers:$.req.raw.headers,body:{organizationId:D,data:{logo:J}}})}catch(O){console.error("[Auth] Org update failed (non-fatal):",O)}return m1.identify({distinctId:Z.user.id,properties:{email:Z.user.email,$set:{email:Z.user.email},$set_once:{first_organization_created_at:new Date().toISOString()}}}),m1.groupIdentify({groupType:"organization",groupKey:D,properties:{name:B.slug??N,slug:B.slug??N,email_domain:Q,created_at:new Date().toISOString()}}),m1.capture({distinctId:Z.user.id,event:"organization_created",groups:{organization:D},properties:{organization_id:D,organization_slug:B.slug??N,email_domain:Q}}),$.json({success:!0,slug:B.slug??N})}catch(W){return m1.captureException(W,Z.user?.id),console.error("[Auth] Domain setup failed:",W),$.json({success:!1,error:"Failed to set up organization"},500)}});aO.get("/org-access-status/:slug",async($)=>{let Z=$.req.param("slug"),Q=await B4.api.getSession({headers:$.req.raw.headers});if(!Q?.user)return $.json({success:!1,error:"Authentication required"},401);let Y=E8().db,X=await Y.selectFrom("organization").select(["id","name","slug","logo"]).where("slug","=",Z).executeTakeFirst();if(!X)return $.json({status:"not-found"});let J={id:X.id,name:X.name,slug:X.slug,logo:X.logo};if(await Y.selectFrom("member").select(["id"]).where("userId","=",Q.user.id).where("organizationId","=",X.id).executeTakeFirst())return $.json({status:"member",organization:J});try{let W=await B4.api.listUserInvitations({headers:$.req.raw.headers}),K=Date.now(),H=W.find((F)=>F.organizationId===X.id&&F.status==="pending"&&new Date(F.expiresAt).getTime()>K);if(H)return $.json({status:"pending-invite",invitation:{id:H.id},organization:J})}catch(W){console.error("[Auth] listUserInvitations failed:",W)}if(Q.user.emailVerified){let W=Q.user.email?.split("@")[1]?.toLowerCase();if(W&&!cF.has(W)){let K=await new V3(Y).getByOrgAndDomain(X.id,W);if(K?.verificationStatus==="verified"){if(K.joinMode==="auto")return $.json({status:"auto-domain-join",organization:{...J,domain:W}});if(K.joinMode==="request"){let H=await new ic(Y).getPending(X.id,Q.user.id);return $.json({status:H?"request-pending":"can-request",organization:{...J,domain:W}})}}}}return $.json({status:"no-access",organization:J})});aO.post("/domain-request-join",async($)=>{let Z=await B4.api.getSession({headers:$.req.raw.headers});if(!Z?.user)return $.json({success:!1,error:"Authentication required"},401);if(!Z.user.emailVerified)return $.json({success:!1,error:"Email must be verified to request access"},403);let Q=Z.user.email?.split("@")[1]?.toLowerCase();if(!Q||cF.has(Q))return $.json({success:!1,error:"Generic email domains cannot request access"},403);let Y=await $.req.json().catch(()=>({})),X=typeof Y.organizationSlug==="string"&&Y.organizationSlug.trim()?Y.organizationSlug.trim():null;if(!X)return $.json({success:!1,error:"organizationSlug is required"},400);try{let J=E8().db,G=await J.selectFrom("organization").select(["id","slug","name"]).where("slug","=",X).executeTakeFirst();if(!G)return $.json({success:!1,error:"Organization not found"},404);let W=await new V3(J).getByOrgAndDomain(G.id,Q);if(!W||W.verificationStatus!=="verified"||W.joinMode!=="request")return $.json({success:!1,error:"This organization is not accepting requests for your domain."},403);if(await J.selectFrom("member").select(["id"]).where("userId","=",Z.user.id).where("organizationId","=",G.id).executeTakeFirst())return $.json({success:!0,slug:G.slug,alreadyMember:!0});return await new ic(J).create(G.id,Z.user.id),await n15(J,G,Z.user.email),m1.capture({distinctId:Z.user.id,event:"organization_join_requested",groups:{organization:G.id},properties:{organization_id:G.id,organization_slug:G.slug,email_domain:Q}}),$.json({success:!0,status:"pending"})}catch(J){return m1.captureException(J,Z.user.id),console.error("[Auth] Domain request-join failed:",J),$.json({success:!1,error:"Failed to request access"},500)}});aO.post("/ensure-organization",async($)=>{let Z=null;try{if(Z=await B4.api.getSession({headers:$.req.raw.headers}),!Z?.user)return $.json({success:!1,error:"Authentication required"},401);let Q=await Hf0({db:E8().db,authApi:B4.api,user:{id:Z.user.id,email:Z.user.email,name:Z.user.name??null,emailVerified:!!Z.user.emailVerified},allowCreate:!0,createdVia:"commerce_onboarding_recovery"});if(Q.status==="ambiguous")return $.json({success:!1,status:Q.status,domain:Q.domain,organizations:Q.organizations});if(Q.status==="skipped")return $.json({success:!1,status:Q.status,reason:Q.reason,domain:Q.domain,error:"Organization creation is not available."},409);if(Q.status==="already_has_organization")return $.json({success:!0,status:Q.status,organization:Q.organization,domain:Q.domain});return $.json({success:!0,status:Q.status,organization:Q.organization,domain:Q.domain})}catch(Q){let Y=Z?.user?.id;if(Y)m1.captureException(Q,Y);return console.error("[Auth] ensure organization failed:",Q),$.json({success:!1,error:"Failed to ensure organization"},500)}});$F8=aO});var bo=($)=>{let Z=$.req.header("sec-fetch-dest");if(Z!==void 0)return Z==="document";let Q=$.req.header("accept")??"";return Q.includes("text/html")&&!/text\/html\s*;\s*q\s*=\s*0/.test(Q)};function t15($){let Z=$.req.path;return $.req.method==="GET"&&/\/fs\/[^/]+\/read$/.test(Z)||$.req.method==="POST"&&/\/fs\/[^/]+\/unlock$/.test(Z)||$.req.method==="PUT"&&/\/fs\/[^/]+\/upload\/[^/]+$/.test(Z)}function Bz1($){let Z=$.auth?.apiKey?.metadata;if(!Z||typeof Z!=="object"||Array.isArray(Z)||!("organization"in Z))return{present:!1};let Q=Z.organization;if(!Q||typeof Q!=="object"||Array.isArray(Q))return{present:!0};let Y=Q.id;return{present:!0,id:typeof Y==="string"?Y:void 0}}function s15($){let Z=$.split("/").filter(Boolean);if(Z[0]!=="api")return!1;let Q=Z.slice(2);return o15.some((Y)=>Y.length===Q.length&&Y.every((X,J)=>X==="*"||X===Q[J]))}var o15,xo=async($,Z)=>{let Q=$.req.param("org");if(!Q)return $.json({error:"org slug missing in path"},400);let Y=$.get("studioContext");if(!Y?.db)return $.json({error:"studioContext not initialized"},500);let X=Y.db,J=s15($.req.path),G=await X.selectFrom("organization").select(["id","slug","name","metadata"]).where((F)=>J?F.or([F("slug","=",Q),F("id","=",Q)]):F("slug","=",Q)).executeTakeFirst().then((F)=>F??AF0(X,Q));if(!G){if(bo($))return $.redirect(`/${encodeURIComponent(Q)}`,302);return $.json({error:`organization "${Q}" not found`},404)}let W=Bz1(Y);if(Y.auth?.apiKey?.id&&W.present&&W.id!==G.id)return $.json({error:"forbidden: API key is scoped to another organization"},403);if(Y.auth?.tokenOrganizationId&&Y.auth.tokenOrganizationId!==G.id)return $.json({error:"forbidden: token is scoped to another organization"},403);if(u9(G)){if(bo($))return $.redirect(`/${encodeURIComponent(Q)}`,302);return $.json({error:`organization "${Q}" not found`},404)}let K=Y.auth?.user?.id,H;if(K){let F=await X.selectFrom("member").select(["role"]).where("userId","=",K).where("organizationId","=",G.id).executeTakeFirst();if(F)H=F.role;else if(await OB1(X,K))kO({action:"org_scope_admit",actorUserId:K,targetOrgId:G.id,method:$.req.method,route:$.req.path}),H="owner";else if(!t15($)){if(bo($))return $.redirect(`/${encodeURIComponent(G.slug)}`,302);return $.json({error:"forbidden: not a member of organization"},403)}}return Y.organization={id:G.id,slug:G.slug,name:G.name,role:H},Y.access.setOrganizationId(G.id),Y.access.setRole(H),cz(Y,G),await Z()};var lf0=L(()=>{tN();qt();o15=[["vault","connections","*","access-token"],["vault","connections","*","configuration"],["internal","task-board","import"],["internal","task-board","resolve"],["internal","commerce-diagnostic","share-invite"],["internal","organization-notices"],["internal","repositories","resolve"],["internal","repositories","*","tree"],["internal","repositories","*","file"],["internal","repositories","*","search"],["internal","repositories","*","change-requests"],["internal","repositories","*","commits"]]});function r15($){return BQ($.id)!==null||Za0($.id)}function ZF8($,Z){let Q=new Map,Y=(X)=>{let J=Q.get(X);if(J)return J;let G=(async()=>{if(!(await $.storage.orgSsoConfig.getByOrgId(X))?.enforced)return!0;return await $.storage.orgSsoSessions.isValid(Z,X)})();return Q.set(X,G),G};return async(X)=>{let J=await Promise.all(X.map((G)=>Y(G.orgId)));return X.filter((G,W)=>J[W]===!0)}}function QF8($){let Z=$.auth?.apiKey?.id?Bz1($):{present:!1,id:void 0};if(Z.present&&!Z.id)return S70;let Q=$.auth?.tokenOrganizationId;if(Z.id&&Q&&Z.id!==Q)return S70;let Y=Z.id??Q??null;if(Y===null&&$.auth?.apiKey?.id)return S70;return Y}var YF8="/api/_me",S70,a15=256,e15=20,$$5=50,Z$5=10,Q$5=5,XF8=()=>{let $=new Z1;return $.get("/projects/search",async(Z)=>{let Q=Z.get("studioContext");Z.header("Cache-Control","private, no-store");let Y=S0(Q);if(!Y)return Z.json({error:"Unauthorized"},401);let X=QF8(Q);if(X===S70)return Z.json({error:"forbidden: credential is scoped to another organization"},403);let J=(Z.req.query("q")??"").trim();if(!J)return Z.json({items:[]});if(J.length>a15)return Z.json({error:"query too long"},400);let G=Number.parseInt(Z.req.query("limit")??"",10),W=Number.isFinite(G)&&G>0?Math.min(G,$$5):e15,K=ZF8(Q,Y),H=W+Z$5,F=[];for(let U=0;U<Q$5&&F.length<W;U++){let N=await Q.storage.virtualMcps.searchAcrossMemberships({userId:Y,term:J,limit:H,offset:U*H,organizationId:X}),B=N.filter((D)=>!r15(D)).filter((D)=>!u9({metadata:D.organization_metadata})).map((D)=>({id:D.id,title:D.title,icon:D.icon,orgId:D.organization_id,orgName:D.organization_name,orgSlug:D.organization_slug}));if(F.push(...await K(B)),N.length<H)break}return Z.json({items:F.slice(0,W)})}),$.get("/organizations",async(Z)=>{let Q=Z.get("studioContext");Z.header("Cache-Control","private, no-store");let Y=S0(Q);if(!Y)return Z.json({error:"Unauthorized"},401);let X=QF8(Q);if(X===S70)return Z.json({error:"forbidden: credential is scoped to another organization"},403);let G=(await Q.boundAuth.organization.list()).filter((K)=>X===null||K.id===X).map((K)=>({orgId:K.id,slug:K.slug,name:K.name,logo:K.logo??null})),W=await ZF8(Q,Y)(G);return Z.json({organizations:W.map(({orgId:K,...H})=>({id:K,...H}))})}),$};var JF8=L(()=>{W8();q8();lf0();S70=Symbol("deny")});var GF8="Payload Too Large",WF8,h6=($)=>{let Z=$.onError||(()=>{let Y=new Response(GF8,{status:413});throw new R1(413,{res:Y})}),Q=$.maxSize;return async function(X,J){if(!X.req.raw.body)return J();let G=X.req.raw.headers.has("transfer-encoding"),W=X.req.raw.headers.has("content-length");if(W&&!G)return parseInt(X.req.raw.headers.get("content-length")||"0",10)>Q?Z(X):J();let K=0,H=X.req.raw.body.getReader(),U={body:new ReadableStream({async start(N){try{for(;;){let{done:B,value:D}=await H.read();if(B)break;if(K+=D.length,K>Q){N.error(new WF8(GF8));break}N.enqueue(D)}}finally{N.close()}}}),duplex:"half"};if(X.req.raw=new Request(X.req.raw,U),await J(),X.error instanceof WF8)X.res=await Z(X)}};var vW=L(()=>{NG();WF8=class extends Error{constructor($){super($);this.name="BodyLimitError"}}});import{createHash as Y$5}from"crypto";function _70($,Z,Q=0){return Z.every((Y,X)=>$[Q+X]===Y)}function HF8($){if(_70($,[137,80,78,71,13,10,26,10]))return{mime:"image/png",ext:"png"};if(_70($,[255,216,255]))return{mime:"image/jpeg",ext:"jpg"};if(_70($,[71,73,70,56])&&($[4]===55||$[4]===57)&&$[5]===97)return{mime:"image/gif",ext:"gif"};if(_70($,[82,73,70,70])&&_70($,[87,69,66,80],8))return{mime:"image/webp",ext:"webp"};return null}function Lz1($){return eW($)}function G$5($,Z){let Q=Y$5("sha256").update($).digest("hex");return`${mf0}/${Q}.${Z}`}function df0($,Z,Q){let Y=new URLSearchParams({path:Q}).toString();return`${$.replace(/\/$/,"")}${cf0}/fs/${encodeURIComponent(Z)}/read?${Y}`}function fo($){let Z=XJ(),Q=Z?z3(Z,Dz1):new aW(Dz1,$.baseUrl);return new ZK(Q,$.storage.orgFsEntries,Dz1,X$5)}async function v70($,Z){return(await $.listDir(Z,mf0).catch(()=>[])).filter((Y)=>Y.kind==="file").sort((Y,X)=>X.updatedAt.localeCompare(Y.updatedAt))}async function FF8($,Z){return(await v70($,Z)).map((Y)=>({path:Y.path,current:Y.readPublic,updatedAt:Y.updatedAt}))}async function W$5($,Z){if((await $.stat(Z,mf0))?.readPublic)await $.setReadPublic(Z,mf0,!1,{actor:Z})}async function Oz1($,Z,Q){let Y=await v70($,Z);if(!Y.some((X)=>X.path===Q))throw new JJ(`No such avatar: ${Q}`);await W$5($,Z),await $.setReadPublic(Z,Q,!0,{actor:Z}),await Promise.all(Y.filter((X)=>X.path!==Q&&X.readPublic).map((X)=>$.setReadPublic(Z,X.path,!1,{actor:Z})))}async function K$5($,Z,Q){try{let X=(await v70($,Z)).filter((J)=>J.path!==Q).slice(J$5-1);await Promise.all(X.map((J)=>$.delete(Z,J.path,{actor:Z})))}catch(Y){console.warn("[user-fs] failed to evict old avatars",Y)}}async function UF8($,Z){let{userId:Q,bytes:Y,contentType:X,ext:J}=Z,G=G$5(Y,J);return await $.write(Q,G,Y,{actor:Q,contentType:X}),await Oz1($,Q,G),await K$5($,Q,G),G}async function NF8($,Z,Q){if(!(await v70($,Z)).some((X)=>X.path===Q))throw new JJ(`No such avatar: ${Q}`);await $.delete(Z,Q,{actor:Z})}async function BF8($,Z){try{let Q=await v70($,Z);await Promise.all(Q.map((Y)=>$.delete(Z,Y.path,{actor:Z})))}catch(Q){console.warn("[user-fs] failed to clear avatars",Q)}}var Dz1="org_user_fs",cf0="/api/_users",mf0="avatars",X$5,KF8=2097152,J$5=5;var jz1=L(()=>{Rm();Xw();xU();QY();X$5={maxFileBytes:5242880,volumeQuotaBytes:67108864}});var DF8="uploads",LF8="editor-images",OF8="editor-files",jF8;var wF8=L(()=>{jF8=["image/png","image/jpeg","image/gif","image/webp","image/avif"]});function wz1($,Z){if($!==DF8)return!1;let Q=N5(Z);return[OF8,LF8].some((X)=>Q.startsWith(`${X}/`))&&!F$5.has(f7(Q))}function b70($,Z,Q,Y,{downloadOnly:X=!1}={}){let J=f7(Q),G={"Content-Type":J,"X-Content-Type-Options":"nosniff","Cache-Control":Y?"public, max-age=0, must-revalidate":"private, max-age=0"};if(X)G["Content-Disposition"]="attachment",G["Content-Security-Policy"]="sandbox; default-src 'none'";else if(H$5.has(J))G["Content-Security-Policy"]="sandbox; default-src 'none'; img-src data:; style-src 'unsafe-inline'";else if(J.startsWith("text/html"))G["Content-Security-Policy"]="sandbox allow-scripts allow-modals allow-same-origin allow-downloads";return $.body(Buffer.from(Z),200,G)}var H$5,F$5;var Ez1=L(()=>{wF8();QY();cH();H$5=new Set(["image/svg+xml","application/xml"]),F$5=new Set([...jF8,"application/pdf"])});function if0($,Z){if(Z instanceof JJ)return $.json({error:Z.message},404);if(Z instanceof A3)return $.json({error:Z.message},400);if(Z instanceof xA)return $.json({error:Z.message},413);return console.error("[user-fs] request failed",Z),$.json({error:"Internal error"},500)}function pf0($){let Q=$.get("studioContext").auth?.user?.id;if(!Q)return{ok:!1,res:$.json({error:"Unauthorized"},401)};if(!Lz1(Q))return{ok:!1,res:$.json({error:"Unsupported user id"},400)};return{ok:!0,userId:Q}}var EF8=()=>{let $=new Z1;return $.get("/fs/:userId/read",async(Z)=>{let Q=Z.req.param("userId"),Y=Z.req.query("path")??"";if(!Lz1(Q))return Z.json({error:"Invalid user id"},400);let X=Z.get("studioContext"),J=fo(X),W=(await J.resolveReadAccess(Q,Y).catch(()=>({access:"private"}))).access==="public";if(!W&&X.auth?.user?.id!==Q)return Z.json({error:"Not found"},404);try{return b70(Z,await J.read(Q,Y),Y,W)}catch(K){return if0(Z,K)}}),$.post("/avatar",h6({maxSize:KF8,onError:(Z)=>Z.json({error:"Avatar exceeds the size limit"},413)}),async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let{userId:Y}=Q,X=Z.get("studioContext"),J=new Uint8Array(await Z.req.arrayBuffer());if(J.byteLength===0)return Z.json({error:"Empty request body"},400);let G=HF8(J);if(!G)return Z.json({error:"Avatar must be a PNG, JPEG, GIF or WebP image"},415);try{let W=await UF8(fo(X),{userId:Y,bytes:J,contentType:G.mime,ext:G.ext});return Z.json({url:df0(X.baseUrl,Y,W)})}catch(W){return if0(Z,W)}}),$.get("/avatars",async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let Y=Z.get("studioContext"),X=await FF8(fo(Y),Q.userId);return Z.json({avatars:X.map((J)=>({...J,url:df0(Y.baseUrl,Q.userId,J.path)}))})}),$.post("/avatar/select",async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let Y=Z.get("studioContext"),X=await Z.req.json().catch(()=>null);if(typeof X?.path!=="string"||!X.path)return Z.json({error:"Body must be { path: string }"},400);try{return await Oz1(fo(Y),Q.userId,X.path),Z.json({url:df0(Y.baseUrl,Q.userId,X.path)})}catch(J){return if0(Z,J)}}),$.delete("/avatar",async(Z)=>{let Q=pf0(Z);if(!Q.ok)return Q.res;let Y=Z.get("studioContext"),X=fo(Y),J=Z.req.query("path");if(!J)return await BF8(X,Q.userId),Z.json({ok:!0});try{return await NF8(X,Q.userId,J),Z.json({ok:!0})}catch(G){return if0(Z,G)}}),$};var PF8=L(()=>{W8();vW();xU();jz1();Ez1()});import{z as yo}from"zod";var U$5,N$5,B$5=200,D$5=2000,L$5=60,O$5=2000,j$5,nf0;var Pz1=L(()=>{U$5=["warn","block"],N$5=yo.enum(U$5),j$5=yo.string().max(O$5).refine(($)=>{try{let Z=new URL($);return Z.protocol==="https:"||Z.protocol==="http:"}catch{return!1}},{message:"ctaUrl must be an absolute http(s) URL"}),nf0=yo.object({severity:N$5,title:yo.string().trim().min(1).max(B$5),message:yo.string().trim().min(1).max(D$5),ctaLabel:yo.string().trim().max(L$5).nullable().optional(),ctaUrl:j$5.nullable().optional()}).refine(($)=>!$.ctaLabel===!$.ctaUrl,{message:"ctaLabel and ctaUrl must be set together",path:["ctaUrl"]})});import{z as zz1}from"zod";function Az1($){let Z=$??{},Q=new Set([...Object.keys(mT.shape),...Object.keys(Z)]),Y={};for(let X of Q)Y[X]=b5(Z,X);return{flags:Z,effective:Y}}var w$5,zF8;var AF8=L(()=>{YZ();w$5=zz1.string().min(1).max(64).regex(/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/),zF8=zz1.record(w$5,zz1.boolean())});function TF8($,Z,Q){let Y=Q;for(;;){if(Y=$.indexOf(Z,Y),Y===-1)return-1;let X=$[Y+Z.length];if(X===void 0||X===`
|
|
4161
4161
|
`||X==="\r")return Y;Y+=Z.length}}function qF8($,Z){let Q=TF8($,E$5(Z),0);if(Q===-1)return null;let Y=$.indexOf(`
|
|
4162
4162
|
`,Q);if(Y===-1)return null;let X=TF8($,P$5(Z),Y);if(X===-1)return null;let J=$.lastIndexOf(`
|
|
4163
4163
|
`,X);return{from:Y+1,to:J+1}}function RF8($,Z){let Q=qF8($,Z);return Q?$.slice(Q.from,Q.to):null}function MF8($,Z,Q){let Y=qF8($,Z);if(!Y)throw Error(`prompt region "${Z}" not found in source`);let X=Q.endsWith(`
|
|
@@ -4483,7 +4483,7 @@ ${X}`:`${Y}
|
|
|
4483
4483
|
|
|
4484
4484
|
${X}
|
|
4485
4485
|
${J.slice(Y.length).trimStart()}`}function Mj8($){return $?.match(PK5)?.[1]?.toLowerCase()??null}async function qK5($,Z,Q){let[Y,X]=await Promise.all([$.client.listDecofileEntries(Z,$.packagePath),$.client.listDecofileEntries(Q,$.packagePath)]),J=new Map(yK(Y,$.packagePath).map((H)=>[H.path,H.sha])),G=yK(X,$.packagePath),W=new Set(G.map((H)=>H.path)),K=[];for(let H of G){if(J.get(H.path)===H.sha)continue;K.push({path:H.path,copyFromRef:Q})}for(let H of J.keys())if(!W.has(H))K.push({path:H,deleted:!0});return{changes:K,tree:Y,next:G.map((H)=>({stem:H.stem,sha:H.sha}))}}async function Rj8($,Z){try{return await CQ0($.client,$.packagePath,Z)}catch(Q){if(Q instanceof qs)return null;throw Q}}async function Vj8($,Z,Q){let Y=OP($.packagePath),[X,J]=await Promise.all([$.client.getEntriesAtPaths(Z,[Y]),$.client.getEntriesAtPaths(Q,[Y])]);if(X.get(Y)?.sha===J.get(Y)?.sha)return!1;let[G,W]=await Promise.all([Rj8($,Z),Rj8($,Q)]);return G!==W}async function Ij8($,Z){if(!ED0(Z))throw new iu;if(!await WT1($.store,$.site,Z))throw new iu}async function kj8($,Z){await Ij8($,Z);let Q=await $9($.client,$.mainBranch);return Vj8($,Q,Z)}async function Cj8($,Z,Q={},Y={}){await Ij8($,Z);let X=await $.client.readCommit(Z);if(!X)throw new iu;let J=await $9($.client,$.mainBranch),G=await qK5($,J,Z);if(G.changes.length===0)return{result:"up-to-date"};let W=await Vj8($,J,Z);if(W)console.info("hosted reapply: schema differs",{site:$.site,target:Z,head:J});let K=await KT1($,J,G,TK5(X,Z,Q.coAuthor));return{result:"merged",sha:K,release:await UT1($,K,Y),schemaChanged:W}}var iu,_Q0="Reapply: ",wK5,EK5="Reapplied-From",PK5;var LT1=L(()=>{Jn();A5();vF();$B();SQ0();jg0();iu=class iu extends Error{constructor(){super("This commit has no release");this.name="NotPublishedError"}};wK5=/^chore\(decofile\):/,PK5=/^Reapplied-From:\s*([0-9a-f]{40})\s*$/im});async function Sj8($,Z,Q){let[Y,X,J]=await Promise.all([Uj8($.store,$.site),mq$($.store,$.site),Z.listCommits({ref:$.mainBranch,since:MK5,cursor:Q,limit:RK5})]),G=new Map(J.items.map((H)=>[H.sha,H.date])),W=J.items.map((H)=>Mj8(H.body));await Promise.all([...new Set(W)].filter((H)=>H!==null&&!G.has(H)).map(async(H)=>{let F=await $.client.readCommit(H).catch(()=>null);if(F)G.set(H,F.date)}));let K=J.items.map((H,F)=>{let U=W[F];return{sha:H.sha,date:H.date,message:H.message,author:H.author.name??H.author.login,hasRelease:X.has(H.sha),reapplyOf:U?{sha:U,date:G.get(U)??null}:null}});return{current:Y,commits:K,nextCursor:J.nextCursor}}async function _j8($){let Z=await $9($.client,$.mainBranch),Q=await HT1($,Z),Y={revision:Z,schemaHash:Q,publishedAt:new Date().toISOString()};return await FT1($,Y),Y}var RK5=50,MK5="1970-01-01T00:00:00Z";var vj8=L(()=>{A5();$B();SQ0();LT1()});function bj8($){return`site-tokens:${$}`}function VK5($){let Z=$?.tokens;if(!Array.isArray(Z))return[];return Z.filter((Q)=>typeof Q==="object"&&Q!==null&&typeof Q.kid==="string"&&typeof Q.iat==="number")}function xj8($){return crypto.subtle.importKey("pkcs8",Buffer.from($,"base64"),{name:"Ed25519"},!1,["sign"])}async function IK5($,Z){let Q=(J)=>OT1(new TextEncoder().encode(JSON.stringify(J))),Y=`${Q({alg:"EdDSA",typ:"JWT"})}.${Q({site:Z.site,kid:Z.kid,iat:Z.iat})}`,X=await crypto.subtle.sign({name:"Ed25519"},$,new TextEncoder().encode(Y));return`${Y}.${OT1(X)}`}function fj8($){let Z=async(Q,Y)=>VK5(await $.kv.get(Q,bj8(Y)));return{list:Z,async issue(Q,Y){let X=await Z(Q,Y),J={kid:OT1(crypto.getRandomValues(new Uint8Array(16))),iat:Math.floor(Date.now()/1000)},G=await IK5(await $.signingKey(),{site:Y,...J});return await $.kv.set(Q,bj8(Y),{tokens:[...X,J]}),{token:G,record:J}}}}var OT1=($)=>Buffer.from($ instanceof Uint8Array?$:new Uint8Array($)).toString("base64url");function CK5(){let $=Ep();return $?{store:$,purge:Dg0()}:null}async function Ag0($){let Z=$.var.delivery();if(!Z)return null;let Q=$.get("hostedProject"),Y=await $.var.repoClientFor($.var.studioContext,Q.organizationId,Q.repository);return{client:Y,packagePath:Q.packagePath,mainBranch:await Y.getDefaultBranch(),store:Z.store,purge:Z.purge,site:Q.site}}function yj8($){let Z=B0().siteTokenSigningKey;if(!Z)return null;return fj8({kv:$.var.studioContext.storage.kv,signingKey:()=>xj8(Z)})}function Is($,Z){let Q=Z instanceof Error?Z.message:String(Z);if(Z instanceof qs)return $.json({error:Q},409);if(Z instanceof wg0)return console.error("hosted: latest.json update failed",{error:Q}),$.json({error:"latest-update-failed"},502);let Y=SG(Z);if(Y!==null)return $.json({error:Q},Y===404?404:502);return console.error("hosted: request failed",{error:Q}),$.json({error:Q},500)}function gj8($={}){let Z=new Z1,Q=$.repoClientFor??vG,Y=$.insightsFor??Yq$,X=$.delivery??CK5;return Z.use("*",async(J,G)=>{J.set("repoClientFor",Q),J.set("delivery",X),await G()}),Z.use("/:virtualMcpId/*",kK5),Z.get("/:virtualMcpId/releases",async(J)=>{try{let G=await Ag0(J);if(!G)return J.json(zg0,503);let W=J.get("hostedProject"),K=await Y(J.var.studioContext,W.organizationId,W.repository);return J.json(await Sj8(G,K,J.req.query("cursor")??null),200,{"Cache-Control":"no-store"})}catch(G){return Is(J,G)}}),Z.post("/:virtualMcpId/releases/retry",async(J)=>{try{let G=await Ag0(J);if(!G)return J.json(zg0,503);return J.json({current:await _j8(G)})}catch(G){return Is(J,G)}}),Z.get("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await Ag0(J);if(!G)return J.json(zg0,503);return J.json({schemaChanged:await kj8(G,J.req.param("sha"))})}catch(G){if(G instanceof iu)return J.json({error:G.message},404);return Is(J,G)}}),Z.post("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await Ag0(J);if(!G)return J.json(zg0,503);let W=await Cj8(G,J.req.param("sha"),{coAuthor:$O(J.var.studioContext)});return J.json(W)}catch(G){if(G instanceof iu)return J.json({error:G.message},404);if(G instanceof Rs)return J.json({error:"main-moved"},409);return Is(J,G)}}),Z.get("/:virtualMcpId/site-tokens",async(J)=>{let G=J.get("hostedProject"),W=yj8(J);if(!W)return J.json({error:"site tokens not configured"},503);return J.json({site:G.site,tokens:await W.list(G.organizationId,G.site)})}),Z.post("/:virtualMcpId/site-tokens",async(J)=>{let G=J.get("hostedProject"),W=yj8(J);if(!W)return J.json({error:"site tokens not configured"},503);try{let K=await J.var.repoClientFor(J.var.studioContext,G.organizationId,G.repository),H=await eq(K,G.packagePath,await K.getDefaultBranch());if(await Ap(J.var.studioContext.storage.virtualMcps,{id:G.virtualMcpId,organizationId:G.organizationId,metadata:G.metadata},H,J.var.studioContext.auth?.user?.id??"system"),!H)return J.json({error:"not a Blocks v8 site"},409);return J.json(await W.issue(G.organizationId,G.site))}catch(K){return Is(J,K)}}),Z}var kK5,zg0;var hj8=L(()=>{kF();W8();ay0();VG();CF();A5();$B();GT1();SQ0();jg0();vj8();LT1();p60();$R();zp();u1();SR();kK5=Fs(async($,Z)=>{let Q=$.var.studioContext,Y=Q.organization;if(!Y)return $.json({error:"Organization scope required"},500);if(!Q.auth?.user?.id)return $.json({error:"Unauthorized"},401);if(!await TQ(Q,Y.id,"cms"))return $.json({error:"This organization's plan does not include the CMS",code:"feature_not_in_plan"},403);let X=$.req.param("virtualMcpId")??"",J=await Q.storage.virtualMcps.findById(X);if(!J||J.organization_id!==Y.id)return $.json({error:"Virtual MCP not found"},404);if(!MQ(await r7(Q),X))return $.json({error:"Virtual MCP not found"},404);let G=J.metadata??null,W=YW(G,J.connections?.map((H)=>H.connection_id)??[]);if(!W)return $.json({error:"Project has no repository"},404);try{let H=await $.var.repoClientFor(Q,Y.id,W);if(!await TD0({projects:Q.storage.virtualMcps,project:{id:X,organizationId:Y.id,metadata:G},by:Q.auth.user.id,client:H,mainBranch:await H.getDefaultBranch()}))return $.json({error:"Not found"},404)}catch(H){return Is($,H)}let K=await AD0(Q.storage.orgSites,X,Y.id);if(!K)return $.json(Pp,409);return $.set("hostedProject",{organizationId:Y.id,virtualMcpId:X,site:K,packagePath:ZB(G),repository:W,metadata:G}),Z()}),zg0={error:"hosted delivery not configured"}});var uj8=($)=>{let Z=new Z1;if(Z.use("*",xo),Z.use("*",HU8),Z.route("/",WU8($.voiceSessions)),Z.route("/",Xy0()),Z.route("/",iU8()),Z.route("/",YN8()),Z.route("/",uU8()),Z.route("/",WL8()),Z.route("/",HL8()),Z.route("/",eD8()),Z.route("/",JL8()),Z.route("/",ZL8()),Z.route("/",oy0()),Z.route("/tools",OL8()),Z.route("/",BL8()),Z.route("/",vD8({kvStorage:$.kvStorage})),Z.route("/",SD8()),Z.route("/fs",dD8({getConnection:$.getNatsConnection})),Z.route("/sandbox",iO8()),Z.route("/decofile",Tj8()),Z.route("/hosted",gj8()),Z.route("/",sD8()),Z.route("/",pD8()),Z.route("/deco-sites",Gy0()),Z.route("/hosting",PU8()),Z.route("/monitor",_U8()),Z.route("/order-monitor",fU8()),Z.route("/sso",af0()),Z.route("/",sy0({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),Z.route("/webhooks",LU8()),$.mountDevAssets)Z.route("/dev-assets",By0({orgFromPath:!0}));Z.use("/mcp/:connectionId?",$.mcpAuth),Z.use("/mcp/:connectionId/ui-resource",$.mcpAuth),Z.use("/mcp/gateway/:virtualMcpId?",$.mcpAuth),Z.use("/mcp/virtual-mcp/:virtualMcpId?",$.mcpAuth),Z.use("/mcp/self",$.mcpAuth);for(let Q of BA1)Z.use(`${Q}/:threadId`,$.mcpAuth);Z.route("/",vW8()),Z.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),Z.get("/mcp/.well-known/oauth-protected-resource",$.betterAuthProtectedResourceHandler);for(let Q of BA1)Z.route(Q,tD8());return Z.route("/mcp",$x0()),Z.route("/mcp/self",iy0()),Z.route("/mcp",Yx0()),Z.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),Z.get("/watch",$.watchHandler),Z};var lj8=L(()=>{W8();KU8();FU8();lf0();OU8();uz1();zU8();vU8();yU8();Dy0();D2();xz1();pU8();pz1();_D8();bD8();iD8();nD8();sZ0();Mz1();Xx0();NA1();oD8();rD8();$L8();QL8();OA1();KL8();FL8();DL8();jA1();jL8();wA1();Zx0();pO8();qj8();hj8()});import{z as pu}from"zod";class jT1{adapter;getConnection;kvPromise;constructor($,Z){this.adapter=$;this.getConnection=Z}kv(){let $=this.getConnection();if(!$||$.isClosed())throw new R1(503,{message:"Voice transport is unavailable"});return this.kvPromise??=new dj8.Kvm(Tg0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Tg0.StorageType.Memory,ttl:ij8.nanos(EO),max_bytes:10485760}).catch((Z)=>{throw this.kvPromise=void 0,Z}),this.kvPromise}async conversationAgent($){let Z=await this.kv(),Q=`agent.${$.conversationKey}`,Y=Date.now()+45000;while(Date.now()<Y){let X=await Z.get(Q),J=X?.operation==="PUT"?cj8.parse(X.json()):null;if(J?.state==="ready")return J.agentId;if(J?.state==="creating"&&J.expiresAt>Date.now()){await J$(200);continue}let G=mj8.encode(JSON.stringify({state:"creating",expiresAt:Date.now()+40000})),W;try{W=X&&J?await Z.update(Q,G,X.revision):await Z.create(Q,G)}catch{await J$(200);continue}try{let K=await $.ensureConversationAgent();return await Z.update(Q,mj8.encode(JSON.stringify({state:"ready",agentId:K})),W),K}catch(K){throw await Z.delete(Q,{previousSeq:W}).catch(()=>{}),K}}throw new R1(503,{message:"Voice conversation is starting; try again"})}async createSession($){let Z=this.adapter.forConversationModel($.model),Q=await this.conversationAgent(Z);try{return{provider:"elevenlabs",conversationToken:await Z.createConversationToken(Q)}}catch(Y){let X=await this.kv(),J=`agent.${Z.conversationKey}`,G=await X.get(J),W=G?.operation==="PUT"?cj8.parse(G.json()):null;if(G&&W?.state==="ready"&&W.agentId===Q)await X.delete(J,{previousSeq:G.revision}).catch(()=>{});throw Y}}}var Tg0,dj8,ij8,mj8,cj8;var pj8=L(()=>{NG();IB();n$();Tg0=_(vH(),1),dj8=_(kq(),1),ij8=_(i2(),1),mj8=new TextEncoder,cj8=pu.discriminatedUnion("state",[pu.object({state:pu.literal("ready"),agentId:pu.string()}),pu.object({state:pu.literal("creating"),expiresAt:pu.number()})])});import{z as ks}from"zod";function SK5($){return{model:$.model,instructions:`${ht$}
|
|
4486
|
-
Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class wT1{config;constructor($){this.config=$}async createSession(){return{provider:"openai",transport:"webrtc"}}async negotiate($){let Z=await fetch("https://api.openai.com/v1/live/sessions",{method:"POST",headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","OpenAI-Safety-Identifier":$.safetyIdentifier},body:JSON.stringify({session:SK5({...this.config,language:$.language,model:$.model}),transport:{type:"webrtc",sdp:$.sdp}}),signal:AbortSignal.timeout(15000)});if(!Z.ok)throw await Z.body?.cancel(),Error(`OpenAI Live request failed (${Z.status})`);return{sdp:ks.object({session:ks.object({id:ks.string().min(1)}),transport:ks.object({type:ks.literal("webrtc"),sdp:ks.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var nj8=L(()=>{IB()});var tj8;var oj8=L(()=>{tj8=[{name:"delegate_to_agent",description:"Submit a complete request to the selected Studio agent. Returns after acceptance while work continues in the background. Results arrive later.",parameters:{type:"object",properties:{request:{type:"string",description:"The complete user request, with relevant conversational details. Preserve intent and constraints."}},required:["request"]}},{name:"get_agent_status",description:"Read the current chat's work status and known results. This does not track independent organization tasks; delegate fresh task-status queries to the Studio agent. Use when asked, never poll.",parameters:{type:"object",properties:{}}},{name:"stop_agent_work",description:"Request cancellation in the current chat ONLY when the user explicitly asks. Speaking over the companion is not cancellation. To stop independent tasks, delegate that request to the Studio agent.",parameters:{type:"object",properties:{}}}]});function ET1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:yt$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:tj8.map((Z)=>({...Z,type:"client",expects_response:!0,response_timeout_secs:Z.name==="delegate_to_agent"?20:5,...Z.name==="delegate_to_agent"?{execution_mode:"async",interruption_mode:"allow",pre_tool_speech:"off"}:{}}))}},asr:{provider:"scribe_realtime",quality:"high"},turn:{turn_eagerness:"normal",turn_timeout:-1,silence_end_call_timeout:-1},tts:{voice_id:$.voiceId,model_id:$.model},conversation:{max_duration_seconds:EO/1000,client_events:["audio","interruption","user_transcript","agent_response","client_tool_call","vad_score"]}},platform_settings:{auth:{enable_auth:!0},privacy:{record_voice:!1,retention_days:1,delete_audio:!0,delete_transcript_and_pii:!0},overrides:{conversation_config_override:{agent:{language:!0}}}}}}var sj8=L(()=>{IB();oj8()});import{z as iJ}from"zod";import{createHash as _K5,createHmac as vK5}from"crypto";class qg0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=_K5("sha256").update(JSON.stringify(ET1($))).digest("hex"),this.conversationKey=vK5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new qg0({...this.config,conversationModel:$})}async request($,Z,Q){let Y=await fetch(`https://api.elevenlabs.io/v1${$}`,{method:Z===void 0?"GET":"POST",headers:{"xi-api-key":this.config.apiKey,"Content-Type":"application/json"},body:JSON.stringify(Z),signal:Q});if(!Y.ok)throw await Y.body?.cancel(),Error(`ElevenLabs request failed (${Y.status})`);return Y}async ensureConversationAgent(){let $=`Studio voice ${this.configurationKey.slice(0,24)}`,Z=await this.request(`/convai/agents?search=${encodeURIComponent($)}&page_size=100`,void 0,AbortSignal.timeout(15000)),{agents:Q}=iJ.object({agents:iJ.array(iJ.object({agent_id:iJ.string(),name:iJ.string()}))}).parse(await Z.json()),Y=Q.find((J)=>J.name===$);if(Y){let J=await this.request(`/convai/agents/${encodeURIComponent(Y.agent_id)}`,void 0,AbortSignal.timeout(15000));return iJ.object({platform_settings:iJ.object({auth:iJ.object({enable_auth:iJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...ET1(this.config)},AbortSignal.timeout(15000));return iJ.object({agent_id:iJ.string().min(1)}).parse(await X.json()).agent_id}async createConversationToken($){let Z=await this.request(`/convai/conversation/token?agent_id=${encodeURIComponent($)}`,void 0,AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await $.json()).token}synthesize($,Z){return this.request(`/text-to-speech/${encodeURIComponent(this.config.voiceId)}/stream?output_format=mp3_44100_128`,{text:$,model_id:this.config.model},AbortSignal.any([Z,AbortSignal.timeout(60000)]))}}var rj8=L(()=>{sj8()});import{createHmac as bK5,timingSafeEqual as xK5}from"crypto";import{z as Cs}from"zod";function ej8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return bK5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function $w8($,Z){let Q=Buffer.from(JSON.stringify(aj8.parse($))).toString("base64url");return`${Q}.${ej8(Q,Z)}`}function Zw8($,Z,Q=Date.now()){if(!Z||$.length>4096)return null;let Y=$.split(".");if(Y.length!==2)return null;let[X,J]=Y;if(!X||!J)return null;let G=Buffer.from(ej8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!xK5(W,G))return null;try{let K=aj8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+EO)return null;return K.data}catch{return null}}var aj8;var Qw8=L(()=>{IB();aj8=Cs.object({sessionId:Cs.string().uuid(),organizationId:Cs.string().min(1).max(256),userId:Cs.string().min(1).max(256),threadId:Cs.string().min(1).max(256),expiresAt:Cs.number().int().positive()})});import{z as PT1}from"zod";function Yw8($,Z){if(Z?.voice_model!=null&&Z.voice_provider==null)throw Error("A voice model override requires a provider");let Q=Z?.voice_provider??$.voiceConversationProvider;return zT1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var zT1;var Xw8=L(()=>{zT1=PT1.object({provider:PT1.enum(["elevenlabs","openai"]),model:PT1.string().trim().min(1).max(128)})});import{createHash as fK5}from"crypto";import{z as Ss}from"zod";function _s($){return`user.${fK5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class TT1{deps;kvPromise;constructor($){this.deps=$}kv(){let $=this.deps.getConnection();if(!$||$.isClosed())throw new R1(503,{message:"Voice transport is unavailable"});return this.kvPromise??=new Jw8.Kvm(Mg0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Mg0.StorageType.Memory,ttl:Gw8.nanos(EO),max_bytes:10485760}).catch((Z)=>{throw this.kvPromise=void 0,Z}),this.kvPromise}adapter(){if(!this.deps.adapter)throw new R1(503,{message:"Voice is not configured on this deployment"});return this.deps.adapter}async create($,Z=!1,Q="en",Y){let X;if(Z)try{X=Yw8(this.deps.defaults,Y)}catch{throw new R1(503,{message:"Voice configuration is invalid"})}let J=X?this.deps.conversationAdapters[X.provider]:this.adapter();if(!J)throw new R1(503,{message:"Voice is not configured on this deployment"});let G={...$,sessionId:crypto.randomUUID(),expiresAt:Date.now()+EO},W=$w8(G,this.deps.secret),K=await this.kv(),H=_s(G),F=await K.get(H),U=F?.operation==="PUT"?Rg0.parse(F.json()):null,N=AT1.encode(JSON.stringify({sessionId:G.sessionId,expiresAt:G.expiresAt,conversation:X,characters:0,requests:0}));try{if(F&&U&&U.expiresAt<=Date.now())await K.update(H,N,F.revision);else await K.create(H,N)}catch{throw new R1(409,{message:"Close your other voice session before starting a new one"})}try{if(X&&"createSession"in J){let D=await J.createSession({language:Q,model:X.model,safetyIdentifier:_s($)});return{token:W,...D,expiresAt:G.expiresAt}}let B=await this.adapter().createTranscriptionToken();return{token:W,transcriptionToken:B,expiresAt:G.expiresAt}}catch(B){throw await this.release(G),B}}authorize($,Z){let Q=Zw8(Z,this.deps.secret);if(!Q||Q.organizationId!==$.organizationId||Q.userId!==$.userId||Q.threadId!==$.threadId)throw new R1(403,{message:"Invalid voice session"});return Q}async connect($,Z){let Q=this.authorize($,Z.token),Y=await this.kv(),X=_s(Q),J=await Y.get(X),G=J?.operation==="PUT"?Rg0.parse(J.json()):null;if(!J||!G||G.sessionId!==Q.sessionId||G.expiresAt<=Date.now())throw new R1(403,{message:"Voice session expired"});let W=G.conversation?this.deps.conversationAdapters[G.conversation.provider]:null;if(!W?.negotiate||!G.conversation)throw new R1(409,{message:"Voice session does not support SDP negotiation"});if(G.connected)throw new R1(409,{message:"Voice session already connected"});try{await Y.update(X,AT1.encode(JSON.stringify({...G,connected:!0})),J.revision)}catch{throw new R1(409,{message:"Voice session is busy"})}return W.negotiate({sdp:Z.sdp,language:Z.language,model:G.conversation.model,safetyIdentifier:X})}async speak($,Z,Q,Y){let X=this.authorize($,Z),J=await this.kv(),G=_s(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Rg0.parse(K.json()):null;if(!K||!H||H.sessionId!==X.sessionId||H.expiresAt<=Date.now())throw new R1(403,{message:"Voice session expired"});if(H.characters+Q.length>24000||H.requests>=120)throw new R1(429,{message:"Voice session speech limit reached"});try{await J.update(G,AT1.encode(JSON.stringify({...H,characters:H.characters+Q.length,requests:H.requests+1})),K.revision);break}catch{if(W>=2)throw new R1(409,{message:"Voice session is busy"})}}return this.adapter().synthesize(Q,Y)}async release($){let Z=await this.kv(),Q=await Z.get(_s($));if(Q?.operation==="PUT"&&Rg0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(_s($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var Mg0,Jw8,Gw8,Rg0,AT1;var Ww8=L(()=>{NG();IB();Qw8();Xw8();Mg0=_(vH(),1),Jw8=_(kq(),1),Gw8=_(i2(),1),Rg0=Ss.object({sessionId:Ss.string().uuid(),expiresAt:Ss.number(),connected:Ss.boolean().optional(),conversation:zT1.optional(),characters:Ss.number().int().nonnegative(),requests:Ss.number().int().nonnegative()}),AT1=new TextEncoder});import{z as c1}from"zod";function $D($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function pK5($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let Q=$.substring(0,Z),Y=$.substring(Z+1);if(!Q||!Y)return null;return{credentialId:Q,modelId:Y}}function nK5($,Z,Q){try{return JSON.parse($)}catch{throw new Fw8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function tK5($){let Z={};for(let Q of $)if(Q.role==="assistant"&&Q.tool_calls)for(let Y of Q.tool_calls)Z[Y.id]=Y.function.name;return $.map((Q)=>{switch(Q.role){case"system":return{role:"system",content:Q.content};case"user":if(typeof Q.content==="string")return{role:"user",content:Q.content};return{role:"user",content:Q.content.map((X)=>{if(X.type==="text")return{type:"text",text:X.text};return{type:"image",image:X.image_url.url}})};case"assistant":if(Q.tool_calls&&Q.tool_calls.length>0)return{role:"assistant",content:Q.tool_calls.map((X)=>({type:"tool-call",toolCallId:X.id,toolName:X.function.name,input:nK5(X.function.arguments,X.id,X.function.name)}))};return{role:"assistant",content:Q.content??""};case"tool":let Y=Z[Q.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:Q.tool_call_id,toolName:Y,output:{type:"text",value:Q.content}}]}}})}function oK5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?AN(Q.function.parameters):AN({type:"object",properties:{}});return[Q.function.name,s$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function sK5($){if(!$)return;return{openai:{response_format:$}}}function rK5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function Kw8($,Z,Q,Y,X,J){let G={model:$,instructions:Z.filter((W)=>W.role==="system"),messages:Z.filter((W)=>W.role!=="system"),tools:Q,temperature:Y.temperature,maxOutputTokens:Y.max_tokens,topP:Y.top_p,frequencyPenalty:Y.frequency_penalty,presencePenalty:Y.presence_penalty,stopSequences:Y.stop?Array.isArray(Y.stop)?Y.stop:[Y.stop]:void 0,abortSignal:J};return X?{...G,providerOptions:X}:G}function Hw8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var yK5=256,gK5,hK5,uK5,lK5,mK5,cK5,dK5,iK5,Fw8,Uw8,Nw8;var Bw8=L(()=>{l4();W8();Hs();WU();gK5=c1.object({type:c1.literal("function"),function:c1.object({name:c1.string(),description:c1.string().optional(),parameters:c1.record(c1.string(),c1.unknown()).optional()})}),hK5=c1.object({id:c1.string(),type:c1.literal("function"),function:c1.object({name:c1.string(),arguments:c1.string()})}),uK5=c1.discriminatedUnion("role",[c1.object({role:c1.literal("system"),content:c1.string(),name:c1.string().optional()}),c1.object({role:c1.literal("user"),content:c1.union([c1.string(),c1.array(c1.union([c1.object({type:c1.literal("text"),text:c1.string()}),c1.object({type:c1.literal("image_url"),image_url:c1.object({url:c1.string(),detail:c1.string().optional()})})]))]),name:c1.string().optional()}),c1.object({role:c1.literal("assistant"),content:c1.string().nullable().optional(),name:c1.string().optional(),tool_calls:c1.array(hK5).optional()}),c1.object({role:c1.literal("tool"),content:c1.string(),tool_call_id:c1.string()})]),lK5=c1.object({type:c1.literal("text")}),mK5=c1.object({type:c1.literal("json_object")}),cK5=c1.object({type:c1.literal("json_schema"),json_schema:c1.object({name:c1.string(),description:c1.string().optional(),schema:c1.record(c1.string(),c1.unknown()),strict:c1.boolean().optional()})}),dK5=c1.union([lK5,mK5,cK5]),iK5=c1.object({model:c1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:c1.array(uK5),stream:c1.boolean().optional().default(!1),temperature:c1.number().min(0).max(2).optional(),max_tokens:c1.number().positive().optional(),top_p:c1.number().min(0).max(1).optional(),frequency_penalty:c1.number().min(-2).max(2).optional(),presence_penalty:c1.number().min(-2).max(2).optional(),stop:c1.union([c1.string(),c1.array(c1.string())]).optional(),tools:c1.array(gK5).optional(),tool_choice:c1.union([c1.literal("auto"),c1.literal("none"),c1.literal("required"),c1.object({type:c1.literal("function"),function:c1.object({name:c1.string()})})]).optional(),response_format:dK5.optional(),user:c1.string().optional()});Fw8=class Fw8 extends Error{constructor($){super($);this.name="MessageConversionError"}};Uw8=new Z1;Uw8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json($D("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json($D("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==Q)return $.json($D("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=iK5.safeParse(Y);if(!X.success){let j=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json($D(`Invalid request: ${j.message}`,"invalid_request_error",j.path.length>0?j.path.join("."):null),400)}let J=X.data,G=pK5(J.model);if(!G)return $.json($D("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}=G,{modelId:K}=G;if(!W){let w=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((E)=>gA(E.providerId));if(!w)return $.json($D("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=w.id}let H;try{H=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json($D(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=tK5(J.messages),N=J.tools?oK5(J.tools):void 0,B=sK5(J.response_format),D=rK5(),O=Math.floor(Date.now()/1000);if(J.stream)return Fj($,async(j)=>{let w=Kw8(F,U,N,J,B,$.req.raw.signal);try{let E=Ft(w),P=!1,T=0,z="",A=async()=>{if(z.length===0)return;let R=z;z="",await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{content:R},finish_reason:null}]})})};for await(let R of E.stream){if(!P&&(R.type==="text-delta"||R.type==="tool-call"))await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),P=!0;if(R.type==="text-delta"){if(z+=R.text,z.length>=yK5)await A()}else if(R.type==="tool-call"){await A();let f=T++;await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{tool_calls:[{index:f,id:R.toolCallId,type:"function",function:{name:R.toolName,arguments:JSON.stringify(R.input)}}]},finish_reason:null}]})})}else if(R.type==="finish")await A(),await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:Hw8(R.finishReason)}],usage:R.totalUsage?{prompt_tokens:R.totalUsage.inputTokens??0,completion_tokens:R.totalUsage.outputTokens??0,total_tokens:R.totalUsage.totalTokens??0}:void 0})})}await A(),await j.writeSSE({data:"[DONE]"})}catch(E){let P=E;console.error("[openai-compat:stream] Error:",P.message),await j.writeSSE({data:JSON.stringify({error:{message:P.message,type:"server_error"}})})}});else{let j=Kw8(F,U,N,J,B,$.req.raw.signal),w=await TO(j),E={role:"assistant",content:w.text||null};if(w.toolCalls&&w.toolCalls.length>0)E.tool_calls=w.toolCalls.map((P)=>({id:P.toolCallId,type:"function",function:{name:P.toolName,arguments:JSON.stringify("input"in P?P.input:{})}})),E.content=null;return $.json({id:D,object:"chat.completion",created:O,model:J.model,choices:[{index:0,message:E,finish_reason:Hw8(w.finishReason)}],usage:{prompt_tokens:w.usage?.inputTokens??0,completion_tokens:w.usage?.outputTokens??0,total_tokens:w.usage?.totalTokens??0}})}}catch(Y){let X=Y;if(X.name==="AbortError")return $.json($D("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json($D(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json($D(X.message,"server_error"),500)}});Nw8=Uw8});function aK5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function Dw8(){let $=new Z1;return $.use("*",async(Z,Q)=>{await Q(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let Q=Z.get("studioContext"),Y=S0(Q);if(!Y)return Z.json({error:"Authentication required"},401);let J=(Z.req.query("site")??"").trim().toLowerCase();if(!S5(J))return Z.json({error:"Invalid site slug"},400);let G=await Q.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["organization.id as id","organization.slug as slug","organization.name as name","organization.metadata as metadata"]).where("member.userId","=",Y).execute(),W=[];for(let H of G){if(!H.slug||u9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(cA(U)!==J)continue;if(!aK5(U.metadata))continue;W.push({orgSlug:H.slug,orgName:H.name??H.slug,project:{id:U.id,title:U.title,icon:U.icon??null}})}}let K={matches:W};return Z.json(K)}),$}var Lw8=L(()=>{W8();eY()});var Vg0;var qT1=L(()=>{Vg0={name:"decocms",version:"4.507.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run dev:server","dev:server":"NODE_ENV=development bun --env-file=.env --watch run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^4.0.58","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^3.1.0","@opentelemetry/core":"^2.6.0",kysely:"^0.28.12","posthog-node":"^5.0.0"},devDependencies:{"@ai-sdk/provider":"^4.0.17","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/blocks":"8.5.1","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^7.0.107","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});function ZH5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??$H5}}var Ow8,$H5="https://ph.studio.decocms.com",jw8;var ww8=L(()=>{W8();z10();eh();H9();u1();Oo();Nz1();qT1();Ow8=new Z1;Ow8.get("/",($)=>{let Z={version:Vg0.version,theme:d3$(),...FF().logo&&{logo:FF().logo},...bO()&&{internalUrl:N$$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&W2(),plansEnabled:B0().plansEnabled,auth:eH8(),posthog:ZH5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:AU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});jw8=Ow8});import{z as R$}from"zod";var QH5,Ew8;var Pw8=L(()=>{QH5=R$.object({check_id:R$.string(),title:R$.string(),description:R$.string().optional(),impact:R$.string().optional(),why:R$.string().optional(),category:R$.string(),severity:R$.string(),value_band:R$.string().optional(),value_driver:R$.string().optional(),controllability:R$.string().optional(),pages:R$.array(R$.string()),tasks:R$.array(R$.string()),evidence:R$.string(),sample_scope:R$.string().optional(),sources:R$.array(R$.string())}),Ew8=R$.object({domain:R$.string(),brand:R$.string(),favicon:R$.string().optional(),scanned_at:R$.string().nullable(),lang:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),totals:R$.object({measured:R$.number(),registry_total:R$.number(),passed:R$.number(),failed:R$.number(),blocked:R$.number()}),buckets:R$.array(R$.object({id:R$.enum(["critical","important","worth"]),label:R$.string(),items:R$.array(QH5)})),passing:R$.object({count:R$.number(),items:R$.array(R$.object({check_id:R$.string(),title:R$.string()}))}),not_measured:R$.object({count:R$.number(),groups:R$.array(R$.object({reason:R$.string(),label:R$.string(),count:R$.number(),checks:R$.array(R$.string())}))}),categories:R$.array(R$.object({key:R$.string(),label:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),pass:R$.number(),fail:R$.number()})),screenshots:R$.array(R$.object({url:R$.string(),page_type:R$.string().optional(),viewport:R$.enum(["desktop","mobile"]),image_url:R$.string()}))})});function zw8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${CK({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Ig0($,Z={}){let Q=await fetch(zw8($,"",Z.lang),{headers:{Accept:"application/json"},signal:Z.signal});if(Q.status===404)return null;if(!Q.ok)throw Error(`onepager read HTTP ${Q.status}`);return Ew8.parse(await Q.json())}async function Aw8($,Z={}){let Q=await fetch(zw8($,".md",Z.lang),{headers:{Accept:"text/markdown"},signal:Z.signal});if(Q.status===404)return null;if(!Q.ok)throw Error(`onepager markdown HTTP ${Q.status}`);return Q.text()}var RT1=L(()=>{Pw8();vL()});import{join as Tw8}from"path";async function XH5($){try{let Z=await Ig0($,{signal:AbortSignal.timeout(YH5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||uw1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function Y3($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function JH5($,Z){let Q=Au($),Y=Z?.brand?.trim()||uw1(Q),X=VG8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=IG8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${Y3(W)}</title>`,`<meta name="description" content="${Y3(K)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${Y3(W)}" />`,`<meta property="og:description" content="${Y3(K)}" />`,`<meta property="og:url" content="${Y3(G)}" />`,`<meta property="og:image" content="${Y3(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${Y3(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${Y3(W)}" />`,`<meta name="twitter:description" content="${Y3(K)}" />`,`<meta name="twitter:image" content="${Y3(H)}" />`,`<meta name="twitter:image:alt" content="${Y3(F)}" />`,`<link rel="canonical" href="${Y3(G)}" />`,`<link rel="alternate" type="text/markdown" href="${Y3(G)}.md" />`,`<link rel="icon" href="${Y3(X)}" sizes="any" />`].join(`
|
|
4486
|
+
Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class wT1{config;constructor($){this.config=$}async createSession(){return{provider:"openai",transport:"webrtc"}}async negotiate($){let Z=await fetch("https://api.openai.com/v1/live/sessions",{method:"POST",headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","OpenAI-Safety-Identifier":$.safetyIdentifier},body:JSON.stringify({session:SK5({...this.config,language:$.language,model:$.model}),transport:{type:"webrtc",sdp:$.sdp}}),signal:AbortSignal.timeout(15000)});if(!Z.ok)throw await Z.body?.cancel(),Error(`OpenAI Live request failed (${Z.status})`);return{sdp:ks.object({session:ks.object({id:ks.string().min(1)}),transport:ks.object({type:ks.literal("webrtc"),sdp:ks.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var nj8=L(()=>{IB()});var tj8;var oj8=L(()=>{tj8=[{name:"delegate_to_agent",description:"Submit a complete request to the selected Studio agent. Returns after acceptance while work continues in the background. Results arrive later.",parameters:{type:"object",properties:{request:{type:"string",description:"The complete user request, with relevant conversational details. Preserve intent and constraints."}},required:["request"]}},{name:"get_agent_status",description:"Read the current chat's work status and known results. This does not track independent organization tasks; delegate fresh task-status queries to the Studio agent. Use when asked, never poll.",parameters:{type:"object",properties:{}}},{name:"stop_agent_work",description:"Request cancellation in the current chat ONLY when the user explicitly asks. Speaking over the companion is not cancellation. To stop independent tasks, delegate that request to the Studio agent.",parameters:{type:"object",properties:{}}}]});function ET1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:yt$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:tj8.map((Z)=>({...Z,type:"client",expects_response:!0,response_timeout_secs:Z.name==="delegate_to_agent"?20:5,...Z.name==="delegate_to_agent"?{execution_mode:"async",interruption_mode:"allow",pre_tool_speech:"off"}:{}}))}},asr:{provider:"scribe_realtime",quality:"high"},turn:{turn_eagerness:"normal",turn_timeout:-1,silence_end_call_timeout:-1},tts:{voice_id:$.voiceId,model_id:$.model},conversation:{max_duration_seconds:EO/1000,client_events:["audio","interruption","user_transcript","agent_response","client_tool_call","vad_score"]}},platform_settings:{auth:{enable_auth:!0},privacy:{record_voice:!1,retention_days:1,delete_audio:!0,delete_transcript_and_pii:!0},overrides:{conversation_config_override:{agent:{language:!0}}}}}}var sj8=L(()=>{IB();oj8()});import{z as iJ}from"zod";import{createHash as _K5,createHmac as vK5}from"crypto";class qg0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=_K5("sha256").update(JSON.stringify(ET1($))).digest("hex"),this.conversationKey=vK5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new qg0({...this.config,conversationModel:$})}async request($,Z,Q){let Y=await fetch(`https://api.elevenlabs.io/v1${$}`,{method:Z===void 0?"GET":"POST",headers:{"xi-api-key":this.config.apiKey,"Content-Type":"application/json"},body:JSON.stringify(Z),signal:Q});if(!Y.ok)throw await Y.body?.cancel(),Error(`ElevenLabs request failed (${Y.status})`);return Y}async ensureConversationAgent(){let $=`Studio voice ${this.configurationKey.slice(0,24)}`,Z=await this.request(`/convai/agents?search=${encodeURIComponent($)}&page_size=100`,void 0,AbortSignal.timeout(15000)),{agents:Q}=iJ.object({agents:iJ.array(iJ.object({agent_id:iJ.string(),name:iJ.string()}))}).parse(await Z.json()),Y=Q.find((J)=>J.name===$);if(Y){let J=await this.request(`/convai/agents/${encodeURIComponent(Y.agent_id)}`,void 0,AbortSignal.timeout(15000));return iJ.object({platform_settings:iJ.object({auth:iJ.object({enable_auth:iJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...ET1(this.config)},AbortSignal.timeout(15000));return iJ.object({agent_id:iJ.string().min(1)}).parse(await X.json()).agent_id}async createConversationToken($){let Z=await this.request(`/convai/conversation/token?agent_id=${encodeURIComponent($)}`,void 0,AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await $.json()).token}synthesize($,Z){return this.request(`/text-to-speech/${encodeURIComponent(this.config.voiceId)}/stream?output_format=mp3_44100_128`,{text:$,model_id:this.config.model},AbortSignal.any([Z,AbortSignal.timeout(60000)]))}}var rj8=L(()=>{sj8()});import{createHmac as bK5,timingSafeEqual as xK5}from"crypto";import{z as Cs}from"zod";function ej8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return bK5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function $w8($,Z){let Q=Buffer.from(JSON.stringify(aj8.parse($))).toString("base64url");return`${Q}.${ej8(Q,Z)}`}function Zw8($,Z,Q=Date.now()){if(!Z||$.length>4096)return null;let Y=$.split(".");if(Y.length!==2)return null;let[X,J]=Y;if(!X||!J)return null;let G=Buffer.from(ej8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!xK5(W,G))return null;try{let K=aj8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+EO)return null;return K.data}catch{return null}}var aj8;var Qw8=L(()=>{IB();aj8=Cs.object({sessionId:Cs.string().uuid(),organizationId:Cs.string().min(1).max(256),userId:Cs.string().min(1).max(256),threadId:Cs.string().min(1).max(256),expiresAt:Cs.number().int().positive()})});import{z as PT1}from"zod";function Yw8($,Z){if(Z?.voice_model!=null&&Z.voice_provider==null)throw Error("A voice model override requires a provider");let Q=Z?.voice_provider??$.voiceConversationProvider;return zT1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var zT1;var Xw8=L(()=>{zT1=PT1.object({provider:PT1.enum(["elevenlabs","openai"]),model:PT1.string().trim().min(1).max(128)})});import{createHash as fK5}from"crypto";import{z as Ss}from"zod";function _s($){return`user.${fK5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class TT1{deps;kvPromise;constructor($){this.deps=$}kv(){let $=this.deps.getConnection();if(!$||$.isClosed())throw new R1(503,{message:"Voice transport is unavailable"});return this.kvPromise??=new Jw8.Kvm(Mg0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Mg0.StorageType.Memory,ttl:Gw8.nanos(EO),max_bytes:10485760}).catch((Z)=>{throw this.kvPromise=void 0,Z}),this.kvPromise}adapter(){if(!this.deps.adapter)throw new R1(503,{message:"Voice is not configured on this deployment"});return this.deps.adapter}async create($,Z=!1,Q="en",Y){let X;if(Z)try{X=Yw8(this.deps.defaults,Y)}catch{throw new R1(503,{message:"Voice configuration is invalid"})}let J=X?this.deps.conversationAdapters[X.provider]:this.adapter();if(!J)throw new R1(503,{message:"Voice is not configured on this deployment"});let G={...$,sessionId:crypto.randomUUID(),expiresAt:Date.now()+EO},W=$w8(G,this.deps.secret),K=await this.kv(),H=_s(G),F=await K.get(H),U=F?.operation==="PUT"?Rg0.parse(F.json()):null,N=AT1.encode(JSON.stringify({sessionId:G.sessionId,expiresAt:G.expiresAt,conversation:X,characters:0,requests:0}));try{if(F&&U&&U.expiresAt<=Date.now())await K.update(H,N,F.revision);else await K.create(H,N)}catch{throw new R1(409,{message:"Close your other voice session before starting a new one"})}try{if(X&&"createSession"in J){let D=await J.createSession({language:Q,model:X.model,safetyIdentifier:_s($)});return{token:W,...D,expiresAt:G.expiresAt}}let B=await this.adapter().createTranscriptionToken();return{token:W,transcriptionToken:B,expiresAt:G.expiresAt}}catch(B){throw await this.release(G),B}}authorize($,Z){let Q=Zw8(Z,this.deps.secret);if(!Q||Q.organizationId!==$.organizationId||Q.userId!==$.userId||Q.threadId!==$.threadId)throw new R1(403,{message:"Invalid voice session"});return Q}async connect($,Z){let Q=this.authorize($,Z.token),Y=await this.kv(),X=_s(Q),J=await Y.get(X),G=J?.operation==="PUT"?Rg0.parse(J.json()):null;if(!J||!G||G.sessionId!==Q.sessionId||G.expiresAt<=Date.now())throw new R1(403,{message:"Voice session expired"});let W=G.conversation?this.deps.conversationAdapters[G.conversation.provider]:null;if(!W?.negotiate||!G.conversation)throw new R1(409,{message:"Voice session does not support SDP negotiation"});if(G.connected)throw new R1(409,{message:"Voice session already connected"});try{await Y.update(X,AT1.encode(JSON.stringify({...G,connected:!0})),J.revision)}catch{throw new R1(409,{message:"Voice session is busy"})}return W.negotiate({sdp:Z.sdp,language:Z.language,model:G.conversation.model,safetyIdentifier:X})}async speak($,Z,Q,Y){let X=this.authorize($,Z),J=await this.kv(),G=_s(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Rg0.parse(K.json()):null;if(!K||!H||H.sessionId!==X.sessionId||H.expiresAt<=Date.now())throw new R1(403,{message:"Voice session expired"});if(H.characters+Q.length>24000||H.requests>=120)throw new R1(429,{message:"Voice session speech limit reached"});try{await J.update(G,AT1.encode(JSON.stringify({...H,characters:H.characters+Q.length,requests:H.requests+1})),K.revision);break}catch{if(W>=2)throw new R1(409,{message:"Voice session is busy"})}}return this.adapter().synthesize(Q,Y)}async release($){let Z=await this.kv(),Q=await Z.get(_s($));if(Q?.operation==="PUT"&&Rg0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(_s($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var Mg0,Jw8,Gw8,Rg0,AT1;var Ww8=L(()=>{NG();IB();Qw8();Xw8();Mg0=_(vH(),1),Jw8=_(kq(),1),Gw8=_(i2(),1),Rg0=Ss.object({sessionId:Ss.string().uuid(),expiresAt:Ss.number(),connected:Ss.boolean().optional(),conversation:zT1.optional(),characters:Ss.number().int().nonnegative(),requests:Ss.number().int().nonnegative()}),AT1=new TextEncoder});import{z as c1}from"zod";function $D($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function pK5($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let Q=$.substring(0,Z),Y=$.substring(Z+1);if(!Q||!Y)return null;return{credentialId:Q,modelId:Y}}function nK5($,Z,Q){try{return JSON.parse($)}catch{throw new Fw8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function tK5($){let Z={};for(let Q of $)if(Q.role==="assistant"&&Q.tool_calls)for(let Y of Q.tool_calls)Z[Y.id]=Y.function.name;return $.map((Q)=>{switch(Q.role){case"system":return{role:"system",content:Q.content};case"user":if(typeof Q.content==="string")return{role:"user",content:Q.content};return{role:"user",content:Q.content.map((X)=>{if(X.type==="text")return{type:"text",text:X.text};return{type:"image",image:X.image_url.url}})};case"assistant":if(Q.tool_calls&&Q.tool_calls.length>0)return{role:"assistant",content:Q.tool_calls.map((X)=>({type:"tool-call",toolCallId:X.id,toolName:X.function.name,input:nK5(X.function.arguments,X.id,X.function.name)}))};return{role:"assistant",content:Q.content??""};case"tool":let Y=Z[Q.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:Q.tool_call_id,toolName:Y,output:{type:"text",value:Q.content}}]}}})}function oK5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?AN(Q.function.parameters):AN({type:"object",properties:{}});return[Q.function.name,s$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function sK5($){if(!$)return;return{openai:{response_format:$}}}function rK5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function Kw8($,Z,Q,Y,X,J){let G={model:$,instructions:Z.filter((W)=>W.role==="system"),messages:Z.filter((W)=>W.role!=="system"),tools:Q,temperature:Y.temperature,maxOutputTokens:Y.max_tokens,topP:Y.top_p,frequencyPenalty:Y.frequency_penalty,presencePenalty:Y.presence_penalty,stopSequences:Y.stop?Array.isArray(Y.stop)?Y.stop:[Y.stop]:void 0,abortSignal:J};return X?{...G,providerOptions:X}:G}function Hw8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var yK5=256,gK5,hK5,uK5,lK5,mK5,cK5,dK5,iK5,Fw8,Uw8,Nw8;var Bw8=L(()=>{l4();W8();Hs();WU();gK5=c1.object({type:c1.literal("function"),function:c1.object({name:c1.string(),description:c1.string().optional(),parameters:c1.record(c1.string(),c1.unknown()).optional()})}),hK5=c1.object({id:c1.string(),type:c1.literal("function"),function:c1.object({name:c1.string(),arguments:c1.string()})}),uK5=c1.discriminatedUnion("role",[c1.object({role:c1.literal("system"),content:c1.string(),name:c1.string().optional()}),c1.object({role:c1.literal("user"),content:c1.union([c1.string(),c1.array(c1.union([c1.object({type:c1.literal("text"),text:c1.string()}),c1.object({type:c1.literal("image_url"),image_url:c1.object({url:c1.string(),detail:c1.string().optional()})})]))]),name:c1.string().optional()}),c1.object({role:c1.literal("assistant"),content:c1.string().nullable().optional(),name:c1.string().optional(),tool_calls:c1.array(hK5).optional()}),c1.object({role:c1.literal("tool"),content:c1.string(),tool_call_id:c1.string()})]),lK5=c1.object({type:c1.literal("text")}),mK5=c1.object({type:c1.literal("json_object")}),cK5=c1.object({type:c1.literal("json_schema"),json_schema:c1.object({name:c1.string(),description:c1.string().optional(),schema:c1.record(c1.string(),c1.unknown()),strict:c1.boolean().optional()})}),dK5=c1.union([lK5,mK5,cK5]),iK5=c1.object({model:c1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:c1.array(uK5),stream:c1.boolean().optional().default(!1),temperature:c1.number().min(0).max(2).optional(),max_tokens:c1.number().positive().optional(),top_p:c1.number().min(0).max(1).optional(),frequency_penalty:c1.number().min(-2).max(2).optional(),presence_penalty:c1.number().min(-2).max(2).optional(),stop:c1.union([c1.string(),c1.array(c1.string())]).optional(),tools:c1.array(gK5).optional(),tool_choice:c1.union([c1.literal("auto"),c1.literal("none"),c1.literal("required"),c1.object({type:c1.literal("function"),function:c1.object({name:c1.string()})})]).optional(),response_format:dK5.optional(),user:c1.string().optional()});Fw8=class Fw8 extends Error{constructor($){super($);this.name="MessageConversionError"}};Uw8=new Z1;Uw8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json($D("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json($D("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==Q)return $.json($D("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=iK5.safeParse(Y);if(!X.success){let j=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json($D(`Invalid request: ${j.message}`,"invalid_request_error",j.path.length>0?j.path.join("."):null),400)}let J=X.data,G=pK5(J.model);if(!G)return $.json($D("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}=G,{modelId:K}=G;if(!W){let w=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((E)=>gA(E.providerId));if(!w)return $.json($D("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=w.id}let H;try{H=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json($D(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=tK5(J.messages),N=J.tools?oK5(J.tools):void 0,B=sK5(J.response_format),D=rK5(),O=Math.floor(Date.now()/1000);if(J.stream)return Fj($,async(j)=>{let w=Kw8(F,U,N,J,B,$.req.raw.signal);try{let E=Ft(w),P=!1,T=0,z="",A=async()=>{if(z.length===0)return;let R=z;z="",await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{content:R},finish_reason:null}]})})};for await(let R of E.stream){if(!P&&(R.type==="text-delta"||R.type==="tool-call"))await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),P=!0;if(R.type==="text-delta"){if(z+=R.text,z.length>=yK5)await A()}else if(R.type==="tool-call"){await A();let f=T++;await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{tool_calls:[{index:f,id:R.toolCallId,type:"function",function:{name:R.toolName,arguments:JSON.stringify(R.input)}}]},finish_reason:null}]})})}else if(R.type==="finish")await A(),await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:Hw8(R.finishReason)}],usage:R.totalUsage?{prompt_tokens:R.totalUsage.inputTokens??0,completion_tokens:R.totalUsage.outputTokens??0,total_tokens:R.totalUsage.totalTokens??0}:void 0})})}await A(),await j.writeSSE({data:"[DONE]"})}catch(E){let P=E;console.error("[openai-compat:stream] Error:",P.message),await j.writeSSE({data:JSON.stringify({error:{message:P.message,type:"server_error"}})})}});else{let j=Kw8(F,U,N,J,B,$.req.raw.signal),w=await TO(j),E={role:"assistant",content:w.text||null};if(w.toolCalls&&w.toolCalls.length>0)E.tool_calls=w.toolCalls.map((P)=>({id:P.toolCallId,type:"function",function:{name:P.toolName,arguments:JSON.stringify("input"in P?P.input:{})}})),E.content=null;return $.json({id:D,object:"chat.completion",created:O,model:J.model,choices:[{index:0,message:E,finish_reason:Hw8(w.finishReason)}],usage:{prompt_tokens:w.usage?.inputTokens??0,completion_tokens:w.usage?.outputTokens??0,total_tokens:w.usage?.totalTokens??0}})}}catch(Y){let X=Y;if(X.name==="AbortError")return $.json($D("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json($D(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json($D(X.message,"server_error"),500)}});Nw8=Uw8});function aK5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function Dw8(){let $=new Z1;return $.use("*",async(Z,Q)=>{await Q(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let Q=Z.get("studioContext"),Y=S0(Q);if(!Y)return Z.json({error:"Authentication required"},401);let J=(Z.req.query("site")??"").trim().toLowerCase();if(!S5(J))return Z.json({error:"Invalid site slug"},400);let G=await Q.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["organization.id as id","organization.slug as slug","organization.name as name","organization.metadata as metadata"]).where("member.userId","=",Y).execute(),W=[];for(let H of G){if(!H.slug||u9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(cA(U)!==J)continue;if(!aK5(U.metadata))continue;W.push({orgSlug:H.slug,orgName:H.name??H.slug,project:{id:U.id,title:U.title,icon:U.icon??null}})}}let K={matches:W};return Z.json(K)}),$}var Lw8=L(()=>{W8();eY()});var Vg0;var qT1=L(()=>{Vg0={name:"decocms",version:"4.507.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run dev:server","dev:server":"NODE_ENV=development bun --env-file=.env --watch run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^4.0.58","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^3.1.0","@opentelemetry/core":"^2.6.0",kysely:"^0.28.12","posthog-node":"^5.0.0"},devDependencies:{"@ai-sdk/provider":"^4.0.17","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/blocks":"8.5.1","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^7.0.107","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});function ZH5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??$H5}}var Ow8,$H5="https://ph.studio.decocms.com",jw8;var ww8=L(()=>{W8();z10();eh();H9();u1();Oo();Nz1();qT1();Ow8=new Z1;Ow8.get("/",($)=>{let Z={version:Vg0.version,theme:d3$(),...FF().logo&&{logo:FF().logo},...bO()&&{internalUrl:N$$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&W2(),plansEnabled:B0().plansEnabled,auth:eH8(),posthog:ZH5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:AU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});jw8=Ow8});import{z as R$}from"zod";var QH5,Ew8;var Pw8=L(()=>{QH5=R$.object({check_id:R$.string(),title:R$.string(),description:R$.string().optional(),impact:R$.string().optional(),why:R$.string().optional(),category:R$.string(),severity:R$.string(),value_band:R$.string().optional(),value_driver:R$.string().optional(),controllability:R$.string().optional(),pages:R$.array(R$.string()),tasks:R$.array(R$.string()),evidence:R$.string(),sample_scope:R$.string().optional(),sources:R$.array(R$.string())}),Ew8=R$.object({domain:R$.string(),brand:R$.string(),favicon:R$.string().optional(),scanned_at:R$.string().nullable(),lang:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),totals:R$.object({measured:R$.number(),registry_total:R$.number(),passed:R$.number(),failed:R$.number(),blocked:R$.number()}),buckets:R$.array(R$.object({id:R$.enum(["critical","important","worth"]),label:R$.string(),items:R$.array(QH5)})),passing:R$.object({count:R$.number(),items:R$.array(R$.object({check_id:R$.string(),title:R$.string()}))}),not_measured:R$.object({count:R$.number(),groups:R$.array(R$.object({reason:R$.string(),label:R$.string(),count:R$.number(),checks:R$.array(R$.string())}))}),categories:R$.array(R$.object({key:R$.string(),label:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),pass:R$.number(),fail:R$.number()})),screenshots:R$.array(R$.object({url:R$.string(),page_type:R$.string().optional(),viewport:R$.enum(["desktop","mobile"]),image_url:R$.string()}))})});function zw8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${CK({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Ig0($,Z={}){let Q=await fetch(zw8($,"",Z.lang),{headers:{Accept:"application/json"},signal:Z.signal});if(Q.status===404)return null;if(!Q.ok)throw Error(`onepager read HTTP ${Q.status}`);return Ew8.parse(await Q.json())}async function Aw8($,Z={}){let Q=await fetch(zw8($,".md",Z.lang),{headers:{Accept:"text/markdown"},signal:Z.signal});if(Q.status===404)return null;if(!Q.ok)throw Error(`onepager markdown HTTP ${Q.status}`);return Q.text()}var RT1=L(()=>{Pw8();vL()});import{join as Tw8}from"path";async function XH5($){try{let Z=await Ig0($,{signal:AbortSignal.timeout(YH5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||uw1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function Y3($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function JH5($,Z){let Q=Au($),Y=Z?.brand?.trim()||uw1(Q),X=VG8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=IG8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${Y3(W)}</title>`,`<meta name="description" content="${Y3(K)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${Y3(W)}" />`,`<meta property="og:description" content="${Y3(K)}" />`,`<meta property="og:url" content="${Y3(G)}" />`,`<meta property="og:image" content="${Y3(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${Y3(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${Y3(W)}" />`,`<meta name="twitter:description" content="${Y3(K)}" />`,`<meta name="twitter:image" content="${Y3(H)}" />`,`<meta name="twitter:image:alt" content="${Y3(F)}" />`,`<link rel="canonical" href="${Y3(G)}" />`,`<link rel="alternate" type="text/markdown" href="${Y3(G)}.md" />`,`<link rel="icon" href="${Y3(X)}" sizes="any" />`].join(`
|
|
4487
4487
|
`)}function GH5($,Z){return $.replace(/<title>[\s\S]*?<\/title>\s*/i,"").replace(/<meta\s+name="(?:description|twitter:[^"]*)"[^>]*>\s*/gi,"").replace(/<meta\s+property="og:[^"]*"[^>]*>\s*/gi,"").replace(/<link\s+rel="icon"[^>]*>\s*/gi,"").replace("</head>",` ${Z}
|
|
4488
4488
|
</head>`)}function qw8($){let Z=new Z1;return Z.get("/:domain/og.png",async(Q)=>{let Y=Au(Q.req.param("domain")),X=async()=>{let J=$?Bun.file(Tw8($,"report-og-fallback.png")):null;if(!J||!await J.exists())return Q.notFound();return Q.body(new Uint8Array(await J.arrayBuffer()),200,{"Content-Type":"image/png","Cache-Control":"public, max-age=0, s-maxage=3600"})};try{let J=await fetch(`${CK({})}/api/v2/public/diagnostics/${encodeURIComponent(Y)}/og.png`,{signal:AbortSignal.timeout(WH5)}),G=J.headers.get("content-type")??"";if(!J.ok||!G.startsWith("image/")||!J.body)return X();return Q.body(J.body,200,{"Content-Type":G,"Cache-Control":"public, max-age=0, s-maxage=604800"})}catch{return X()}}),Z.get("/:file{.+\\.md}",async(Q)=>{let Y=Au(Q.req.param("file").replace(/\.md$/,""));try{let X=await Aw8(Y,{lang:Q.req.query("lang")?.trim()||void 0,signal:AbortSignal.timeout(KH5)});if(X===null)return Q.text("Deco Score not found",404);return Q.body(X,200,{"Content-Type":"text/markdown; charset=utf-8","Cache-Control":"public, max-age=600, stale-while-revalidate=3600","Access-Control-Allow-Origin":"*"})}catch{return Q.text("Deco Score unavailable",502)}}),Z.get("/:domain",async(Q)=>{let Y=Q.req.param("domain"),X=$?Tw8($,"index.html"):null,J=X?Bun.file(X):null;if(!J||!await J.exists())return Q.notFound();let G=await J.text();try{let W=await XH5(Au(Y)),K=JH5(Y,W);return Q.html(GH5(G,K),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return Q.html(G)}}),Z}var YH5=2500,WH5=1e4,KH5=1e4;var Rw8=L(()=>{W8();vL();RT1();u1()});function kg0($,Z){return fetch(`${CK({})}${$}`,Z)}async function HH5($,Z){let Q=await Ig0($,{lang:Z});if(!Q)return{status:"not_found",report:null};return Q.scanned_at?{status:"ready",report:Q}:{status:"empty",report:null}}function UH5($){let Z=typeof $==="object"&&$!==null?$:{},Q=typeof Z.domain==="string"?Z.domain.trim():"",Y=typeof Z.distinctId==="string"&&Z.distinctId.trim()&&Z.distinctId.length<=200?Z.distinctId.trim():void 0;return{domain:Q,distinctId:Y}}var FH5,Nj,Mw8=async($,Z)=>{if(!$.get("reportUser"))return $.json({error:"Authentication required"},401);await Z();return},Vw8;var Iw8=L(()=>{W8();iK();vL();RT1();FH5=new Set(["complete","errored","terminated","unknown"]);Nj=new Z1;Nj.use("*",async($,Z)=>{let Q=await B4.api.getSession({headers:$.req.raw.headers});$.set("reportUser",Q?.user?.id?{email:Q.user.email}:void 0),await Z(),$.header("Cache-Control","private, no-store"),$.header("Vary","Cookie");return});Nj.use("/link-token/*",Mw8);Nj.use("/suggest",Mw8);Nj.get("/site/:domain",async($)=>{let Z=$.req.param("domain").trim();if(!Z)return $.json({error:"domain is required"},400);let Q=$.req.query("lang")?.trim()||void 0;try{return $.json(await HH5(Z,Q))}catch{return $.json({error:"report read failed"},502)}});Nj.post("/run",async($)=>{let Z=$.get("reportUser"),Q;try{Q=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let{domain:Y,distinctId:X}=UH5(Q);if(!Y)return $.json({error:"domain is required"},400);let J=Z?.email;try{let G=await kg0("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${JP({})}`},body:JSON.stringify({url:Y,...J?{email:J}:{},distinct_id:X})});if(!G.ok)return $.json({error:`run HTTP ${G.status}`},502);let W=await G.json(),K=W.blocked?{state:"blocked"}:W.status==="fresh"?{state:"fresh"}:W.mode==="sync"?{state:"sync"}:{state:"running",id:W.id??null};return $.json(K)}catch{return $.json({error:"run failed"},502)}});Nj.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let Q=await kg0(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${JP({})}`}});if(!Q.ok)return $.json({error:`status HTTP ${Q.status}`},502);let X=(await Q.json()).status??"unknown",J={done:FH5.has(X),status:X};return $.json(J)}catch{return $.json({error:"status failed"},502)}});Nj.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let Q=await kg0(`/api/v2/public/link-tokens/${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(Q.status===404)return $.json(null);if(!Q.ok)return $.json({error:`link token HTTP ${Q.status}`},502);return $.json(await Q.json())}catch{return $.json({error:"link token resolve failed"},502)}});Nj.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let Q=await kg0(`/api/v2/public/suggest?q=${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(!Q.ok)return $.json({suggestions:[]});let Y=await Q.json();return $.json({suggestions:Array.isArray(Y.suggestions)?Y.suggestions:[]})}catch{return $.json({suggestions:[]})}});Vw8=Nj});var NH5=1048576,MT1;var kw8=L(()=>{W8();vW();u1();rP1();MT1=new Z1;MT1.post("/webhook",h6({maxSize:NH5,onError:($)=>$.json({error:"payload too large"},413)}),async($)=>{let Z=B0().stripeWebhookSecret;if(!Z)return $.json({error:"stripe billing not configured"},503);let Q=await $.req.text();if(!NH8(Q,$.req.header("stripe-signature"),Z))return $.json({error:"invalid signature"},400);let X=BH8(Q);if(!X)return $.json({error:"invalid payload"},400);let J=await DH8(X);return console.log("stripe webhook",{eventId:X.id,type:X.type,livemode:X.livemode,...J}),$.json({received:!0})})});import{timingSafeEqual as BH5}from"crypto";function OH5($,Z,Q){if(!Z?.startsWith("sha256="))return!1;let Y=new Bun.CryptoHasher("sha256",Q).update($).digest("hex"),X=Z.slice(7);if(X.length!==Y.length)return!1;return BH5(Buffer.from(X),Buffer.from(Y))}function jH5($,Z){let Q=Z,Y=Q?.repository?.name,X=Q?.repository?.owner?.login;if(typeof Y!=="string"||typeof X!=="string")return[];let J=[];if($==="check_suite"){if(Q.action!=="completed")return[];let G=Q.check_suite?.pull_requests;for(let W of Array.isArray(G)?G:[]){let K=W?.number;if(typeof K==="number")J.push(K)}}else if($==="issue_comment"&&Q.issue?.pull_request){let G=Q.issue.number;if(typeof G==="number")J.push(G)}return[...new Set(J)].map((G)=>({repoOwner:X,repoName:Y,number:G}))}function Cw8($){let Z=new Z1;return Z.post("/webhook",h6({maxSize:DH5,onError:(Q)=>Q.json({error:"payload too large"},413)}),async(Q)=>{let Y=process.env.GITHUB_WEBHOOK_SECRET;if(!Y)return Q.json({error:"github webhook not configured"},503);let X=await Q.req.text();if(!OH5(X,Q.req.header("x-hub-signature-256"),Y))return Q.json({error:"invalid signature"},400);let J=Q.req.header("x-github-event");if(J!=="push"&&!LH5.has(J??""))return Q.json({ok:!0,ignored:"event"});let G;try{G=JSON.parse(X)}catch{return Q.json({error:"invalid payload"},400)}if(J==="push"){let H=G.ref,F=G.repository?.full_name;if(!H||!F)return Q.json({ok:!0,ignored:"shape"});return m50().then((U)=>U?.markTenantPoolsDirty(`https://github.com/${F}`,H)).catch((U)=>console.warn(`[github-webhook] tenant pool refresh for ${F}@${H} failed: ${U instanceof Error?U.message:String(U)}`)),Q.json({ok:!0})}let W=jH5(J??"",G);if(W.length===0)return Q.json({ok:!0,ignored:"no-pr"});let K=await wH5($,W);return Q.json({ok:!0,refreshed:K})}),Z}async function wH5($,Z){let Q=0;for(let Y of Z){let X=$.taskBoard(),J;try{J=await X.findPrLinks(Y)}catch(G){console.error("[github-webhook] pr link lookup failed:",G);continue}for(let G of J)try{let W=await X.getById(G.taskBoardItemId,G.organizationId),K=W?await $.contextFactory()(G.organizationId,W.assignedBy??W.createdBy):null;if(!K)continue;if(await G48(K,G.organizationId,G.taskBoardItemId)!==null)Q++}catch(W){console.error(`[github-webhook] pr card refresh failed for ${G.taskBoardItemId}:`,W)}}return Q}var DH5=5242880,LH5;var Sw8=L(()=>{W8();vW();CX();yQ();LH5=new Set(["check_suite","issue_comment"])});import{DBOS as IT1,SchedulerMode as EH5}from"@dbos-inc/dbos-sdk";async function zH5(){try{return await AH5()}catch($){return console.warn(`[sandbox-credential-push] push failed: ${$ instanceof Error?$.message:String($)}`),null}}async function AH5(){if(!l50())return null;let[{RemoteSandboxProvider:$},{SandboxProviderRouter:Z}]=await Promise.all([Promise.resolve().then(() => ($F1(),eH1)),Promise.resolve().then(() => (aH1(),rH1))]),Q=await m50(),Y=Q instanceof Z?Q.providers.kubernetes:Q;if(!(Y instanceof $))return null;let{db:X}=E8(),{sandboxes:J,pools:G}=await Y.list(),W=Date.now(),K=Op$({sandboxes:J,pools:G,records:await jp$(X,J,G),legacyPools:nC0(process.env.STUDIO_SANDBOX_TENANT_POOLS),now:W}),{batches:H,failed:F}=await wp$(K,Lj0(X,new GJ(B0().encryptionKey)),{now:W,orgFsLifetimeMs:sC0}),U=0,N=0,B=0;for(let D of H)try{let O=await Y.pushCredentials(D);U+=O.stored,N+=O.kept}catch(O){B++,console.warn(`[sandbox-credential-push] a push batch failed: ${O instanceof Error?O.message:String(O)}`)}return{sandboxes:J.length,pushed:U,kept:N,refused:K.refused,failed:F+B}}async function TH5($,Z){let Q=await IT1.runStep(zH5,{name:"pushSandboxCredentials"});if(Q&&(Q.refused>0||Q.failed>0))console.warn(`[sandbox-credential-push] ${Q.sandboxes} sandboxes: pushed ${Q.pushed}, kept ${Q.kept}, refused ${Q.refused}, failed ${Q.failed}`)}function _w8(){if(VT1)return;if(!B0().agentSandboxEnabled||!l50())return;VT1=IT1.registerWorkflow(TH5,{name:"sandboxCredentialPushWorkflow"}),IT1.registerScheduled(VT1,{name:"sandboxCredentialPushWorkflow",crontab:PH5,mode:EH5.ExactlyOncePerIntervalWhenActive})}var PH5="1,11,21,31,41,51 * * * *",VT1=null;var vw8=L(()=>{k3();Hw();u31();rC0();tC0();CX();u1()});function bw8($){let Z=new sO($.db,new GJ($.encryptionKey)),Q=new Z1;return Q.get("/attachments/:token",async(Y)=>{let X=U$8(Y.req.param("token"));if(!X)return Y.json({error:"Invalid or expired link"},404);let J=await Z.getByOrg(X.organizationId);if(!J)return Y.json({error:"Jira is not connected"},404);let W=await new ZQ(J.siteUrl,J.email,J.apiToken).downloadAttachment(X.attachmentId);if(!W.ok||!W.body)return Y.json({error:"Jira refused the download"},502);let K=new Headers;for(let H of["content-type","content-length","content-disposition"]){let F=W.headers.get(H);if(F)K.set(H,F)}return K.set("cache-control","no-store"),new Response(W.body,{status:200,headers:K})}),Q}var xw8=L(()=>{W8();Hw();MN1();qO()});function Cg0(){try{return B0().jiraSettleSeconds*1000}catch{return oz}}function fw8($,Z){let Q=Z.windowMs??oz,Y=$.at(-1);if(!Y)return null;if(Z.changeId!==void 0&&Y.id!==Z.changeId)return{kind:"superseded"};if(Z.now!==void 0&&Z.now-Y.at<Q)return{kind:"moving"};let X=qH5($,Q);if((X.id&&Y.toId?X.id===Y.toId:!1)||!X.id&&X.name===Y.to)return{kind:"returned",change:Y};return{kind:"moved",change:Y,from:X}}function qH5($,Z){for(let Y=$.length-2;Y>=0;Y--){let X=$[Y],J=$[Y+1];if(X&&J&&J.at-X.at>=Z)return{id:X.toId,name:X.to}}let Q=$[0];return{id:Q?.fromId??null,name:Q?.from??null}}var kT1=L(()=>{fO();u1()});function yw8($){if(typeof $!=="object"||$===null)return null;let Z=$;if(Z.webhookEvent!=="jira:issue_updated")return null;let Q=Z.issue?.id,Y=Z.issue?.key,X=Z.changelog?.id;if(typeof Q!=="string"&&typeof Q!=="number"||typeof Y!=="string"||typeof X!=="string"&&typeof X!=="number")return null;let J=Z.changelog?.items?.find((G)=>G.field==="status");if(!J||typeof J.toString!=="string")return null;return{issueId:String(Q),issueKey:Y,toStatus:J.toString,changelogId:String(X)}}async function CT1($,Z,Q){if(!Z.enabled)return"disabled";let Y=Z.organizationId,X=new ZQ(Z.siteUrl,Z.email,Z.apiToken),J=fw8(await X.listStatusChanges(Q.issueId),{changeId:Q.changelogId,now:Q.now,windowMs:Cg0()});if(!J)return"no_rule";if(J.kind!=="moved")return J.kind;let{change:G,from:W}=J,K=(await $.storage.automations.listJiraTransitionTriggers(Y,{jiraStatus:G.to,activeOnly:!0})).map((N)=>({...N,from:tz(N)})),H=e98(K)&&Z.boardId?a98(await X.getBoardColumnStatusIds(Z.boardId),W.id,G.toId):null,F=r98(K,W.name,H);if(!F)return"no_rule";if(!await $.storage.jiraIntegrations.claimTrigger(Y,Q.issueId,G.id))return"duplicate";return await QH({automationId:F.automation_id,organizationId:Y,triggerId:F.id,target:{kind:"jira",issues:[Q.issueId],move:{toStatus:G.to,fromStatus:W.name,movedBy:G.by,movedAt:new Date(G.at).toISOString()},eventKey:G.id}},{idempotencyKey:`jira:${F.id}:${G.id}`}),"fired"}var ST1=L(()=>{JU();qO();nt();kT1()});import{DBOS as q2,SchedulerMode as RH5}from"@dbos-inc/dbos-sdk";function gw8($){vT1=$}function xT1(){if(!vT1)throw Error("[jira-trigger] runtime not initialized \u2014 setJiraTriggerSweepRuntime() must run before the workflow fires");return vT1}function fT1(){let $=xT1();return new sO($.db,new GJ($.encryptionKey))}async function CH5($){try{let Z=await fT1().getById($);if(!Z?.enabled||!Z.boardId)return{integrationId:$,fired:0};let Q=await hJ(xT1().db,Z.organizationId);if(!Q)return{integrationId:$,fired:0};if((await Q.storage.automations.listJiraTransitionTriggers(Z.organizationId,{activeOnly:!0})).length===0)return{integrationId:$,fired:0};let X=new ZQ(Z.siteUrl,Z.email,Z.apiToken),G=`(${await X.getBoardScopeJql(Z.boardId)}) AND status CHANGED AFTER "-${VH5}m"`,W=0,K;for(let H=0;H<IH5;H++){let F=await X.searchIssues({jql:G,nextPageToken:K});for(let U of F.issues)if(await CT1(Q,Z,{issueId:U.id,now:Date.now()})==="fired")W++;if(K=F.nextPageToken??void 0,!K)break}return{integrationId:$,fired:W}}catch(Z){return{integrationId:$,fired:0,error:Z instanceof Error?Z.message:String(Z)}}}async function SH5($,Z){let Q=await q2.runStep(()=>fT1().listEnabledIds(),{name:"loadJiraIntegrations"});if(Q.length===0)return;let Y=await Promise.all(Q.map((X)=>q2.runStep(()=>CH5(X),{name:`sweepJira:${X}`})));for(let X of Y)if(X.error)console.warn(`[jira-trigger] integration ${X.integrationId} failed: ${X.error}`);else if(X.fired>0)console.log(`[jira-trigger] integration ${X.integrationId} fired ${X.fired} automation(s) the webhook missed`)}async function _H5($,Z){try{let Q=await fT1().getById($);if(!Q?.enabled)return"disabled";let Y=await hJ(xT1().db,Q.organizationId);if(!Y)return"disabled";let X=await CT1(Y,Q,{issueId:Z.issueId,changelogId:Z.changelogId});if(X==="fired")console.log(`[jira-trigger] fired an automation for ${Z.issueKey} after it settled`);else if(X==="returned")console.log(`[jira-trigger] ${Z.issueKey} went back where it was before settling in "${Z.toStatus}"; no fire`);return X}catch(Q){return console.error(`[jira-trigger] settling ${Z.issueKey} failed`,Q instanceof Error?Q.message:Q),"error"}}async function vH5($,Z){await q2.sleep(Cg0()+kH5),await q2.runStep(()=>_H5($,Z),{name:"settleJiraMove"})}async function hw8($,Z){if(!bT1)throw Error("[jira-trigger] settle workflow is not registered");await q2.startWorkflow(bT1,{workflowID:`jira-settle:${$}:${Z.changelogId}`})($,Z)}function uw8(){if(_T1)return;bT1=q2.registerWorkflow(vH5,{name:"jiraSettleWorkflow"}),_T1=q2.registerWorkflow(SH5,{name:"jiraTriggerSweepWorkflow"}),q2.registerScheduled(_T1,{name:"jiraTriggerSweepWorkflow",crontab:MH5,mode:RH5.ExactlyOncePerIntervalWhenActive})}var MH5="*/5 * * * *",VH5=20,IH5=5,kH5=5000,vT1=null,bT1=null,_T1=null;var yT1=L(()=>{Hw();mz();qO();kT1();ST1()});function lw8($){let Z=new sO($.db,new GJ($.encryptionKey)),Q=rw($.db);async function Y(J,G){let W=yw8(G);if(!W)return;let K=await Z.getByWebhookSecret(J);if(!K?.enabled)return;if((await Q.listJiraTransitionTriggers(K.organizationId,{activeOnly:!0})).length===0)return;await hw8(K.id,W)}let X=new Z1;return X.post("/webhook/:secret",h6({maxSize:bH5}),async(J)=>{let G=J.req.param("secret");if(!await Z.getByWebhookSecret(G))return J.json({error:"Unknown webhook"},404);let K;try{K=await J.req.json()}catch{return J.json({error:"Body must be JSON"},400)}return Y(G,K).catch((H)=>{console.error("[jira-webhook] trigger failed",H)}),J.body(null,202)}),X}var bH5=1048576;var mw8=L(()=>{W8();vW();Hw();yT1();ST1();T00()});function cw8($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var dw8,xH5,fH5,iw8;var pw8=L(()=>{W8();NG();bt();ii();dw8=new Z1,xH5=["range","if-none-match","if-modified-since"],fH5=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];dw8.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),Q=Z.organization?.id;if(!Z.auth?.user?.id){if(bo($))return $.redirect(`/login?next=${encodeURIComponent($.req.path)}`,302);throw new R1(401,{message:"Authentication required"})}if(!Q)throw new R1(401,{message:"Organization context required"});let Y=$.req.path.replace(/^.*\/files\//,"");if(!Y)throw new R1(400,{message:"Missing file key"});let X=await TZ0(Y,Z);if(!X)throw new R1(503,{message:"Object storage not configured"});if(X.startsWith("data:")&&vK()){let K=X.match(/^data:([^;]+);base64,(.+)$/s);if(!K)throw new R1(500,{message:"Invalid data URL from storage"});let[,H,F]=K,U=Buffer.from(F,"base64"),N=new Headers({"Content-Type":H,"Cache-Control":"private, max-age=86400"});return cw8(N,H),new Response(U,{status:200,headers:N})}let J=new Headers;for(let K of xH5){let H=$.req.header(K);if(H)J.set(K,H)}let G=await fetch(X,{headers:J});if(G.status===403||G.status===404)throw new R1(404,{message:"File not found"});if(!G.ok&&G.status!==304&&G.status!==416)throw console.error(`[files] upstream storage error ${G.status} for key:`,Y),new R1(502,{message:"Upstream storage error"});let W=new Headers;for(let K of fH5){let H=G.headers.get(K);if(H)W.set(K,H)}return W.set("Cache-Control","private, max-age=86400"),cw8(W,W.get("content-type")??""),new Response(G.body,{status:G.status,headers:W})});iw8=dw8});var vQ0=y((nu)=>{var yH5=nu&&nu.__createBinding||(Object.create?function($,Z,Q,Y){if(Y===void 0)Y=Q;var X=Object.getOwnPropertyDescriptor(Z,Q);if(!X||("get"in X?!Z.__esModule:X.writable||X.configurable))X={enumerable:!0,get:function(){return Z[Q]}};Object.defineProperty($,Y,X)}:function($,Z,Q,Y){if(Y===void 0)Y=Q;$[Y]=Z[Q]}),gH5=nu&&nu.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))yH5(Z,$,Q)};Object.defineProperty(nu,"__esModule",{value:!0});gH5(U3(),nu)});var ow8=y((nw8)=>{Object.defineProperty(nw8,"__esModule",{value:!0});nw8.version=void 0;nw8.version="3.4.0"});var aw8=y((ZD)=>{var hH5=ZD&&ZD.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(ZD,"__esModule",{value:!0});ZD.NodeTransport=ZD.VERSION=void 0;ZD.nodeResolveHost=iH5;var J9=vQ0(),uH5=V0("net"),gT1=V0("tls"),lH5=V0("path"),sw8=V0("fs"),mH5=hH5(V0("dns")),cH5=ow8();ZD.VERSION=cH5.version;var dH5="nats.js";class rw8{socket;version;lang;yields=[];signal=(0,J9.deferred)();closedNotification=(0,J9.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=dH5,this.version=ZD.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:Q}=this.options,{handshakeFirst:Y}=Q||{};try{if(Y===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let X=await this.peekInfo();(0,J9.checkOptions)(X,Z);let{tls_required:J,tls_available:G}=X,W=G===!0&&Z.tls!==null;if(!Y&&(J||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(J&&this.socket.encrypted!==!0)throw J9.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(X){let J=X;if(!J)J=new J9.errors.ConnectionError("error connecting - node provided an undefined error");let{code:G}=J,W=G==="ECONNREFUSED"?new J9.errors.ConnectionError("connection refused",{cause:J}):J;throw this.socket?.destroy(),W}}dial($){let Z=(0,J9.deferred)(),Q,Y=(0,uH5.createConnection)($.port,$.hostname,()=>{Z.resolve(Y),Y.removeAllListeners()});return Y.on("error",(X)=>{Q=X}),Y.on("close",()=>{Y.removeAllListeners(),Z.reject(Q)}),Y.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,J9.deferred)(),Z;return this.socket.on("data",(Q)=>{this.yields.push(Q);let Y=J9.DataBuffer.concat(...this.yields),X=(0,J9.extractProtocolMessage)(Y);if(X!=="")try{let J=J9.INFO.exec(X);if(!J)throw Error("unexpected response from server");let G=JSON.parse(J[1]);$.resolve(G)}catch(J){$.reject(J)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(Q)=>{Z=Q}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,J9.deferred)();try{if($=(0,lH5.resolve)($),!(0,sw8.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,sw8.readFile)($,(Q,Y)=>{if(Q)return Z.reject(Q);Z.resolve(Y)})}catch(Q){Z.reject(Q)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:Q,caFile:Y,ca:X,keyFile:J,key:G}=this.options.tls;try{if(Z){let W=await this.loadFile(Z);if(W)$.cert=W}else if(Q)$.cert=Q;if(J){let W=await this.loadFile(J);if(W)$.key=W}else if(G)$.key=G;if(Y){let W=await this.loadFile(Y);if(W)$.ca=[W]}else if(X)$.ca=X;return Promise.resolve($)}catch(W){return Promise.reject(W)}}async tlsFirst($){let Z,Q={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)Q.socket=this.socket;if(typeof this.options.tls==="object")try{let X=await this.loadClientCerts()||{};Q=(0,J9.extend)(Q,this.options.tls,X)}catch(X){return Promise.reject(new J9.errors.ConnectionError(X.message,{cause:X}))}let Y=(0,J9.deferred)();try{let X=(0,gT1.connect)($.port,$.hostname,Q,()=>{X.removeAllListeners(),Y.resolve(X)});X.on("error",(J)=>{Z=J}),X.on("secureConnect",()=>{if(Q.rejectUnauthorized===!1)return;if(!X.authorized)throw X.authorizationError}),X.on("close",()=>{Y.reject(Z),X.removeAllListeners()}),X.setNoDelay(!0)}catch(X){Y.reject(new J9.errors.ConnectionError(X.message,{cause:X}))}return Y}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};Z=(0,J9.extend)(Z,this.options.tls,Y)}catch(Y){return Promise.reject(new J9.errors.ConnectionError(Y.message,{cause:Y}))}let Q=(0,J9.deferred)();try{let Y=(0,gT1.connect)(Z,()=>{Y.removeAllListeners(),Q.resolve(Y)});Y.on("error",(X)=>{$=X}),Y.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{Q.reject($),Y.removeAllListeners()})}catch(Y){Q.reject(new J9.errors.ConnectionError(Y.message,{cause:Y}))}return Q}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,J9.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,J9.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof gT1.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,J9.render)($)}`);let Z=(0,J9.deferred)();try{this.socket.write($,(Q)=>{if(Q){if(this.options.debug)console.error(`!!! ${(0,J9.render)($)}: ${Q}`);return Z.reject(Q)}return Z.resolve()})}catch(Q){if(this.options.debug)console.error(`!!! ${(0,J9.render)($)}: ${Q}`);Z.reject(Q)}return Z}send($){this._send($).catch((Q)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(Q){if(this.options.debug)console.log("transport close terminated with an error",Q)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(Q){console.log(Q)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}ZD.NodeTransport=rw8;function iH5($){let Z=(0,J9.deferred)();return mH5.default.lookup($,{all:!0},(Q,Y)=>{if(Q){Z.reject(Q);return}let X=[];for(let J of Y)X.push(J.address);if(X.length===0)X.push($);Z.resolve(X)}),Z}});var YE8=y((QE8)=>{Object.defineProperty(QE8,"__esModule",{value:!0});QE8.connect=pH5;var ew8=aw8(),$E8=vQ0(),ZE8=vQ0();function pH5($={}){if((0,ZE8.hasWsProtocol)($))return Promise.reject(ZE8.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,$E8.setTransportFactory)({factory:()=>{return new ew8.NodeTransport},dnsResolveFn:ew8.nodeResolveHost}),$E8.NatsConnectionImpl.connect($)}});var XE8=y((Bj)=>{var tH5=Bj&&Bj.__createBinding||(Object.create?function($,Z,Q,Y){if(Y===void 0)Y=Q;var X=Object.getOwnPropertyDescriptor(Z,Q);if(!X||("get"in X?!Z.__esModule:X.writable||X.configurable))X={enumerable:!0,get:function(){return Z[Q]}};Object.defineProperty($,Y,X)}:function($,Z,Q,Y){if(Y===void 0)Y=Q;$[Y]=Z[Q]}),oH5=Bj&&Bj.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))tH5(Z,$,Q)};Object.defineProperty(Bj,"__esModule",{value:!0});Bj.connect=void 0;var sH5=YE8();Object.defineProperty(Bj,"connect",{enumerable:!0,get:function(){return sH5.connect}});oH5(vQ0(),Bj)});function WE8($){let Z=$?.connectFn??$F5,Q=null,Y=null,X=!1,J=!1,G=!1,W=[];function K(){return Q!==null&&!Q.isClosed()&&!Q.isDraining()&&!G}function H(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let N of W)try{N()}catch{}}function F(N){(async()=>{for await(let B of N.status())if(B.type==="disconnect")console.log("[NatsProvider] Disconnected"),G=!0;else if(B.type==="reconnect")console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),G=!1,Y=null,H()})().catch(()=>{})}async function U(N,B){let D=0;while(!J)try{Q=await Z({servers:N,timeout:eH5,reconnect:!0,maxReconnectAttempts:-1,...B?{authenticator:B}:{}}),console.log(`[NatsProvider] Connected to ${Q.getServer()} after ${D} attempt(s)`),Y=null,G=!1,F(Q),H();return}catch{D++;let O=C7(aH5,rH5,D-1,2,0.5);await J$(O)}}return{init(N,B){if(X)return;X=!0,J=!1;let D=B?.creds?Sg0.credsAuthenticator(new TextEncoder().encode(B.creds)):B?.user?Sg0.usernamePasswordAuthenticator(B.user,B.password):void 0;U(N,D).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?Q:null},getJetStream(){if(!K())return null;if(!Y)Y=GE8.jetstream(Q);return Y},onReady(N){if(W.push(N),K())try{N()}catch{}},async drain(){if(J=!0,X=!1,Y=null,G=!1,Q){let N=Q;Q=null,await N.drain().catch(()=>{})}}}}function $F5($){return JE8.connect($)}var Sg0,JE8,GE8,rH5=100,aH5=3000,eH5=3000;var KE8=L(()=>{n$();Sg0=_(i2(),1),JE8=_(XE8(),1),GE8=_(vH(),1)});function _g0($,Z){return`${$}.${Z}`}class hT1{cache;constructor($){this.cache=hN({ttlMs:$?.ttlMs??ZF5,maxSize:$?.maxSize??QF5})}async get($,Z){return this.cache.get(_g0($,Z))??null}async set($,Z,Q){this.cache.set(_g0($,Z),Q)}async invalidate($,Z){this.cache.delete(_g0($,Z)),this.cache.delete(_g0($,`${Z}:decisions`))}teardown(){this.cache.clear()}}var ZF5=600000,QF5=5000;var HE8=()=>{};function vg0($,Z){return`${$}:${Z}`}function uT1($){let Z=hN({ttlMs:$?.ttlMs??YF5,maxSize:$?.maxSize??XF5}),Q=$?.getConnection,Y=crypto.randomUUID(),X=new TextEncoder,J=new TextDecoder,G=null;function W(K,H){let F=Q?.();if(!F)return;try{F.publish(FE8,X.encode(JSON.stringify({organizationId:K,keyId:H,originId:Y})))}catch(U){console.warn("[ProviderKeyCache] Publish failed (non-critical):",U)}}return{get(K,H){return Z.get(vg0(K,H))},set(K,H,F){Z.set(vg0(K,H),F)},invalidate(K,H){Z.delete(vg0(K,H)),W(K,H)},start(){if(G)return;let K=Q?.();if(!K)return;G=K.subscribe(FE8),(async()=>{for await(let H of G)try{let F=JSON.parse(J.decode(H.data));if(F.originId===Y)continue;Z.delete(vg0(F.organizationId,F.keyId))}catch{}})().catch(console.error)},teardown(){G?.unsubscribe(),G=null,Z.clear()}}}var FE8="studio.ai-provider-keys.invalidate",YF5=30000,XF5=5000;var UE8=()=>{};class lT1{options;subscription=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.subscription)return;if(!this.onCancel)return;let Z=this.options.getConnection();if(!Z)return;let Q=new TextDecoder,Y=Z.subscribe("studio.decopilot.cancel");this.subscription=Y,(async()=>{for await(let X of Y)try{let J=JSON.parse(Q.decode(X.data));if(J.originId===this.originId)continue;this.onCancel?.(J.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let Z=this.options.getConnection();if(!Z)return;let Q=this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId}));Z.publish("studio.decopilot.cancel",Q)}catch(Z){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",Z)}}async stop(){this.subscription?.unsubscribe(),this.subscription=null,this.onCancel=null}}var NE8=($)=>{let Z;return()=>Z??=$()},mT1,cT1;var BE8=L(()=>{v6();mT1=NE8(()=>G$.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),cT1=NE8(()=>G$.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function UF5($=OE8){return{name:gB,subjects:[`${LL1}.>`],storage:EU.StorageType.File,max_age:WF5,max_bytes:HF5,max_msgs_per_subject:FF5,discard:EU.DiscardPolicy.Old,retention:EU.RetentionPolicy.Limits,duplicate_window:KF5,num_replicas:$}}class jE8{chunks=0;encodeMs=0;maxMs=0;bytes=0;windowStart=performance.now();constructor(){setInterval(()=>this.flush(),1e4).unref?.()}record($,Z){if(this.chunks++,this.encodeMs+=$,$>this.maxMs)this.maxMs=$;this.bytes+=Z}flush(){let $=performance.now(),Z=$-this.windowStart;if(this.chunks>0&&Z>0)console.warn(JSON.stringify({msg:"stream-encode-trace",windowMs:Math.round(Z),chunks:this.chunks,encodeMs:Math.round(this.encodeMs),pctOfLoop:+(this.encodeMs/Z*100).toFixed(1),maxChunkMs:+this.maxMs.toFixed(2),mbEncoded:+(this.bytes/1048576).toFixed(2)}));this.chunks=0,this.encodeMs=0,this.maxMs=0,this.bytes=0,this.windowStart=$}}function DE8($){let Z=LE8.headers();for(let[Q,Y]of Object.entries($))Z.set(Q,Y);return Z}function LF5($,Z){let Q=0;return{publish(Y,X,J,G){Y.publish(X,J,G?{headers:G}:void 0).catch((W)=>{if(Q++,GF5().add(1,{"org.id":Z??"unknown"}),Q===1||Q%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${Q} total):`,W)})},get errorCount(){return Q}}}function OF5($,Z){return $.info?.cluster?Z:1}function jF5($){if(!($ instanceof Error))return!1;if(/non-clustered/i.test($.message))return!0;return/replicas?\b/i.test($.message)&&/not supported|can ?not|exceed|insufficient|greater than/i.test($.message)}class dT1{options;js=null;jsm=null;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$){console.log("[Decopilot] StreamBuffer.init skipped: NATS not connected yet");return}let Z=async(Y,X)=>{let J=UF5(X);try{await Y.streams.info(gB),await Y.streams.update(gB,J)}catch(G){if(G instanceof Error&&G.message.includes("stream not found"))await Y.streams.add(J),await Y.streams.update(gB,J);else if(G instanceof Error&&/can ?not change.*storage|storage type/i.test(G.message))await Y.streams.delete(gB),await Y.streams.add(J);else throw G}},Q=await F8(async()=>{let Y=this.options.getJetStreamManager?await this.options.getJetStreamManager():await EU.jetstreamManager($),X=OF5($,OE8);try{await Z(Y,X)}catch(J){if(X<=1||!jF5(J))throw J;console.warn(`[Decopilot] StreamBuffer: NATS rejected num_replicas=${X} (${J.message}); falling back to an unreplicated stream`),await Z(Y,1)}return Y},{maxAttempts:5,minTimeout:250,maxTimeout:4000,jitter:0.5,isRetriable:pt});this.js=this.options.getJetStream(),this.jsm=Q,console.log(`[Decopilot] StreamBuffer.init ${this.js?"ready":"degraded (js=null)"}`)}pump($,Z,Q,Y){let X=this.js;if(!X)return console.warn(`[Decopilot] pump: JetStream client unavailable for thread ${Z}; chunks NOT published to NATS`),Promise.resolve();let J=LF5(Z,Y),G=!1,W=()=>{if(G)return;G=!0;let H=M98(Z);X.publish(H.subject,H.data).catch(()=>{})};Q.addEventListener("abort",W,{once:!0});let K=(H)=>{let F=performance.now(),U=jL1(H,{runId:Z}),N=performance.now()-F;mT1().record(N),cT1().add(1,{"org.id":Y??"unknown"}),DF5?.record(N,U.reduce((B,D)=>B+D.data.length,0));for(let B of U)J.publish(X,B.subject,B.data,B.headers?DE8(B.headers):void 0)};return(async()=>{let H=$.getReader(),F=0,U=0,N;try{while(!0){let{done:B,value:D}=await H.read();if(B)break;if(K(D),U++,++F>=64)F=0,await new Promise((O)=>setImmediate(O))}}catch(B){N=B,console.warn(`[Decopilot] stream pump error for thread ${Z}:`,B?.message??B)}finally{if(H.releaseLock(),W(),BF5)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:Z,publishedChunks:U,publishErrors:J.errorCount}))}if(N!==void 0)throw N})()}async publishSerialized($,Z){try{return await F8(()=>$.publish(Z.subject,Z.data,{...Z.headers?{headers:DE8(Z.headers)}:{},...Z.msgId?{msgID:Z.msgId}:{}}),{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:pt}),!0}catch(Q){return console.error(`[Decopilot] publish failed after retries subject=${Z.subject}`,Q),!1}}async publishRawChunk($,Z,Q){let Y=this.js;if(!Y)return!1;let X=performance.now(),J=jL1(Z,{runId:$,dedup:Q});mT1().record(performance.now()-X),cT1().add(1);for(let G of J)if(!await this.publishSerialized(Y,G))return!1;return!0}async publishDone($,Z,Q){let Y=this.js;if(!Y)return!1;let X=R98({runId:$,fenceToken:Z,finalSeq:Q});return await this.publishSerialized(Y,X)}async createTailStream($,Z,Q){let Y=this.js;if(!Y)return console.warn(`[Decopilot] createTailStream: JetStream client unavailable for thread ${$}; no live tail`),null;let X=Q?.deliverPolicy==="new"?EU.DeliverPolicy.New:EU.DeliverPolicy.All,J=Q?.closeOnDone??!1,G=nz($),W;try{W=await F8(async()=>{return(await Y.consumers.get(gB,{filter_subjects:G,deliver_policy:X})).consume()},{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:pt})}catch(O){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",O?.message??O),null}let F=wb0({messages:async function*(){try{for await(let O of W)yield{subject:O.subject,data:O.data,headers:O.headers}}finally{W.stop()}}(),onCancel:()=>W.stop()}).pipeThrough(Db0()).pipeThrough(Lb0()).getReader(),U=!1,N=()=>{if(U)return;U=!0;try{F.releaseLock()}catch{}},B=!1,D=()=>{if(B)return;B=!0,W.stop(),F.cancel().catch(()=>{}),N()};return Z?.addEventListener("abort",D,{once:!0}),new ReadableStream({async pull(O){for(;;){let{done:j,value:w}=await F.read();if(j){D(),O.close();return}let E=w;if(E.kind==="done"){if(J){D(),O.close();return}continue}O.enqueue(E.chunk);return}},cancel(){D()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(gB,{filter:nz($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var EU,LE8,JF5=($)=>{let Z;return()=>Z??=$()},GF5,WF5=86400000000000,KF5=120000000000,HF5=4294967296,OE8,FF5=500000,NF5,BF5,DF5;var wE8=L(()=>{n$();wL1();Eb0();Ob0();v6();BE8();EU=_(vH(),1),LE8=_(i2(),1),GF5=JF5(()=>G$.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"})),OE8=Math.max(1,Number(process.env.DECOPILOT_STREAM_REPLICAS??3)||3);NF5=process.env.STREAM_ENCODE_TRACE==="1",BF5=process.env.DECOPILOT_STREAM_TRACE==="1";DF5=NF5?new jE8:null});function bg0($,Z,Q,Y){if(!Y)return!1;return $.emit(Z,lU(Q,Y.status,{title:Y.title??void 0,virtualMcpId:Y.virtual_mcp_id??void 0,createdBy:Y.created_by??void 0,triggerId:Y.trigger_id??null,branch:Y.branch??null,harnessId:Y.harness_id??void 0,createdAt:Y.created_at,updatedAt:Y.updated_at})),!0}var EE8=L(()=>{q8()});class iT1{storage;options;timer=null;constructor($,Z={}){this.storage=$;this.options=Z}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let Z=await this.storage.sweepAbandoned($);if(Z>0)console.log(`[async-research-sweeper] marked ${Z} stale jobs as abandoned`);return Z}catch(Z){return console.error("[async-research-sweeper] sweep failed",Z),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}function wF5($,Z,Q={}){let Y=$.startsWith("thread:")?sF($,Q):$;return[...new Set([Z,Y].filter((X)=>!!X))]}async function pT1($,Z){let Q=Z.organizationId;try{let Y=await $.storage.taskBoard.linkedThreadIds(Z.id,Q);for(let X of Y){let J=await MB($,X);if(!J?.owner||!J?.name)continue;let G=await $.storage.threads.get(X),W=await VB($,{threadId:X,runBranch:G?.branch}),K=await u40($,Q,GD0(J)).catch(()=>null);if(!K){console.warn(`[task-board] no credential for ${J.owner}/${J.name} \u2014 `+`cannot look up ${Z.id}'s change request by branch`);continue}let H=wF5(W,await PS0($,X),{flat:qh(K.repo.provider)});for(let F of H){let U=await K.readForBranch(F).catch(()=>null);if(!U)continue;return await $.storage.taskBoard.linkPr({taskBoardItemId:Z.id,organizationId:Q,url:U.url,prNumber:U.number,repo:K.repo}),await $.storage.taskBoard.openReviewCycleIfInProgress(Z.id,Q),await OW(Q).catch(()=>{}),console.log(`[task-board] ${Z.id}: linked ${U.url} found on branch ${F}`),!0}}}catch(Y){console.error("[task-board] PR lookup by branch failed",Y)}return!1}var PE8=L(()=>{A5();fQ();yQ()});async function zE8($,Z,Q){let Y=Z.organizationId;if(!uJ(Z))return!1;if(!sh(Q))return!1;if(!await yd($,Y,m10))return!1;if(await $.storage.taskBoard.hasHumanRejectedDone(Z.id,Y))return!1;let X=K1.shipped,J=await $.storage.taskBoard.update(Z.id,Y,{status:X},Z.updatedBy);return await Q9($,{taskBoardItemId:Z.id,action:"status_changed",actorId:null,data:{from:Z.status,to:X,reason:"pr_merged"}}),K8(Y,J),console.log(`[task-board-review-sweeper] ${Z.id}: linked PR already merged \u2014 moved to ${X}`),!0}var AE8=L(()=>{OG();v8();xX();Mt();YU();m5()});function RF5($){return $ instanceof qX}function TE8($,Z){return Z-$>=TF5}class nT1{taskBoard;contextFactory;billing;options;timer=null;running=!1;cursor=null;constructor($,Z,Q,Y={}){this.taskBoard=$;this.contextFactory=Z;this.billing=Q;this.options=Y}start(){if(this.timer)return;let $=this.options.intervalMs??EF5;this.timer=setInterval(()=>{this.runOnce()},$),this.timer.unref()}async runOnce(){if(this.running)return 0;this.running=!0;let $=0;try{let Z=this.options.batchSize??zF5,Q=this.options.itemIntervalMs??PF5,Y=new Date(Date.now()-Q),X=await this.taskBoard.listItemsPendingReview(Z,this.cursor,Y),J=X.at(-1);this.cursor=X.length===Z&&J?{updatedAt:J.updatedAt,id:J.id}:null;for(let{id:G,organizationId:W}of X)try{if(await this.reconcileItem(G,W,Y))$++}catch(K){console.error(`[task-board-review-sweeper] ${G} failed`,K)}await this.reapNeverStartedThreads(Z),$+=await this.dispatchDueRetries(Z),await this.reactToUnhandledFailures(Z),$+=await this.settleFinishedRunsWithoutPr(Z,Y)}catch(Z){console.error("[task-board-review-sweeper] sweep failed",Z)}finally{this.running=!1}return $}async reapNeverStartedThreads($){try{let Z=await this.taskBoard.failNeverStartedLinkedThreads($,new Date(Date.now()-EN1),dB1);for(let Q of Z)console.warn(`[task-board-review-sweeper] failed never-started thread ${Q.threadId} on ${Q.itemId}`)}catch(Z){console.error("[task-board-review-sweeper] reaping failed",Z)}}async reactToUnhandledFailures($){let Z=await this.taskBoard.listItemsStuckAfterFailure($,new Date(Date.now()-qF5));for(let{id:Q,organizationId:Y,threadId:X}of Z)try{console.warn(`[task-board-review-sweeper] reacting to an unhandled failure on ${Q}`),await mB1(this.taskBoard,X,Y),await cB1(this.taskBoard,this.billing,X,Y)}catch(J){console.error(`[task-board-review-sweeper] unhandled-failure reaction for ${Q} failed`,J)}}async settleFinishedRunsWithoutPr($,Z){let Q=0,Y=await this.taskBoard.listItemsFinishedWithoutPr($,Z);for(let{id:X,organizationId:J,finishedAt:G}of Y)try{if(!await this.taskBoard.claimSweep(X,J,Z))continue;let W=await this.taskBoard.getById(X,J);if(!W||W.status!==K1.progress||uJ(W)||W.assigneeId!==o$)continue;let K=await this.contextFactory(J,W.assignedBy??W.createdBy);if(!K)continue;if(await pT1(K,W)){if(await this.taskBoard.clearSweepBudget(X,J),await this.reconcileItem(X,J,Z))Q++;continue}if(!TE8(G.getTime(),Date.now()))continue;let H="the run finished without opening a pull request \u2014 there is "+"nothing for a reviewer to review",F=await this.taskBoard.advanceFromProgress(X,J,K1.review,W.updatedBy);if(!F)continue;await this.taskBoard.recordActivity({taskBoardItemId:X,action:"status_changed",actorId:null,data:{from:K1.progress,to:K1.review,reason:H}}).catch(()=>{}),K8(J,F),await XU(K,F,H)}catch(W){console.error(`[task-board-review-sweeper] settling finished run on ${X} failed`,W)}return Q}async dispatchDueRetries($){let Z=0,Q=await this.taskBoard.listItemsDueForRetry($,new Date);for(let{id:Y,organizationId:X,attempts:J}of Q)try{if(!await this.taskBoard.claimDueRetry(Y,X,new Date))continue;let G=await this.taskBoard.getById(Y,X);if(!G||G.status!==K1.progress||G.assigneeId!==o$)continue;let W=await this.contextFactory(X,G.assignedBy??G.createdBy);if(!W)continue;await CO(W,G,{runClass:"retry"}),Z++,console.warn(`[task-board-review-sweeper] re-dispatched ${Y} after a failure (attempt ${J})`)}catch(G){if(console.error(`[task-board-review-sweeper] retry dispatch for ${Y} failed`,G),RF5(G)){await this.returnToBacklog(Y,X,G instanceof Error?G.message:String(G));continue}await this.taskBoard.scheduleRunRetry(Y,X,J,new Date(Date.now()+AF5)).catch((W)=>console.error(`[task-board-review-sweeper] re-arming ${Y} failed`,W))}return Z}async returnToBacklog($,Z,Q){try{let Y=await this.taskBoard.getById($,Z);if(!Y||Y.status!==K1.progress)return;let X=await this.taskBoard.returnToBacklogAfterFailure($,Z,Y.updatedBy);if(!X)return;await this.taskBoard.recordActivity({taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:K1.progress,to:K1.intake,reason:Q,retriesSpent:Y.retryAttempts}}).catch(()=>{}),K8(Z,X)}catch(Y){console.error(`[task-board-review-sweeper] returning ${$} to backlog failed`,Y)}}async handOffReviewWithoutPr($,Z){let Q=await this.taskBoard.listActivity(Z.id,Z.organizationId);if(!TE8(UL(Q,Z.reviewCycleStartedAt),Date.now()))return;await XU($,Z,"no pull request is linked to this task \u2014 there is nothing for a "+"reviewer to review")}async reconcileItem($,Z,Q){if(!await this.taskBoard.claimSweep($,Z,Q))return!1;let Y=await this.taskBoard.getById($,Z);if(!Y)return!1;if(!uJ(Y))return!1;let X=Y.assigneeId===o$,J=await this.taskBoard.listPrs($,Z),G=await this.contextFactory(Z,Y.assignedBy??Y.createdBy);if(!G)return!1;if(J.length===0){if(await pT1(G,Y))J=await this.taskBoard.listPrs($,Z);if(J.length===0){if(X)await this.handOffReviewWithoutPr(G,Y);return!1}}let W=await Promise.all(J.map(async(K)=>({...K,...await kt(Z,K)})));if(W.every((K)=>K.state===null))console.warn(`[task-board-review-sweeper] ${$}: no live PR state from GitHub (${W.length} PR(s)) \u2014 proceeding on unknown`);if(await zE8(G,Y,W))return!0;if(!X)return!1;if(await A48(G,Y))return!0;if(!gB1(W))return!1;return await It(G,Y,{previewMatchesHead:hB1(W)}),!0}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}var EF5=60000,PF5=300000,zF5=50,AF5=60000,TF5=900000,qF5=120000;var qE8=L(()=>{v8();Dv0();PE8();SO();vt();YU();AE8();m5();JW();iB1();yQ();t90()});async function RE8($,Z,Q=oz){return await VE8($,Z,Q,{})}async function ME8($,Z,Q,Y=oz){return await VE8($,Q,Y,{activityId:Z})}async function VE8($,Z,Q,Y){let X=await $.automations.findActiveBoardColumnTriggers();if(X.length===0)return 0;let J=new Map;for(let K of X){let H=K.automation.organization_id;J.set(H,[...J.get(H)??[],K])}let G=await $.taskBoard.listSettledTransitions({organizationIds:[...J.keys()],since:new Date(Z-MF5),settledBefore:new Date(Z-Q),limit:VF5,...Y}),W=0;for(let K of G)try{let H=(J.get(K.organizationId)??[]).filter((U)=>U.column_key===K.to&&Date.parse(U.created_at)<Date.parse(K.occurredAt));if(H.length===0)continue;let F=await IF5($.taskBoard,K,Q);for(let U of H){if(!ZZ8(U,{from:F,to:K.to}))continue;if(!await $.automations.claimTriggerFire(U.id,K.activityId))continue;await $.fire({automationId:U.automation_id,organizationId:K.organizationId,triggerId:U.id,target:{kind:"card",itemId:K.itemId,columnKey:K.to,eventKey:K.activityId,movedBy:K.actorId}},{idempotencyKey:`board:${U.id}:${K.activityId}`}),W++}}catch(H){console.error(`[automations] board transition ${K.activityId} failed`,H)}return W}async function IF5($,Z,Q){let X=(await $.listActivity(Z.itemId,Z.organizationId)).flatMap((J)=>{let G=J.data;if(J.action!=="status_changed"||typeof G?.to!=="string")return[];let W=typeof G.from==="string"?G.from:null;return W===G.to?[]:[{from:W,to:G.to,occurredAt:J.occurredAt}]});return X.length>0?QZ8(X,Q):Z.from}var MF5=1800000,VF5=200;var IE8=L(()=>{fO()});import{DBOS as R2,DBOSClient as kF5,SchedulerMode as CF5}from"@dbos-inc/dbos-sdk";function kE8($){Dj=$}async function vF5($){if(!Dj)return 0;try{return await ME8(Dj,$,Date.now(),Dj.settleMs)}catch(Z){return console.error(`[automations] settling board move ${$} failed`,Z),0}}async function bF5(){if(!Dj)return 0;try{return await RE8(Dj,Date.now(),Dj.settleMs)}catch($){return console.error("[automations] board transition sweep failed",$),0}}async function xF5($){await R2.sleep((Dj?.settleMs??oz)+_F5),await R2.runStep(()=>vF5($),{name:"settleBoardMove"})}async function fF5($,Z){let Q=await R2.runStep(()=>bF5(),{name:"sweepBoardMoves"});if(Q>0)console.log(`[automations] board transition sweep fired ${Q} trigger(s) the settle wait missed`)}async function SE8($){let Z=Dj;if(!Z||!oT1)return;if(!await Z.automations.hasActiveBoardColumnTrigger($.taskBoardItemId,$.to))return;let Q=`board-settle:${$.activityId}`;if(!R2.isWithinWorkflow()){await R2.startWorkflow(oT1,{workflowID:Q,queueName:_2})($.activityId);return}let Y=await kF5.create({systemDatabaseUrl:Z.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:1});try{await Y.enqueue({workflowName:CE8,queueName:_2,workflowID:Q},$.activityId)}finally{await Y.destroy()}}function _E8(){if(tT1)return;oT1=R2.registerWorkflow(xF5,{name:CE8}),tT1=R2.registerWorkflow(fF5,{name:"boardTransitionSweepWorkflow"}),R2.registerScheduled(tT1,{name:"boardTransitionSweepWorkflow",crontab:SF5,mode:CF5.ExactlyOncePerIntervalWhenActive})}var SF5="*/5 * * * *",_F5=2000,Dj=null,CE8="boardTransitionSettleWorkflow",oT1=null,tT1=null;var vE8=L(()=>{fO();IE8()});import{readdir as yF5,rm as xg0}from"fs/promises";import{join as fg0}from"path";async function yg0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-gF5),Z.setUTCHours(0,0,0,0);let Q=0;try{let Y=await tu($);for(let X of Y)if(/^\d{4}$/.test(X))Q+=await bE8($,X,Z);else if(!X.startsWith(".")){let J=fg0($,X),G=await tu(J);for(let K of G){if(!/^\d{4}$/.test(K))continue;Q+=await bE8(J,K,Z)}if((await tu(J)).length===0)await xg0(J,{recursive:!0,force:!0})}}catch(Y){console.warn("monitoring retention cleanup failed:",Y)}return Q}async function bE8($,Z,Q){let Y=0,X=fg0($,Z),J=await tu(X);for(let W of J){if(!/^\d{2}$/.test(W))continue;let K=fg0(X,W),H=await tu(K);for(let U of H){if(!/^\d{2}$/.test(U))continue;let N=new Date(`${Z}-${W}-${U}T00:00:00Z`);if(isNaN(N.getTime()))continue;if(N<Q){let B=fg0(K,U);await xg0(B,{recursive:!0,force:!0}),Y++}}if((await tu(K)).length===0)await xg0(K,{recursive:!0,force:!0})}if((await tu(X)).length===0)await xg0(X,{recursive:!0,force:!0});return Y}async function tu($){try{return(await yF5($)).filter((Q)=>!Q.startsWith("."))}catch{return[]}}var gF5=30;var sT1=()=>{};import{DBOS as rT1,SchedulerMode as hF5}from"@dbos-inc/dbos-sdk";async function lF5(){let $=[RH(),Yl(),HD()],Z=0;for(let Q of $)try{Z+=await yg0(Q)}catch(Y){console.error("[monitoring-retention] cleanup failed:",Y)}return console.log(`[monitoring-retention] deleted ${Z} day-dir(s) across ${$.length} signal dir(s)`),{deleted:Z,dirs:$.length}}async function mF5($,Z){await rT1.runStep(()=>lF5(),{name:"monitoringRetention"})}function fE8(){if(xE8)return;xE8=!0;let $=rT1.registerWorkflow(mF5,{name:"monitoringRetentionWorkflow"});rT1.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:uF5,mode:hF5.ExactlyOncePerIntervalWhenActive})}var uF5="23 4 * * *",xE8=!1;var yE8=L(()=>{lW();sT1()});function gE8($){return async(Z,Q)=>{let Y=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","=",Q).where("member.organizationId","=",Z).executeTakeFirst();if(!Y)return console.warn(`[automationContextFactory] User ${Q} not found in org ${Z} \u2014 returning null`),null;let X=await vY.create();X.auth.user={id:Q,role:Y.role},X.organization={id:Y.orgId,slug:Y.orgSlug,name:Y.orgName};let J=await LP($.db,Z,Y.role);return X.boundAuth=AP1({auth:X.authInstance,headers:new Headers,role:Y.role,permissions:J,userId:Q}),X.access=new zT(Q,void 0,X.boundAuth,Y.role,"self"),cz(X,{id:Y.orgId,slug:Y.orgSlug}),X}}var hE8=L(()=>{XX();tN()});function uE8(){return async($,Z)=>{let Q=Date.now(),Y=$.req.method,X=$.req.path;if(X==="/api/auth/get-session"||X.includes("favicon")){await Z();return}let J="",G=!1;if(X.startsWith("/mcp")&&Y==="POST"){G=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let N=await $.req.raw.clone().json();if(N.method==="tools/call"&&N.params?.name){let B=bQ0(N.params.name),D=N.params.arguments||{},O=Object.keys(D).map((w)=>bQ0(w)),j=O.length>0?O.slice(0,3).join(",")+(O.length>3?"\u2026":""):"";J=`${L9.tool}${B}${L9.dim}(${j})${L9.reset}`}else if(N.method)J=`${L9.dim}${bQ0(N.method)}${L9.reset}`}}catch{}}let W=bQ0(X);if(X.startsWith("/mcp/conn_")){let F=X.split("/")[2]??"";W=`/mcp/${L9.mcp}${bQ0(F.slice(0,12))}\u2026${L9.reset}`}else if(X==="/mcp")W=`${L9.mcp}/mcp${L9.reset}`;else if(X==="/mcp/registry")W=`${L9.mcp}/mcp/registry${L9.reset}`;let K=dF5(Y),H=G?"\u25C0":"\u2190";console.log(`${L9.dim}${H}${L9.reset} ${K}${Y}${L9.reset} ${W}${J?` ${J}`:""}`);try{await Z()}finally{let F=Date.now()-Q,U=$.res.status,N=cF5(U),B=F<1000?`${F}ms`:`${(F/1000).toFixed(1)}s`,D=G?"\u25B6":"\u2192";console.log(`${L9.dim}${D}${L9.reset} ${K}${Y}${L9.reset} ${W}${J?` ${J}`:""} ${N}${U}${L9.reset} ${L9.duration}${B}${L9.reset}`)}}}var L9,cF5=($)=>{if($>=500)return L9.serverError;if($>=400)return L9.clientError;if($>=300)return L9.redirect;return L9.ok},dF5=($)=>{return L9[$]||L9.reset},bQ0=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var lE8=L(()=>{L9={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 iE8}from"crypto";import{mkdir as iF5,readdir as pF5,rm as mE8,stat as pE8}from"fs/promises";import{join as eT1,relative as nF5}from"path";import{z as X8}from"zod";function tE8($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return eT1(tF5,Z)}function oE8($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function aT1($,Z){let Q=tE8($),Y=oE8(Z);return eT1(Q,Y)}function oF5($,Z,Q,Y){let X=B0().encryptionKey||"dev-secret",J=`${$}:${Z}:${Q}:${Y}`;return iE8("sha256",X).update(J).digest("hex")}function dE8($,Z,Q,Y,X){let J=Math.floor(Date.now()/1000)+Y,G=oF5(Z,Q,J,X),W=new URL(`/api/dev-assets/${Z}/${oE8(Q)}`,$);return W.searchParams.set("expires",J.toString()),W.searchParams.set("signature",G),W.searchParams.set("method",X),W.toString()}function sE8($,Z,Q){let Y=`${$}:${Z.getTime()}:${Q}`;return`"${iE8("md5","etag").update(Y).digest("hex")}"`}async function rE8($,Z,Q,Y,X){try{let J=await pF5($,{withFileTypes:!0});for(let G of J){let W=eT1($,G.name),H=nF5(Z,W).replace(/\\/g,"/");if(Q&&!H.startsWith(Q))continue;if(G.isDirectory())if(Y){let F=H+"/";if(!Q||F.startsWith(Q)){if(!(Q?H.slice(Q.length):H).includes("/"))X.commonPrefixes.add(F)}}else await rE8(W,Z,Q,Y,X);else if(G.isFile()){if(Y&&Q){let F=H.slice(Q.length);if(F.includes(Y)){let U=F.indexOf(Y),N=Q+F.slice(0,U+1);X.commonPrefixes.add(N);continue}}try{let F=await pE8(W);X.objects.push({key:H,size:F.size,lastModified:F.mtime.toISOString(),etag:sE8(W,F.mtime,F.size)})}catch{}}}}catch{}}function aE8($,Z){let Y=Q0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:X8.object({prefix:X8.string().optional(),maxKeys:X8.number().optional().default(1000),continuationToken:X8.string().optional(),delimiter:X8.string().optional()}),outputSchema:X8.object({objects:X8.array(X8.object({key:X8.string(),size:X8.number(),lastModified:X8.string(),etag:X8.string()})),nextContinuationToken:X8.string().optional(),isTruncated:X8.boolean(),commonPrefixes:X8.array(X8.string()).optional()}),handler:async(X)=>{let J=X,G=J.prefix||"",W=J.maxKeys??1000,K=J.delimiter,H=J.continuationToken,F=tE8(Y);await iF5(F,{recursive:!0});let U={objects:[],commonPrefixes:new Set};await rE8(F,F,G,K,U),U.objects.sort((j,w)=>j.key.localeCompare(w.key));let N=0;if(H){if(N=U.objects.findIndex((j)=>j.key>H),N===-1)N=U.objects.length}let B=U.objects.slice(N,N+W),D=N+W<U.objects.length,O=D?B[B.length-1]?.key:void 0;return{objects:B,isTruncated:D,nextContinuationToken:O,commonPrefixes:Array.from(U.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:X8.object({key:X8.string()}),outputSchema:X8.object({contentType:X8.string().optional(),contentLength:X8.number(),lastModified:X8.string(),etag:X8.string(),metadata:X8.record(X8.string(),X8.string()).optional()}),handler:async(X)=>{let J=X,G=aT1(Y,J.key),W=await pE8(G);return{contentType:dz1(J.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:sE8(G,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:X8.object({key:X8.string(),expiresIn:X8.number().optional()}),outputSchema:X8.object({url:X8.string(),expiresIn:X8.number()}),handler:async(X)=>{let J=X,G=cO(J.expiresIn,cE8);return{url:dE8(Z,Y,J.key,G,"GET"),expiresIn:G}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:X8.object({key:X8.string(),expiresIn:X8.number().optional(),contentType:X8.string().optional()}),outputSchema:X8.object({url:X8.string(),expiresIn:X8.number()}),handler:async(X)=>{let J=X,G=cO(J.expiresIn,cE8);return{url:dE8(Z,Y,J.key,G,"PUT"),expiresIn:G}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:X8.object({key:X8.string()}),outputSchema:X8.object({success:X8.boolean(),key:X8.string()}),handler:async(X)=>{let J=X,G=aT1(Y,J.key);try{return await mE8(G),{success:!0,key:J.key}}catch{return{success:!1,key:J.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:X8.object({keys:X8.array(X8.string()).max(1000)}),outputSchema:X8.object({deleted:X8.array(X8.string()),errors:X8.array(X8.object({key:X8.string(),message:X8.string()}))}),handler:async(X)=>{let J=X,G=[],W=[];return await Promise.all(J.keys.map(async(K)=>{let H=aT1(Y,K);try{await mE8(H),G.push(K)}catch(F){W.push({key:K,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:G,errors:W}}}]}async function $q1($,Z,Q){let Y=aE8(Z,Q),X=new NE({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:QZ});for(let G of Y){let W="shape"in G.inputSchema?G.inputSchema.shape:X8.object({}).shape,K=G.outputSchema&&"shape"in G.outputSchema?G.outputSchema.shape:X8.object({}).shape;X.registerTool(G.name,{description:G.description??"",inputSchema:W,outputSchema:K,annotations:G.annotations,_meta:G._meta},async(H)=>{try{let F=await G.handler(H);return{content:[{type:"text",text:JSON.stringify(F)}],structuredContent:F}}catch(F){return{content:[{type:"text",text:`Error: ${F.message}`}],isError:!0}}})}let J=new AW({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await X.connect(J),UH(X,J,$,"mcp:dev-assets")}async function eE8($,Z,Q,Y){let J=aE8(Q,Y).find((G)=>G.name===$);if(!J)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let G=await J.handler(Z);return{content:[{type:"text",text:JSON.stringify(G)}]}}catch(G){return{content:[{type:"text",text:G instanceof Error?G.message:String(G)}],isError:!0}}}var tF5="./data/assets",cE8=3600,nE8,$P8;var ZP8=L(()=>{u1();Yo();W8();AH0();Qo();NJ();dO();Dy0();nE8=new Z1;nE8.all("/",async($)=>{let Z=$.get("studioContext"),Q=new URL($.req.url),Y=`${Q.protocol}//${Q.host}`;return $q1($.req.raw,Z,Y)});$P8=nE8});var QP8={};O6(QP8,{mountDevRoutes:()=>sF5});function sF5($,Z){$.all("/mcp/:connectionId{.*_dev-assets$}",Z,async(Y)=>{let X=Y.get("studioContext"),J=new URL(Y.req.url),G=`${J.protocol}//${J.host}`;return $q1(Y.req.raw,X,G)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",Z,async(Y)=>{let X=Y.get("studioContext"),J=new URL(Y.req.url),G=`${J.protocol}//${J.host}`,W=Y.req.param("toolName");if(!W)return Y.json({error:"Missing tool name"},400);let K=await Y.req.json(),H=await eE8(W,K,X,G);if(H.isError)return Y.json(H.content,500);return Y.json(H.content)}),$.use("/mcp/dev-assets",Z),$.route("/mcp/dev-assets",$P8);let Q=new Z1;Q.use("*",LU({mountPath:"/api/dev-assets"})),Q.route("/",By0({orgFromPath:!1})),$.route("/api/dev-assets",Q)}var YP8=L(()=>{W8();fz1();Dy0();ZP8()});var BP8={};O6(BP8,{watchHandler:()=>NP8,resolveVoiceSigningSecret:()=>HP8,resolveCorsOrigin:()=>FP8,isSsoExemptPath:()=>KP8,isAllowedOAuthRedirectUri:()=>UP8,createApp:()=>WU5});import{readFileSync as rF5}from"fs";import{randomBytes as aF5}from"crypto";import{PrometheusSerializer as eF5}from"@opentelemetry/exporter-prometheus";import{DBOS as QD}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as QU5,oAuthProtectedResourceMetadata as YU5}from"better-auth/plugins";async function $U5($){let Z=$.connect(),Q;try{Q=await Promise.race([Z,JP8(XP8)])}catch{return Z.then((Y)=>Y.release(!0)).catch(()=>{}),!1}try{return await Promise.race([Q.query("SELECT 1"),JP8(XP8)]),Q.release(),!0}catch{return Q.release(!0),!1}}function JP8($){return new Promise((Z,Q)=>setTimeout(()=>Q(Error("pg health-check timeout")),$))}function KP8($){return $.startsWith("/api/org-sso/")||/^\/api\/[^/]+\/sso\//.test($)||$.startsWith("/api/auth/")||$.startsWith("/api/tools/management")||$.startsWith("/oauth-proxy/")||/^\/api\/[^/]+\/oauth-proxy\//.test($)||$.startsWith(`${of0}/`)||$.startsWith(`${cf0}/`)}function HP8($){let Z=$.studioJwtSecret||$.betterAuthSecret;if(Z)return Z;return console.warn("STUDIO_JWT_SECRET/BETTER_AUTH_SECRET not set - generating a random secret for voice sessions (not persistent across restarts)"),aF5(32).toString("base64")}function FP8($,{baseUrl:Z,requestOrigin:Q}){let Y;try{Y=new URL($).hostname}catch{return null}if(Y==="localhost"||Y==="127.0.0.1")return $;let X=Z??Q;try{if(new URL(X).origin===$)return $}catch{}return null}function UP8($,Z){return $.origin===new URL(Z).origin||$.hostname==="localhost"}async function WU5($={}){let Z=$.database??E8(),Q=!1;I6.stop().catch((F0)=>{console.error("[SSEHub] Error stopping previous broadcast (HMR cleanup):",F0)});let Y,X,J,G,W=new hT1,K,H,F,U=null;if($.disableNats)K=uT1(),Y={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},X=null,J=null,G=new oZ0,H={start:async()=>{},broadcast:()=>{},stop:async()=>{}},F={init:async()=>{},pump:(F0)=>{return(async()=>{let G0=F0.getReader();try{while(!0){let{done:P0}=await G0.read();if(P0)break}}catch{}finally{G0.releaseLock()}})()},publishRawChunk:async()=>!1,publishDone:async()=>!1,createTailStream:async()=>null,purge:()=>{},teardown:()=>{}};else{U=WE8();let F0=B0().natsCredsPath,G0;if(F0)try{G0=rF5(F0,"utf8")}catch(B8){console.error(`[app] failed to read NATS_CREDS at ${F0}; connecting anonymously`,B8)}U.init(B0().natsUrls,{creds:G0,user:B0().natsUser,password:B0().natsPassword});let P0=pZ1()?new CZ1({getJetStream:()=>U.getJetStream(),selfListVersion:Vg0.version}):null;P0?.init().catch(()=>{}),Y=P0;let z0=new O71({getJetStream:()=>U.getJetStream()});z0.init().catch(()=>{}),X=z0;let j1=new rh(_B1,{getJetStream:()=>U.getJetStream()}),b$=new rh(o90,{getJetStream:()=>U.getJetStream()});j1.init().catch(()=>{}),b$.init().catch(()=>{}),J={reads:j1,cards:b$};let r$=new Zj1({getJetStream:()=>U.getJetStream()});r$.init().catch(()=>{}),G=r$,K=uT1({getConnection:()=>U.getConnection()}),H=new lT1({getConnection:()=>U.getConnection()}),F=new dT1({getConnection:()=>U.getConnection(),getJetStream:()=>U.getJetStream()}),bH8(U),U.onReady(()=>{P0?.init().catch((B8)=>{console.error("[McpListCache] Deferred init failed:",B8)}),z0.init().catch((B8)=>{console.error("[SkillCatalogCache] Deferred init failed:",B8)}),j1.init().catch((B8)=>{console.error("[PrReadCache] Deferred init failed:",B8)}),b$.init().catch((B8)=>{console.error("[PrCardCache] Deferred init failed:",B8)}),r$.init().catch((B8)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",B8)}),K.start(),d2$(()=>U.getConnection()),F.init().catch((B8)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",B8)})})}if(M2)await M2();SZ1(Y),w71(X),P71(()=>U?.getConnection()??null),vB1(J),Qj1(G);let B={storage:new pm(Z.db),sseHub:I6,onThreadFinished:async(F0,G0)=>St(new LW(Z.db),F0,G0,new I3(Z.db))},D=new fD1(B),O=new q70(Z.db),j=new iT1(O);j.start(),HZ8(H),H.start((F0)=>{Xb0(F0),D.execute({type:"CANCEL",taskId:F0}).catch((G0)=>{console.error("[Decopilot] CancelBroadcast execute failed:",G0)})}).catch((F0)=>{console.error("[Decopilot] CancelBroadcast start failed:",F0)}),U?.onReady(()=>{H.start().catch((F0)=>{console.error("[CancelBroadcast] Deferred start failed:",F0)})});let w=()=>U?.getConnection()??null;Cz1(w),U?.onReady(()=>Cz1(w)),fj1(w),U?.onReady(()=>fj1(w)),F.init().catch((F0)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",F0)}),M2=async()=>{await D.stopAll(),D.dispose(),j.dispose(),H.stop().catch(()=>{}),rF8(),F.teardown(),Y?.teardown(),X?.teardown(),J?.reads.teardown(),J?.cards.teardown(),W.teardown(),K.teardown(),i2$(),G.teardown(),SZ1(null),w71(null),P71(null),vB1(null),Qj1(null)};let E=new Z1;if(E.use("*",aO1({enabled:(F0)=>vo(F0,"debug")==="1"})),E.use("*",Jh0),E.use("/*",kH8({origin:(F0,G0)=>FP8(F0,{baseUrl:B0().baseUrl,requestOrigin:new URL(G0.req.url).origin}),credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),E.use("*",async(F0,G0)=>{if(await G0(),F0.req.path.includes("/files/"))return;if(F0.req.path.includes("/fs/")&&F0.req.path.endsWith("/read"))return;F0.header("X-Frame-Options","DENY"),F0.header("Content-Security-Policy","frame-ancestors 'none'")}),B0().nodeEnv==="development")E.use("*",uE8());E.use("*",async(F0,G0)=>{if(await G0(),ms(F0.req.path))return;if(F0.res.status>=500){let z0=await F0.res.clone().text();console.error(`[5xx Response] ${F0.req.method} ${F0.req.path} - ${F0.res.status}:`,z0)}}),E.get(tX.HEALTH,(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);return F0.json({status:"ok"})}),E.get(tX.HEALTH_LIVE,(F0)=>{return F0.json({status:"ok"})}),E.get(tX.HEALTH_READY,async(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);let G0={};if(G0.postgres={status:await $U5(Z.pool)?"up":"down"},U)G0.nats=U.isConnected()?{status:"up"}:{status:"down"};else G0.nats={status:"down"};let P0=G0.postgres.status==="up",z0=P0?200:503;return F0.json({status:P0?"ready":"not_ready",services:G0},z0)}),E.get(tX.METRICS,async(F0)=>{try{let G0=await Hh0.collect(),P0=ZU5.serialize(G0.resourceMetrics);return F0.text(P0,200,{"Content-Type":"text/plain; version=0.0.4; charset=utf-8"})}catch(G0){return console.error("Failed to collect metrics:",G0),F0.text("# Error collecting metrics",500)}});let P=1800000;E.get(`${tX.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(F0)=>{let G0=F0.req.param("queueName");if(!XU5.has(G0))return F0.json({error:`Unknown queue: ${G0}`},404);let[P0,z0]=await Promise.all([QD.listQueuedWorkflows({queueName:G0,status:"ENQUEUED",loadInput:!1,loadOutput:!1}),QD.listQueuedWorkflows({queueName:G0,status:"PENDING",loadInput:!1,loadOutput:!1,dequeuedAfter:new Date(Date.now()-P).toISOString()})]);return F0.json({queue_length:P0.length,in_flight:z0.length})}),E.route("/api/config",jw8),E.route("/api/_reports",Vw8),E.route("/api/_stripe",MT1),E.route("/api/_github",Cw8({taskBoard:()=>l,contextFactory:()=>b})),E.route("/api/_git",po);let T={db:Z.db,encryptionKey:B0().encryptionKey};E.route("/api/_jira",lw8(T)),E.route("/api/_jira",bw8(T)),E.route("/report",qw8($.clientDir)),E.route("/api/auth/custom",$F8),E.all("/api/auth/admin/*",gF8),E.all("/api/auth/*",async(F0)=>{return await B4.handler(F0.req.raw)});let z=_W8();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",g70),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",g70),E.route("/",z),E.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",z70),E.route("/",yW8()),E.use("/oauth-proxy/:connectionId/*",g70),E.all("/oauth-proxy/:connectionId/*",GP8);let A=async(F0)=>{let P0=await JU5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",g70),E.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",A);let R=async(F0)=>{let P0=await GU5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",R);let f=SH8({ttlMs:120000}),S=await SK8({db:Z.db,auth:B4,encryption:{key:B0().encryptionKey},observability:{tracer:Aj,meter:G$},modelListCache:W,providerKeyCache:K,memberRoleCache:f});vY.set(S),e1$({db:Z.db,baseUrl:B5()}),_K8({db:Z.db}),fK8({db:Z.db}),WH8({db:Z.db}),LH8({db:Z.db}),gw8({db:Z.db,encryptionKey:B0().encryptionKey}),L88({db:Z.db}),zH8({db:Z.db}),p88({db:Z.db});let V=rw(Z.db),v=new q00(Z.db),b=gE8({db:Z.db});nL1({storage:V,studioContextFactory:b,orgContextFactory:(F0)=>hJ(Z.db,F0),systemDatabaseUrl:b10(B0().databaseUrl,B0().databasePgSsl)}),CL1({systemDatabaseUrl:b10(B0().databaseUrl,B0().databasePgSsl),studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:I6}}),qL1({dispatchRunFn:w98,studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:I6}});let h=new pm(Z.db),l=new LW(Z.db),d=new I3(Z.db),W0=new nT1(l,b,d);if(B0().taskBoardReviewSweeperEnabled){W0.start();let F0=M2;M2=async()=>{await F0?.(),W0.dispose()}}kE8({automations:V,taskBoard:l,fire:QH,systemDatabaseUrl:b10(B0().databaseUrl,B0().databasePgSsl),settleMs:B0().boardTransitionSettleSeconds*1000}),q88(SE8),h98({getJetStream:()=>U?.getJetStream()??null,getJetStreamManager:async()=>{let F0=U?.getConnection();return F0?await WP8.jetstreamManager(F0):null},messageParts:h.messageParts(),resolveRun:async(F0)=>{let G0=await Z.db.selectFrom("threads").select(["organization_id","created_by","message_storage_version","status","run_fence_token","title"]).where("id","=",F0).executeTakeFirst();return G0?{orgId:G0.organization_id,createdBy:G0.created_by,version:G0.message_storage_version??1,status:G0.status,runFenceToken:G0.run_fence_token,title:G0.title??null}:null},completeRunIfNotCompleted:async(F0,G0)=>{let P0=await h.completeRunIfNotCompleted(F0,G0);if(bg0(I6,G0,F0,P0),P0)await St(l,F0,G0,d);return P0},markRunRequiresAction:async(F0,G0)=>{let P0=await h.requiresActionIfInProgress(F0,G0);return bg0(I6,G0,F0,P0),P0},markRunFailed:async(F0,G0,P0,z0)=>{let j1=await h.markRunFailed(F0,G0,P0,z0);if(bg0(I6,G0,F0,j1),j1)await St(l,F0,G0,d);return j1},clearSynthesizedError:async(F0,G0)=>{await h.messageParts().replaceMessageParts(F0,pz(F0,G0),[])},persistTitle:(F0,G0,P0)=>h.update(F0,G0,{title:P0}),onTitleUpdated:async({runId:F0,orgId:G0,title:P0})=>{let z0=await h.get(F0,G0).catch(()=>null);I6.emit(G0,lU(F0,z0?.status??"in_progress",{title:P0,virtualMcpId:z0?.virtual_mcp_id??void 0,createdBy:z0?.created_by,triggerId:z0?.trigger_id,branch:z0?.branch??null,harnessId:z0?.harness_id??void 0,createdAt:z0?.created_at,updatedAt:z0?.updated_at}))},bumpProgress:async({runId:F0,orgId:G0})=>{await h.bumpProgress(F0,G0)},recordCompleted:async({runId:F0,orgId:G0,distinctId:P0,usage:z0})=>{m1.capture({distinctId:P0,event:"chat_message_completed",groups:{organization:G0},properties:{organization_id:G0,thread_id:F0,transport:"projector",input_tokens:z0.inputTokens,output_tokens:z0.outputTokens,total_tokens:z0.totalTokens}})},recordFailed:async({runId:F0,orgId:G0,distinctId:P0,reason:z0,kind:j1})=>{m1.capture({distinctId:P0,event:"chat_message_failed",groups:{organization:G0},properties:{organization_id:G0,thread_id:F0,transport:"projector",error_category:j1,error_message:z0}})},purgeRun:async(F0)=>{F.purge(F0)}}),l58({studioContextFactory:b,systemDatabaseUrl:b10(B0().databaseUrl,B0().databasePgSsl),streamBuffer:F}),fE8(),$$$(),bK8(),gK8(),HH8(),jH8(),uw8(),_E8(),P88(),TH8(),n88(),_w8();let I0=async(F0,G0,P0)=>{let z0=await V.findById(F0,G0);if(!z0)throw Error("Automation not found");return aL1({automationId:z0.id,organizationId:z0.organization_id,triggerId:null})},J0=new ho(V,({automation:F0,trigger:G0,contextMessages:P0,idempotencyKey:z0})=>QH({automationId:F0.id,organizationId:F0.organization_id,triggerId:G0.id,contextMessages:P0},{idempotencyKey:z0})),U0=[RH(),Yl(),HD()];for(let F0 of U0)yg0(F0).then(()=>{}).catch((G0)=>console.error("[monitoring] Retention cleanup failed:",G0));let o=()=>B4.api.deleteAllExpiredApiKeys().catch((F0)=>console.error("[auth] Expired API key cleanup failed:",F0));o(),setInterval(o,86400000).unref(),E.use("*",async(F0,G0)=>{if(Yh0(F0.req.path))return G0();let P0={measure:async(j1,b$)=>{FH(F0,j1);try{return await b$()}finally{TW(F0,j1)}}},z0=await vY.create(F0.req.raw,{timings:P0});z0.automationRunner=I0,F0.set("studioContext",z0);try{await G0()}finally{let j1=z0.pendingRevalidations;if(j1.length>0)Promise.race([Promise.allSettled(j1),J$(30000)]).catch((r$)=>console.error("[studio] revalidation cleanup error:",r$))}}),E.use("/api/:org/decopilot/*",xo),E.use("/api/:org/v1/*",xo),E.use("/api/:org/files/*",xo),E.use("*",async(F0,G0)=>{if(KP8(F0.req.path))return G0();let P0=F0.get("studioContext");if(!P0?.organization?.id||!P0?.auth?.user?.id)return G0();if(!(await P0.storage.orgSsoConfig.getByOrgId(P0.organization.id))?.enforced)return G0();if(!await P0.storage.orgSsoSessions.isValid(P0.auth.user.id,P0.organization.id))return F0.json({error:"SSO authentication required for this organization"},403);return G0()});let t=new Z1;t.use("*",LU({mountPath:"/api/org-sso"})),t.route("/",af0()),E.route("/api/org-sso",t),E.get("/api/tools/management",(F0)=>{return F0.json({tools:k00,grouped:ET()})}),E.use("/mcp/*",async(F0,G0)=>{FH(F0,"mcp");try{return await G0()}finally{TW(F0,"mcp")}});let r=async(F0,G0)=>{let P0=F0.var.studioContext;if(!P0.auth.user?.id&&!P0.auth.apiKey?.id){let z0=new URL(F0.req.url),j1=F0.req.header("x-forwarded-proto")?.split(",")[0]?.trim(),b$=j1?`${j1}://${z0.host}`:z0.origin;return F0.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${b$}${z0.pathname}/.well-known/oauth-protected-resource"`}})}return await G0()};if(E.use("/mcp/:connectionId?",r),E.use("/mcp/gateway/:virtualMcpId?",r),E.use("/mcp/virtual-mcp/:virtualMcpId?",r),E.use("/mcp/self",r),vK()){let{mountDevRoutes:F0}=(YP8(),ig0(QP8));F0(E,r)}let $0=new Z1;$0.use("*",LU({mountPath:"/mcp"})),$0.route("/",$x0()),E.route("/mcp",$0);let X0=new Z1;X0.use("*",LU({mountPath:"/mcp/self"})),X0.route("/",iy0()),E.route("/mcp/self",X0);let h0=new Z1;h0.use("*",LU({mountPath:"/mcp"})),h0.route("/",Yx0()),E.route("/mcp",h0),E.use("/api/:org/models/*",async(F0,G0)=>{FH(F0,"llm_models");try{return await G0()}finally{TW(F0,"llm_models")}});let C0=YU8({cancelBroadcast:H,streamBuffer:F,runRegistry:D});E.route("/api",C0),E.route("/api",iw8);let H1=new Z1;H1.use("*",LU({mountPath:"/api"})),H1.route("/",oy0()),E.route("/api",H1),E.route("/api",Nw8);let m0=new Z1;m0.use("*",LU({mountPath:"/api"})),m0.route("/",sy0({tokenStorage:v,automationEventDispatcher:J0})),E.route("/api",m0);let j0=new R00(Z.db),E0=new Z1;E0.use("*",LU({mountPath:"/api"})),E0.route("/",Xy0()),E.route("/api",E0),E.route("/api/deco-sites",wU8());let n0=new Z1;n0.use("*",LU({mountPath:"/api/deco-sites"})),n0.route("/",Gy0()),E.route("/api/deco-sites",n0),E.route(of0,hF8()),E.route(YL8,GL8()),E.route("/api/_editor-resolve",Dw8()),E.route(YF8,XF8()),E.route(cf0,EF8());let O1=B0(),o0=O1.elevenlabsApiKey?new qg0({apiKey:O1.elevenlabsApiKey,model:O1.elevenlabsVoiceModel,conversationModel:O1.elevenlabsConversationModel,voiceId:O1.elevenlabsVoiceId}):null,b0={openai:O1.openaiLiveApiKey?new wT1({apiKey:O1.openaiLiveApiKey,voice:O1.openaiLiveVoice}):null,elevenlabs:o0?new jT1(o0,()=>U?.getConnection()??null):null},d0=new TT1({adapter:o0,conversationAdapters:b0,defaults:O1,secret:HP8(O1),getConnection:()=>U?.getConnection()??null}),i0=uj8({voiceSessions:d0,kvStorage:j0,runRegistry:D,streamBuffer:F,sseHub:I6,cancelBroadcast:H,tokenStorage:v,automationEventDispatcher:J0,mountDevAssets:vK(),mcpAuth:r,oauthProxyHandler:GP8,watchHandler:NP8,betterAuthProtectedResourceHandler:A,getNatsConnection:()=>U?.getConnection()??null});return E.route("/api/:org",i0),E.notFound((F0)=>{return F0.json({error:"Not Found",path:F0.req.path},404)}),E.onError(JU8),Object.assign(E,{markShuttingDown:()=>{Q=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([I6.stop(),M2?Promise.resolve(M2()).finally(()=>{M2=null}):Promise.resolve()]),U)await U.drain().catch((F0)=>console.error("[shutdown] NATS drain error:",F0));console.log("[shutdown] Flushing telemetry..."),await nJ().catch((F0)=>console.error("[shutdown] Telemetry flush error:",F0)),console.log("[shutdown] Closing database..."),await GH$(Z).catch((F0)=>console.error("[shutdown] Database close error:",F0)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await QD.registerQueue(W3,{partitionQueue:!0,concurrency:dL1,minPollingIntervalMs:iL1}),await QD.registerQueue(hW,{partitionQueue:!0,concurrency:IL1,priorityEnabled:!0}),await QD.registerQueue(WD,{workerConcurrency:B0().decopilotMaxConcurrentHostedRuns,priorityEnabled:!0}),await QD.registerQueue(KD,{workerConcurrency:B0().sandboxMaxConcurrentHostedRuns,priorityEnabled:!0}),await QD.registerQueue(zj,{partitionQueue:!0,concurrency:u58}),await QD.registerQueue(S2,i88),await QD.registerQueue(_2),await yz1(V),await Promise.allSettled(["automations-gate","automations-global","jira-push"].map((F0)=>QD.deleteQueue(F0))),await pL1(Z.pool),lN$().catch((F0)=>{console.error("[studio-pack-backfill] failed:",F0)}),fd(Z.db).catch((F0)=>{console.error("[automations] built-in seed failed:",F0)}),Z$$().catch((F0)=>{console.error("[org-fs] public-sets boot sync kick failed:",F0)})}})}var WP8,XP8=5000,M2=null,GP8=async($)=>{let Z=$.req.param("connectionId");if(!Z)return $.json({error:"Missing connectionId"},400);let Q=$.req.path.split("/").filter(Boolean),Y=Q[Q.length-1],X=$.get("studioContext");if(!X)X=await vY.create($.req.raw),$.set("studioContext",X);let J=$.req.param("org")?X.organization?.id:void 0,G=await X.storage.connections.findById(Z,J);if(!G?.connection_url)return $.json({error:"Connection not found"},404);if(Y==="register"&&G.oauth_config?.clientId){let v=await $.req.json().catch(()=>({}));return $.json({...typeof v==="object"&&v!==null?v:{},client_id:G.oauth_config.clientId,...G.oauth_config.clientSecret?{client_secret:G.oauth_config.clientSecret}:{},client_secret_expires_at:0})}let W=await Vo(G.connection_url),K,H=new URL(G.connection_url),U=(typeof G.metadata?.oauthResource==="string"&&G.metadata.oauthResource.length>0?G.metadata.oauthResource:void 0)??G.connection_url;if(W.ok)K=iE1(await W.json());if(!K)K=H.origin;let N=await A70(K);if(!N.ok)return $.json({error:"Failed to get auth server metadata"},502);let B=await N.json(),D;if(Y==="authorize")D=B.authorization_endpoint;else if(Y==="token")D=B.token_endpoint;else if(Y==="register")D=B.registration_endpoint;if(!D)return $.json({error:`Unknown OAuth endpoint: ${Y}`},404);let O=fW8(D);if(O)return O;let j=new URL(D),w=new URL($.req.url);if(j.search=w.search,Y==="authorize"){let v=j.searchParams.get("redirect_uri");if(v){let b=B0().baseUrl??w.origin;try{if(!UP8(new URL(v),b))return $.json({error:"invalid_request",error_description:"redirect_uri is not allowed"},400)}catch{return $.json({error:"invalid_request",error_description:"redirect_uri is malformed"},400)}j.searchParams.set("redirect_uri",v)}if(j.searchParams.has("resource"))j.searchParams.set("resource",U);if(RH8(G.connection_url))j.searchParams.set("auto_personal","true"),j.searchParams.set("force_new","true");return $.redirect(j.toString(),302)}let E={Accept:$.req.header("Accept")||"application/json"},P=$.req.header("Content-Type");if(P)E["Content-Type"]=P;let T=$.req.header("Authorization");if(T)E.Authorization=T;let z,A=null,R=null;if($.req.method!=="GET"&&$.req.method!=="HEAD")if(Y==="token"&&P?.includes("application/x-www-form-urlencoded")){if(T?.toLowerCase().startsWith("basic "))try{let d=atob(T.slice(6).trim()),W0=d.indexOf(":");if(W0!==-1){let I0=decodeURIComponent(d.slice(0,W0)),J0=decodeURIComponent(d.slice(W0+1));A=I0||null,R=J0||null}}catch{}let v=await $.req.formData();if(v.has("resource"))v.set("resource",U);let b=v.get("client_id"),h=v.get("client_secret");if(typeof b==="string"&&b)A=b;if(typeof h==="string"&&h)R=h;let l=new URLSearchParams;for(let[d,W0]of v.entries())l.append(d,W0.toString());z=l.toString()}else if(Y==="register"&&P?.toLowerCase().includes("application/json")){let v=await X.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",G.organization_id).executeTakeFirst(),b=await $.req.text(),h={};try{h=b?JSON.parse(b):{}}catch{z=b}let l=typeof h==="object"&&h!==null&&!Array.isArray(h);if(z===void 0&&!l)z=b;if(z===void 0){let d=h,W0=d.metadata&&typeof d.metadata==="object"?d.metadata:{};d.metadata={...W0,organization_id:G.organization_id,...v?.slug?{organization_slug:v.slug}:{},...v?.name?{organization_name:v.name}:{}},z=JSON.stringify(d),E["Content-Type"]="application/json"}}else z=$.req.raw.body??void 0;let f=await fetch(j.toString(),{method:$.req.method,headers:E,body:z,duplex:"half",redirect:"manual"}),S=new Headers,V=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[v,b]of f.headers.entries())if(!V.includes(v.toLowerCase()))S.set(v,b);if(Y==="token"&&f.ok){let v=await f.text();try{let b=JSON.parse(v);if(typeof b.access_token==="string"&&b.access_token){let h=typeof b.expires_in==="number"?new Date(Date.now()+b.expires_in*1000):null,l=null;try{l=await U2(G.connection_url)??D}catch{l=D}let d={connectionId:Z,accessToken:b.access_token,refreshToken:typeof b.refresh_token==="string"?b.refresh_token:null,scope:typeof b.scope==="string"?b.scope:null,expiresAt:h,clientId:A,clientSecret:R,tokenEndpoint:l};await new e5(X.db,X.vault).upsert(d)}}catch(b){console.error("[oauth-proxy] failed to persist downstream token:",b)}return new Response(v,{status:f.status,statusText:f.statusText,headers:S})}return new Response(f.body,{status:f.status,statusText:f.statusText,headers:S})},NP8=async($)=>{let Z=$.var.studioContext,Q=Z.auth.user?.id??Z.auth.apiKey?.userId;if(!Q)return $.json({error:"Unauthorized"},401);let Y=Z.organization?.id;if(!Y)return $.json({error:"organization id missing"},400);let X=$.req.query("types"),J=X?X.split(",").map((H)=>H.trim()).filter(Boolean):null,G=$.req.query("scope")==="all";if(G&&(!bB(Y)||!await xB(Z)))return $.json({error:"forbidden"},403);let W=G?$v0:Y;if(G)kO({action:"watch_all_orgs",actorUserId:Q,actorOrgId:Y,targetOrgId:"all"});let K=crypto.randomUUID();return Fj($,async(H)=>{if(await H.writeSSE({event:"connected",data:JSON.stringify({listenerId:K,organizationId:Y,typePatterns:J,connectedAt:new Date().toISOString()})}),!I6.add({id:K,organizationId:W,typePatterns:J?.length?J:null,push:(N,B)=>{H.writeSSE({id:N.id,event:N.type,data:JSON.stringify(G?{...N,organizationId:B}:N)}).catch(()=>{I6.remove(W,K)})}})){await H.writeSSE({event:"error",data:JSON.stringify({error:"Too many connections",message:"SSE connection limit reached. Try again later."})});return}let U=setInterval(()=>{H.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(U),I6.remove(W,K)})},30000);await new Promise((N)=>{H.onAbort(()=>{clearInterval(U),I6.remove(W,K),N()})})})},ZU5,XU5,JU5=()=>YU5(B4),GU5=()=>QU5(B4);var DP8=L(()=>{n$();u1();Q$$();xK8();hK8();FH8();wH8();Q70();NB1();qH8();t90();H9();ii();q8();W8();hf0();CH8();eO1();iK();tN();Jz1();k3();v6();Q6();Nz1();JF8();PF8();jz1();uF8();Mz1();bz1();xz1();bK();T70();fz1();GU8();lf0();lj8();pj8();nj8();rj8();Ww8();uz1();Zx0();sZ0();Bw8();Xx0();wA1();Lw8();OA1();ww8();Rw8();Iw8();kw8();Sw8();vw8();xw8();mw8();yT1();pz1();pw8();jA1();NA1();oQ0();KE8();qT1();TJ();CB0();K40();xB1();Q40();X40();Xj1();HE8();UE8();Sz1();wE8();nv0();EE8();Ge();I00();IO();m5();GP1();qE8();vE8();OG();mz();yE8();tF0();sT1();lW();gz1();MO();AL1();tF0();CZ0();T00();F01();hE8();aw();lE8();Hs();Jz1();qt();ct();Jb0();WP8=_(vH(),1);ZU5=new eF5,XU5=new Set([W3,hW,WD,KD,zj,S2])});var wP8={};O6(wP8,{resolveClientDir:()=>DU5,resolveAssetPathWithTraversalCheck:()=>jP8,isPathWithinDirectory:()=>OP8,createAssetHandler:()=>LU5});import{resolve as xQ0,dirname as KU5,join as HU5,extname as FU5,basename as UU5,sep as LP8}from"path";function NU5($,Z){if($===Z||UU5($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${LP8}assets${LP8}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function OP8($,Z){let Q=xQ0(Z),Y=xQ0($);return Y===Q||Y.startsWith(Q+"/")}function jP8({requestPath:$,clientDir:Z}){let Q=$.startsWith("/")?$.slice(1):$,Y=xQ0(Z,Q);if(!OP8(Y,Z))return null;return Y}function DU5($,Z="../client"){let Q=new URL($),Y=KU5(Q.pathname);return xQ0(Y,Z)}function LU5($={}){let{env:Z="production",clientDir:Q=BU5,isServerPath:Y=()=>!1}=$;if(Z==="development")return async function(J){return null};return async function(J){if(J.method!=="GET")return null;let G=new URL(J.url),W;try{W=decodeURIComponent(G.pathname)}catch{return null}if(Y(W))return null;let K=jP8({requestPath:W,clientDir:Q});if(!K)return null;let H=HU5(K,"index.html"),F=xQ0(Q,"index.html"),U=J.headers.get("accept"),B=U?.includes("text/html")||U?.includes("*/*")&&["",".html"].includes(FU5(K))?[H,F]:[];for(let D of[K,...B])try{let O=Bun.file(D);if(await O.exists())return new Response(O,{headers:NU5(D,F)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var BU5="./dist/client";var EP8=()=>{};var PP8={};O6(PP8,{tryUpgradePreviewWs:()=>AU5,tryHandlePreviewHttp:()=>zU5,previewWebSocketHandler:()=>TU5,parsePreviewBaseDomain:()=>PU5,isPreviewWsData:()=>gg0,extractHandleFromHost:()=>Zq1});function wU5($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function EU5(){return new Response(jU5,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function PU5($){if(!$||$.trim()==="")return null;let Z=$.includes("{handle}")?$.replace("{handle}","__handle__"):$,Q;try{Q=new URL(Z)}catch{return null}let Y=Q.hostname;if($.includes("{handle}")){let X=Y.indexOf(".");if(X<=0||X===Y.length-1)return null;return Y.slice(X+1)}return Y}function Zq1($,Z){if(!$||!Z)return null;let Q=$.indexOf(":"),Y=(Q>=0?$.slice(0,Q):$).toLowerCase(),J=`.${Z.toLowerCase().replace(/^\.+|\.+$/g,"")}`;if(!Y.endsWith(J))return null;let G=Y.slice(0,Y.length-J.length);if(!G||G.includes("."))return null;return G}async function zU5($,Z){let Q=Zq1($.headers.get("host"),Z.baseDomain);if(!Q)return null;let Y=await Z.getRunner();if(!Y)return yQ0(503,"preview proxy not configured");let X=await Y.proxyPreviewRequest(Q,$);if(X.headers.get(Cn)&&wU5($))return EU5();return X.headers.delete(Cn),X}function yQ0($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function gg0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function AU5($,Z,Q){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let Y=Zq1($.headers.get("host"),Q.baseDomain);if(!Y)return null;let X=await Q.getRunner();if(!X)return yQ0(503,"preview proxy not configured");let J=await X.resolvePreviewUpstreamUrl(Y);if(!J)return yQ0(404,"sandbox not found");let G=new URL($.url);if(G.pathname.startsWith("/_sandbox"))return yQ0(404,"not found");let W=`${J.replace(/^http/,"ws")}${G.pathname}${G.search}`,K=$.headers.get("sec-websocket-protocol"),H=K?K.split(",").map((N)=>N.trim()).filter(Boolean):[],F={kind:"preview",upstreamUrl:W,upstreamProtocols:H,pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:F}))return yQ0(426,"upgrade failed");return}function fQ0($,Z,Q,Y){if(Z.closed)return;Z.closed=!0;try{$.close(Q,Y)}catch{}try{Z.upstream?.close()}catch{}}var OU5=256,jU5='<!DOCTYPE html><html><head><meta charset="utf-8"><title>Connecting\u2026</title><style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#fafafa;color:#555}div{text-align:center;max-width:420px;padding:24px}h3{margin:0 0 8px}p{margin:0;font-size:14px;color:#999;line-height:1.5}</style></head><body><div><h3>Connecting to sandbox\u2026</h3><p>Waiting for the sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>',TU5;var zP8=L(()=>{b50();TU5={open($){let Z=$.data;if(!gg0(Z))return;let Q;try{Q=Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(Y){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${Y instanceof Error?Y.message:String(Y)}`),fQ0($,Z,1011,"upstream connect failed");return}Q.binaryType="arraybuffer",Z.upstream=Q,Q.addEventListener("open",()=>{while(Z.pending.length>0){let Y=Z.pending.shift();if(Y!==void 0)Q.send(Y)}}),Q.addEventListener("message",(Y)=>{if(Z.closed)return;$.send(Y.data)}),Q.addEventListener("close",(Y)=>{fQ0($,Z,Y.code||1000,Y.reason||"")}),Q.addEventListener("error",()=>{fQ0($,Z,1011,"upstream error")})},message($,Z){let Q=$.data;if(!gg0(Q))return;let Y=Q.upstream;if(Y&&Y.readyState===WebSocket.OPEN){Y.send(Z);return}if(Q.pending.length>=OU5){fQ0($,Q,1011,"preview ws backlog overflow");return}Q.pending.push(Z)},close($){let Z=$.data;if(!gg0(Z))return;fQ0($,Z,1000,"")}}});n$();var Dq1="14";function Lq1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Dq1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}n$();import hP8 from"pg";var Oq1=8314027461559302n,uP8=600000,lP8=500;async function jq1($,Z){let{databaseUrl:Q,lockTimeoutMs:Y=uP8}=$,X=$.log??((K)=>console.log(K)),J=new hP8.Client({connectionString:Q});await J.connect();let G=Date.now(),W=!1;try{while(!W){if(W=(await J.query("SELECT pg_try_advisory_lock($1) AS locked",[Oq1.toString()])).rows[0]?.locked===!0,W)break;if(Date.now()-G>=Y)throw Error(`Timed out after ${Y}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await J$(lP8)}let K=Date.now()-G;if(K>1000)X(`[dbos] waited ${K}ms for the migration lock; another process migrated first`);return await Z()}finally{if(W)try{await J.query("SELECT pg_advisory_unlock($1)",[Oq1.toString()])}catch{}await J.end().catch(()=>{})}}u1();og0();v6();function hz8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Nh0($,Z){for(let Q=0;Q<$.length;Q++){let Y=$[Q];if(Y===void 0)continue;if(Y===Z)return $[Q+1];if(Y.startsWith(`${Z}=`))return Y.slice(Z.length+1)}return}function eq1(){let $=hz8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Nh0($,"--cpu-prof-dir")??process.cwd(),name:Nh0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Nh0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}Lh0();var aQ0;function KR1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=x2();if(!Q)return;let Y={};try{let{heapStats:X}=await import("bun:jsc"),J=X(),G=Object.entries(J.objectTypeCounts).sort((W,K)=>K[1]-W[1]).slice(0,20);Y={objectCount:J.objectCount,heapSize:J.heapSize,top:Object.fromEntries(G)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:Q.rss,heapUsed:Q.heapUsed,heapTotal:Q.heapTotal,external:Q.external,arrayBuffers:Q.arrayBuffers,...Y}))};return Z().catch(()=>{}),aQ0=setInterval(()=>void Z().catch(()=>{}),$),aQ0.unref?.(),process.on("SIGUSR2",()=>{try{let Q=Bun.generateHeapSnapshot("v8"),Y=typeof Q==="string"?Q:JSON.stringify(Q),X=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(X,Y),console.log(JSON.stringify({msg:"heap-snapshot-written",path:X}))}catch(Q){console.error("[heap-watch] snapshot failed:",Q)}}),()=>{if(aQ0)clearInterval(aQ0)}}import*as mz8 from"bun:jsc";var{startSamplingProfiler:cz8,samplingProfilerStackTraces:dz8}=mz8;function HR1(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{cz8()}catch(J){return console.error("[stall-watchdog] failed to start sampling profiler:",J),()=>{}}let Q,Y=performance.now()+Z,X=()=>{let J=performance.now(),G=J-Y;Y=J+Z;let W=[];try{W=dz8()?.traces??[]}catch{}if(G>$&&W.length>0){let K=new Map;for(let F of W){let U=F.frames.find((D)=>D.sourceURL&&!/Unknown Executable/.test(D.category??""))??F.frames[0];if(!U)continue;let N=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${U.name??"?"} @ ${N}:${U.line??"?"}`;K.set(B,(K.get(B)??0)+1)}let H=[...K.entries()].sort((F,U)=>U[1]-F[1]).slice(0,8).map(([F,U])=>({frame:F,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(G),samplesInWindow:W.length,top:H}))}Q=setTimeout(X,Z),Q.unref?.()};return Q=setTimeout(X,Z),Q.unref?.(),()=>{if(Q)clearTimeout(Q)}}function FR1(){eq1();let $=[KR1(),WR1(),HR1()];return()=>{for(let Z of $)Z()}}import{existsSync as SU5}from"fs";var yW=B0();sq1();var{DBOS:gQ0,DBOSClient:qU5}=await import("@dbos-inc/dbos-sdk");function Wq1($,Z){if(!Z)return $;let Q=new URL($);if(!Q.searchParams.has("sslmode"))Q.searchParams.set("sslmode","verify-full");return Q.toString()}var RU5=[W3,hW,WD,KD,zj,S2,_2],MU5=yW.dispatchRole==="worker"?RU5:yW.dispatchRole==="api"?[]:void 0;gQ0.setConfig(Lq1({systemDatabaseUrl:Wq1(yW.databaseUrl,yW.databasePgSsl),poolSize:yW.dbosPoolSize,executorID:yW.podName,listenQueues:MU5}));var{createApp:VU5}=await Promise.resolve().then(() => (DP8(),BP8)),{isServerPath:IU5}=await Promise.resolve().then(() => (oQ0(),vq1)),{createAssetHandler:kU5,resolveClientDir:MP8}=await Promise.resolve().then(() => (EP8(),wP8)),CU5=yW.port,AP8=MP8(import.meta.url,"../client"),VP8=SU5(AP8)?AP8:MP8(import.meta.url,"../dist/client"),_U5=kU5({clientDir:VP8,isServerPath:IU5}),vU5={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function bU5($){let Z=new Headers($.headers);for(let[Q,Y]of Object.entries(vU5))Z.set(Q,Y);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:xU5,tryHandlePreviewHttp:fU5,tryUpgradePreviewWs:yU5,previewWebSocketHandler:Qq1,isPreviewWsData:Yq1}=await Promise.resolve().then(() => (zP8(),PP8)),{getOrInitSharedRunner:IP8}=await Promise.resolve().then(() => (CX(),_n$)),kP8=xU5(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),TP8={baseDomain:kP8??"",getRunner:IP8};if(process.env.STUDIO_SANDBOX_TENANT_POOLS?.trim())IP8().catch(($)=>{console.warn("[lifecycle] eager sandbox provider init for tenant pools failed:",$ instanceof Error?$.message:String($))});var hg0=await VU5({clientDir:VP8}),Xq1=process.env.DBOS_CONDUCTOR_KEY?.trim(),qP8=process.env.DBOS_CONDUCTOR_URL?.trim();await jq1({databaseUrl:Wq1(yW.databaseUrl,yW.databasePgSsl)},()=>gQ0.launch({...Xq1?{conductorKey:Xq1}:{},...Xq1&&qP8?{conductorURL:qP8}:{}}));console.log(`[dbos] application version: ${gQ0.applicationVersion}`);var Jq1=5,Gq1=0;await F8(async()=>{Gq1++;try{return await hg0.initDbos()}catch($){let Z=Gq1>=Jq1?"giving up":"retrying";throw console.warn(`[dbos] initDbos attempt ${Gq1}/${Jq1} failed, ${Z}`,$),$}},{maxAttempts:Jq1,minTimeout:1000,maxTimeout:1e4,jitter:0.5});var gU5=Bun.serve({idleTimeout:0,port:CU5,hostname:"0.0.0.0",fetch:async($,Z)=>{if(kP8){let Y=await yU5($,Z,TP8);if(Y===void 0)return;if(Y)return Y;let X=await fU5($,TP8);if(X)return X}let Q=await _U5($);if(Q)return bU5(Q);return hg0.fetch($,{server:Z})},websocket:{open($){if(Yq1($.data))Qq1.open($)},message($,Z){if(Yq1($.data))Qq1.message($,Z)},close($){if(Yq1($.data))Qq1.close($)}},development:!1}),hU5=FR1();if(yW.localMode)Promise.resolve().then(() => (eh(),uv0)).then(async({seedLocalMode:$,markSeedComplete:Z,healLocalJwks:Q})=>{try{let Y=await Q();if(Y>0)console.log(`[local-mode] cleared ${Y} undecryptable JWKS key(s); Better Auth will generate a fresh one`);let X=await $()}catch(Y){console.error("Failed to seed local mode:",Y)}finally{Z()}}).catch(async($)=>{console.error("Failed to load local-mode module:",$);try{let{markSeedComplete:Z}=await Promise.resolve().then(() => (eh(),uv0));Z()}catch{}});var RP8=!1;async function uU5($){let Z;try{Z=await qU5.create({systemDatabaseUrl:Wq1(yW.databaseUrl,yW.databasePgSsl),systemDatabaseSchemaName:"dbos"});let Q=await Z.listWorkflows({status:"PENDING",queueName:hW,executorId:$,loadInput:!1,loadOutput:!1});if(Q.length===0){console.log(`[shutdown] no in-flight thread-gate gates to hand off (executor ${$})`);return}let Y=Q.map((X)=>X.workflowID);await Z.resumeWorkflows(Y,{queueName:hW}),console.log(`[shutdown] re-enqueued ${Y.length} in-flight thread-gate gate(s) for re-adoption by a live executor (from ${$}):`,Y)}catch(Q){console.error("[shutdown] thread-gate handoff failed:",Q)}finally{await Z?.destroy().catch(()=>{})}}async function ug0($){if(RP8)return;RP8=!0,console.log(`
|
|
4489
4489
|
[shutdown] Received ${$}, shutting down gracefully...`);let Z=Number(process.env.SHUTDOWN_GRACE_SECONDS??60)*1000,Q=Math.max(Z-5000,1e4),Y=setTimeout(()=>{console.error(`[shutdown] Timed out after ${Q}ms, forcing exit.`),process.exit(1)},Q);Y.unref?.();let X=0;try{hU5(),hg0.markShuttingDown();let J=wq1(yW.dispatchRole,Q,process.env.SHUTDOWN_DRAIN_MS);await J$(J),await gU5.stop(!0);let G=gQ0.executorID;await gQ0.shutdown(),await uU5(G),await hg0.shutdown()}catch(J){console.error("[shutdown] Error during shutdown:",J),X=1}clearTimeout(Y),process.exit(X)}process.on("SIGTERM",()=>ug0("SIGTERM"));process.on("SIGINT",()=>ug0("SIGINT"));process.on("SIGHUP",()=>ug0("SIGHUP"));process.on("unhandledRejection",($)=>{console.error("[process] Unhandled rejection:",$)});process.on("uncaughtException",($)=>{console.error("[process] Uncaught exception:",$),ug0("uncaughtException")});
|