decocms 4.525.0 → 4.526.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{ActiveShapeUtils-CfDf2bdI.js → ActiveShapeUtils-DC_uFkfj.js} +1 -1
- package/dist/client/assets/{AlertCircle-X-2ynYTr.js → AlertCircle-BD_uk8jv.js} +1 -1
- package/dist/client/assets/{AreaChart-Co4tgm2e.js → AreaChart-T5mjvoB9.js} +1 -1
- package/dist/client/assets/{ArrowLeft-D5rLbzEv.js → ArrowLeft-BW4hi-fE.js} +1 -1
- package/dist/client/assets/{ArrowUp-D5ujBFbU.js → ArrowUp-D7In3NHD.js} +1 -1
- package/dist/client/assets/{BarChart-s2InKCwb.js → BarChart-D0_iZiOj.js} +1 -1
- package/dist/client/assets/{Building02-CmwS_4Zd.js → Building02-Dw5n9775.js} +1 -1
- package/dist/client/assets/{CartesianChart-CV_17khx.js → CartesianChart-NHrVliZJ.js} +1 -1
- package/dist/client/assets/{CategoricalChart-BXV8ybtn.js → CategoricalChart-Dup_V6G1.js} +1 -1
- package/dist/client/assets/{CheckCircle-K7QKF0ga.js → CheckCircle-BnPGwhwQ.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-8Zglhuwj.js → ChevronSelectorVertical-Bc1L64FX.js} +1 -1
- package/dist/client/assets/{ChevronUp-bhjMH6tk.js → ChevronUp-B_2ftJO2.js} +1 -1
- package/dist/client/assets/{Copy01-BQVKjs--.js → Copy01-sA0-K7LG.js} +1 -1
- package/dist/client/assets/{CreditCard01-DLuzN9Da.js → CreditCard01-lyKg_Ohv.js} +1 -1
- package/dist/client/assets/{DotsVertical-D0yivq6N.js → DotsVertical-BK4Fy8Nl.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-D7k2zl1o.js → ErrorBarContext-BZpAcgpU.js} +1 -1
- package/dist/client/assets/{Globe04-Do87jSl8.js → Globe04-BAEL3SMQ.js} +1 -1
- package/dist/client/assets/{Image01-Ca2zoOmL.js → Image01-DDkvI5Nm.js} +1 -1
- package/dist/client/assets/{Key01-B22TaZal.js → Key01-BX6BY9_T.js} +1 -1
- package/dist/client/assets/{Link01-CKgU9XrQ.js → Link01-xEj9KoHs.js} +1 -1
- package/dist/client/assets/{LinkBroken01-DbRdGmca.js → LinkBroken01-DQGhuKN9.js} +1 -1
- package/dist/client/assets/{Minus-DbFMOQp2.js → Minus-Czq0iKR1.js} +1 -1
- package/dist/client/assets/{Monitor01-CfX8nvtP.js → Monitor01-D31PU3Iy.js} +1 -1
- package/dist/client/assets/{Play-gY_w5wGM.js → Play-AHwZFZb2.js} +1 -1
- package/dist/client/assets/{Plus-cZACl5Bj.js → Plus-Dl2sBaoj.js} +1 -1
- package/dist/client/assets/{ReferenceLine-qGRCuWbQ.js → ReferenceLine-DbFJQbfX.js} +1 -1
- package/dist/client/assets/{SearchMd-B3lyjcge.js → SearchMd-CPTG-cGa.js} +1 -1
- package/dist/client/assets/{Sector-tGFgbjWQ.js → Sector-DoDCEu0-.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-CIHcZyoe.js → ShoppingBag01-Bnl1luer.js} +1 -1
- package/dist/client/assets/{Sun-BQHZ8KXH.js → Sun-DaQ4UYay.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-C4b3q3_P.js → SwitchHorizontal01-DDdcI_Kz.js} +1 -1
- package/dist/client/assets/{Tool01-DZBBNle2.js → Tool01-lXzjYHgk.js} +1 -1
- package/dist/client/assets/{Trash01-DAL2eWYn.js → Trash01-DuRmK_Vz.js} +1 -1
- package/dist/client/assets/{Upload01-3A7TgOQk.js → Upload01-C0iYEe1U.js} +1 -1
- package/dist/client/assets/{UserSquare-C3P5-DPf.js → UserSquare-CVuHc6NN.js} +1 -1
- package/dist/client/assets/{Users01-CbJgTvJT.js → Users01-BZCA5rox.js} +1 -1
- package/dist/client/assets/{XClose-B7VCNh_p.js → XClose-D_c5VtJ7.js} +1 -1
- package/dist/client/assets/{ZoomOut-I9ktV8DJ.js → ZoomOut-6mAbwFTL.js} +1 -1
- package/dist/client/assets/{access-gate-aP3HDD5b.js → access-gate-emovLjaE.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-Bk02feSt.js → add-connection-dialog-BlF-9HgF.js} +1 -1
- package/dist/client/assets/agent-analytics-eg0FLES8.js +1 -0
- package/dist/client/assets/agent-app-C2u1s2rV.js +1 -0
- package/dist/client/assets/{agent-assets-CNkZSOPp.js → agent-assets-BAd1z_dv.js} +1 -1
- package/dist/client/assets/{agent-automation-C0Yq9OiE.js → agent-automation-D0aT1OFy.js} +3 -3
- package/dist/client/assets/{agent-automations-CL8PVnUy.js → agent-automations-BlwkZbIc.js} +1 -1
- package/dist/client/assets/agent-calendar-C8huSLtG.js +1 -0
- package/dist/client/assets/{agent-connect-sources-Bcy9EWkz.js → agent-connect-sources-B67Xzkom.js} +1 -1
- package/dist/client/assets/agent-deck-CsY1IJMK.js +1 -0
- package/dist/client/assets/{agent-e2e-CqVIclm2.js → agent-e2e-R48p6SJ6.js} +1 -1
- package/dist/client/assets/agent-experiments-d1mGB0I-.js +1 -0
- package/dist/client/assets/{agent-file-BmTf9y-D.js → agent-file-C6-oAsv5.js} +1 -1
- package/dist/client/assets/{agent-hosting-CLZVBk4b.js → agent-hosting-J3iEXzR-.js} +1 -1
- package/dist/client/assets/{agent-icon-D9Dw0iKh.js → agent-icon-DMtM72Tt.js} +1 -1
- package/dist/client/assets/agent-library-Co6OcioD.js +1 -0
- package/dist/client/assets/agent-library-file-s3V9TMH_.js +1 -0
- package/dist/client/assets/agent-monitor-DR59rgyn.js +1 -0
- package/dist/client/assets/{agent-overview-DjXD2Qs4.js → agent-overview-BwLxQOC8.js} +1 -1
- package/dist/client/assets/{agent-releases-CufoFdaF.js → agent-releases-Bv_Fj-fG.js} +1 -1
- package/dist/client/assets/agent-settings-DN6t98hS.js +1 -0
- package/dist/client/assets/{agent-site-editor-D37kRaBn.js → agent-site-editor-DUzu_bGf.js} +1 -1
- package/dist/client/assets/agent-site-editor-code-BizWsdC8.js +2 -0
- package/dist/client/assets/agent-site-editor-content-bHNeasNi.js +1 -0
- package/dist/client/assets/agent-site-editor-preview-CTJyzsCD.js +1 -0
- package/dist/client/assets/agent-view-CwVHf1dh.js +1 -0
- package/dist/client/assets/{agent-view-guard-Ckrg4QdJ.js → agent-view-guard-C33ioBBA.js} +1 -1
- package/dist/client/assets/{agents-list-CC5MwUx0.js → agents-list-B_dpoV9N.js} +1 -1
- package/dist/client/assets/{ai-providers-Cjz6Am1T.js → ai-providers-Bge9epIB.js} +1 -1
- package/dist/client/assets/{alert-CzMP0em5.js → alert-BagxECyU.js} +1 -1
- package/dist/client/assets/{analytics-sections-DdSu0p8k.js → analytics-sections-D-M6iYAs.js} +1 -1
- package/dist/client/assets/{analytics-tab-akNEioSW.js → analytics-tab-B1VZR-c0.js} +2 -2
- package/dist/client/assets/api-keys-DRagwPnq.js +1 -0
- package/dist/client/assets/{api-keys-DNOcnvbb.js → api-keys-mLcadUeH.js} +1 -1
- package/dist/client/assets/{app-editor-BX-caEcq.js → app-editor-B39dLTjO.js} +1 -1
- package/dist/client/assets/{asset-utils-KcjmG-m6.js → asset-utils-Qf3MBvDM.js} +1 -1
- package/dist/client/assets/{auth-BZRl-fvJ.js → auth-CODe_IGw.js} +1 -1
- package/dist/client/assets/{auth-catchall-Cixh_xVS.js → auth-catchall-Bq6t3RQb.js} +1 -1
- package/dist/client/assets/{auth-entry-CDgI8GSv.js → auth-entry-CWQ1DjR2.js} +1 -1
- package/dist/client/assets/{auth-split-layout-BpY6CA0U.js → auth-split-layout-N_F8g5or.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-DSVaoY9Y.js → authenticate-and-persist-oauth-miETlukP.js} +1 -1
- package/dist/client/assets/{automation-list-row-BcZ7qNH8.js → automation-list-row-D5XF29Op.js} +1 -1
- package/dist/client/assets/{automation-runs-B9CF82zY.js → automation-runs-DJ07XO-E.js} +1 -1
- package/dist/client/assets/{automations-CkWWycIp.js → automations-B1NIl2V1.js} +1 -1
- package/dist/client/assets/{autosend-Lp9Ownww.js → autosend-3uc8bTVc.js} +1 -1
- package/dist/client/assets/{badge-CXzZRklK.js → badge-DlHCn1A-.js} +1 -1
- package/dist/client/assets/{block-document-CITCS8My.js → block-document-CU0om3ul.js} +1 -1
- package/dist/client/assets/{blocks-preview-workspace-context-C1VREoKK.js → blocks-preview-workspace-context-Bs9hknsf.js} +1 -1
- package/dist/client/assets/{blocks-tab-states-3dDtGXkD.js → blocks-tab-states-CgmkhE5b.js} +1 -1
- package/dist/client/assets/{blog-schema-D8JT-pfW.js → blog-schema-Cf2Q45ow.js} +1 -1
- package/dist/client/assets/{buckets-DSY_lUaA.js → buckets-C8wYCyB4.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-BuwT-s1U.js → build-improve-prompt-doc-CieiO0m9.js} +1 -1
- package/dist/client/assets/{calendar-H7tEy9sl.js → calendar-Bkrc3Tn3.js} +1 -1
- package/dist/client/assets/{capability-load-error-99aOEzWN.js → capability-load-error-ByfliPkI.js} +1 -1
- package/dist/client/assets/{category-editor-Oh8gppwu.js → category-editor-BnfSIHWl.js} +1 -1
- package/dist/client/assets/{cdn-tab-BnhMzxv9.js → cdn-tab-Bia8Lu-O.js} +1 -1
- package/dist/client/assets/{chart-Bt_svDxj.js → chart-CgNZZhP9.js} +1 -1
- package/dist/client/assets/{chat-context-B-EalrGD.js → chat-context-BvGd3d4B.js} +1 -1
- package/dist/client/assets/{chat-draft-D3axWnPl.js → chat-draft-CxBIV5gW.js} +1 -1
- package/dist/client/assets/{checkbox-B1NhUIDG.js → checkbox-DYPRxtdw.js} +1 -1
- package/dist/client/assets/{choose-editor-D1BKVjbI.js → choose-editor-lzUALJ0J.js} +1 -1
- package/dist/client/assets/{cli-auth-success-Zog61hSo.js → cli-auth-success-DCEv0dGc.js} +1 -1
- package/dist/client/assets/{client-icons-CCQzD3FK.js → client-icons-BGlfNbZa.js} +1 -1
- package/dist/client/assets/cms-settings-editor-Dq-4a_kO.js +1 -0
- package/dist/client/assets/{collapsible-IxpT7xWi.js → collapsible-CQW9roHO.js} +1 -1
- package/dist/client/assets/{collection-detail-6FWEOpRT.js → collection-detail-BuEzbz9Y.js} +1 -1
- package/dist/client/assets/{collection-display-button-CKQHTJrg.js → collection-display-button-DWql8bbv.js} +1 -1
- package/dist/client/assets/{collection-search-4jrHPH5z.js → collection-search-C4Wx-QCL.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Cp_spvZp.js → collection-table-wrapper-C78BbtoQ.js} +1 -1
- package/dist/client/assets/{collection-tabs-BGV0tagg.js → collection-tabs--jJp2ESY.js} +1 -1
- package/dist/client/assets/{column-rules-D1g0VR5d.js → column-rules-CVWJNCag.js} +1 -1
- package/dist/client/assets/{combobox-D60tpxva.js → combobox-CQVbSSH0.js} +1 -1
- package/dist/client/assets/{command-DHvjfMO5.js → command-BCnC3TbE.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-TI-TBX0N.js → companion-mcps-section-BvoDqJGx.js} +1 -1
- package/dist/client/assets/{config-Tv6nMoGu.js → config-DA0hECT3.js} +1 -1
- package/dist/client/assets/{connect-layout-tlVOroiR.js → connect-layout-DRegpYUF.js} +1 -1
- package/dist/client/assets/{connect-source-dialog-B3OyvOFa.js → connect-source-dialog-CgwCkNcq.js} +1 -1
- package/dist/client/assets/{connect-UTvCbjSn.js → connect-symmmDTG.js} +1 -1
- package/dist/client/assets/{connection-DdGNUc6-.js → connection-D9ij5W2w.js} +1 -1
- package/dist/client/assets/{connection-card-B5O4Wsbz.js → connection-card-Ds4cDjLL.js} +1 -1
- package/dist/client/assets/{connection-detail-CmtLTaHA.js → connection-detail-DrlA1Ahp.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-DsmTilVU.js → connection-form-helpers-BPCfMFZi.js} +1 -1
- package/dist/client/assets/{connections-DqzZAO_3.js → connections-B9flO4yA.js} +1 -1
- package/dist/client/assets/content-tab-BVTaK5gN.js +22 -0
- package/dist/client/assets/{context-CfqV1IZs.js → context-CTNoGJP0.js} +1 -1
- package/dist/client/assets/{context-menu-BKWMPe3O.js → context-menu-DVvUVMuo.js} +1 -1
- package/dist/client/assets/{context-shell-DSYPtBTI.js → context-shell-B6eX4miz.js} +3 -3
- package/dist/client/assets/{core.esm-9HSn5uPZ.js → core.esm-7J0R8lPd.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-D10b15S1.js → create-organization-dialog-Clkjs9zG.js} +1 -1
- package/dist/client/assets/{daily-pulse-DgtJGCVE.js → daily-pulse-DTX6fglY.js} +1 -1
- package/dist/client/assets/{discover-qjJnqmId.js → discover-BMP5MmHd.js} +1 -1
- package/dist/client/assets/{domain-settings-TTJZbGRJ.js → domain-settings-CA0QhXOB.js} +1 -1
- package/dist/client/assets/{drawer-C_HOpx0y.js → drawer-D2Rnb_2A.js} +1 -1
- package/dist/client/assets/{editor-BdrieXEx.js → editor-CFcE0Q6O.js} +1 -1
- package/dist/client/assets/{editor-classes-ByAE0Rcb.js → editor-classes-C8l2uWj9.js} +1 -1
- package/dist/client/assets/{empty-state-C7Ay2sll.js → empty-state-B7gwb6En.js} +1 -1
- package/dist/client/assets/{empty-state-Cmr3S21S.js → empty-state-BWR7Jy-d.js} +1 -1
- package/dist/client/assets/experiments-tab-BEtrD30X.js +1 -0
- package/dist/client/assets/{experiments-tab-choice-zawYDgsX.js → experiments-tab-choice-BPWZ6-EI.js} +1 -1
- package/dist/client/assets/{extract-connection-data-zKnn6Dof.js → extract-connection-data-TNmbX43n.js} +1 -1
- package/dist/client/assets/{feature-gate-C6VahgnU.js → feature-gate-DvDHZ9Mm.js} +1 -1
- package/dist/client/assets/{feature-paywall-BEbplQ--.js → feature-paywall-CF5xE385.js} +1 -1
- package/dist/client/assets/{file-explorer-DLwjIufd.js → file-explorer-CS8ncEOg.js} +2 -2
- package/dist/client/assets/{file-preview-COfbxVXI.js → file-preview-Duo4jala.js} +1 -1
- package/dist/client/assets/{file-share-button-BtEY0eqQ.js → file-share-button-T0wDAb3T.js} +1 -1
- package/dist/client/assets/{file-type-icon-DBRx3EE8.js → file-type-icon-C3nhEJVa.js} +1 -1
- package/dist/client/assets/{folder-icon-ATvneswn.js → folder-icon-nOlxOX5D.js} +1 -1
- package/dist/client/assets/{form-sdJe6ZVI.js → form-DiOJGRXq.js} +1 -1
- package/dist/client/assets/{general-C475sARZ.js → general-CfuztBKa.js} +1 -1
- package/dist/client/assets/{held-block-view-CMM-oPyn.js → held-block-view-BX5kI9L6.js} +3 -3
- package/dist/client/assets/{home-y4mIYyne.js → home-CIp4mcn9.js} +1 -1
- package/dist/client/assets/{icon-button-CdFqvwVW.js → icon-button-DBRjX149.js} +1 -1
- package/dist/client/assets/{index-ZYyznNcg.js → index-8m5i8k8L.js} +1 -1
- package/dist/client/assets/{index-5Rxgh8df.js → index-BKbYYz_9.js} +1 -1
- package/dist/client/assets/{index-C-AP-JX2.js → index-BwcojXtb.js} +1 -1
- package/dist/client/assets/{index-DZBOWYUC.js → index-C4TQ1HxV.js} +1 -1
- package/dist/client/assets/{index-CZa3eyGb.js → index-C5hxtG-B.js} +9 -9
- package/dist/client/assets/{index-DGh8fN-O.js → index-CEQNEhri.js} +1 -1
- package/dist/client/assets/{index-CrwXZTne.js → index-CKIGEOaR.js} +1 -1
- package/dist/client/assets/{index-D5GK2hYV.js → index-CSFBWEpH.js} +1 -1
- package/dist/client/assets/{index-Dr2piS20.js → index-CjgyzS_N.js} +1 -1
- package/dist/client/assets/{index-Cf0lbIa5.js → index-CtP2SeqS.js} +1 -1
- package/dist/client/assets/index-DfpwvZQG.css +1 -0
- package/dist/client/assets/{index-D47oPuzS.js → index-S0DELbp3.js} +1 -1
- package/dist/client/assets/{index-CYjxbJyH.js → index-WbBBGlvR.js} +1 -1
- package/dist/client/assets/{index-DKEkcTAe.js → index-h0OzTGt5.js} +1 -1
- package/dist/client/assets/{index-redirect-CmV_7D3q.js → index-redirect-CVRDzXhR.js} +1 -1
- package/dist/client/assets/{index-DXZflUD0.js → index-rpRRVwY4.js} +1 -1
- package/dist/client/assets/{index-CJkX47-N.js → index-xUcGx-v6.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-Bj1XK-s-.js → infiniteQueryObserver-cbOSzSkb.js} +1 -1
- package/dist/client/assets/{infra-billing-AjJxcLpN.js → infra-billing-XSCNwrQM.js} +1 -1
- package/dist/client/assets/{input-UflMOkm2.js → input-D2PyfPad.js} +1 -1
- package/dist/client/assets/{input-B305reVY.js → input-Dt5Q4j50.js} +4 -4
- package/dist/client/assets/{integration-icon-Dg-0enaK.js → integration-icon-tGNPaW9N.js} +1 -1
- package/dist/client/assets/{jira-icon-LHSQ0THI.js → jira-icon-CFz7Llru.js} +1 -1
- package/dist/client/assets/{label-D_y7huPi.js → label-BOjT8VGh.js} +1 -1
- package/dist/client/assets/{layout-BP2vQ1s7.js → layout-DhRsFafF.js} +1 -1
- package/dist/client/assets/{legacy-agents-deep-DCLl15SR.js → legacy-agents-deep-B49sqXaq.js} +1 -1
- package/dist/client/assets/{legacy-main-redirect-B4J3fSRE.js → legacy-main-redirect-COxrUPZf.js} +1 -1
- package/dist/client/assets/library-SvGtiu-I.js +1 -0
- package/dist/client/assets/{login-C_21RFJH.js → login-CoLmyN-v.js} +1 -1
- package/dist/client/assets/{markdown-DRSNNxww.js → markdown-B-00ZOm1.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-kU5GlIYH.js → mcp-app-renderer-CCB0FZaP.js} +1 -1
- package/dist/client/assets/{mcp-oauth-C4-kW2Qs.js → mcp-oauth-DVsOtQR9.js} +1 -1
- package/dist/client/assets/{mcp-oauth-hGnP00_b.js → mcp-oauth-KanvJCH4.js} +1 -1
- package/dist/client/assets/{members-C6nd5H4U.js → members-DHTdA9CE.js} +1 -1
- package/dist/client/assets/{memory-CuqUqYaX.js → memory-BYBvW9AV.js} +1 -1
- package/dist/client/assets/{mini-report-page-4eFJ6i6E.js → mini-report-page-NW8WIoT5.js} +1 -1
- package/dist/client/assets/{mock-board-DckuZkOJ.js → mock-board-CIopg7St.js} +3 -3
- package/dist/client/assets/{monaco-editor-hax50RkV.js → monaco-editor-zjNnLgmQ.js} +1 -1
- package/dist/client/assets/monitoring-cAdHMyPk.js +1 -0
- package/dist/client/assets/{monitoring-stats-row-DA53VNYY.js → monitoring-stats-row-1Q8Z2Hv-.js} +1 -1
- package/dist/client/assets/{multi-select-BXPlQfny.js → multi-select-CdYbSc0c.js} +1 -1
- package/dist/client/assets/{mustache-Bz1-fywO.js → mustache-Kyny1r3W.js} +1 -1
- package/dist/client/assets/{named-rule-uses-5dqNKr-I.js → named-rule-uses-Bf97NaES.js} +1 -1
- package/dist/client/assets/{new-project-dialog-Dw5AGC0_.js → new-project-dialog-CLihIY3l.js} +1 -1
- package/dist/client/assets/{oauth-callback-CrMwtWWq.js → oauth-callback-Bxa5qlpI.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-DVv7bJ0G.js → oauth-callback-ai-provider-DO2-ZScF.js} +1 -1
- package/dist/client/assets/{onboarding-dFcnQ43S.js → onboarding-2ZGmpM3l.js} +1 -1
- package/dist/client/assets/{openai-conversation-BPBksfQq.js → openai-conversation-Dq-_t63g.js} +1 -1
- package/dist/client/assets/{optimistic-project-sidebar-views-p5DZ1J0t.js → optimistic-project-sidebar-views-BWPyOzxV.js} +1 -1
- package/dist/client/assets/{order-monitor-day-DKC4UhpG.js → order-monitor-day-B6I3Kbql.js} +1 -1
- package/dist/client/assets/{organization-choice-DgNX0px1.js → organization-choice-Dfm2FKp6.js} +1 -1
- package/dist/client/assets/{orgs--Jgqg6Dn.js → orgs-DTG6JzmV.js} +1 -1
- package/dist/client/assets/{page-seo-form-Ce_NK10C.js → page-seo-form-DiHazFky.js} +1 -1
- package/dist/client/assets/{pair-DdbYjyQ3.js → pair-BkPRQRG3.js} +1 -1
- package/dist/client/assets/{parse-sections-oc95T4h7.js → parse-sections-BDlriD2E.js} +1 -1
- package/dist/client/assets/{plan-ZvtmjKe3.js → plan-DcVKW3BC.js} +1 -1
- package/dist/client/assets/{plan-ladder-EdUaionH.js → plan-ladder-Bk5SqgcV.js} +1 -1
- package/dist/client/assets/{popover-BLArxJjU.js → popover-C4qbExP3.js} +1 -1
- package/dist/client/assets/{post-calendar-CbC3_MoD.js → post-calendar-DJZU4OZ1.js} +1 -1
- package/dist/client/assets/{post-editor-YM3sgG2e.js → post-editor-DQF_MOM6.js} +1 -1
- package/dist/client/assets/{preview-content-GXFA_X5E.js → preview-content-rF8fTTNl.js} +1 -1
- package/dist/client/assets/{preview-dialog-D26WaaIk.js → preview-dialog-BfrEK7on.js} +1 -1
- package/dist/client/assets/{preview-panel-B_p-C9Al.js → preview-panel-BrzMCTys.js} +1 -1
- package/dist/client/assets/{preview-tab-Duwq60WH.js → preview-tab-C3RlH6Tl.js} +3 -3
- package/dist/client/assets/{product-picker-dialog-f1dTB5f1.js → product-picker-dialog-B5P5BBv6.js} +1 -1
- package/dist/client/assets/{profile-DLFUEAmv.js → profile-DdZmTj-x.js} +1 -1
- package/dist/client/assets/{project-app-view-CnegYwol.js → project-app-view-C3Wvj6A2.js} +1 -1
- package/dist/client/assets/project-apps-DHXOO_qz.js +1 -0
- package/dist/client/assets/{project-feed-f7HLjRe8.js → project-feed-BSHbWBLq.js} +1 -1
- package/dist/client/assets/{project-icon-PZVlAu2D.js → project-icon-CWNjOgyc.js} +1 -1
- package/dist/client/assets/project-reports-CgrGrcrP.js +1 -0
- package/dist/client/assets/project-tasks-boHD8FJZ.js +1 -0
- package/dist/client/assets/{projects-BoKvz5fr.js → projects-BI8XIBgz.js} +1 -1
- package/dist/client/assets/{projects-empty-state-Cq326GR_.js → projects-empty-state-DFF28xbv.js} +1 -1
- package/dist/client/assets/{prompts-DvtSj5pm.js → prompts-CQX3vudX.js} +1 -1
- package/dist/client/assets/record-editor-D49e-me9.js +1 -0
- package/dist/client/assets/{redirect-editor-BaZEnl8a.js → redirect-editor-D8btign0.js} +1 -1
- package/dist/client/assets/{releases-api-BohVJQUi.js → releases-api-BP4D_7BV.js} +1 -1
- package/dist/client/assets/reports-DDAjO-Mz.js +1 -0
- package/dist/client/assets/{reports-onboarding-Cz-2WWBR.js → reports-onboarding-BdX-I6in.js} +1 -1
- package/dist/client/assets/{reports-tab-COgTSVf5.js → reports-tab-Ct6jl3M_.js} +2 -2
- package/dist/client/assets/{reports--iZn8db0.js → reports-yM866Rl-.js} +1 -1
- package/dist/client/assets/repositories-D4SUyeOs.js +1 -0
- package/dist/client/assets/{repositories-BPLjQabQ.js → repositories-DBqhhKXX.js} +1 -1
- package/dist/client/assets/{repository-binding-Kf_PGfSt.js → repository-binding-WDk-SmGV.js} +1 -1
- package/dist/client/assets/{repository-import-picker-DoXIwk7w.js → repository-import-picker-xZyEfZFE.js} +1 -1
- package/dist/client/assets/{repository-picker-Ck8gOK4_.js → repository-picker-JSRbKdl_.js} +1 -1
- package/dist/client/assets/{require-capability-9Oz2BfBS.js → require-capability-B54JdYhJ.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Cex5NCBT.js → required-auth-layout-CgpSpm9w.js} +1 -1
- package/dist/client/assets/{reset-password-DetEygjt.js → reset-password-BRnZ_BQL.js} +1 -1
- package/dist/client/assets/{resizable-WLl3kXXs.js → resizable-RRgAphZx.js} +1 -1
- package/dist/client/assets/{resolve-tab-icon-ByqcINMf.js → resolve-tab-icon-C-lgKCi8.js} +1 -1
- package/dist/client/assets/{review-settings-bGGfBlNt.js → review-settings-1RLKDmF4.js} +1 -1
- package/dist/client/assets/{roles-C_SQvcrV.js → roles-Cu5BcmE_.js} +1 -1
- package/dist/client/assets/{route-BRjhV7ZN.js → route-CEjLqtoe.js} +1 -1
- package/dist/client/assets/route-CUdHqqnN.js +1 -0
- package/dist/client/assets/route-DPvDU9AN.js +1 -0
- package/dist/client/assets/{sandbox-lifecycle-context-RGinjzUS.js → sandbox-lifecycle-context-BCrUk0wr.js} +1 -1
- package/dist/client/assets/{schema-0jGA111R.js → schema-BXNU8wK3.js} +1 -1
- package/dist/client/assets/{schema-DzkQww7V.js → schema-Br-RkdlQ.js} +1 -1
- package/dist/client/assets/{scroll-area-tGpLyLX1.js → scroll-area-EUJaQXLw.js} +1 -1
- package/dist/client/assets/{search-input-l1Nxf0a9.js → search-input-VUL2ibQB.js} +1 -1
- package/dist/client/assets/{search-toggle-CxATSEKS.js → search-toggle-zvtLuz6H.js} +1 -1
- package/dist/client/assets/{secret-picker-DZfeNjeU.js → secret-picker-BUFFs_xD.js} +1 -1
- package/dist/client/assets/{secrets-DiQbqnkh.js → secrets-CoXvVOZp.js} +1 -1
- package/dist/client/assets/{section-array-field-CLj6DiG4.js → section-array-field-WuEC2hxv.js} +1 -1
- package/dist/client/assets/{sections-D4nfYRrB.js → sections-DiD18Znn.js} +1 -1
- package/dist/client/assets/sections-editor-Dn-HxEPO.js +1 -0
- package/dist/client/assets/{select-Dh0RDXSe.js → select-B8yvCqU-.js} +1 -1
- package/dist/client/assets/{select-model-Cmt1TH6i.js → select-model-Cjv3FBhJ.js} +1 -1
- package/dist/client/assets/{seo-editor-BMcjQ83E.js → seo-editor-DbEirwnW.js} +1 -1
- package/dist/client/assets/{separator-Bpi7EJ0Z.js → separator-DRkT8HMb.js} +1 -1
- package/dist/client/assets/settings-tab-CAfdMYa9.js +1 -0
- package/dist/client/assets/{sheet-BeB7fiX7.js → sheet-DDwhHigu.js} +1 -1
- package/dist/client/assets/{shell-layout-CNGrbelx.js → shell-layout-B7qkgzXU.js} +1 -1
- package/dist/client/assets/{site-draft-actions-QoxLdEip.js → site-draft-actions--anq5Oyn.js} +6 -6
- package/dist/client/assets/site-draft-view-BPqN3aH-.js +2 -0
- package/dist/client/assets/site-editor-DW0aLxmo.js +1 -0
- package/dist/client/assets/{site-editor-toast-BzM8F-5I.js → site-editor-toast-Cyc0S6jd.js} +1 -1
- package/dist/client/assets/{skills-BFyhQCV2.js → skills-D4BOyICd.js} +1 -1
- package/dist/client/assets/{slider-BEIpzaR7.js → slider-DM-iwDAN.js} +1 -1
- package/dist/client/assets/{sortable.esm-DXFyyTP0.js → sortable.esm-CgWx-74N.js} +1 -1
- package/dist/client/assets/{sso-AQP6Ciq2.js → sso-CSG6lIvj.js} +1 -1
- package/dist/client/assets/{suggestion-5McGPh6e.js → suggestion-DtPrQaPS.js} +1 -1
- package/dist/client/assets/{switch-Ba2Gsd2l.js → switch-BI5z5Ju7.js} +1 -1
- package/dist/client/assets/{symbol-DhVs0bZH.js → symbol-COdkYi-n.js} +1 -1
- package/dist/client/assets/{synced-repos-CMC6m4k2.js → synced-repos-B1IVjrrq.js} +1 -1
- package/dist/client/assets/{tab-icon-glyph-BecmvuFT.js → tab-icon-glyph-CIKU8YGE.js} +1 -1
- package/dist/client/assets/{table-up4JHBvu.js → table-CjjNOaN4.js} +1 -1
- package/dist/client/assets/{tabs-C46_2gJf.js → tabs-ZzbSttVx.js} +1 -1
- package/dist/client/assets/{task-assignee-avatar-CdFkE7XN.js → task-assignee-avatar-C-hr4u9B.js} +1 -1
- package/dist/client/assets/{task-board-BCtRCz9S.js → task-board-J8Vo2lzV.js} +1 -1
- package/dist/client/assets/{task-route-Y1X7OZ0H.js → task-route-t4uPoiKF.js} +1 -1
- package/dist/client/assets/{task-status-CSuoeMCO.js → task-status-OIhRo9y9.js} +1 -1
- package/dist/client/assets/{taskboard-analytics-B7lSR6tY.js → taskboard-analytics-D0rm1hjK.js} +1 -1
- package/dist/client/assets/{tasks-xJwb3MB5.js → tasks-BEWx2mVo.js} +1 -1
- package/dist/client/assets/tasks-DBLzQm7P.js +1 -0
- package/dist/client/assets/{textarea-CTXOHUAm.js → textarea-BLncutjk.js} +1 -1
- package/dist/client/assets/{thread-analytics-Duedqn0y.js → thread-analytics-CK_sghas.js} +1 -1
- package/dist/client/assets/{thread-intent-BAvAvKIG.js → thread-intent-DigI0g4t.js} +1 -1
- package/dist/client/assets/{thread-route-5Y36bVJA.js → thread-route-CYFdAsxP.js} +1 -1
- package/dist/client/assets/{thread-route-D-HTU4ms.js → thread-route-Dq4msobR.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-DaYQzSu-.js → thread-sheet-body-Di4oWDCC.js} +1 -1
- package/dist/client/assets/{time-range-picker-fN9Evhky.js → time-range-picker-B6ilVQdd.js} +1 -1
- package/dist/client/assets/{toggle-group-B38pdvYb.js → toggle-group-DJHavtFz.js} +1 -1
- package/dist/client/assets/{tool-namespace-BCj-Y0g5.js → tool-namespace-Db1FE8-P.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-brf17qwF.js → toolbar-icon-button-w6OpN7Jk.js} +1 -1
- package/dist/client/assets/{tooltip-CzDCGEIi.js → tooltip-C9PLptTv.js} +1 -1
- package/dist/client/assets/{tooltipContext-BmuFpL8F.js → tooltipContext-DT0TA2xa.js} +1 -1
- package/dist/client/assets/{track-CFwl4Yaf.js → track-AB-V11dT.js} +1 -1
- package/dist/client/assets/{types-BEPRfygK.js → types-DfI6bP71.js} +1 -1
- package/dist/client/assets/{url-slug-W-P-V6ae.js → url-slug-bePBUEDA.js} +1 -1
- package/dist/client/assets/{usage-stats-B-bDSRFu.js → usage-stats-CgVbjgnU.js} +1 -1
- package/dist/client/assets/{use-ai-providers-ZqKycOYQ.js → use-ai-providers-Bc7K6JyD.js} +1 -1
- package/dist/client/assets/{use-apply-named-rule-CvK-hhnp.js → use-apply-named-rule-BrUBMfGy.js} +1 -1
- package/dist/client/assets/{use-automations-D3-t6dDi.js → use-automations-DEVyZ6g0.js} +1 -1
- package/dist/client/assets/{use-autosave-i2Rvz97o.js → use-autosave-BvC5wGjm.js} +1 -1
- package/dist/client/assets/{use-chat-layout-state-9bVxCYem.js → use-chat-layout-state-D10wfd91.js} +1 -1
- package/dist/client/assets/{use-clock-tick-BM5p8P79.js → use-clock-tick-DtkR8iHs.js} +1 -1
- package/dist/client/assets/{use-connect-companion-a0M1gRGT.js → use-connect-companion-BBA1nWqg.js} +1 -1
- package/dist/client/assets/{use-connection-C6xnl_pH.js → use-connection--nQEudkr.js} +1 -1
- package/dist/client/assets/{use-content-sync-tAg8ta4S.js → use-content-sync-BpAr_qkU.js} +1 -1
- package/dist/client/assets/{use-copy-BkKCeyGC.js → use-copy-BYfqkrcX.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Bu3SZepQ.js → use-create-virtual-mcp-kVxi7rbb.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-8Ts_sXo3.js → use-date-fns-locale-Qd9ZKJ-f.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DMiQvxW8.js → use-debounced-autosave-_WnUD2A1.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DE8_aoyE.js → use-debounced-value-o8_kTKtk.js} +1 -1
- package/dist/client/assets/{use-deco-credits-DNhIxA1G.js → use-deco-credits-ChCk-7Ic.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-C6Ht-NxL.js → use-decopilot-events-DuiNHzOc.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BJIuoAsL.js → use-delete-connection-2dBbm2UZ.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-yhpva385.js → use-deployment-admin-DK09uyUD.js} +1 -1
- package/dist/client/assets/{use-fast-preview-draft-url-C6RW47sS.js → use-fast-preview-draft-url-DUx_v0ir.js} +1 -1
- package/dist/client/assets/{use-file-configs-DTUQ5Hig.js → use-file-configs-emNeeY81.js} +1 -1
- package/dist/client/assets/{use-inbox-feed-HZQIvZXe.js → use-inbox-feed-gQNczY0E.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-DUZWngnl.js → use-infinite-scroll-tiBiQUrG.js} +1 -1
- package/dist/client/assets/{use-join-requests-B4fxzXiJ.js → use-join-requests-DEdRn9mT.js} +1 -1
- package/dist/client/assets/{use-main-panel-tabs-Bx3g8qPg.js → use-main-panel-tabs-zguLtTFu.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-D6Yk3F2A.js → use-mcp-auth-status-CzBbJJxr.js} +1 -1
- package/dist/client/assets/{use-mcp-client-CgMd9iAw.js → use-mcp-client-Dehh-QD8.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-QvvUKN0H.js → use-mcp-prompts-6zv9IXeR.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-dRnQL8sk.js → use-mcp-tools-RlvKHjUU.js} +1 -1
- package/dist/client/assets/{use-mobile-CmqrzeQ2.js → use-mobile-Bht8wONL.js} +1 -1
- package/dist/client/assets/{use-move-blocks-CZU-bgYZ.js → use-move-blocks-DEI5xTJ9.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-BxC330Nu.js → use-navigate-to-agent-R2geNLzm.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-c4b9_W-b.js → use-open-billing-url-BhHBrwI4.js} +1 -1
- package/dist/client/assets/{use-org-fs-CBQNhgrx.js → use-org-fs-CPqLHgiA.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-BpCSmIKb.js → use-org-repo-syncs-B-jZVfS_.js} +1 -1
- package/dist/client/assets/{use-org-sso-BjyMvUUZ.js → use-org-sso-COqujkwo.js} +1 -1
- package/dist/client/assets/{use-organization-roles-CR-IVvZj.js → use-organization-roles-CAeTGvi6.js} +1 -1
- package/dist/client/assets/{use-organization-settings-y-0WXno1.js → use-organization-settings-c2KJ-rhg.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-zL6feX1_.js → use-panel-navigate-DlKiU4ru.js} +1 -1
- package/dist/client/assets/use-project-native-view-presence-CifUjYF7.js +1 -0
- package/dist/client/assets/{use-project-scope-DtQCf5X8.js → use-project-scope-Lvryvv_x.js} +1 -1
- package/dist/client/assets/{use-recent-apps-CsecLp6Y.js → use-recent-apps-C9vG5TR3.js} +1 -1
- package/dist/client/assets/{use-releases-Bn59ANC-.js → use-releases-CzZzLiYc.js} +1 -1
- package/dist/client/assets/{use-reports-diagnostic-DmS17KTi.js → use-reports-diagnostic-Bf-lUYQW.js} +1 -1
- package/dist/client/assets/{use-sandbox-events-BkrPzSJm.js → use-sandbox-events-PM3dvDwL.js} +1 -1
- package/dist/client/assets/{use-secrets-FsfDKvXs.js → use-secrets-A7DHlNXm.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-YJjHRtUw.js → use-section-preview-base-LBz28XAj.js} +1 -1
- package/dist/client/assets/{use-session-runtime-B1BjekR-.js → use-session-runtime-Dlgl4ufa.js} +1 -1
- package/dist/client/assets/{use-sidebar-collapsed-50yzGJzV.js → use-sidebar-collapsed-VHTBmB5o.js} +1 -1
- package/dist/client/assets/{use-tags-CZDUybI1.js → use-tags-CUQEvOLk.js} +1 -1
- package/dist/client/assets/{use-task-board-analytics-B2Pm02Ek.js → use-task-board-analytics-DVyt-Yqg.js} +1 -1
- package/dist/client/assets/{use-task-board-events-DGLOhClG.js → use-task-board-events-Cjw4-qyi.js} +1 -1
- package/dist/client/assets/{use-task-board-item-prs-B6JhCfRd.js → use-task-board-item-prs-B5KO5oDj.js} +1 -1
- package/dist/client/assets/{use-task-metadata-Cl62kND-.js → use-task-metadata-WYOfWDrq.js} +1 -1
- package/dist/client/assets/{use-thread-analytics-CR3zf5b3.js → use-thread-analytics-CpHE9wpn.js} +1 -1
- package/dist/client/assets/{use-thread-outputs-DQFZK-8V.js → use-thread-outputs-uAgeAbTT.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-wSSEyg4B.js +1 -0
- package/dist/client/assets/{useQueries-BKAb_KHa.js → useQueries-gBucEmF_.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Bj1LgSIL.js +1 -0
- package/dist/client/assets/{users-B1TbgHgl.js → users-AQXsmt0e.js} +1 -1
- package/dist/client/assets/{utils-DTNHEqVe.js → utils-B8OWeF28.js} +1 -1
- package/dist/client/assets/{variant-calendar-BaZfELT8.js → variant-calendar-BVmrQa_2.js} +1 -1
- package/dist/client/assets/{variant-matcher-override-e7d1QuAB.js → variant-matcher-override-CdLkXK72.js} +1 -1
- package/dist/client/assets/{virtual-mcp-IZZKCKG6.js → virtual-mcp-CtaYyY8_.js} +1 -1
- package/dist/client/assets/{watch-sse-pool-BvCNV0KD.js → watch-sse-pool-CTyhEpc6.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/agent-analytics-DQUAv2rU.js +0 -1
- package/dist/client/assets/agent-app-CC8H2_RQ.js +0 -1
- package/dist/client/assets/agent-calendar-BMldRrmG.js +0 -1
- package/dist/client/assets/agent-deck-KP9i8rlb.js +0 -1
- package/dist/client/assets/agent-experiments-CVGDLUGS.js +0 -1
- package/dist/client/assets/agent-library-B9XhNA3y.js +0 -1
- package/dist/client/assets/agent-library-file-DMWQXc7h.js +0 -1
- package/dist/client/assets/agent-monitor-D-nTcMhx.js +0 -1
- package/dist/client/assets/agent-settings-B-Q2xNFl.js +0 -1
- package/dist/client/assets/agent-site-editor-code-DiDoS2Hl.js +0 -2
- package/dist/client/assets/agent-site-editor-content-BL8iQpvi.js +0 -1
- package/dist/client/assets/agent-site-editor-preview-BnzfkMpU.js +0 -1
- package/dist/client/assets/agent-view-BWlsY4B7.js +0 -1
- package/dist/client/assets/api-keys-VKfbZR3P.js +0 -1
- package/dist/client/assets/campaigns-view-DqoAS-BN.js +0 -1
- package/dist/client/assets/cms-settings-editor-BIjSx0Nc.js +0 -1
- package/dist/client/assets/content-tab-CQYmoOq9.js +0 -22
- package/dist/client/assets/experiments-tab-C2tJOVTj.js +0 -1
- package/dist/client/assets/index-BgjLAl1E.css +0 -1
- package/dist/client/assets/library-Bns22mAf.js +0 -1
- package/dist/client/assets/monitoring-B6KSdVsK.js +0 -1
- package/dist/client/assets/named-rule-view-CTYOj6rx.js +0 -1
- package/dist/client/assets/project-apps-BEnCDhRH.js +0 -1
- package/dist/client/assets/project-reports-DwBCSB_E.js +0 -1
- package/dist/client/assets/project-tasks-DC6ktZiN.js +0 -1
- package/dist/client/assets/record-editor-BKwj4lcG.js +0 -1
- package/dist/client/assets/reports-B7Os682y.js +0 -1
- package/dist/client/assets/repositories-BzPPC0PO.js +0 -1
- package/dist/client/assets/route-CrZ0agrx.js +0 -1
- package/dist/client/assets/route-DOcNdWL5.js +0 -1
- package/dist/client/assets/sections-editor-NTS3iIPY.js +0 -1
- package/dist/client/assets/settings-tab-z_Zg1Psn.js +0 -1
- package/dist/client/assets/site-draft-view-DgaAKV3m.js +0 -2
- package/dist/client/assets/site-editor-CShdOJ2B.js +0 -1
- package/dist/client/assets/tasks-BC1mhZoV.js +0 -1
- package/dist/client/assets/use-project-native-view-presence-CzShimrg.js +0 -1
- package/dist/client/assets/useInfiniteQuery-BLBwQpXr.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Dgg4wUTA.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
|
-
`),Do1=!0}throw new wG0.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:$.logger,tryNextLink:!0})}return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),Wi0($)()},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 wG0.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:$.logger});let{fromSSO:W}=await Promise.resolve().then(() => (wp0(),jp0));return W($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:Q}=await Promise.resolve().then(() => (Bo1(),No1));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:Q}=await Promise.resolve().then(() => (Pn0(),En0));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:Q}=await Promise.resolve().then(() => (Mn0(),Rn0));return Q($)(Z)},async()=>{return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await Sm1($))()},async()=>{throw new wG0.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:!1,logger:$.logger})}],zZ4),zZ4=($)=>$?.expiration!==void 0&&$.expiration.getTime()-Date.now()<300000;var jo1=L(()=>{Ki0();_m1();wG0=_(a5(),1),Lo1=_(YJ(),1)});var wo1=L(()=>{jo1()});var Eo1=()=>{};var bm,AZ4="AWS_S3_USE_ARN_REGION",TZ4="s3_use_arn_region",Po1;var zo1=L(()=>{bm=_(Zr(),1),Po1={environmentVariableSelector:($)=>bm.booleanSelector($,AZ4,bm.SelectorType.ENV),configFileSelector:($)=>bm.booleanSelector($,TZ4,bm.SelectorType.CONFIG),default:void 0}});var Ao1=()=>{};var To1=()=>{};var qo1=L(()=>{Eo1();zo1();To1();Ao1()});class xm{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)Ro1(Z);return new xm(Z)}valueOf(){let $=this.bytes.slice(0),Z=$[0]&128;if(Z)Ro1($);return parseInt(Mo1.toHex($),16)*(Z?-1:1)}toString(){return String(this.valueOf())}}function Ro1($){for(let Z=0;Z<8;Z++)$[Z]^=255;for(let Z=7;Z>-1;Z--)if($[Z]++,$[Z]!==0)break}var Mo1;var In0=L(()=>{Mo1=_(Ca(),1)});class kn0{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(xm.fromNumber($.value.valueOf()).bytes,1),H;case"uuid":if(!_Z4.test($.value))throw Error(`Invalid UUID received: ${$.value}`);let F=new Uint8Array(17);return F[0]=9,F.set(Bw.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:Io1,value:!0};break;case 1:Z[X]={type:Io1,value:!1};break;case 2:Z[X]={type:qZ4,value:$.getInt8(Q++)};break;case 3:Z[X]={type:RZ4,value:$.getInt16(Q,!1)},Q+=2;break;case 4:Z[X]={type:MZ4,value:$.getInt32(Q,!1)},Q+=4;break;case 5:Z[X]={type:VZ4,value:new xm(new Uint8Array($.buffer,$.byteOffset+Q,8))},Q+=8;break;case 6:let J=$.getUint16(Q,!1);Q+=2,Z[X]={type:IZ4,value:new Uint8Array($.buffer,$.byteOffset+Q,J)},Q+=J;break;case 7:let G=$.getUint16(Q,!1);Q+=2,Z[X]={type:kZ4,value:this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,G))},Q+=G;break;case 8:Z[X]={type:CZ4,value:new Date(new xm(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:SZ4,value:`${Bw.toHex(W.subarray(0,4))}-${Bw.toHex(W.subarray(4,6))}-${Bw.toHex(W.subarray(6,8))}-${Bw.toHex(W.subarray(8,10))}-${Bw.toHex(W.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return Z}}var Bw,Vo1,Io1="boolean",qZ4="byte",RZ4="short",MZ4="integer",VZ4="long",IZ4="binary",kZ4="string",CZ4="timestamp",SZ4="uuid",_Z4;var Cn0=L(()=>{In0();Bw=_(Ca(),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"})(Vo1||(Vo1={}));_Z4=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/});function So1({byteLength:$,byteOffset:Z,buffer:Q}){if($<vZ4)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(Co1,!1),G=Y.getUint32(Dw,!1),W=Y.getUint32($-dA,!1),K=new ko1.Crc32().update(new Uint8Array(Q,Z,Dw));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+Dw,$-(Dw+dA))),W!==K.digest())throw Error(`The message checksum (${K.digest()}) did not match the expected value of ${W}`);return{headers:new DataView(Q,Z+Dw+dA,J),body:new Uint8Array(Q,Z+Dw+dA+J,X-J-(Dw+dA+dA))}}var ko1,Co1=4,Dw,dA=4,vZ4;var _o1=L(()=>{ko1=_(FA(),1),Dw=Co1*2,vZ4=Dw+dA*2});class Sn0{headerMarshaller;messageBuffer;isEndOfStream;constructor($,Z){this.headerMarshaller=new kn0($,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 vo1.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}=So1($);return{headers:this.headerMarshaller.parse(Z),body:Q}}formatHeaders($){return this.headerMarshaller.format($)}}var vo1;var bo1=L(()=>{Cn0();_o1();vo1=_(FA(),1)});var xo1=()=>{};var _n0;var fo1=L(()=>{_n0=class _n0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.decoder.decode($)}}});var vn0;var yo1=L(()=>{vn0=class vn0{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 bn0;var go1=L(()=>{bn0=class bn0{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 ho1=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 uo1=L(()=>{bo1();Cn0();In0();xo1();fo1();yo1();go1();ho1()});function lo1($){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 mo1($,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 fn0{eventStreamCodec;utfEncoder;constructor({utf8Encoder:$,utf8Decoder:Z}){this.eventStreamCodec=new Sn0($,Z),this.utfEncoder=$}deserialize($,Z){let Q=lo1($);return new bn0({messageStream:new _n0({inputStream:Q,decoder:this.eventStreamCodec}),deserializer:mo1(Z,this.utfEncoder)})}serialize($,Z){return new vn0({messageStream:new xn0({inputStream:$,serializer:Z}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}var co1=L(()=>{uo1()});var do1=()=>{};var io1=L(()=>{co1();do1()});async function*po1($){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 bZ4}from"stream";class yn0{universalMarshaller;constructor({utf8Encoder:$,utf8Decoder:Z}){this.universalMarshaller=new fn0({utf8Decoder:Z,utf8Encoder:$})}deserialize($,Z){let Q=typeof $[Symbol.asyncIterator]==="function"?$:po1($);return this.universalMarshaller.deserialize(Q,Z)}serialize($,Z){return bZ4.from(this.universalMarshaller.serialize($,Z))}}var gn0=L(()=>{io1()});var no1=($)=>new yn0($);var to1=L(()=>{gn0()});var oo1=L(()=>{gn0();to1()});import{Writable as xZ4}from"stream";var so1,hn0;var ao1=L(()=>{so1=_(eQ(),1);hn0=class hn0 extends xZ4{hash;constructor($,Z){super(Z);this.hash=$}_write($,Z,Q){try{this.hash.update(so1.toUint8Array($))}catch(Y){return Q(Y)}Q()}}});var ro1=()=>{};var eo1=($,Z)=>{if(Z.readableFlowing!==null)throw Error("Unable to calculate hash for flowing readable stream");let Q=new $,Y=new hn0(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 $s1=L(()=>{ao1()});var Zs1=L(()=>{ro1();$s1()});var EG0,Qs1,Ys1,Xs1,Js1,PG0,zG0,AG0,Gs1=($)=>{return{apiVersion:"2006-03-01",base64Decoder:$?.base64Decoder??PG0.fromBase64,base64Encoder:$?.base64Encoder??PG0.toBase64,disableHostPrefix:$?.disableHostPrefix??!1,endpointProvider:$?.endpointProvider??eJ0,extensions:$?.extensions??[],getAwsChunkedEncodingStream:$?.getAwsChunkedEncodingStream??zG0.getAwsChunkedEncodingStream,httpAuthSchemeProvider:$?.httpAuthSchemeProvider??Hh1,httpAuthSchemes:$?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4"),signer:new EG0.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4a"),signer:new EG0.AwsSdkSigV4ASigner}],logger:$?.logger??new Xs1.NoOpLogger,protocol:$?.protocol??Qs1.S3RestXmlProtocol,protocolSettings:$?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",errorTypeRegistries:Lh1,xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:$?.sdkStreamMixin??zG0.sdkStreamMixin,serviceId:$?.serviceId??"S3",signerConstructor:$?.signerConstructor??Ys1.SignatureV4MultiRegion,signingEscapePath:$?.signingEscapePath??!1,urlParser:$?.urlParser??Js1.parseUrl,useArnRegion:$?.useArnRegion??void 0,utf8Decoder:$?.utf8Decoder??AG0.fromUtf8,utf8Encoder:$?.utf8Encoder??AG0.toUtf8}};var Ws1=L(()=>{td0();nd0();F1();EG0=_(oY(),1),Qs1=_(N$(),1),Ys1=_(Dm(),1),Xs1=_(p0(),1),Js1=_(xU(),1),PG0=_(Z3(),1),zG0=_(ll(),1),AG0=_(eQ(),1)});var Ks1,qG0,Hs1,RG0,Lw,TG0,MG0,qG,VG0,IG0,Fs1,Us1,Ns1,Bs1=($)=>{IG0.emitWarningIfUnsupportedVersion(process.version);let Z=Us1.resolveDefaultsModeConfig($),Q=()=>Z().then(IG0.loadConfigsForDefaultMode),Y=Gs1($);Ks1.emitWarningIfUnsupportedVersion(process.version);let X={profile:$?.profile,logger:Y.logger};return{...Y,...$,runtime:"node",defaultsMode:Z,authSchemePreference:$?.authSchemePreference??qG.loadConfig(qG0.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,X),bodyLengthChecker:$?.bodyLengthChecker??Fs1.calculateBodyLength,credentialDefaultProvider:$?.credentialDefaultProvider??Oo1,defaultUserAgentProvider:$?.defaultUserAgentProvider??RG0.createDefaultUserAgentProvider({serviceId:Y.serviceId,clientVersion:il1.version}),disableS3ExpressSessionAuth:$?.disableS3ExpressSessionAuth??qG.loadConfig(Hs1.NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,X),eventStreamSerdeProvider:$?.eventStreamSerdeProvider??no1,maxAttempts:$?.maxAttempts??qG.loadConfig(MG0.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,$),md5:$?.md5??TG0.Hash.bind(null,"md5"),region:$?.region??qG.loadConfig(Lw.NODE_REGION_CONFIG_OPTIONS,{...Lw.NODE_REGION_CONFIG_FILE_OPTIONS,...X}),requestChecksumCalculation:$?.requestChecksumCalculation??qG.loadConfig($C1,X),requestHandler:VG0.NodeHttpHandler.create($?.requestHandler??Q),responseChecksumValidation:$?.responseChecksumValidation??qG.loadConfig(QC1,X),retryMode:$?.retryMode??qG.loadConfig({...MG0.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await Q()).retryMode||Ns1.DEFAULT_RETRY_MODE},$),sha1:$?.sha1??TG0.Hash.bind(null,"sha1"),sha256:$?.sha256??TG0.Hash.bind(null,"sha256"),sigv4aSigningRegionSet:$?.sigv4aSigningRegionSet??qG.loadConfig(qG0.NODE_SIGV4A_CONFIG_OPTIONS,X),streamCollector:$?.streamCollector??VG0.streamCollector,streamHasher:$?.streamHasher??eo1,useArnRegion:$?.useArnRegion??qG.loadConfig(Po1,X),useDualstackEndpoint:$?.useDualstackEndpoint??qG.loadConfig(Lw.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,X),useFipsEndpoint:$?.useFipsEndpoint??qG.loadConfig(Lw.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,X),userAgentAppId:$?.userAgentAppId??qG.loadConfig(RG0.NODE_APP_ID_CONFIG_OPTIONS,X)}};var Ds1=L(()=>{dl1();wo1();qo1();_6();oo1();Zs1();Ws1();Ks1=_(E9(),1),qG0=_(oY(),1),Hs1=_(N$(),1),RG0=_(zm(),1),Lw=_(X3(),1),TG0=_(Am(),1),MG0=_(iH(),1),qG=_(dH(),1),VG0=_(pj(),1),IG0=_(p0(),1),Fs1=_(Tm(),1),Us1=_(qm(),1),Ns1=_(VD(),1)});var Ls1=($)=>{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}}},Os1=($)=>{return{httpAuthSchemes:$.httpAuthSchemes(),httpAuthSchemeProvider:$.httpAuthSchemeProvider(),credentials:$.credentials()}};var kG0,CG0,SG0,js1=($,Z)=>{let Q=Object.assign(kG0.getAwsRegionExtensionConfiguration($),SG0.getDefaultExtensionConfiguration($),CG0.getHttpHandlerExtensionConfiguration($),Ls1($));return Z.forEach((Y)=>Y.configure(Q)),Object.assign($,kG0.resolveAwsRegionExtensionConfiguration(Q),SG0.resolveDefaultRuntimeConfig(Q),CG0.resolveHttpHandlerRuntimeConfig(Q),Os1(Q))};var ws1=L(()=>{kG0=_(VA(),1),CG0=_(s5(),1),SG0=_(p0(),1)});var _G0,Es1,Ps1,uU,vG0,zs1,fm,As1,Ts1,qs1,bG0,Rs1,JY;var iA=L(()=>{rk1();_6();Yy1();td0();w30();N1();Ds1();ws1();_G0=_(nl(),1),Es1=_(tl(),1),Ps1=_(ol(),1),uU=_(N$(),1),vG0=_(zA(),1),zs1=_(X3(),1),fm=_(b7(),1),As1=_(pY(),1),Ts1=_(Fm(),1),qs1=_(W1(),1),bG0=_(iH(),1),Rs1=_(p0(),1);JY=class JY extends Rs1.Client{config;constructor(...[$]){let Z=Bs1($||{});super(Z);this.initConfig=Z;let Q=Uh1(Z),Y=vG0.resolveUserAgentConfig(Q),X=kv1(Y),J=bG0.resolveRetryConfig(X),G=zs1.resolveRegionConfig(J),W=_G0.resolveHostHeaderConfig(G),K=qs1.resolveEndpointConfig(W),H=Qy1(K),F=Fh1(H),U=uU.resolveS3Config(F,{session:[()=>this,Br]}),N=js1(U,$?.extensions||[]);this.config=N,this.middlewareStack.use(As1.getSchemaSerdePlugin(this.config)),this.middlewareStack.use(vG0.getUserAgentPlugin(this.config)),this.middlewareStack.use(bG0.getRetryPlugin(this.config)),this.middlewareStack.use(Ts1.getContentLengthPlugin(this.config)),this.middlewareStack.use(_G0.getHostHeaderPlugin(this.config)),this.middlewareStack.use(Es1.getLoggerPlugin(this.config)),this.middlewareStack.use(Ps1.getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(fm.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Gh1,identityProviderConfigProvider:async(B)=>new fm.DefaultIdentityProviderConfig({"aws.auth#sigv4":B.credentials,"aws.auth#sigv4a":B.credentials})})),this.middlewareStack.use(fm.getHttpSigningPlugin(this.config)),this.middlewareStack.use(uU.getValidateBucketNamePlugin(this.config)),this.middlewareStack.use(ak1(this.config)),this.middlewareStack.use(uU.getRegionRedirectMiddlewarePlugin(this.config)),this.middlewareStack.use(uU.getS3ExpressPlugin(this.config)),this.middlewareStack.use(uU.getS3ExpressHttpSigningPlugin(this.config))}destroy(){super.destroy()}}});var Ms1,Vs1,Is1,br;var un0=L(()=>{N1();F1();Ms1=_(N$(),1),Vs1=_(W1(),1),Is1=_(p0(),1);br=class br extends Is1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Vs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ms1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(mh1).build(){}});function fZ4($){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(gZ4(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 gZ4($,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 yZ4,VZ=($)=>({applyToStack:(Z)=>{Z.add(fZ4($),yZ4)}});var YK=L(()=>{yZ4={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0}});var ks1,Cs1,Ss1,xr;var ln0=L(()=>{YK();N1();F1();ks1=_(N$(),1),Cs1=_(W1(),1),Ss1=_(p0(),1);xr=class xr extends Ss1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Cs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ks1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(ch1).build(){}});var _s1,vs1,bs1,mn0;var cn0=L(()=>{YK();N1();F1();_s1=_(N$(),1),vs1=_(W1(),1),bs1=_(p0(),1);mn0=class mn0 extends bs1.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[vs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),_s1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CopyObject",{}).n("S3Client","CopyObjectCommand").sc(dh1).build(){}});function hZ4($){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 uZ4,xs1=($)=>({applyToStack:(Z)=>{Z.add(hZ4($),uZ4)}});var fs1=L(()=>{uZ4={step:"initialize",tags:["LOCATION_CONSTRAINT","CREATE_BUCKET_CONFIGURATION"],name:"locationConstraintMiddleware",override:!0}});var ys1,gs1,hs1,dn0;var in0=L(()=>{fs1();N1();F1();ys1=_(N$(),1),gs1=_(W1(),1),hs1=_(p0(),1);dn0=class dn0 extends hs1.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[gs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ys1.getThrow200ExceptionsPlugin(Q),xs1(Q)]}).s("AmazonS3","CreateBucket",{}).n("S3Client","CreateBucketCommand").sc(ih1).build(){}});var us1,ls1,pn0;var nn0=L(()=>{_6();N1();F1();us1=_(W1(),1),ls1=_(p0(),1);pn0=class pn0 extends ls1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[us1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataConfiguration",{}).n("S3Client","CreateBucketMetadataConfigurationCommand").sc(ph1).build(){}});var ms1,cs1,tn0;var on0=L(()=>{_6();N1();F1();ms1=_(W1(),1),cs1=_(p0(),1);tn0=class tn0 extends cs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataTableConfiguration",{}).n("S3Client","CreateBucketMetadataTableConfigurationCommand").sc(nh1).build(){}});var ds1,is1,ps1,fr;var sn0=L(()=>{YK();N1();F1();ds1=_(N$(),1),is1=_(W1(),1),ps1=_(p0(),1);fr=class fr extends ps1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ds1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(th1).build(){}});var ns1,ts1,an0;var rn0=L(()=>{N1();F1();ns1=_(W1(),1),ts1=_(p0(),1);an0=class an0 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","DeleteBucketAnalyticsConfiguration",{}).n("S3Client","DeleteBucketAnalyticsConfigurationCommand").sc(ah1).build(){}});var os1,ss1,en0;var $t0=L(()=>{N1();F1();os1=_(W1(),1),ss1=_(p0(),1);en0=class en0 extends ss1.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","DeleteBucket",{}).n("S3Client","DeleteBucketCommand").sc(sh1).build(){}});var as1,rs1,Zt0;var Qt0=L(()=>{N1();F1();as1=_(W1(),1),rs1=_(p0(),1);Zt0=class Zt0 extends rs1.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","DeleteBucketCors",{}).n("S3Client","DeleteBucketCorsCommand").sc(rh1).build(){}});var es1,$a1,Yt0;var Xt0=L(()=>{N1();F1();es1=_(W1(),1),$a1=_(p0(),1);Yt0=class Yt0 extends $a1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[es1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketEncryption",{}).n("S3Client","DeleteBucketEncryptionCommand").sc(eh1).build(){}});var Za1,Qa1,Jt0;var Gt0=L(()=>{N1();F1();Za1=_(W1(),1),Qa1=_(p0(),1);Jt0=class Jt0 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())]}).s("AmazonS3","DeleteBucketIntelligentTieringConfiguration",{}).n("S3Client","DeleteBucketIntelligentTieringConfigurationCommand").sc($u1).build(){}});var Ya1,Xa1,Wt0;var Kt0=L(()=>{N1();F1();Ya1=_(W1(),1),Xa1=_(p0(),1);Wt0=class Wt0 extends Xa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ya1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketInventoryConfiguration",{}).n("S3Client","DeleteBucketInventoryConfigurationCommand").sc(Zu1).build(){}});var Ja1,Ga1,Ht0;var Ft0=L(()=>{N1();F1();Ja1=_(W1(),1),Ga1=_(p0(),1);Ht0=class Ht0 extends Ga1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ja1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketLifecycle",{}).n("S3Client","DeleteBucketLifecycleCommand").sc(Qu1).build(){}});var Wa1,Ka1,Ut0;var Nt0=L(()=>{N1();F1();Wa1=_(W1(),1),Ka1=_(p0(),1);Ut0=class Ut0 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())]}).s("AmazonS3","DeleteBucketMetadataConfiguration",{}).n("S3Client","DeleteBucketMetadataConfigurationCommand").sc(Yu1).build(){}});var Ha1,Fa1,Bt0;var Dt0=L(()=>{N1();F1();Ha1=_(W1(),1),Fa1=_(p0(),1);Bt0=class Bt0 extends Fa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ha1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataTableConfiguration",{}).n("S3Client","DeleteBucketMetadataTableConfigurationCommand").sc(Xu1).build(){}});var Ua1,Na1,Lt0;var Ot0=L(()=>{N1();F1();Ua1=_(W1(),1),Na1=_(p0(),1);Lt0=class Lt0 extends Na1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ua1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetricsConfiguration",{}).n("S3Client","DeleteBucketMetricsConfigurationCommand").sc(Ju1).build(){}});var Ba1,Da1,jt0;var wt0=L(()=>{N1();F1();Ba1=_(W1(),1),Da1=_(p0(),1);jt0=class jt0 extends Da1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ba1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketOwnershipControls",{}).n("S3Client","DeleteBucketOwnershipControlsCommand").sc(Gu1).build(){}});var La1,Oa1,Et0;var Pt0=L(()=>{N1();F1();La1=_(W1(),1),Oa1=_(p0(),1);Et0=class Et0 extends Oa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[La1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketPolicy",{}).n("S3Client","DeleteBucketPolicyCommand").sc(Wu1).build(){}});var ja1,wa1,zt0;var At0=L(()=>{N1();F1();ja1=_(W1(),1),wa1=_(p0(),1);zt0=class zt0 extends wa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ja1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketReplication",{}).n("S3Client","DeleteBucketReplicationCommand").sc(Ku1).build(){}});var Ea1,Pa1,Tt0;var qt0=L(()=>{N1();F1();Ea1=_(W1(),1),Pa1=_(p0(),1);Tt0=class Tt0 extends Pa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketTagging",{}).n("S3Client","DeleteBucketTaggingCommand").sc(Hu1).build(){}});var za1,Aa1,Rt0;var Mt0=L(()=>{N1();F1();za1=_(W1(),1),Aa1=_(p0(),1);Rt0=class Rt0 extends Aa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[za1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketWebsite",{}).n("S3Client","DeleteBucketWebsiteCommand").sc(Fu1).build(){}});var Ta1,qa1,Ra1,aD;var Vt0=L(()=>{N1();F1();Ta1=_(N$(),1),qa1=_(W1(),1),Ra1=_(p0(),1);aD=class aD extends Ra1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[qa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ta1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(Uu1).build(){}});var Ma1,Va1,Ia1,It0;var kt0=L(()=>{_6();N1();F1();Ma1=_(N$(),1),Va1=_(W1(),1),Ia1=_(p0(),1);It0=class It0 extends Ia1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Va1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),Ma1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjects",{}).n("S3Client","DeleteObjectsCommand").sc(Nu1).build(){}});var ka1,Ca1,Sa1,Ct0;var St0=L(()=>{N1();F1();ka1=_(N$(),1),Ca1=_(W1(),1),Sa1=_(p0(),1);Ct0=class Ct0 extends Sa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ca1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ka1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjectTagging",{}).n("S3Client","DeleteObjectTaggingCommand").sc(Bu1).build(){}});var _a1,va1,_t0;var vt0=L(()=>{N1();F1();_a1=_(W1(),1),va1=_(p0(),1);_t0=class _t0 extends va1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_a1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeletePublicAccessBlock",{}).n("S3Client","DeletePublicAccessBlockCommand").sc(Du1).build(){}});var ba1,xa1,fa1,bt0;var xt0=L(()=>{N1();F1();ba1=_(N$(),1),xa1=_(W1(),1),fa1=_(p0(),1);bt0=class bt0 extends fa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[xa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ba1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAbac",{}).n("S3Client","GetBucketAbacCommand").sc(Lu1).build(){}});var ya1,ga1,ha1,ft0;var yt0=L(()=>{N1();F1();ya1=_(N$(),1),ga1=_(W1(),1),ha1=_(p0(),1);ft0=class ft0 extends ha1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ga1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ya1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAccelerateConfiguration",{}).n("S3Client","GetBucketAccelerateConfigurationCommand").sc(Ou1).build(){}});var ua1,la1,ma1,gt0;var ht0=L(()=>{N1();F1();ua1=_(N$(),1),la1=_(W1(),1),ma1=_(p0(),1);gt0=class gt0 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","GetBucketAcl",{}).n("S3Client","GetBucketAclCommand").sc(ju1).build(){}});var ca1,da1,ia1,ut0;var lt0=L(()=>{N1();F1();ca1=_(N$(),1),da1=_(W1(),1),ia1=_(p0(),1);ut0=class ut0 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","GetBucketAnalyticsConfiguration",{}).n("S3Client","GetBucketAnalyticsConfigurationCommand").sc(wu1).build(){}});var pa1,na1,ta1,mt0;var ct0=L(()=>{N1();F1();pa1=_(N$(),1),na1=_(W1(),1),ta1=_(p0(),1);mt0=class mt0 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","GetBucketCors",{}).n("S3Client","GetBucketCorsCommand").sc(Eu1).build(){}});var oa1,sa1,aa1,dt0;var it0=L(()=>{N1();F1();oa1=_(N$(),1),sa1=_(W1(),1),aa1=_(p0(),1);dt0=class dt0 extends aa1.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","GetBucketEncryption",{}).n("S3Client","GetBucketEncryptionCommand").sc(Pu1).build(){}});var ra1,ea1,$r1,pt0;var nt0=L(()=>{N1();F1();ra1=_(N$(),1),ea1=_(W1(),1),$r1=_(p0(),1);pt0=class pt0 extends $r1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ra1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketIntelligentTieringConfiguration",{}).n("S3Client","GetBucketIntelligentTieringConfigurationCommand").sc(zu1).build(){}});var Zr1,Qr1,Yr1,tt0;var ot0=L(()=>{N1();F1();Zr1=_(N$(),1),Qr1=_(W1(),1),Yr1=_(p0(),1);tt0=class tt0 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","GetBucketInventoryConfiguration",{}).n("S3Client","GetBucketInventoryConfigurationCommand").sc(Au1).build(){}});var Xr1,Jr1,Gr1,st0;var at0=L(()=>{N1();F1();Xr1=_(N$(),1),Jr1=_(W1(),1),Gr1=_(p0(),1);st0=class st0 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","GetBucketLifecycleConfiguration",{}).n("S3Client","GetBucketLifecycleConfigurationCommand").sc(Tu1).build(){}});var Wr1,Kr1,Hr1,rt0;var et0=L(()=>{N1();F1();Wr1=_(N$(),1),Kr1=_(W1(),1),Hr1=_(p0(),1);rt0=class rt0 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","GetBucketLocation",{}).n("S3Client","GetBucketLocationCommand").sc(qu1).build(){}});var Fr1,Ur1,Nr1,$o0;var Zo0=L(()=>{N1();F1();Fr1=_(N$(),1),Ur1=_(W1(),1),Nr1=_(p0(),1);$o0=class $o0 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","GetBucketLogging",{}).n("S3Client","GetBucketLoggingCommand").sc(Ru1).build(){}});var Br1,Dr1,Lr1,Qo0;var Yo0=L(()=>{N1();F1();Br1=_(N$(),1),Dr1=_(W1(),1),Lr1=_(p0(),1);Qo0=class Qo0 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","GetBucketMetadataConfiguration",{}).n("S3Client","GetBucketMetadataConfigurationCommand").sc(Mu1).build(){}});var Or1,jr1,wr1,Xo0;var Jo0=L(()=>{N1();F1();Or1=_(N$(),1),jr1=_(W1(),1),wr1=_(p0(),1);Xo0=class Xo0 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","GetBucketMetadataTableConfiguration",{}).n("S3Client","GetBucketMetadataTableConfigurationCommand").sc(Vu1).build(){}});var Er1,Pr1,zr1,Go0;var Wo0=L(()=>{N1();F1();Er1=_(N$(),1),Pr1=_(W1(),1),zr1=_(p0(),1);Go0=class Go0 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","GetBucketMetricsConfiguration",{}).n("S3Client","GetBucketMetricsConfigurationCommand").sc(Iu1).build(){}});var Ar1,Tr1,qr1,Ko0;var Ho0=L(()=>{N1();F1();Ar1=_(N$(),1),Tr1=_(W1(),1),qr1=_(p0(),1);Ko0=class Ko0 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","GetBucketNotificationConfiguration",{}).n("S3Client","GetBucketNotificationConfigurationCommand").sc(ku1).build(){}});var Rr1,Mr1,Vr1,Fo0;var Uo0=L(()=>{N1();F1();Rr1=_(N$(),1),Mr1=_(W1(),1),Vr1=_(p0(),1);Fo0=class Fo0 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","GetBucketOwnershipControls",{}).n("S3Client","GetBucketOwnershipControlsCommand").sc(Cu1).build(){}});var Ir1,kr1,No0;var Bo0=L(()=>{N1();F1();Ir1=_(W1(),1),kr1=_(p0(),1);No0=class No0 extends kr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ir1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetBucketPolicy",{}).n("S3Client","GetBucketPolicyCommand").sc(Su1).build(){}});var Cr1,Sr1,_r1,Do0;var Lo0=L(()=>{N1();F1();Cr1=_(N$(),1),Sr1=_(W1(),1),_r1=_(p0(),1);Do0=class Do0 extends _r1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Sr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Cr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketPolicyStatus",{}).n("S3Client","GetBucketPolicyStatusCommand").sc(_u1).build(){}});var vr1,br1,xr1,Oo0;var jo0=L(()=>{N1();F1();vr1=_(N$(),1),br1=_(W1(),1),xr1=_(p0(),1);Oo0=class Oo0 extends xr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[br1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),vr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketReplication",{}).n("S3Client","GetBucketReplicationCommand").sc(vu1).build(){}});var fr1,yr1,gr1,wo0;var Eo0=L(()=>{N1();F1();fr1=_(N$(),1),yr1=_(W1(),1),gr1=_(p0(),1);wo0=class wo0 extends gr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[yr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),fr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketRequestPayment",{}).n("S3Client","GetBucketRequestPaymentCommand").sc(bu1).build(){}});var hr1,ur1,lr1,Po0;var zo0=L(()=>{N1();F1();hr1=_(N$(),1),ur1=_(W1(),1),lr1=_(p0(),1);Po0=class Po0 extends lr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ur1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),hr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketTagging",{}).n("S3Client","GetBucketTaggingCommand").sc(xu1).build(){}});var mr1,cr1,dr1,Ao0;var To0=L(()=>{N1();F1();mr1=_(N$(),1),cr1=_(W1(),1),dr1=_(p0(),1);Ao0=class Ao0 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()),mr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketVersioning",{}).n("S3Client","GetBucketVersioningCommand").sc(fu1).build(){}});var ir1,pr1,nr1,qo0;var Ro0=L(()=>{N1();F1();ir1=_(N$(),1),pr1=_(W1(),1),nr1=_(p0(),1);qo0=class qo0 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","GetBucketWebsite",{}).n("S3Client","GetBucketWebsiteCommand").sc(yu1).build(){}});var tr1,or1,sr1,Mo0;var Vo0=L(()=>{N1();F1();tr1=_(N$(),1),or1=_(W1(),1),sr1=_(p0(),1);Mo0=class Mo0 extends sr1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[or1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),tr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectAcl",{}).n("S3Client","GetObjectAclCommand").sc(hu1).build(){}});var ar1,rr1,er1,Io0;var ko0=L(()=>{YK();N1();F1();ar1=_(N$(),1),rr1=_(W1(),1),er1=_(p0(),1);Io0=class Io0 extends er1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[rr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ar1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","GetObjectAttributes",{}).n("S3Client","GetObjectAttributesCommand").sc(uu1).build(){}});var $e1,Ze1,Qe1,lU;var Co0=L(()=>{_6();YK();N1();F1();$e1=_(N$(),1),Ze1=_(W1(),1),Qe1=_(p0(),1);lU=class lU extends Qe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1","SHA512","MD5","XXHASH64","XXHASH3","XXHASH128"]}),VZ(Q),$e1.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(gu1).build(){}});var Ye1,Xe1,Je1,So0;var _o0=L(()=>{N1();F1();Ye1=_(N$(),1),Xe1=_(W1(),1),Je1=_(p0(),1);So0=class So0 extends Je1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ye1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLegalHold",{}).n("S3Client","GetObjectLegalHoldCommand").sc(lu1).build(){}});var Ge1,We1,Ke1,vo0;var bo0=L(()=>{N1();F1();Ge1=_(N$(),1),We1=_(W1(),1),Ke1=_(p0(),1);vo0=class vo0 extends Ke1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[We1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ge1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLockConfiguration",{}).n("S3Client","GetObjectLockConfigurationCommand").sc(mu1).build(){}});var He1,Fe1,Ue1,xo0;var fo0=L(()=>{N1();F1();He1=_(N$(),1),Fe1=_(W1(),1),Ue1=_(p0(),1);xo0=class xo0 extends Ue1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),He1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectRetention",{}).n("S3Client","GetObjectRetentionCommand").sc(cu1).build(){}});var Ne1,Be1,De1,yo0;var go0=L(()=>{N1();F1();Ne1=_(N$(),1),Be1=_(W1(),1),De1=_(p0(),1);yo0=class yo0 extends De1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Be1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ne1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectTagging",{}).n("S3Client","GetObjectTaggingCommand").sc(du1).build(){}});var Le1,Oe1,ho0;var uo0=L(()=>{N1();F1();Le1=_(W1(),1),Oe1=_(p0(),1);ho0=class ho0 extends Oe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Le1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetObjectTorrent",{}).n("S3Client","GetObjectTorrentCommand").sc(iu1).build(){}});var je1,we1,Ee1,lo0;var mo0=L(()=>{N1();F1();je1=_(N$(),1),we1=_(W1(),1),Ee1=_(p0(),1);lo0=class lo0 extends Ee1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[we1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),je1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetPublicAccessBlock",{}).n("S3Client","GetPublicAccessBlockCommand").sc(pu1).build(){}});var Pe1,ze1,Ae1,pA;var yr=L(()=>{N1();F1();Pe1=_(N$(),1),ze1=_(W1(),1),Ae1=_(p0(),1);pA=class pA extends Ae1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Pe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","HeadBucket",{}).n("S3Client","HeadBucketCommand").sc(nu1).build(){}});var xG0,Te1,qe1,mU;var gr=L(()=>{YK();N1();F1();xG0=_(N$(),1),Te1=_(W1(),1),qe1=_(p0(),1);mU=class mU extends qe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),xG0.getThrow200ExceptionsPlugin(Q),VZ(Q),xG0.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(tu1).build(){}});var Re1,Me1,Ve1,co0;var do0=L(()=>{N1();F1();Re1=_(N$(),1),Me1=_(W1(),1),Ve1=_(p0(),1);co0=class co0 extends Ve1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Me1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Re1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketAnalyticsConfigurations",{}).n("S3Client","ListBucketAnalyticsConfigurationsCommand").sc(ou1).build(){}});var Ie1,ke1,Ce1,io0;var po0=L(()=>{N1();F1();Ie1=_(N$(),1),ke1=_(W1(),1),Ce1=_(p0(),1);io0=class io0 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()),Ie1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketIntelligentTieringConfigurations",{}).n("S3Client","ListBucketIntelligentTieringConfigurationsCommand").sc(su1).build(){}});var Se1,_e1,ve1,no0;var to0=L(()=>{N1();F1();Se1=_(N$(),1),_e1=_(W1(),1),ve1=_(p0(),1);no0=class no0 extends ve1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_e1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Se1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketInventoryConfigurations",{}).n("S3Client","ListBucketInventoryConfigurationsCommand").sc(au1).build(){}});var be1,xe1,fe1,oo0;var so0=L(()=>{N1();F1();be1=_(N$(),1),xe1=_(W1(),1),fe1=_(p0(),1);oo0=class oo0 extends fe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[xe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),be1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketMetricsConfigurations",{}).n("S3Client","ListBucketMetricsConfigurationsCommand").sc(ru1).build(){}});var ye1,ge1,he1,hr;var fG0=L(()=>{N1();F1();ye1=_(N$(),1),ge1=_(W1(),1),he1=_(p0(),1);hr=class hr extends he1.Command.classBuilder().ep(L0).m(function($,Z,Q,Y){return[ge1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ye1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBuckets",{}).n("S3Client","ListBucketsCommand").sc(eu1).build(){}});var ue1,le1,me1,ur;var yG0=L(()=>{N1();F1();ue1=_(N$(),1),le1=_(W1(),1),me1=_(p0(),1);ur=class ur extends me1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[le1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ue1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListDirectoryBuckets",{}).n("S3Client","ListDirectoryBucketsCommand").sc($l1).build(){}});var ce1,de1,ie1,ao0;var ro0=L(()=>{N1();F1();ce1=_(N$(),1),de1=_(W1(),1),ie1=_(p0(),1);ao0=class ao0 extends ie1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[de1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ce1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListMultipartUploads",{}).n("S3Client","ListMultipartUploadsCommand").sc(Zl1).build(){}});var pe1,ne1,te1,eo0;var $s0=L(()=>{N1();F1();pe1=_(N$(),1),ne1=_(W1(),1),te1=_(p0(),1);eo0=class eo0 extends te1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ne1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),pe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjects",{}).n("S3Client","ListObjectsCommand").sc(Ql1).build(){}});var oe1,se1,ae1,XK;var gG0=L(()=>{N1();F1();oe1=_(N$(),1),se1=_(W1(),1),ae1=_(p0(),1);XK=class XK extends ae1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),oe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(Yl1).build(){}});var re1,ee1,$0$,Zs0;var Qs0=L(()=>{N1();F1();re1=_(N$(),1),ee1=_(W1(),1),$0$=_(p0(),1);Zs0=class Zs0 extends $0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ee1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),re1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectVersions",{}).n("S3Client","ListObjectVersionsCommand").sc(Xl1).build(){}});var Z0$,Q0$,Y0$,lr;var hG0=L(()=>{YK();N1();F1();Z0$=_(N$(),1),Q0$=_(W1(),1),Y0$=_(p0(),1);lr=class lr extends Y0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Z0$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","ListParts",{}).n("S3Client","ListPartsCommand").sc(Jl1).build(){}});var X0$,J0$,Ys0;var Xs0=L(()=>{_6();N1();F1();X0$=_(W1(),1),J0$=_(p0(),1);Ys0=class Ys0 extends J0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[X0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAbac",{}).n("S3Client","PutBucketAbacCommand").sc(Gl1).build(){}});var G0$,W0$,Js0;var Gs0=L(()=>{_6();N1();F1();G0$=_(W1(),1),W0$=_(p0(),1);Js0=class Js0 extends W0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[G0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAccelerateConfiguration",{}).n("S3Client","PutBucketAccelerateConfigurationCommand").sc(Wl1).build(){}});var K0$,H0$,Ws0;var Ks0=L(()=>{_6();N1();F1();K0$=_(W1(),1),H0$=_(p0(),1);Ws0=class Ws0 extends H0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[K0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketAcl",{}).n("S3Client","PutBucketAclCommand").sc(Kl1).build(){}});var F0$,U0$,Hs0;var Fs0=L(()=>{N1();F1();F0$=_(W1(),1),U0$=_(p0(),1);Hs0=class Hs0 extends U0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[F0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketAnalyticsConfiguration",{}).n("S3Client","PutBucketAnalyticsConfigurationCommand").sc(Hl1).build(){}});var N0$,B0$,Us0;var Ns0=L(()=>{_6();N1();F1();N0$=_(W1(),1),B0$=_(p0(),1);Us0=class Us0 extends B0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[N0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketCors",{}).n("S3Client","PutBucketCorsCommand").sc(Fl1).build(){}});var D0$,L0$,Bs0;var Ds0=L(()=>{_6();N1();F1();D0$=_(W1(),1),L0$=_(p0(),1);Bs0=class Bs0 extends L0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[D0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketEncryption",{}).n("S3Client","PutBucketEncryptionCommand").sc(Ul1).build(){}});var O0$,j0$,Ls0;var Os0=L(()=>{N1();F1();O0$=_(W1(),1),j0$=_(p0(),1);Ls0=class Ls0 extends j0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[O0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketIntelligentTieringConfiguration",{}).n("S3Client","PutBucketIntelligentTieringConfigurationCommand").sc(Nl1).build(){}});var w0$,E0$,js0;var ws0=L(()=>{N1();F1();w0$=_(W1(),1),E0$=_(p0(),1);js0=class js0 extends E0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[w0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketInventoryConfiguration",{}).n("S3Client","PutBucketInventoryConfigurationCommand").sc(Bl1).build(){}});var P0$,z0$,A0$,Es0;var Ps0=L(()=>{_6();N1();F1();P0$=_(N$(),1),z0$=_(W1(),1),A0$=_(p0(),1);Es0=class Es0 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()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),P0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutBucketLifecycleConfiguration",{}).n("S3Client","PutBucketLifecycleConfigurationCommand").sc(Dl1).build(){}});var T0$,q0$,zs0;var As0=L(()=>{_6();N1();F1();T0$=_(W1(),1),q0$=_(p0(),1);zs0=class zs0 extends q0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[T0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketLogging",{}).n("S3Client","PutBucketLoggingCommand").sc(Ll1).build(){}});var R0$,M0$,Ts0;var qs0=L(()=>{N1();F1();R0$=_(W1(),1),M0$=_(p0(),1);Ts0=class Ts0 extends M0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[R0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketMetricsConfiguration",{}).n("S3Client","PutBucketMetricsConfigurationCommand").sc(Ol1).build(){}});var V0$,I0$,Rs0;var Ms0=L(()=>{N1();F1();V0$=_(W1(),1),I0$=_(p0(),1);Rs0=class Rs0 extends I0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[V0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketNotificationConfiguration",{}).n("S3Client","PutBucketNotificationConfigurationCommand").sc(jl1).build(){}});var k0$,C0$,Vs0;var Is0=L(()=>{_6();N1();F1();k0$=_(W1(),1),C0$=_(p0(),1);Vs0=class Vs0 extends C0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[k0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketOwnershipControls",{}).n("S3Client","PutBucketOwnershipControlsCommand").sc(wl1).build(){}});var S0$,_0$,ks0;var Cs0=L(()=>{_6();N1();F1();S0$=_(W1(),1),_0$=_(p0(),1);ks0=class ks0 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()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketPolicy",{}).n("S3Client","PutBucketPolicyCommand").sc(El1).build(){}});var v0$,b0$,Ss0;var _s0=L(()=>{_6();N1();F1();v0$=_(W1(),1),b0$=_(p0(),1);Ss0=class Ss0 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()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketReplication",{}).n("S3Client","PutBucketReplicationCommand").sc(Pl1).build(){}});var x0$,f0$,vs0;var bs0=L(()=>{_6();N1();F1();x0$=_(W1(),1),f0$=_(p0(),1);vs0=class vs0 extends f0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[x0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketRequestPayment",{}).n("S3Client","PutBucketRequestPaymentCommand").sc(zl1).build(){}});var y0$,g0$,xs0;var fs0=L(()=>{_6();N1();F1();y0$=_(W1(),1),g0$=_(p0(),1);xs0=class xs0 extends g0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[y0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketTagging",{}).n("S3Client","PutBucketTaggingCommand").sc(Al1).build(){}});var h0$,u0$,ys0;var gs0=L(()=>{_6();N1();F1();h0$=_(W1(),1),u0$=_(p0(),1);ys0=class ys0 extends u0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[h0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketVersioning",{}).n("S3Client","PutBucketVersioningCommand").sc(Tl1).build(){}});var l0$,m0$,hs0;var us0=L(()=>{_6();N1();F1();l0$=_(W1(),1),m0$=_(p0(),1);hs0=class hs0 extends m0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[l0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketWebsite",{}).n("S3Client","PutBucketWebsiteCommand").sc(ql1).build(){}});var c0$,d0$,i0$,ls0;var ms0=L(()=>{_6();N1();F1();c0$=_(N$(),1),d0$=_(W1(),1),i0$=_(p0(),1);ls0=class ls0 extends i0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[d0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),c0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectAcl",{}).n("S3Client","PutObjectAclCommand").sc(Ml1).build(){}});var uG0,p0$,n0$,RG;var cs0=L(()=>{_6();YK();N1();F1();uG0=_(N$(),1),p0$=_(W1(),1),n0$=_(p0(),1);RG=class RG extends n0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[p0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),uG0.getCheckContentLengthHeaderPlugin(Q),uG0.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(Rl1).build(){}});var t0$,o0$,s0$,ds0;var is0=L(()=>{_6();N1();F1();t0$=_(N$(),1),o0$=_(W1(),1),s0$=_(p0(),1);ds0=class ds0 extends s0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[o0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),t0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLegalHold",{}).n("S3Client","PutObjectLegalHoldCommand").sc(Vl1).build(){}});var a0$,r0$,e0$,ps0;var ns0=L(()=>{_6();N1();F1();a0$=_(N$(),1),r0$=_(W1(),1),e0$=_(p0(),1);ps0=class ps0 extends e0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[r0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),a0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLockConfiguration",{}).n("S3Client","PutObjectLockConfigurationCommand").sc(Il1).build(){}});var $1$,Z1$,Q1$,ts0;var os0=L(()=>{_6();N1();F1();$1$=_(N$(),1),Z1$=_(W1(),1),Q1$=_(p0(),1);ts0=class ts0 extends Q1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Z1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),$1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectRetention",{}).n("S3Client","PutObjectRetentionCommand").sc(kl1).build(){}});var Y1$,X1$,J1$,mr;var ss0=L(()=>{_6();N1();F1();Y1$=_(N$(),1),X1$=_(W1(),1),J1$=_(p0(),1);mr=class mr extends J1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[X1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),Y1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(Cl1).build(){}});var G1$,W1$,as0;var rs0=L(()=>{_6();N1();F1();G1$=_(W1(),1),W1$=_(p0(),1);as0=class as0 extends W1$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[G1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutPublicAccessBlock",{}).n("S3Client","PutPublicAccessBlockCommand").sc(Sl1).build(){}});var K1$,H1$,F1$,es0;var $a0=L(()=>{N1();F1();K1$=_(N$(),1),H1$=_(W1(),1),F1$=_(p0(),1);es0=class es0 extends F1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[H1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),K1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RenameObject",{}).n("S3Client","RenameObjectCommand").sc(_l1).build(){}});var U1$,N1$,B1$,Za0;var Qa0=L(()=>{_6();N1();F1();U1$=_(N$(),1),N1$=_(W1(),1),B1$=_(p0(),1);Za0=class Za0 extends B1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[N1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),U1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RestoreObject",{}).n("S3Client","RestoreObjectCommand").sc(vl1).build(){}});var D1$,L1$,Ya0;var Xa0=L(()=>{YK();N1();F1();D1$=_(W1(),1),L1$=_(p0(),1);Ya0=class Ya0 extends L1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[D1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),VZ(Q)]}).s("AmazonS3","SelectObjectContent",{eventStream:{output:!0}}).n("S3Client","SelectObjectContentCommand").sc(bl1).build(){}});var O1$,j1$,Ja0;var Ga0=L(()=>{_6();N1();F1();O1$=_(W1(),1),j1$=_(p0(),1);Ja0=class Ja0 extends j1$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[O1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataInventoryTableConfiguration",{}).n("S3Client","UpdateBucketMetadataInventoryTableConfigurationCommand").sc(xl1).build(){}});var w1$,E1$,Wa0;var Ka0=L(()=>{_6();N1();F1();w1$=_(W1(),1),E1$=_(p0(),1);Wa0=class Wa0 extends E1$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[w1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataJournalTableConfiguration",{}).n("S3Client","UpdateBucketMetadataJournalTableConfigurationCommand").sc(fl1).build(){}});var P1$,z1$,A1$,Ha0;var Fa0=L(()=>{_6();N1();F1();P1$=_(N$(),1),z1$=_(W1(),1),A1$=_(p0(),1);Ha0=class Ha0 extends A1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[z1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),P1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","UpdateObjectEncryption",{}).n("S3Client","UpdateObjectEncryptionCommand").sc(yl1).build(){}});var T1$,q1$,R1$,cr;var Ua0=L(()=>{_6();YK();N1();F1();T1$=_(N$(),1),q1$=_(W1(),1),R1$=_(p0(),1);cr=class cr extends R1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[q1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),T1$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(gl1).build(){}});var M1$,V1$,I1$,Na0;var Ba0=L(()=>{YK();N1();F1();M1$=_(N$(),1),V1$=_(W1(),1),I1$=_(p0(),1);Na0=class Na0 extends I1$.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[V1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),M1$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPartCopy",{}).n("S3Client","UploadPartCopyCommand").sc(hl1).build(){}});var k1$,C1$,Da0;var La0=L(()=>{N1();F1();k1$=_(W1(),1),C1$=_(p0(),1);Da0=class Da0 extends C1$.Command.classBuilder().ep({...L0,UseObjectLambdaEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[k1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","WriteGetObjectResponse",{}).n("S3Client","WriteGetObjectResponseCommand").sc(ul1).build(){}});var S1$,_1$;var Oa0=L(()=>{fG0();iA();S1$=_(b7(),1),_1$=S1$.createPaginator(JY,hr,"ContinuationToken","ContinuationToken","MaxBuckets")});var v1$,b1$;var ja0=L(()=>{yG0();iA();v1$=_(b7(),1),b1$=v1$.createPaginator(JY,ur,"ContinuationToken","ContinuationToken","MaxDirectoryBuckets")});var x1$,f1$;var wa0=L(()=>{gG0();iA();x1$=_(b7(),1),f1$=x1$.createPaginator(JY,XK,"ContinuationToken","NextContinuationToken","MaxKeys")});var y1$,g1$;var Ea0=L(()=>{hG0();iA();y1$=_(b7(),1),g1$=y1$.createPaginator(JY,lr,"PartNumberMarker","NextPartNumberMarker","MaxParts")});var ym=()=>{let $=new WeakSet;return(Z,Q)=>{if(typeof Q==="object"&&Q!==null){if($.has(Q))return"[Circular]";$.add(Q)}return Q}};var h1$=($)=>{return new Promise((Z)=>setTimeout(Z,$*1000))};var u1$,P9,Ow=($)=>{if($.state===P9.ABORTED){let Z=Error(`${JSON.stringify({...$,reason:"Request was aborted"},ym())}`);throw Z.name="AbortError",Z}else if($.state===P9.TIMEOUT){let Z=Error(`${JSON.stringify({...$,reason:"Waiter has timed out"},ym())}`);throw Z.name="TimeoutError",Z}else if($.state!==P9.SUCCESS)throw Error(`${JSON.stringify($,ym())}`);return $};var lG0=L(()=>{u1$={minDelay:2,maxDelay:120};(function($){$.ABORTED="ABORTED",$.FAILURE="FAILURE",$.SUCCESS="SUCCESS",$.RETRY="RETRY",$.TIMEOUT="TIMEOUT"})(P9||(P9={}))});var l1$=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=cZ4(H,F,U,N);if(Y?.signal?.aborted||J?.aborted)return K["AbortController signal aborted."]|=0,K["AbortController signal aborted."]+=1,{state:P9.ABORTED,observedResponses:K};if(Date.now()+w>N)return{state:P9.TIMEOUT,observedResponses:K};await h1$(w/1000)}let{state:O,reason:j}=await W(X,G);if(j){let w=mZ4(j);K[w]|=0,K[w]+=1}if(O!==P9.RETRY)return{state:O,reason:j,final:j,observedResponses:K};if(U+=1,!D&&Date.now()>=B)lZ4(K,X),D=!0}},lZ4=($={},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.")},mZ4=($)=>{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($,ym())??"Unknown")},cZ4=($,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=dZ4($,G);if(Date.now()+W>Y){let K=Y-Date.now();return Math.max(0,K-500)}return W},dZ4=($,Z)=>$+Math.random()*(Z-$);var m1$=L(()=>{lG0()});var c1$=($)=>{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 d1$=()=>{};var i1$=($)=>{let Z,Q=new Promise((Y)=>{if(Z=()=>Y({state:P9.ABORTED}),typeof $.addEventListener==="function")$.addEventListener("abort",Z);else $.onabort=Z});return{clearListener(){if(typeof $.removeEventListener==="function")$.removeEventListener("abort",Z)},aborted:Q}},jw=async($,Z,Q)=>{let Y={...u1$,...$};c1$(Y);let X=[l1$(Y,Z,Q)],J=[];if($.abortSignal){let{aborted:G,clearListener:W}=i1$($.abortSignal);J.push(W),X.push(G)}if($.abortController?.signal){let{aborted:G,clearListener:W}=i1$($.abortController.signal);J.push(W),X.push(G)}return Promise.race(X).then((G)=>{for(let W of J)W();return G})};var p1$=L(()=>{m1$();d1$();lG0()});var dr=L(()=>{p1$();lG0()});var iZ4=async($,Z)=>{let Q;try{return Q=await $.send(new pA(Z)),{state:P9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.RETRY,reason:Q}}return{state:P9.RETRY,reason:Q}},n1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,iZ4);return Ow(Y)};var Pa0=L(()=>{dr();yr()});var pZ4=async($,Z)=>{let Q;try{Q=await $.send(new pA(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},t1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,pZ4);return Ow(Y)};var za0=L(()=>{dr();yr()});var nZ4=async($,Z)=>{let Q;try{return Q=await $.send(new mU(Z)),{state:P9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.RETRY,reason:Q}}return{state:P9.RETRY,reason:Q}},o1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,nZ4);return Ow(Y)};var Aa0=L(()=>{dr();gr()});var tZ4=async($,Z)=>{let Q;try{Q=await $.send(new mU(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},s1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,tZ4);return Ow(Y)};var Ta0=L(()=>{dr();gr()});var a1$,oZ4,sZ4,aZ4,r1$;var e1$=L(()=>{un0();ln0();cn0();in0();nn0();on0();sn0();w30();rn0();$t0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();Vt0();kt0();St0();vt0();xt0();yt0();ht0();lt0();ct0();it0();nt0();ot0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();Bo0();Lo0();jo0();Eo0();zo0();To0();Ro0();Vo0();ko0();Co0();_o0();bo0();fo0();go0();uo0();mo0();yr();gr();do0();po0();to0();so0();fG0();yG0();ro0();$s0();gG0();Qs0();hG0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Ps0();As0();qs0();Ms0();Is0();Cs0();_s0();bs0();fs0();gs0();us0();ms0();cs0();is0();ns0();os0();ss0();rs0();$a0();Qa0();Xa0();Ga0();Ka0();Fa0();Ua0();Ba0();La0();Oa0();ja0();wa0();Ea0();iA();Pa0();za0();Aa0();Ta0();a1$=_(p0(),1),oZ4={AbortMultipartUploadCommand:br,CompleteMultipartUploadCommand:xr,CopyObjectCommand:mn0,CreateBucketCommand:dn0,CreateBucketMetadataConfigurationCommand:pn0,CreateBucketMetadataTableConfigurationCommand:tn0,CreateMultipartUploadCommand:fr,CreateSessionCommand:Br,DeleteBucketCommand:en0,DeleteBucketAnalyticsConfigurationCommand:an0,DeleteBucketCorsCommand:Zt0,DeleteBucketEncryptionCommand:Yt0,DeleteBucketIntelligentTieringConfigurationCommand:Jt0,DeleteBucketInventoryConfigurationCommand:Wt0,DeleteBucketLifecycleCommand:Ht0,DeleteBucketMetadataConfigurationCommand:Ut0,DeleteBucketMetadataTableConfigurationCommand:Bt0,DeleteBucketMetricsConfigurationCommand:Lt0,DeleteBucketOwnershipControlsCommand:jt0,DeleteBucketPolicyCommand:Et0,DeleteBucketReplicationCommand:zt0,DeleteBucketTaggingCommand:Tt0,DeleteBucketWebsiteCommand:Rt0,DeleteObjectCommand:aD,DeleteObjectsCommand:It0,DeleteObjectTaggingCommand:Ct0,DeletePublicAccessBlockCommand:_t0,GetBucketAbacCommand:bt0,GetBucketAccelerateConfigurationCommand:ft0,GetBucketAclCommand:gt0,GetBucketAnalyticsConfigurationCommand:ut0,GetBucketCorsCommand:mt0,GetBucketEncryptionCommand:dt0,GetBucketIntelligentTieringConfigurationCommand:pt0,GetBucketInventoryConfigurationCommand:tt0,GetBucketLifecycleConfigurationCommand:st0,GetBucketLocationCommand:rt0,GetBucketLoggingCommand:$o0,GetBucketMetadataConfigurationCommand:Qo0,GetBucketMetadataTableConfigurationCommand:Xo0,GetBucketMetricsConfigurationCommand:Go0,GetBucketNotificationConfigurationCommand:Ko0,GetBucketOwnershipControlsCommand:Fo0,GetBucketPolicyCommand:No0,GetBucketPolicyStatusCommand:Do0,GetBucketReplicationCommand:Oo0,GetBucketRequestPaymentCommand:wo0,GetBucketTaggingCommand:Po0,GetBucketVersioningCommand:Ao0,GetBucketWebsiteCommand:qo0,GetObjectCommand:lU,GetObjectAclCommand:Mo0,GetObjectAttributesCommand:Io0,GetObjectLegalHoldCommand:So0,GetObjectLockConfigurationCommand:vo0,GetObjectRetentionCommand:xo0,GetObjectTaggingCommand:yo0,GetObjectTorrentCommand:ho0,GetPublicAccessBlockCommand:lo0,HeadBucketCommand:pA,HeadObjectCommand:mU,ListBucketAnalyticsConfigurationsCommand:co0,ListBucketIntelligentTieringConfigurationsCommand:io0,ListBucketInventoryConfigurationsCommand:no0,ListBucketMetricsConfigurationsCommand:oo0,ListBucketsCommand:hr,ListDirectoryBucketsCommand:ur,ListMultipartUploadsCommand:ao0,ListObjectsCommand:eo0,ListObjectsV2Command:XK,ListObjectVersionsCommand:Zs0,ListPartsCommand:lr,PutBucketAbacCommand:Ys0,PutBucketAccelerateConfigurationCommand:Js0,PutBucketAclCommand:Ws0,PutBucketAnalyticsConfigurationCommand:Hs0,PutBucketCorsCommand:Us0,PutBucketEncryptionCommand:Bs0,PutBucketIntelligentTieringConfigurationCommand:Ls0,PutBucketInventoryConfigurationCommand:js0,PutBucketLifecycleConfigurationCommand:Es0,PutBucketLoggingCommand:zs0,PutBucketMetricsConfigurationCommand:Ts0,PutBucketNotificationConfigurationCommand:Rs0,PutBucketOwnershipControlsCommand:Vs0,PutBucketPolicyCommand:ks0,PutBucketReplicationCommand:Ss0,PutBucketRequestPaymentCommand:vs0,PutBucketTaggingCommand:xs0,PutBucketVersioningCommand:ys0,PutBucketWebsiteCommand:hs0,PutObjectCommand:RG,PutObjectAclCommand:ls0,PutObjectLegalHoldCommand:ds0,PutObjectLockConfigurationCommand:ps0,PutObjectRetentionCommand:ts0,PutObjectTaggingCommand:mr,PutPublicAccessBlockCommand:as0,RenameObjectCommand:es0,RestoreObjectCommand:Za0,SelectObjectContentCommand:Ya0,UpdateBucketMetadataInventoryTableConfigurationCommand:Ja0,UpdateBucketMetadataJournalTableConfigurationCommand:Wa0,UpdateObjectEncryptionCommand:Ha0,UploadPartCommand:cr,UploadPartCopyCommand:Na0,WriteGetObjectResponseCommand:Da0},sZ4={paginateListBuckets:_1$,paginateListDirectoryBuckets:b1$,paginateListObjectsV2:f1$,paginateListParts:g1$},aZ4={waitUntilBucketExists:n1$,waitUntilBucketNotExists:t1$,waitUntilObjectExists:o1$,waitUntilObjectNotExists:s1$};r1$=class r1$ extends JY{};a1$.createAggregatedClient(oZ4,r1$,{paginators:sZ4,waiters:aZ4})});var $$$=L(()=>{un0();ln0();cn0();in0();nn0();on0();sn0();w30();rn0();$t0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();Vt0();St0();kt0();vt0();xt0();yt0();ht0();lt0();ct0();it0();nt0();ot0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();Bo0();Lo0();jo0();Eo0();zo0();To0();Ro0();Vo0();ko0();Co0();_o0();bo0();fo0();go0();uo0();mo0();yr();gr();do0();po0();to0();so0();fG0();yG0();ro0();Qs0();$s0();gG0();hG0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Ps0();As0();qs0();Ms0();Is0();Cs0();_s0();bs0();fs0();gs0();us0();ms0();cs0();is0();ns0();os0();ss0();rs0();$a0();Qa0();Xa0();Ga0();Ka0();Fa0();Ua0();Ba0();La0()});var Z$$=()=>{};var Q$$=L(()=>{Z$$();Oa0();ja0();wa0();Ea0()});var Y$$=L(()=>{Pa0();za0();Aa0();Ta0()});var X$$;var J$$=L(()=>{X$$={CRC32:"CRC32",CRC32C:"CRC32C",CRC64NVME:"CRC64NVME",MD5:"MD5",SHA1:"SHA1",SHA256:"SHA256",SHA512:"SHA512",XXHASH128:"XXHASH128",XXHASH3:"XXHASH3",XXHASH64:"XXHASH64"}});var G$$=()=>{};var W$$=()=>{};var ir=L(()=>{iA();e1$();$$$();F1();Q$$();Y$$();J$$();sd0();G$$();W$$()});function H$$($){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?K$$.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 K$$;var F$$=L(()=>{K$$=_(TX0(),1)});var U$$="UNSIGNED-PAYLOAD",N$$="X-Amz-Content-Sha256";class mG0{signer;constructor($){let Z={service:$.signingName||$.service||"s3",uriEscapePath:$.uriEscapePath||!1,applyChecksum:$.applyChecksum||!1,...$};this.signer=new B$$.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[N$$]=U$$;let X=$.headers.host,J=$.port,G=`${$.hostname}${$.port!=null?":"+J:""}`;if(!X||X===$.hostname&&$.port!=null)$.headers.host=G}}var B$$;var qa0=L(()=>{B$$=_(Dm(),1)});var D$$,L$$,cG0=async($,Z,Q={})=>{let Y,X;if(typeof $.config.endpointProvider==="function"){let N=(await D$$.getEndpointFromInstructions(Z.input,Z.constructor,$.config)).properties?.authSchemes?.[0];if(N?.name==="sigv4a")X=N?.signingRegionSet?.join(",");else X=N?.signingRegion;Y=new mG0({...$.config,signingName:N?.signingName,region:async()=>X})}else Y=new mG0($.config);let J=(U,N)=>async(B)=>{let{request:D}=B;if(!L$$.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 H$$(F)};var O$$=L(()=>{F$$();qa0();D$$=_(W1(),1),L$$=_(s5(),1)});var j$$=L(()=>{O$$();qa0()});import{extname as rZ4}from"path";function MG($){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 ww($,Z){let Q=MG(Z);if(!Q)throw Error("Key is empty after sanitization");return`${$}/${Q}`}function w$$($,Z){if(!Z)return`${$}/`;let Q=MG(Z);return`${$}/${Q}${Q.endsWith("/")?"":"/"}`}function gm($,Z,Q){let Y=Q.split("/").map(encodeURIComponent).join("/");return`${$}/api/${encodeURIComponent(Z)}/files/${Y}`}function Ra0($,Z){let Q=`${$}/`;if(Z.startsWith(Q))return Z.slice(Q.length);return Z}function f7($){let Z=rZ4($).toLowerCase();return eZ4[Z]??"application/octet-stream"}function dG0($){let Z=$.split(";")[0].trim();if($74.has(Z))return!0;if(Z.startsWith("text/"))return!0;return!1}var eZ4,$74;var eH=L(()=>{eZ4={".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"};$74=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 Ma0{client;bucket;constructor($){this.bucket=$.bucket,this.client=new JY({endpoint:$.endpoint,region:$.region,credentials:{accessKeyId:$.accessKeyId,secretAccessKey:$.secretAccessKey},forcePathStyle:$.forcePathStyle})}async getBytesOrPresign($,Z,Q){let Y=ww($,Z),X=await this.client.send(new mU({Bucket:this.bucket,Key:Y})),J=X.ContentLength??0,G=X.ContentType??f7(Z);if(J>Q.presignWhenLargerThan){let F=await cG0(this.client,new lU({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 lU({Bucket:this.bucket,Key:Y}))).Body.transformToByteArray(),H=dG0(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=ww($,Z);return(await this.client.send(new lU({Bucket:this.bucket,Key:Q}))).Body.transformToByteArray()}async put($,Z,Q,Y){let X=ww($,Z),J=Y?.contentType??f7(Z);return{etag:(await this.client.send(new RG({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=w$$($,Z?.prefix),Y=await this.client.send(new XK({Bucket:this.bucket,Prefix:Q,MaxKeys:Z?.maxKeys??1000,ContinuationToken:Z?.continuationToken,Delimiter:Z?.delimiter})),X=Y.CommonPrefixes?.map((J)=>Ra0($,J.Prefix??"")).filter(Boolean);return{objects:(Y.Contents??[]).map((J)=>({key:Ra0($,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=ww($,Z);await this.client.send(new aD({Bucket:this.bucket,Key:Q}))}async head($,Z){let Q=ww($,Z),Y=await this.client.send(new mU({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=ww($,Z);return cG0(this.client,new lU({Bucket:this.bucket,Key:X}),{expiresIn:Q})}async presignedPutUrl($,Z,Q=3600,Y){let X=ww($,Z);return cG0(this.client,new RG({Bucket:this.bucket,Key:X,ContentType:Y}),{expiresIn:Q})}}var E$$=L(()=>{ir();j$$();eH()});function Z74(){let $=B0();return!!($.s3Endpoint&&$.s3Bucket&&$.s3AccessKeyId&&$.s3SecretAccessKey)}function GJ(){if(pr!==void 0)return pr;if(!Z74())return pr=null,null;let $=B0();return pr=new Ma0({endpoint:$.s3Endpoint,bucket:$.s3Bucket,region:$.s3Region,accessKeyId:$.s3AccessKeyId,secretAccessKey:$.s3SecretAccessKey,forcePathStyle:$.s3ForcePathStyle}),pr}var pr;var Ew=L(()=>{u1();E$$()});function VG($,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 Q74,readdir as Y74,readFile as Va0,stat as iG0,unlink as X74,writeFile as J74}from"fs/promises";import{createHmac as G74}from"crypto";import{dirname as W74,join as nr}from"path";function Ia0($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return nr(K74,Z)}function hm($,Z){return nr(Ia0($),MG(Z))}class JK{orgId;baseUrl;constructor($,Z){this.orgId=$;this.baseUrl=Z}async getBytesOrPresign($,Z){let Q=hm(this.orgId,$),Y=await iG0(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 Va0(Q),G=dG0(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 Va0(hm(this.orgId,$));return new Uint8Array(Z)}async put($,Z,Q){let Y=hm(this.orgId,$);return await Q74(W74(Y),{recursive:!0}),await J74(Y,typeof Z==="string"?Buffer.from(Z,"utf-8"):Z),{key:$}}async list($){let Z=$?.prefix?nr(Ia0(this.orgId),MG($.prefix)):Ia0(this.orgId),Q;try{Q=await Y74(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 iG0(nr(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 iG0(nr(Z,W.name));return{key:X?`${X}/${W.name}`:W.name,size:K.size,lastModified:K.mtime}})),isTruncated:J.length>Y}}async delete($){await X74(hm(this.orgId,$))}async head($){let Z=await iG0(hm(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=hm(this.orgId,$),X=await Va0(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=MG($),Y=Math.floor(Date.now()/1000)+Z,X=B0().encryptionKey||"dev-secret",J=`${this.orgId}:${Q}:${Y}:PUT`,G=G74("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 K74="./data/assets";var um=L(()=>{eH();u1()});function GK($){return H74.test($)&&$!=="."&&$!==".."}function y7($){if(!GK($))throw Error(`Invalid org-fs volume name: ${JSON.stringify($)}`)}function O5($){return MG($)}function lm($){let Z=$.lastIndexOf("/");return Z===-1?"":$.slice(0,Z)}function Pw($){let Z=lm($);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 WK($,Z){return`${ka0}/${$}/${Z}`}function cU($){let[Z,Q="",...Y]=MG($).split("/");return Z===ka0?{volume:Q,path:Y.join("/")}:null}function pG0($){return`${ka0}/${$}/`}var H74,ka0="_fs";var GY=L(()=>{eH();H74=/^[A-Za-z0-9_.-]{1,128}$/});import{createHmac as Ca0,randomBytes as Sa0,scrypt as F74,timingSafeEqual as P$$}from"crypto";import{promisify as U74}from"util";async function A$$($){let Z=Sa0(16),Q=await z$$($,Z,N74);return`scrypt$${Z.toString("hex")}$${Q.toString("hex")}`}async function T$$($,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 z$$($,Y,X.length)}catch{return!1}return X.length===J.length&&P$$(X,J)}function q$$(){return Sa0(16).toString("hex")}function R$$(){if(nG0)return nG0;let $;try{let Z=B0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return nG0=$?Buffer.from($):Sa0(32),nG0}function M$$($){let Z=Buffer.from(JSON.stringify($)).toString("base64url"),Q=Ca0("sha256",R$$()).update(Z).digest("base64url");return`${Z}.${Q}`}function V$$($,Z){let Q=$.indexOf(".");if(Q<0)return null;let Y=$.slice(0,Q),X=Buffer.from($.slice(Q+1)),J=Buffer.from(Ca0("sha256",R$$()).update(Y).digest("base64url"));if(X.length!==J.length||!P$$(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 _a0($,Z,Q){return`fsu_${Ca0("sha256","fsunlock-name").update(`${$}:${Z}:${Q}`).digest("hex").slice(0,16)}`}var N74=64,z$$,nG0=null;var va0=L(()=>{u1();z$$=U74(F74)});import{createHash as B74}from"crypto";function w74($){if(typeof $!=="object"||$===null)return!1;let Z=$;return Z.name==="NoSuchKey"||Z.Code==="NoSuchKey"||Z.code==="ENOENT"||Z.$metadata?.httpStatusCode===404}function I$$($){return B74("sha256").update($).digest("hex")}class KK{storage;manifest;organizationId;maxFileBytes;volumeQuotaBytes;constructor($,Z,Q,Y={}){this.storage=$;this.manifest=Z;this.organizationId=Q;this.maxFileBytes=Y.maxFileBytes??O74,this.volumeQuotaBytes=Y.volumeQuotaBytes??j74}async usage($){return y7($),this.manifest.usage(this.organizationId,$)}async stat($,Z){return y7($),this.manifest.get(this.organizationId,$,O5(Z))}async listVolumeFiles($){return y7($),this.manifest.listVolumeFiles(this.organizationId,$)}async listDir($,Z){return y7($),this.manifest.listDir(this.organizationId,$,O5(Z))}async read($,Z){let Q=await this.requireFile($,Z);try{return await this.storage.getBytes(WK($,Q.path))}catch(Y){if(w74(Y))throw new WJ(`No such file: ${Q.path}`);throw Y}}async setShareMode($,Z,Q,Y){y7($);let X=O5(Z),J=await this.manifest.get(this.organizationId,$,X);if(!J)throw new WJ(`No such path: ${X}`);let G=null,W=null;if(Q==="password"){if(!Y.password)throw new IG("A password is required to set password mode");G=await A$$(Y.password),W=q$$()}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 WJ(`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=O5(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,...Pw(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=O5(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,$,Pw(Q))}async inheritsPublic($,Z){return y7($),this.manifest.hasPublicAncestorDir(this.organizationId,$,Pw(O5(Z)))}async childrenInheritPublic($,Z){y7($);let Q=O5(Z);if(Q==="")return!1;return this.manifest.hasPublicAncestorDir(this.organizationId,$,[...Pw(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?O5(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 Pw(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&&Pw(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(WK($,Y.path),Q)}async write($,Z,Q,Y){y7($);let X=O5(Z);if(X==="")throw new IG("Cannot write to the volume root");let J=typeof Q==="string"?new TextEncoder().encode(Q):Q;if(J.byteLength>this.maxFileBytes)throw new nA(`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 IG(`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 mm(`${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 nA(`Write would exceed the volume quota of ${this.volumeQuotaBytes} bytes`)}await this.ensureDirs($,X,Y.actor),await this.storage.put(WK($,X),J,{contentType:Y.contentType??f7(X)});try{return await $8(()=>this.manifest.putFile({organizationId:this.organizationId,volume:$,path:X,parent:lm(X),contentHash:I$$(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=O5(Z);if(Y==="")return;if((await this.manifest.get(this.organizationId,$,Y))?.kind==="file")throw new IG(`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:lm(Y),actor:Q.actor})}async delete($,Z,Q){y7($);let Y=O5(Z);if(Y==="")throw new IG("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(WK($,G.path)))),await this.manifest.tombstoneSubtree(this.organizationId,$,Y,Q.actor);return}await this.storage.delete(WK($,Y)),await this.manifest.tombstone(this.organizationId,$,Y,Q.actor)}async move($,Z,Q,Y){y7($);let X=O5(Z),J=O5(Q);if(X===""||J==="")throw new IG("Cannot move the volume root");if(J===X||J.startsWith(`${X}/`))throw new IG(`Cannot move ${X} onto itself or into its own subtree`);let G=await this.manifest.get(this.organizationId,$,X);if(!G)throw new WJ(`No such path: ${X}`);if(G.kind==="file"){let H=await this.storage.getBytes(WK($,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(WK($,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)=>O5(Y))});return new Set(Q)}async recent($){return this.manifest.recentFiles({organizationId:this.organizationId,limit:$})}async changes($,Z,Q=D74){y7($);let Y=Z||"0";if(!/^\d+$/.test(Y))throw new IG(`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=pG0($),Y,X=0;do{let J=await this.storage.list({prefix:Q,maxKeys:L74,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:lm(W),contentHash:I$$(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=O5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")throw new WJ(`No such file: ${Q}`);return Y}async ensureDirs($,Z,Q){for(let Y of Pw(Z))await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:lm(Y),actor:Q})}}var D74=500,L74=1000,O74=524288000,j74=10737418240,nA,IG,mm,WJ;var dU=L(()=>{h$();eH();GY();va0();nA=class nA extends Error{constructor($){super($);this.name="OrgFsQuotaError"}};IG=class IG extends Error{constructor($){super($);this.name="OrgFsValidationError"}};mm=class mm extends Error{constructor($){super($);this.name="OrgFsConflictError"}};WJ=class WJ extends Error{constructor($){super($);this.name="OrgFsNotFoundError"}}});import{existsSync as E74}from"fs";import{join as C$$}from"path";import{z as iU}from"zod";function HK($){return $.startsWith(S$$)}function zw($){return`${S$$}${$}`}function T74($){let Z=new Map(_$$.map((Q)=>[Q.set,Q]));if($)try{for(let Q of A74.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 FK(){let $=B0(),Z=T74($.orgFsPublicSetsJson);if($.nodeEnv==="production")return Z;return Z.map((Q)=>Q===_$$[0]&&E74(C$$(k$$,Q.paths[0].from))?{...Q,dir:k$$}:Q)}function or($){let Z=GJ(),Q=Z?VG(Z,tr):new JK(tr,$.baseUrl);return new KK(Q,$.storage.orgFsEntries,tr)}var tr="org_orgfs_public_skills",S$$="public-",P74,z74,_$$,A74,k$$;var Aw=L(()=>{u1();Ew();um();dU();P74=iU.object({from:iU.string(),to:iU.string().optional()}),z74=iU.object({set:iU.string().regex(/^[a-z0-9][a-z0-9-]{0,40}$/),repo:iU.string().regex(/^[\w.-]+\/[\w.-]+$/),ref:iU.string().min(1),paths:iU.array(P74).min(1),dir:iU.string().optional()}),_$$=[{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"}]}],A74=iU.array(z74).refine(($)=>new Set($.map((Z)=>Z.set)).size===$.length,{message:"duplicate set names"});k$$=C$$(import.meta.dir,"../../../..")});function rD($){if(typeof $==="string")return $.length>0?[$]:[];if(Array.isArray($))return $.flatMap(rD);if($!==null&&typeof $==="object")return Object.values($).flatMap(rD);return[]}var x0;var b5=L(()=>{x0=class x0 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 Tw}from"kysely";function ba0($){if($===null)return null;return $ instanceof Date?$.toISOString():String($)}function $F($){return{organizationId:$.organization_id,volume:$.volume,path:$.path,parent:$.parent,kind:$.kind,contentHash:$.content_hash,size:Number($.size),seq:String($.seq),deletedAt:ba0($.deleted_at),createdBy:$.created_by,createdAt:ba0($.created_at)??"",updatedBy:$.updated_by,updatedAt:ba0($.updated_at)??"",threadId:$.thread_id,readPublic:$.read_public,shareMode:!$.read_public?"private":$.share_password_hash?"password":"public"}}class ar{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:tG0,read_public:Tw`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`,thread_id:Tw`coalesce(cast(${Q} as text), org_fs_entry.thread_id)`})).returning(ZF).executeTakeFirstOrThrow();return $F(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:tG0,read_public:Tw`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(ZF).executeTakeFirst();return Y?$F(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(ZF).orderBy("path","asc").execute()).map((X)=>$F(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(ZF).execute()).map((Y)=>$F(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(ZF).execute()).map((Y)=>$F(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",`${sr(Q)}/%`).select(ZF).execute()).map((X)=>$F(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",`${sr(Q)}/%`).select(ZF).execute()).map((X)=>$F(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:tG0}).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:tG0}).where("organization_id","=",$).where("volume","=",Z).where("deleted_at","is",null).where((X)=>X.or([X("path","=",Q),X("path","like",`${sr(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(ZF).executeTakeFirst();return Q?$F(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"),Tw`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(ZF).orderBy("seq","desc").limit($.limit).execute()).map((Q)=>$F(Q))}async searchFiles($){if($.volumes&&$.volumes.length===0)return[];let Z=sr($.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",`${sr($.pathPrefix)}/%`);if($.beforeSeq)Q=Q.where("seq","<",Tw`cast(${$.beforeSeq} as bigint)`);return(await Q.select(ZF).orderBy("seq","desc").limit($.limit).execute()).map((X)=>$F(X))}async changesSince($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("seq",">",Tw`cast(${$.sinceSeq} as bigint)`).select(ZF).orderBy("seq","asc").limit($.limit).execute()).map((Q)=>$F(Q))}async latestSeq($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).select(Tw`max(seq)`.as("seq")).executeTakeFirst())?.seq??"0"}}function sr($){return $.replace(/[\\%_]/g,"\\$&")}var ZF,tG0;var xa0=L(()=>{ZF=["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"],tG0=Tw`nextval('org_fs_entry_seq')`});import{createHash as q74}from"crypto";import{readdir as R74,readFile as M74,stat as V74}from"fs/promises";import{join as v$$}from"path";import{gunzipSync as I74}from"zlib";function ya0($,Z,Q){let Y=Z,X=Z+Q;while(Y<X&&$[Y]!==0)Y++;return new TextDecoder().decode($.subarray(Z,Y))}function C74($,Z,Q){let Y=ya0($,Z,Q).trim();return Y===""?0:Number.parseInt(Y,8)}function S74($){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=ya0(J,0,100),W=ya0(J,345,155);if(W)G=`${W}/${G}`;let K=C74(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 _74($,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 b$$($,Z){if($.length>cm)throw Error(`tarball for ${Z} exceeds ${cm} bytes`);let Q=S74(new Uint8Array(I74($,{maxOutputLength:k74}))),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 x$$($,Z,Q){if($>Z)throw Error(`tarball for ${Q} exceeds ${Z} bytes`)}async function v74($,Z){let Q=[],Y=0,X=$.getReader();try{while(!0){let{done:W,value:K}=await X.read();if(W)break;Y+=K.length,x$$(Y,cm,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 f$$($){if($ instanceof ga0)return $.status>=500||$.status===429;if($ instanceof x0)return $.status===0||$.status>=500||$.status===429;if($ instanceof Error&&/declares .* bytes|exceeds .* bytes/.test($.message))return!1;return!0}async function b74($,Z,Q){let{url:Y,headers:X}=_74($,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 ga0(W.status,`tarball fetch failed for ${J}: HTTP ${W.status}`);let K=Number(W.headers.get("content-length")??0);if(K>cm)throw Error(`tarball for ${J} declares ${K} bytes (cap ${cm})`);let H=new Uint8Array(await W.arrayBuffer());return x$$(H.length,cm,J),H};try{let W=await $8(G,{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:f$$});return b$$(W,J)}catch(W){if(W instanceof Q5)throw W.cause instanceof Error?W.cause:W;throw W}}async function x74($,Z){let Q=new Map;for(let{from:Y}of Z){let X=v$$($,Y);for(let J of await R74(X,{recursive:!0})){let G=v$$(X,J);if(!(await V74(G)).isFile())continue;Q.set(Y?`${Y}/${J}`:J,new Uint8Array(await M74(G)))}}return Q}async function f74($,Z){if($.dir)return x74($.dir,$.paths);if(!Z.tarball)return b74($.repo,$.ref,Z.authToken);let Q=Z.tarball,Y=`${$.repo}@${$.ref}`,X;try{X=await $8(()=>Q(),{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:f$$})}catch(J){throw J instanceof Q5&&J.cause instanceof Error?J.cause:J}if(!X)throw Error(`tarball not found for ${Y}`);return b$$(await v74(X,Y),Y)}function y74($,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=O5(X?`${X}/${K}`:K);if(H)Q.set(H,W)}}return Q}function g74($,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 h74($){return q74("sha256").update($).digest("hex")}function u74($){return $.manifestHash===$.hash&&$.storedPaths.has($.path)}async function l74($,Z){let Q=pG0(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 ha0($,Z){let{orgId:Q,volume:Y,source:X}=Z,J=GJ(),G=J?VG(J,Q):new JK(Q,Z.baseUrl),W=new ar($),K=new KK(G,W,Q),H=y74(await f74(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:fa0}),U++}let N=await W.listVolumeDirs(Q,Y);for(let j of g74(H.keys(),N.map((w)=>w.path)))await K.delete(Y,j,{actor:fa0});let B=0,D=0,O=await l74(G,Y);for(let[j,w]of H){if(u74({hash:h74(w),manifestHash:F.get(j),storedPaths:O,path:j})){D++;continue}await K.write(Y,j,w,{actor:fa0,contentType:f7(j),skipVolumeQuota:Z.skipVolumeQuota}),B++}return{written:B,deleted:U,unchanged:D}}async function m74($,Z,Q){let Y=await ha0($,{orgId:tr,baseUrl:Q.baseUrl,volume:zw(Z.set),source:Z,skipVolumeQuota:!0});return{set:Z.set,...Y}}async function ua0($,Z,Q){try{return await m74($,Z,Q)}catch(Y){return{set:Z.set,error:Y instanceof Error?Y.message:String(Y)}}}async function y$$($,Z){let Q=[];for(let Y of FK())Q.push(await ua0($,Y,Z));return Q}var fa0="system:skill-set-sync",cm=209715200,k74=1073741824,ga0;var oG0=L(()=>{h$();b5();xa0();um();Ew();eH();dU();GY();Aw();ga0=class ga0 extends Error{status;constructor($,Z){super(Z);this.status=$;this.name="TarballHttpError"}}});import{DBOS as sG0,SchedulerMode as c74}from"@dbos-inc/dbos-sdk";function g$$($){la0=$}function i74(){if(!la0)throw Error("[org-fs] public-sets sync runtime not initialized \u2014 setPublicSetsSyncRuntime() must run before the workflow fires");return la0}async function p74($,Z){for(let Q of FK()){let Y=await sG0.runStep(()=>{let X=i74();return ua0(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 h$$(){if(rr)return;rr=sG0.registerWorkflow(p74,{name:"publicSetsSyncWorkflow"}),sG0.registerScheduled(rr,{name:"publicSetsSyncWorkflow",crontab:d74,mode:c74.ExactlyOncePerIntervalWhenActive})}async function u$$(){if(FK().length===0||!rr)return;let $=new Date,Z=`public-sets-sync-boot:${$.toISOString().slice(0,13)}`;await sG0.startWorkflow(rr,{workflowID:Z})($,$)}var d74="4,14,24,34,44,54 * * * *",la0=null,rr=null;var l$$=L(()=>{Aw();oG0()});import{createHash as m$$}from"crypto";class ma0{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:m$$("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:m$$("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 c$$=()=>{};import{jwtVerify as n74,SignJWT as d$$}from"jose";import{randomBytes as t74}from"crypto";function i$$(){if(er)return er;let $=B0(),Z=$.studioJwtSecret??$.betterAuthSecret;if(Z)er=new TextEncoder().encode(Z);else console.warn("STUDIO_JWT_SECRET not set - generating random secret (not persistent)"),er=new Uint8Array(t74(32));return er}async function p$$($,Z="5m"){let Q=i$$();return await new d$$($).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Z).sign(Q)}async function ca0($){try{let Z=i$$(),{payload:Q}=await n74($,Z);return Q}catch{return}}async function DQ($,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 d$$({iss:"mesh",sub:$,...Z&&{email:Z}}).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Math.floor(Date.now()/1000)+Q).sign(J)}var er=null;var QF=L(()=>{u1()});import{createCipheriv as o74,createDecipheriv as s74,createHash as a74,randomBytes as n$$}from"crypto";class KJ{key;constructor($){if(Buffer.from($,"base64").length===s$$)this.key=Buffer.from($,"base64");else this.key=a74("sha256").update($).digest()}async encrypt($){let Z=n$$($e),Q=o74(t$$,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,$e),Y=Z.subarray($e,$e+o$$),X=Z.subarray($e+o$$),J=s74(t$$,this.key,Q);J.setAuthTag(Y);let G=J.update(X);return G=Buffer.concat([G,J.final()]),G.toString("utf8")}static generateKey(){return n$$(s$$).toString("base64")}}var t$$="aes-256-gcm",$e=16,o$$=16,s$$=32;var qw=()=>{};function u9(){let $=B0();if($.baseUrl)return $.baseUrl;return`http://localhost:${$.port??3000}`}function a$$(){return`http://localhost:${B0().port??3000}`}function j5(){return B0().publicUrl??u9()}var F9=L(()=>{u1()});function dm($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}import{z as r74}from"zod";function Qe($){return tA.safeParse($).success}function Ye($,Z){let Q=dm($??"").slice(0,Ze).replace(/-+$/,"");return Qe(Q)?Q:Z}function da0($,Z){if(Z<=1)return $;let Q=`-${Z}`;return`${$.slice(0,Ze-Q.length).replace(/-+$/,"")}${Q}`}var e74=2,Ze=64,$Q4,ZQ4,tA;var Rw=L(()=>{$Q4=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,ZQ4=new Set(["new","edit","settings","apps","projects","connections"]),tA=r74.string().min(e74).max(Ze).regex($Q4,"Use lowercase letters, digits, and single hyphens between them").refine(($)=>!$.includes("--"),"Use single hyphens").refine(($)=>!ZQ4.has($),"This slug is reserved")});import{z as b0}from"zod";function pa0($){let Z=$?.homeTiles;if(Array.isArray(Z)&&Z.length>0)return Z;let Q=$?.homeTile;return Q?[Q]:[]}function eD($){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]=na0.parse(X)}catch{}}return Q}function ta0($){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=eD(G);if(Object.keys(W).length>0)X[J]=W}if(Object.keys(X).length>0)Z[Q]=X}return Z}var $8$,ia0=500,Z8$=200,QQ4=200,YQ4=20,XQ4=50,JQ4=100,GQ4=20,WQ4=100,Q8$=300,KQ4=100,HQ4=8192,Y8$,FQ4,X8$,oA,UQ4,NQ4,J8$,r$$,BQ4,aG0,e$$,DQ4,rG0=2,LQ4,OQ4,eG0,jQ4,wQ4,na0,G8$,EQ4,PQ4,zQ4,AQ4,TQ4,qQ4,RQ4,W8$,MQ4,oa0,eY,sa0,$W0,ZW0;var aa0=L(()=>{Rw();$8$=b0.object({connection_id:b0.string().describe("Connection ID"),selected_tools:b0.array(b0.string()).nullable().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:b0.array(b0.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:b0.array(b0.string()).nullable().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),Y8$=$8$.extend({selected_tools:b0.array(b0.string()).max(ia0).nullable().optional().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:b0.array(b0.string()).max(ia0).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:b0.array(b0.string()).max(ia0).nullable().optional().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),FQ4=b0.object({connectionId:b0.string(),toolName:b0.string(),label:b0.string(),icon:b0.string().nullable().optional()}),X8$=b0.object({id:b0.string().describe("Stable id; used as React key and ?tab= value"),title:b0.string().describe("Tab label"),icon:b0.string().optional().describe("Optional lucide icon name"),view:b0.object({type:b0.literal("ext-app"),appId:b0.string(),args:b0.record(b0.string(),b0.unknown()).optional()})}),oA=b0.enum(["overview","reports","board","site-editor","assets","releases","hosting","e2e","analytics","cdn","automations","experiments","calendar"]),UQ4=b0.enum(["on","off"]),NQ4=b0.enum(["on","off","manual","auto"]),J8$=b0.object({defaultMainView:b0.object({type:b0.string(),id:b0.string().optional(),toolName:b0.string().optional()}).nullable().optional(),chatDefaultOpen:b0.boolean().nullable().optional(),cmsDefaultOpen:b0.boolean().nullable().optional(),cms:NQ4.nullable().optional().describe("How this agent offers content editing. Absent means on; the retired `manual` / `auto` read as on too."),sidebarViews:b0.array(oA).max(oA.options.length).nullable().optional().describe("Deprecated layout-scoped sidebar selections. Read only as a fallback when metadata.sidebarViews is absent."),tabs:b0.array(X8$).max(GQ4).optional()}),r$$=b0.object({tileId:b0.string().optional(),connectionId:b0.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:b0.string().describe("ui:// resource URI exposed by `connectionId`. Read on the home page and rendered via MCPAppRenderer."),toolName:b0.string().optional().describe("Tool name \u2014 identifies which tool's inputSchema to display when editing tile props."),toolInput:b0.record(b0.string(),b0.unknown()).optional().describe("User-configured input props passed to MCPAppRenderer when rendering the tile."),minHeight:b0.number().int().positive().optional(),maxHeight:b0.number().int().positive().optional()}),BQ4=b0.object({banner:b0.string().nullable().optional(),bannerColor:b0.string().nullable().optional(),icon:b0.string().nullable().optional(),themeColor:b0.string().nullable().optional(),pinnedViews:b0.array(FQ4).max(JQ4).nullable().optional(),layout:J8$.nullable().optional(),homeTile:r$$.nullable().optional(),homeTiles:b0.array(r$$).max(YQ4).nullable().optional(),homePrompts:b0.array(b0.string()).max(XQ4).nullable().optional()});aG0=/^[A-Za-z_][A-Za-z0-9_]*$/,e$$=b0.string().min(1).regex(aG0,{message:"Env var key must start with a letter or underscore and contain only letters, digits, and underscores."}),DQ4=b0.discriminatedUnion("kind",[b0.object({key:e$$,kind:b0.literal("literal"),value:b0.string().max(HQ4)}),b0.object({key:e$$,kind:b0.literal("secret"),secretId:b0.string().min(1)})]),LQ4=b0.object({path:b0.string().trim().min(1).max(256).describe("Path (relative to repo root) to the app's package.json directory.")}),OQ4=b0.object({selected:b0.string().nullable().optional().describe("User-selected package manager (npm | pnpm | yarn | bun | deno). Null/absent means autodetect on next SANDBOX_START."),port:b0.string().nullable().optional().describe("User-selected dev server port as a string (allows '' / null for unset). Null/absent means autodetect."),path:b0.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."),apps:b0.array(LQ4).max(rG0).nullable().optional().describe("Additional monorepo apps previewed beside the one at `path`, each run by its own dev server on the main app's install. Started only when the organization's `multi_app_preview` flag is on."),env:b0.array(DQ4).max(KQ4).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.")}),eG0=b0.object({url:b0.string().describe("Repository URL, including its provider host"),owner:b0.string().describe("Repository owner"),name:b0.string().describe("Repository name"),installationId:b0.number().optional().describe("GitHub App installation ID. Absent when the repo was linked without a GitHub connection (public-clone mode)."),connectionId:b0.string().optional().describe("ID of the mcp-github connection used for authentication. Absent for public repos cloned without credentials."),repositoryId:b0.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.")}),jQ4=b0.enum(["agent-sandbox","local-api"]),wQ4={sandboxHandle:b0.string().describe("Provider-specific handle"),previewUrl:b0.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:b0.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:b0.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:b0.object({packageManager:b0.string().nullable().optional().describe("metadata.runtime.selected at the time of SANDBOX_START"),port:b0.string().nullable().optional().describe("metadata.runtime.port at the time of SANDBOX_START"),path:b0.string().nullable().optional().describe("metadata.runtime.path at the time of SANDBOX_START"),apps:b0.array(b0.string()).nullable().optional().describe("Extra app paths the sandbox was given at SANDBOX_START; null when none were sent.")}).optional().describe("Snapshot of metadata.runtime fields (selected/port/path/apps) used at SANDBOX_START. The Preview tab compares the live metadata.runtime against this to decide if a restart is required to apply changes.")},na0=b0.object(wQ4);G8$=b0.record(b0.string().describe("userId"),b0.record(b0.string().describe("branch"),b0.partialRecord(jQ4,na0)));EQ4=b0.object({id:b0.string().describe("Stable identifier for this knowledge file"),name:b0.string().describe("File name shown in the UI"),kind:b0.enum(["file","skill"]).optional().describe("'file' (a single document) or 'skill' (a Claude Code skill folder containing SKILL.md). Defaults to 'file'."),volume:b0.string().describe("Org filesystem (Library) volume the file lives in"),path:b0.string().describe("Path within the volume"),url:b0.string().describe("Same-origin URL to read the file (display/download)"),contentType:b0.string().nullable().optional().describe("MIME type, used to decide whether to inline the content"),size:b0.number().nullable().optional().describe("File size in bytes"),addedAt:b0.string().describe("ISO timestamp when the file was attached")}),PQ4=b0.array(EQ4).max(WQ4).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."),zQ4=b0.enum(["smart","code-review","open"]),AQ4=zQ4.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."),TQ4=b0.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."),qQ4=b0.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."),RQ4=b0.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."),W8$=b0.object({branch:b0.string().describe("Git branch backing this release"),name:b0.string().describe('User-facing name, e.g. "Black Friday 2026"'),color:b0.string().describe("Dot color token shown in the version switcher"),createdBy:b0.string().optional().describe("User ID who created the release"),createdAt:b0.string().optional().describe("ISO 8601 creation timestamp")}),MQ4=b0.array(W8$).max(Q8$).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."),oa0={instructions:b0.string().nullable().optional().describe("Instructions also used as system prompt"),subAgents:b0.array(b0.string()).max(QQ4).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:BQ4.nullable().optional().describe("UI customization settings"),sidebarViews:b0.array(oA).max(oA.options.length).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:b0.literal(1).optional().describe("Version 1 marks metadata.sidebarViews as an exact list that can disable legacy default rows."),sidebarViewsSeen:b0.array(oA).max(oA.options.length).nullable().optional().describe("Views Studio offered this project once on top of an exact sidebarViews list (Experiments and Calendar on a Blocks site). A view listed here shows only when sidebarViews selects it, so hiding it sticks."),repository:eG0.nullable().optional().describe("Linked repository"),runtime:OQ4.nullable().optional().describe("User-pinned runtime config (package manager, dev port). Empty fields = autodetect."),knowledge:PQ4,siteSlug:b0.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:AQ4,previewServerUrl:RQ4,productionUrl:b0.string().nullable().optional().describe("Legacy key for previewServerUrl \u2014 still read as a fallback. New writes use previewServerUrl."),fieldDescriptionTooltips:b0.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:TQ4,releases:MQ4,fastPreviewInPlace:qQ4},eY=b0.object({id:b0.string().describe("Unique identifier"),title:b0.string().describe("Human-readable name"),url_slug:b0.string().nullable().optional().describe("Name of the project in Studio URLs, unique in the organization"),description:b0.string().nullable().describe("Description"),icon:b0.string().nullable().describe("Icon URL"),created_at:b0.string().describe("Creation timestamp"),updated_at:b0.string().describe("Last update timestamp"),created_by:b0.string().describe("User ID who created this item"),updated_by:b0.string().optional().describe("User ID who last updated this item"),organization_id:b0.string().describe("Organization ID this item belongs to"),status:b0.enum(["active","inactive"]).describe("Current status"),pinned:b0.boolean().describe("Whether this space is pinned to the sidebar"),metadata:b0.object(oa0).extend({instructions:b0.string().nullable().describe("Instructions also used as system prompt"),sandboxMap:G8$.optional().describe("Per-user, per-branch sandbox mapping: sandboxMap[userId][branch] -> { sandboxHandle, previewUrl }")}).loose().describe("Metadata"),connections:b0.array($8$).describe("Connections with their selected tools, resources, and prompts")}),sa0=b0.object({title:b0.string().min(1).max(120).describe("Short label shown on the chip"),description:b0.string().max(280).optional().describe("One-line subtitle shown under the title"),text:b0.string().min(1).max(4000).describe("The message sent to the agent when the prompt is clicked")}),$W0=b0.object({title:b0.string().min(1).max(255).describe("Name for the virtual MCP"),description:b0.string().max(500).nullable().optional().describe("Optional description"),icon:b0.string().nullish().describe("Optional icon URL"),status:b0.enum(["active","inactive"]).optional().default("active").describe("Initial status"),pinned:b0.boolean().optional().default(!1).describe("Pin to sidebar"),metadata:b0.object(oa0).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:b0.array(Y8$).max(Z8$).describe("Connections to include/exclude (can be empty for exclusion mode)"),prompts:b0.array(sa0).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.")}),ZW0=b0.object({title:b0.string().min(1).max(255).optional().describe("New name"),url_slug:tA.nullish().describe("New URL slug. The old one keeps redirecting. Renaming does not change it. null keeps the current slug."),description:b0.string().max(500).nullable().optional().describe("New description (null to clear)"),icon:b0.string().nullish().describe("New icon URL"),status:b0.enum(["active","inactive"]).optional().describe("New status"),pinned:b0.boolean().optional().describe("Pin/unpin from sidebar"),metadata:b0.object(oa0).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:b0.array(Y8$).max(Z8$).optional().describe("New connections (replaces existing)"),prompts:b0.array(sa0).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 H8$($){return $==="repository"||$==="additionalRepositories"?ea0[$]:$}function F8$($){return $!==null&&typeof $==="object"&&!Array.isArray($)?$:null}function K8$($){let Z=F8$($),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=eG0.safeParse(Q?{...Z,url:Q}:$);if(!Y.success)return null;try{return ra0(Y.data)??null}catch{return null}}function YF($){let Z=F8$($);if(!Z)return null;let Q={...Z};for(let[Y,X]of Object.entries(ea0)){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=K8$(J);else Q.additionalRepositories=J===null?null:Array.isArray(J)?J.map(K8$).filter((G)=>G!==null):[]}return Q}function ra0($){if($===null||$===void 0)return $;let Z=eG0.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 pU($){if(!$)return null;let Z={...$};for(let[Q,Y]of Object.entries(ea0)){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]=ra0(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)=>ra0(J))}}return Z}var ea0;var Xe=L(()=>{aa0();ea0={repository:"githubRepo",additionalRepositories:"githubRepos"}});var Je=($,Z)=>{if(Z===null||Z===void 0)return;let Q=$.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),Y=Z;for(let X of Q){if(Y===null||Y===void 0||typeof Y!=="object")return;Y=Y[X]}return Y};function QW0($){let Z=$.split("::");if(Z.length!==2||!Z[0]||!Z[1])throw Error(`Invalid scope format: ${$}. Expected format: "KEY::SCOPE"`);return Z}function VQ4($){try{return QW0($)}catch{return null}}function IQ4($){if(typeof $==="object"&&$!==null&&"value"in $){let Z=$.value;if(typeof Z==="string")return Z}return null}function $r0($,Z){let Q={};if(!$||!Z)return Q;for(let Y of Z){if(Y==="*"){Q["*"]=["*"];continue}let X=VQ4(Y);if(!X)continue;let[J,G]=X,W=Je(J,$),K=IQ4(W);if(K){if(!Q[K])Q[K]=[];Q[K].push(G)}}return Q}function U8$($,Z){let Q=$r0($,Z);return new Set(Object.keys(Q).filter((Y)=>Y!=="*"))}var Zr0=()=>{};async function N8$($){if(!$.refreshToken)return{success:!1,permanent:!1,error:"No refresh token available"};if(!$.tokenEndpoint)return{success:!1,permanent:!1,error:"No token endpoint available"};if(!$.clientId)return{success:!1,permanent:!1,error:"No client ID available"};try{let Z=new URLSearchParams({grant_type:"refresh_token",refresh_token:$.refreshToken,client_id:$.clientId});if($.clientSecret)Z.set("client_secret",$.clientSecret);if($.scope)Z.set("scope",$.scope);let Q=await fetch($.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Z.toString(),signal:AbortSignal.timeout(1e4)});if(!Q.ok){let G=await Q.text(),W,K;try{let F=JSON.parse(G);if(typeof F.error==="string")W=F.error;if(typeof F.error_description==="string")K=F.error_description}catch{}let H=Q.status===400&&!!W&&kQ4.has(W);return(H?console.error:console.warn)("[TokenRefresh] refresh failed",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint,status:Q.status,errorCode:W,errorDescription:K,permanent:H}),{success:!1,permanent:H,status:Q.status,errorCode:W,error:K||W||`Token refresh failed: ${Q.status}`}}let Y=await Q.json();if(typeof Y.access_token!=="string"||!Y.access_token)return console.warn("[TokenRefresh] 200 response missing access_token",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint}),{success:!1,permanent:!1,status:Q.status,error:"Token endpoint returned no access_token"};let X,J=!1;if(Y.expires_in!==void 0){let G=Number(Y.expires_in);if(Number.isFinite(G)&&G>=0&&G<=3153600000)X=G;else J=!0,console.warn("[TokenRefresh] ignoring malformed expires_in",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint,expiresIn:Y.expires_in})}return{success:!0,accessToken:Y.access_token,refreshToken:typeof Y.refresh_token==="string"&&Y.refresh_token?Y.refresh_token:$.refreshToken,expiresIn:X,expiresInMalformed:J,scope:typeof Y.scope==="string"?Y.scope:void 0}}catch(Z){return console.warn("[TokenRefresh] network/parse error",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint,message:Z instanceof Error?Z.message:String(Z)}),{success:!1,permanent:!1,error:Z instanceof Error?Z.message:"Token refresh failed"}}}var kQ4;var B8$=L(()=>{kQ4=new Set(["invalid_grant","bad_refresh_token"])});var Qr0=($,Z,Q)=>{return(Y,X)=>{let J=-1;return G(0);async function G(W){if(W<=J)throw Error("next() called multiple times");J=W;let K,H=!1,F;if($[W])F=$[W][0][0],Y.req.routeIndex=W;else F=W===$.length&&X||void 0;if(F)try{K=await F(Y,()=>G(W+1))}catch(U){if(U instanceof Error&&Z)Y.error=U,K=await Z(U,Y),H=!0;else throw U}else if(Y.finalized===!1&&Q)K=await Q(Y);if(K&&(Y.finalized===!1||H))Y.res=K;return Y}}};var D8$=()=>{};var R1;var W3=L(()=>{R1=class extends Error{res;status;constructor($=500,Z){super(Z?.message,{cause:Z?.cause});this.res=Z?.res,this.status=$}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}}});var L8$;var O8$=L(()=>{L8$=Symbol()});async function CQ4($,Z){let Q=await $.formData();if(Q)return SQ4(Q,Z);return{}}function SQ4($,Z){let Q=Object.create(null);if($.forEach((Y,X)=>{if(!(Z.all||X.endsWith("[]")))Q[X]=Y;else _Q4(Q,X,Y)}),Z.dot)Object.entries(Q).forEach(([Y,X])=>{if(Y.includes("."))vQ4(Q,Y,X),delete Q[Y]});return Q}var j8$=async($,Z=Object.create(null))=>{let{all:Q=!1,dot:Y=!1}=Z,J=($ instanceof YW0?$.raw.headers:$.headers).get("Content-Type");if(J?.startsWith("multipart/form-data")||J?.startsWith("application/x-www-form-urlencoded"))return CQ4($,{all:Q,dot:Y});return{}},_Q4=($,Z,Q)=>{if($[Z]!==void 0)if(Array.isArray($[Z]))$[Z].push(Q);else $[Z]=[$[Z],Q];else if(!Z.endsWith("[]"))$[Z]=Q;else $[Z]=[Q]},vQ4=($,Z,Q)=>{if(/(?:^|\.)__proto__\./.test(Z))return;let Y=$,X=Z.split(".");X.forEach((J,G)=>{if(G===X.length-1)Y[J]=Q;else{if(!Y[J]||typeof Y[J]!=="object"||Array.isArray(Y[J])||Y[J]instanceof File)Y[J]=Object.create(null);Y=Y[J]}})};var w8$=L(()=>{Yr0()});var Jr0=($)=>{let Z=$.split("/");if(Z[0]==="")Z.shift();return Z},E8$=($)=>{let{groups:Z,path:Q}=bQ4($),Y=Jr0(Q);return xQ4(Y,Z)},bQ4=($)=>{let Z=[];return $=$.replace(/\{[^}]+\}/g,(Q,Y)=>{let X=`@${Y}`;return Z.push([X,Q]),X}),{groups:Z,path:$}},xQ4=($,Z)=>{for(let Q=Z.length-1;Q>=0;Q--){let[Y]=Z[Q];for(let X=$.length-1;X>=0;X--)if($[X].includes(Y)){$[X]=$[X].replace(Y,Z[Q][1]);break}}return $},XW0,P8$=($,Z)=>{if($==="*")return"*";let Q=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let Y=`${$}#${Z}`;if(!XW0[Y])if(Q[2])XW0[Y]=Z&&Z[0]!==":"&&Z[0]!=="*"?[Y,Q[1],new RegExp(`^${Q[2]}(?=/${Z})`)]:[$,Q[1],new RegExp(`^${Q[2]}$`)];else XW0[Y]=[$,Q[1],!0];return XW0[Y]}return null},im=($,Z)=>{try{return Z($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return Z(Q)}catch{return Q}})}},z8$=($)=>im($,decodeURI),Gr0=($)=>{let Z=$.url,Q=Z.indexOf("/",Z.indexOf(":")+4),Y=Q;for(;Y<Z.length;Y++){let X=Z.charCodeAt(Y);if(X===37){let J=Z.indexOf("?",Y),G=Z.indexOf("#",Y),W=J===-1?G===-1?void 0:G:G===-1?J:Math.min(J,G),K=Z.slice(Q,W);return z8$(K.includes("%25")?K.replace(/%25/g,"%2525"):K)}else if(X===63||X===35)break}return Z.slice(Q,Y)},A8$=($)=>{let Z=Gr0($);return Z.length>1&&Z.at(-1)==="/"?Z.slice(0,-1):Z},sA=($,Z,...Q)=>{if(Q.length)Z=sA(Z,...Q);return`${$?.[0]==="/"?"":"/"}${$}${Z==="/"?"":`${$?.at(-1)==="/"?"":"/"}${Z?.[0]==="/"?Z.slice(1):Z}`}`},JW0=($)=>{if($.charCodeAt($.length-1)!==63||!$.includes(":"))return null;let Z=$.split("/"),Q=[],Y="";return Z.forEach((X)=>{if(X!==""&&!/\:/.test(X))Y+="/"+X;else if(/\:/.test(X))if(/\?/.test(X)){if(Q.length===0&&Y==="")Q.push("/");else Q.push(Y);let J=X.replace("?","");Y+="/"+J,Q.push(Y)}else Y+="/"+X}),Q.filter((X,J,G)=>G.indexOf(X)===J)},Xr0=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?im($,Ge):$},T8$=($,Z,Q)=>{let Y;if(!Q&&Z&&!/[%+]/.test(Z)){let G=$.indexOf("?",8);if(G===-1)return;if(!$.startsWith(Z,G+1))G=$.indexOf(`&${Z}`,G+1);while(G!==-1){let W=$.charCodeAt(G+Z.length+1);if(W===61){let K=G+Z.length+2,H=$.indexOf("&",K);return Xr0($.slice(K,H===-1?void 0:H))}else if(W==38||isNaN(W))return"";G=$.indexOf(`&${Z}`,G+1)}if(Y=/[%+]/.test($),!Y)return}let X={};Y??=/[%+]/.test($);let J=$.indexOf("?",8);while(J!==-1){let G=$.indexOf("&",J+1),W=$.indexOf("=",J);if(W>G&&G!==-1)W=-1;let K=$.slice(J+1,W===-1?G===-1?void 0:G:W);if(Y)K=Xr0(K);if(J=G,K==="")continue;let H;if(W===-1)H="";else if(H=$.slice(W+1,G===-1?void 0:G),Y)H=Xr0(H);if(Q){if(!(X[K]&&Array.isArray(X[K])))X[K]=[];X[K].push(H)}else X[K]??=H}return Z?X[Z]:X},q8$,R8$=($,Z)=>{return T8$($,Z,!0)},Ge;var Mw=L(()=>{XW0={},q8$=T8$,Ge=decodeURIComponent});var M8$=($)=>im($,Ge),YW0;var Yr0=L(()=>{W3();O8$();w8$();Mw();YW0=class{raw;#$;#Z;routeIndex=0;path;bodyCache={};constructor($,Z="/",Q=[[]]){this.raw=$,this.path=Z,this.#Z=Q,this.#$={}}param($){return $?this.#Q($):this.#J()}#Q($){let Z=this.#Z[0][this.routeIndex][1][$],Q=this.#X(Z);return Q&&/\%/.test(Q)?M8$(Q):Q}#J(){let $={},Z=Object.keys(this.#Z[0][this.routeIndex][1]);for(let Q of Z){let Y=this.#X(this.#Z[0][this.routeIndex][1][Q]);if(Y!==void 0)$[Q]=/\%/.test(Y)?M8$(Y):Y}return $}#X($){return this.#Z[1]?this.#Z[1][$]:$}query($){return q8$(this.url,$)}queries($){return R8$(this.url,$)}header($){if($)return this.raw.headers.get($)??void 0;let Z={};return this.raw.headers.forEach((Q,Y)=>{Z[Y]=Q}),Z}async parseBody($){return j8$(this,$)}#Y=($)=>{let{bodyCache:Z,raw:Q}=this,Y=Z[$];if(Y)return Y;let X=Object.keys(Z)[0];if(X)return Z[X].then((J)=>{if(X==="json")J=JSON.stringify(J);return new Response(J)[$]()});return Z[$]=Q[$]()};json(){return this.#Y("text").then(($)=>JSON.parse($))}text(){return this.#Y("text")}arrayBuffer(){return this.#Y("arrayBuffer")}blob(){return this.#Y("blob")}formData(){return this.#Y("formData")}addValidatedData($,Z){this.#$[$]=Z}valid($){return this.#$[$]}get url(){return this.raw.url}get method(){return this.raw.method}get[L8$](){return this.#Z}get matchedRoutes(){return this.#Z[0].map(([[,$]])=>$)}get routePath(){return this.#Z[0].map(([[,$]])=>$)[this.routeIndex].path}}});var GW0,V8$=($,Z)=>{let Q=new String($);return Q.isEscaped=!0,Q.callbacks=Z,Q},We=async($,Z,Q,Y,X)=>{if(typeof $==="object"&&!($ instanceof String)){if(!($ instanceof Promise))$=$.toString();if($ instanceof Promise)$=await $}let J=$.callbacks;if(!J?.length)return Promise.resolve($);if(X)X[0]+=$;else X=[$];let G=Promise.all(J.map((W)=>W({phase:Z,buffer:X,context:Y}))).then((W)=>Promise.all(W.filter(Boolean).map((K)=>We(K,Z,!1,Y,X))).then(()=>X[0]));if(Q)return V8$(await G,J);else return G};var WW0=L(()=>{GW0={Stringify:1,BeforeStream:2,Stream:3}});var I8$="text/plain; charset=UTF-8",Wr0=($,Z)=>{return{"Content-Type":$,...Z}},Ke=($,Z)=>new Response($,Z),k8$=class{#$;#Z;env={};#Q;finalized=!1;error;#J;#X;#Y;#G;#W;#K;#F;#U;#N;constructor($,Z){if(this.#$=$,Z)this.#X=Z.executionCtx,this.env=Z.env,this.#K=Z.notFoundHandler,this.#N=Z.path,this.#U=Z.matchResult}get req(){return this.#Z??=new YW0(this.#$,this.#N,this.#U),this.#Z}get event(){if(this.#X&&"respondWith"in this.#X)return this.#X;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#X)return this.#X;else throw Error("This context has no ExecutionContext")}get res(){return this.#Y||=Ke(null,{headers:this.#F??=new Headers})}set res($){if(this.#Y&&$){$=Ke($.body,$);for(let[Z,Q]of this.#Y.headers.entries()){if(Z==="content-type")continue;if(Z==="set-cookie"){let Y=this.#Y.headers.getSetCookie();$.headers.delete("set-cookie");for(let X of Y)$.headers.append("set-cookie",X)}else $.headers.set(Z,Q)}}this.#Y=$,this.finalized=!0}render=(...$)=>{return this.#W??=(Z)=>this.html(Z),this.#W(...$)};setLayout=($)=>this.#G=$;getLayout=()=>this.#G;setRenderer=($)=>{this.#W=$};header=($,Z,Q)=>{if(this.finalized)this.#Y=Ke(this.#Y.body,this.#Y);let Y=this.#Y?this.#Y.headers:this.#F??=new Headers;if(Z===void 0)Y.delete($);else if(Q?.append)Y.append($,Z);else Y.set($,Z)};status=($)=>{this.#J=$};set=($,Z)=>{this.#Q??=new Map,this.#Q.set($,Z)};get=($)=>{return this.#Q?this.#Q.get($):void 0};get var(){if(!this.#Q)return{};return Object.fromEntries(this.#Q)}#H($,Z,Q){let Y=this.#Y?new Headers(this.#Y.headers):this.#F??new Headers;if(typeof Z==="object"&&"headers"in Z){let J=Z.headers instanceof Headers?Z.headers:new Headers(Z.headers);for(let[G,W]of J)if(G.toLowerCase()==="set-cookie")Y.append(G,W);else Y.set(G,W)}if(Q)for(let[J,G]of Object.entries(Q))if(typeof G==="string")Y.set(J,G);else{Y.delete(J);for(let W of G)Y.append(J,W)}let X=typeof Z==="number"?Z:Z?.status??this.#J;return Ke($,{status:X,headers:Y})}newResponse=(...$)=>this.#H(...$);body=($,Z,Q)=>this.#H($,Z,Q);text=($,Z,Q)=>{return!this.#F&&!this.#J&&!Z&&!Q&&!this.finalized?new Response($):this.#H($,Z,Wr0(I8$,Q))};json=($,Z,Q)=>{return this.#H(JSON.stringify($),Z,Wr0("application/json",Q))};html=($,Z,Q)=>{let Y=(X)=>this.#H(X,Z,Wr0("text/html; charset=UTF-8",Q));return typeof $==="object"?We($,GW0.Stringify,!1,{}).then(Y):Y($)};redirect=($,Z)=>{let Q=String($);return this.header("Location",!/[^\x00-\xFF]/.test(Q)?Q:encodeURI(Q)),this.newResponse(null,Z??302)};notFound=()=>{return this.#K??=()=>Ke(),this.#K(this)}};var KW0=L(()=>{Yr0();WW0()});var x5="ALL",C8$="all",S8$,HW0="Can not add a route since the matcher is already built.",FW0;var Vw=L(()=>{S8$=["get","post","put","delete","options","patch"],FW0=class extends Error{}});var Kr0="__COMPOSED_HANDLER";var Hr0=()=>{};var fQ4=($)=>{return $.text("404 Not Found",404)},_8$=($,Z)=>{if("getResponse"in $){let Q=$.getResponse();return Z.newResponse(Q.body,Q)}return console.error($),Z.text("Internal Server Error",500)},v8$=class ${get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#$="/";routes=[];constructor(Z={}){[...S8$,C8$].forEach((J)=>{this[J]=(G,...W)=>{if(typeof G==="string")this.#$=G;else this.#J(J,this.#$,G);return W.forEach((K)=>{this.#J(J,this.#$,K)}),this}}),this.on=(J,G,...W)=>{for(let K of[G].flat()){this.#$=K;for(let H of[J].flat())W.map((F)=>{this.#J(H.toUpperCase(),this.#$,F)})}return this},this.use=(J,...G)=>{if(typeof J==="string")this.#$=J;else this.#$="*",G.unshift(J);return G.forEach((W)=>{this.#J(x5,this.#$,W)}),this};let{strict:Y,...X}=Z;Object.assign(this,X),this.getPath=Y??!0?Z.getPath??Gr0:A8$}#Z(){let Z=new $({router:this.router,getPath:this.getPath});return Z.errorHandler=this.errorHandler,Z.#Q=this.#Q,Z.routes=this.routes,Z}#Q=fQ4;errorHandler=_8$;route(Z,Q){let Y=this.basePath(Z);return Q.routes.map((X)=>{let J;if(Q.errorHandler===_8$)J=X.handler;else J=async(G,W)=>(await Qr0([],Q.errorHandler)(G,()=>X.handler(G,W))).res,J[Kr0]=X.handler;Y.#J(X.method,X.path,J)}),this}basePath(Z){let Q=this.#Z();return Q._basePath=sA(this._basePath,Z),Q}onError=(Z)=>{return this.errorHandler=Z,this};notFound=(Z)=>{return this.#Q=Z,this};mount(Z,Q,Y){let X,J;if(Y)if(typeof Y==="function")J=Y;else if(J=Y.optionHandler,Y.replaceRequest===!1)X=(K)=>K;else X=Y.replaceRequest;let G=J?(K)=>{let H=J(K);return Array.isArray(H)?H:[H]}:(K)=>{let H=void 0;try{H=K.executionCtx}catch{}return[K.env,H]};X||=(()=>{let K=sA(this._basePath,Z),H=K==="/"?0:K.length;return(F)=>{let U=new URL(F.url);return U.pathname=U.pathname.slice(H)||"/",new Request(U,F)}})();let W=async(K,H)=>{let F=await Q(X(K.req.raw),...G(K));if(F)return F;await H()};return this.#J(x5,sA(Z,"*"),W),this}#J(Z,Q,Y){Z=Z.toUpperCase(),Q=sA(this._basePath,Q);let X={basePath:this._basePath,path:Q,method:Z,handler:Y};this.router.add(Z,Q,[Y,X]),this.routes.push(X)}#X(Z,Q){if(Z instanceof Error)return this.errorHandler(Z,Q);throw Z}#Y(Z,Q,Y,X){if(X==="HEAD")return(async()=>new Response(null,await this.#Y(Z,Q,Y,"GET")))();let J=this.getPath(Z,{env:Y}),G=this.router.match(X,J),W=new k8$(Z,{path:J,matchResult:G,env:Y,executionCtx:Q,notFoundHandler:this.#Q});if(G[0].length===1){let H;try{H=G[0][0][0][0](W,async()=>{W.res=await this.#Q(W)})}catch(F){return this.#X(F,W)}return H instanceof Promise?H.then((F)=>F||(W.finalized?W.res:this.#Q(W))).catch((F)=>this.#X(F,W)):H??this.#Q(W)}let K=Qr0(G[0],this.errorHandler,this.#Q);return(async()=>{try{let H=await K(W);if(!H.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return H.res}catch(H){return this.#X(H,W)}})()}fetch=(Z,...Q)=>{return this.#Y(Z,Q[1],Q[0],Z.method)};request=(Z,Q,Y,X)=>{if(Z instanceof Request)return this.fetch(Q?new Request(Z,Q):Z,Y,X);return Z=Z.toString(),this.fetch(new Request(/^https?:\/\//.test(Z)?Z:`http://localhost${sA("/",Z)}`,Q),Y,X)};fire=()=>{addEventListener("fetch",(Z)=>{Z.respondWith(this.#Y(Z.request,Z,void 0,Z.request.method))})}};var b8$=L(()=>{D8$();KW0();Vw();Hr0();Mw()});function UW0($,Z){let Q=this.buildAllMatchers(),Y=(X,J)=>{let G=Q[X]||Q[x5],W=G[2][J];if(W)return W;let K=J.match(G[0]);if(!K)return[[],He];let H=K.indexOf("",1);return[G[1][H],K]};return this.match=Y,Y($,Z)}var He;var Fr0=L(()=>{Vw();He=[]});function gQ4($,Z){if($.length===1)return Z.length===1?$<Z?-1:1:-1;if(Z.length===1)return 1;if($===Fe||$===Ue)return 1;else if(Z===Fe||Z===Ue)return-1;if($===NW0)return 1;else if(Z===NW0)return-1;return $.length===Z.length?$<Z?-1:1:Z.length-$.length}var NW0="[^/]+",Fe=".*",Ue="(?:|/.*)",aA,yQ4,x8$=class ${#$;#Z;#Q=Object.create(null);insert(Z,Q,Y,X,J){if(Z.length===0){if(this.#$!==void 0)throw aA;if(J)return;this.#$=Q;return}let[G,...W]=Z,K=G==="*"?W.length===0?["","",Fe]:["","",NW0]:G==="/*"?["","",Ue]:G.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),H;if(K){let F=K[1],U=K[2]||NW0;if(F&&K[2]){if(U===".*")throw aA;if(U=U.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(U))throw aA}if(H=this.#Q[U],!H){if(Object.keys(this.#Q).some((N)=>N!==Fe&&N!==Ue))throw aA;if(J)return;if(H=this.#Q[U]=new $,F!=="")H.#Z=X.varIndex++}if(!J&&F!=="")Y.push([F,H.#Z])}else if(H=this.#Q[G],!H){if(Object.keys(this.#Q).some((F)=>F.length>1&&F!==Fe&&F!==Ue))throw aA;if(J)return;H=this.#Q[G]=new $}H.insert(W,Q,Y,X,J)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(gQ4).map((Y)=>{let X=this.#Q[Y];return(typeof X.#Z==="number"?`(${Y})@${X.#Z}`:yQ4.has(Y)?`\\${Y}`:Y)+X.buildRegExpStr()});if(typeof this.#$==="number")Q.unshift(`#${this.#$}`);if(Q.length===0)return"";if(Q.length===1)return Q[0];return"(?:"+Q.join("|")+")"}};var Ur0=L(()=>{aA=Symbol(),yQ4=new Set(".\\+*[^]$()")});var f8$=class{#$={varIndex:0};#Z=new x8$;insert($,Z,Q){let Y=[],X=[];for(let G=0;;){let W=!1;if($=$.replace(/\{[^}]+\}/g,(K)=>{let H=`@\\${G}`;return X[G]=[H,K],G++,W=!0,H}),!W)break}let J=$.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let G=X.length-1;G>=0;G--){let[W]=X[G];for(let K=J.length-1;K>=0;K--)if(J[K].indexOf(W)!==-1){J[K]=J[K].replace(W,X[G][1]);break}}return this.#Z.insert(J,Z,Y,this.#$,Q),Y}buildRegExp(){let $=this.#Z.buildRegExpStr();if($==="")return[/^$/,[],[]];let Z=0,Q=[],Y=[];return $=$.replace(/#(\d+)|@(\d+)|\.\*\$/g,(X,J,G)=>{if(J!==void 0)return Q[++Z]=Number(J),"$()";if(G!==void 0)return Y[Number(G)]=++Z,"";return""}),[new RegExp(`^${$}`),Q,Y]}};var y8$=L(()=>{Ur0()});function h8$($){return g8$[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(Z,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function uQ4(){g8$=Object.create(null)}function lQ4($){let Z=new f8$,Q=[];if($.length===0)return hQ4;let Y=$.map((H)=>[!/\*|\/:/.test(H[0]),...H]).sort(([H,F],[U,N])=>H?1:U?-1:F.length-N.length),X=Object.create(null);for(let H=0,F=-1,U=Y.length;H<U;H++){let[N,B,D]=Y[H];if(N)X[B]=[D.map(([j])=>[j,Object.create(null)]),He];else F++;let O;try{O=Z.insert(B,F,N)}catch(j){throw j===aA?new FW0(B):j}if(N)continue;Q[F]=D.map(([j,w])=>{let E=Object.create(null);w-=1;for(;w>=0;w--){let[P,T]=O[w];E[P]=T}return[j,E]})}let[J,G,W]=Z.buildRegExp();for(let H=0,F=Q.length;H<F;H++)for(let U=0,N=Q[H].length;U<N;U++){let B=Q[H][U]?.[1];if(!B)continue;let D=Object.keys(B);for(let O=0,j=D.length;O<j;O++)B[D[O]]=W[B[D[O]]]}let K=[];for(let H in G)K[H]=Q[G[H]];return[J,K,X]}function pm($,Z){if(!$)return;for(let Q of Object.keys($).sort((Y,X)=>X.length-Y.length))if(h8$(Q).test(Z))return[...$[Q]];return}var hQ4,g8$,BW0=class{name="RegExpRouter";#$;#Z;constructor(){this.#$={[x5]:Object.create(null)},this.#Z={[x5]:Object.create(null)}}add($,Z,Q){let Y=this.#$,X=this.#Z;if(!Y||!X)throw Error(HW0);if(!Y[$])[Y,X].forEach((W)=>{W[$]=Object.create(null),Object.keys(W[x5]).forEach((K)=>{W[$][K]=[...W[x5][K]]})});if(Z==="/*")Z="*";let J=(Z.match(/\/:/g)||[]).length;if(/\*$/.test(Z)){let W=h8$(Z);if($===x5)Object.keys(Y).forEach((K)=>{Y[K][Z]||=pm(Y[K],Z)||pm(Y[x5],Z)||[]});else Y[$][Z]||=pm(Y[$],Z)||pm(Y[x5],Z)||[];Object.keys(Y).forEach((K)=>{if($===x5||$===K)Object.keys(Y[K]).forEach((H)=>{W.test(H)&&Y[K][H].push([Q,J])})}),Object.keys(X).forEach((K)=>{if($===x5||$===K)Object.keys(X[K]).forEach((H)=>W.test(H)&&X[K][H].push([Q,J]))});return}let G=JW0(Z)||[Z];for(let W=0,K=G.length;W<K;W++){let H=G[W];Object.keys(X).forEach((F)=>{if($===x5||$===F)X[F][H]||=[...pm(Y[F],H)||pm(Y[x5],H)||[]],X[F][H].push([Q,J-K+W+1])})}}match=UW0;buildAllMatchers(){let $=Object.create(null);return Object.keys(this.#Z).concat(Object.keys(this.#$)).forEach((Z)=>{$[Z]||=this.#Q(Z)}),this.#$=this.#Z=void 0,uQ4(),$}#Q($){let Z=[],Q=$===x5;if([this.#$,this.#Z].forEach((Y)=>{let X=Y[$]?Object.keys(Y[$]).map((J)=>[J,Y[$][J]]):[];if(X.length!==0)Q||=!0,Z.push(...X);else if($!==x5)Z.push(...Object.keys(Y[x5]).map((J)=>[J,Y[x5][J]]))}),!Q)return null;else return lQ4(Z)}};var Nr0=L(()=>{Vw();Mw();Fr0();Ur0();y8$();hQ4=[/^$/,[],Object.create(null)],g8$=Object.create(null)});var mQ4=class{name="PreparedRegExpRouter";#$;#Z;constructor($,Z){this.#$=$,this.#Z=Z}#Q($,Z){let Q=this.#$[$];Q[1].forEach((Y)=>Y&&Y.push(Z)),Object.values(Q[2]).forEach((Y)=>Y[0].push(Z))}#J($,Z,Q,Y,X){let J=this.#$[$];if(!X)J[2][Z][0].push([Q,{}]);else Y.forEach((G)=>{if(typeof G==="number")J[1][G].push([Q,X]);else J[2][G||Z][0].push([Q,X])})}add($,Z,Q){if(!this.#$[$]){let X=this.#$[x5],J={};for(let G in X[2])J[G]=[X[2][G][0].slice(),He];this.#$[$]=[X[0],X[1].map((G)=>Array.isArray(G)?G.slice():0),J]}if(Z==="/*"||Z==="*"){let X=[Q,{}];if($===x5)for(let J in this.#$)this.#Q(J,X);else this.#Q($,X);return}let Y=this.#Z[Z];if(!Y)throw Error(`Path ${Z} is not registered`);for(let[X,J]of Y)if($===x5)for(let G in this.#$)this.#J(G,Z,Q,X,J);else this.#J($,Z,Q,X,J)}buildAllMatchers(){return this.#$}match=UW0};var u8$=L(()=>{Vw();Fr0();Nr0()});var l8$=L(()=>{Nr0();u8$()});var Br0=class{name="SmartRouter";#$=[];#Z=[];constructor($){this.#$=$.routers}add($,Z,Q){if(!this.#Z)throw Error(HW0);this.#Z.push([$,Z,Q])}match($,Z){if(!this.#Z)throw Error("Fatal error");let Q=this.#$,Y=this.#Z,X=Q.length,J=0,G;for(;J<X;J++){let W=Q[J];try{for(let K=0,H=Y.length;K<H;K++)W.add(...Y[K]);G=W.match($,Z)}catch(K){if(K instanceof FW0)continue;throw K}this.match=W.match.bind(W),this.#$=[W],this.#Z=void 0;break}if(J===X)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,G}get activeRouter(){if(this.#Z||this.#$.length!==1)throw Error("No active router has been determined yet.");return this.#$[0]}};var m8$=L(()=>{Vw()});var c8$=L(()=>{m8$()});var Ne,cQ4=($)=>{for(let Z in $)return!0;return!1},d8$=class ${#$;#Z;#Q;#J=0;#X=Ne;constructor(Z,Q,Y){if(this.#Z=Y||Object.create(null),this.#$=[],Z&&Q){let X=Object.create(null);X[Z]={handler:Q,possibleKeys:[],score:0},this.#$=[X]}this.#Q=[]}insert(Z,Q,Y){this.#J=++this.#J;let X=this,J=E8$(Q),G=[];for(let W=0,K=J.length;W<K;W++){let H=J[W],F=J[W+1],U=P8$(H,F),N=Array.isArray(U)?U[0]:H;if(N in X.#Z){if(X=X.#Z[N],U)G.push(U[1]);continue}if(X.#Z[N]=new $,U)X.#Q.push(U),G.push(U[1]);X=X.#Z[N]}return X.#$.push({[Z]:{handler:Y,possibleKeys:G.filter((W,K,H)=>H.indexOf(W)===K),score:this.#J}}),X}#Y(Z,Q,Y,X,J){for(let G=0,W=Q.#$.length;G<W;G++){let K=Q.#$[G],H=K[Y]||K[x5],F={};if(H!==void 0){if(H.params=Object.create(null),Z.push(H),X!==Ne||J&&J!==Ne)for(let U=0,N=H.possibleKeys.length;U<N;U++){let B=H.possibleKeys[U],D=F[H.score];H.params[B]=J?.[B]&&!D?J[B]:X[B]??J?.[B],F[H.score]=!0}}}}search(Z,Q){let Y=[];this.#X=Ne;let J=[this],G=Jr0(Q),W=[],K=G.length,H=null;for(let F=0;F<K;F++){let U=G[F],N=F===K-1,B=[];for(let O=0,j=J.length;O<j;O++){let w=J[O],E=w.#Z[U];if(E)if(E.#X=w.#X,N){if(E.#Z["*"])this.#Y(Y,E.#Z["*"],Z,w.#X);this.#Y(Y,E,Z,w.#X)}else B.push(E);for(let P=0,T=w.#Q.length;P<T;P++){let z=w.#Q[P],A=w.#X===Ne?{}:{...w.#X};if(z==="*"){let v=w.#Z["*"];if(v)this.#Y(Y,v,Z,w.#X),v.#X=A,B.push(v);continue}let[R,f,S]=z;if(!U&&!(S instanceof RegExp))continue;let V=w.#Z[R];if(S instanceof RegExp){if(H===null){H=Array(K);let h=Q[0]==="/"?1:0;for(let l=0;l<K;l++)H[l]=h,h+=G[l].length+1}let v=Q.substring(H[F]),b=S.exec(v);if(b){if(A[f]=b[0],this.#Y(Y,V,Z,w.#X,A),cQ4(V.#Z)){V.#X=A;let h=b[0].match(/\//)?.length??0;(W[h]||=[]).push(V)}continue}}if(S===!0||S.test(U))if(A[f]=U,N){if(this.#Y(Y,V,Z,A,w.#X),V.#Z["*"])this.#Y(Y,V.#Z["*"],Z,A,w.#X)}else V.#X=A,B.push(V)}}let D=W.shift();J=D?B.concat(D):B}if(Y.length>1)Y.sort((F,U)=>{return F.score-U.score});return[Y.map(({handler:F,params:U})=>[F,U])]}};var i8$=L(()=>{Vw();Mw();Ne=Object.create(null)});var Dr0=class{name="TrieRouter";#$;constructor(){this.#$=new d8$}add($,Z,Q){let Y=JW0(Z);if(Y){for(let X=0,J=Y.length;X<J;X++)this.#$.insert($,Y[X],Q);return}this.#$.insert($,Z,Q)}match($,Z){return this.#$.search($,Z)}};var p8$=L(()=>{Mw();i8$()});var n8$=L(()=>{p8$()});var $1;var Lr0=L(()=>{b8$();l8$();c8$();n8$();$1=class extends v8${constructor($={}){super($);this.router=$.router??new Br0({routers:[new BW0,new Dr0]})}}});var H8=L(()=>{Lr0()});function t8$(){if(jr0)return jr0;let $={};for(let Z of DW0){if(Z.id==="basic-usage")continue;$[Z.id]=!0}return jr0=$,$}function wr0($){let Z=(J)=>{let G=$[J];return Array.isArray(G)?G:[]},Q=Z("*").includes("*")||Z("self").includes("*"),Y=new Set;if(!Q)for(let J of Object.values($)){if(!Array.isArray(J))continue;for(let G of J)Y.add(G)}let X={};for(let J of DW0){if(J.id==="basic-usage")continue;X[J.id]=Q||J.tools.every((G)=>Y.has(G))}return X}function rA(){if(Or0)return Or0;let $={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],Tags:[],Experiments:[],"AI Providers":[],Secrets:[],"File Configs":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],Git:[],VM:[],Search:[],"Task Board":[],Jira:[],Blog:[],Chat:[]};for(let Z of Be)$[Z.category].push(Z);return Or0=$,$}var Be,DW0,LW0,dQ4,nm,Or0=null,jr0=null;var Iw=L(()=>{Be=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"ORGANIZATION_BLOCKS_EDITOR_SET",description:"Switch the organization's blocks editor",category:"Organizations"},{name:"BLOG_SITE_GROUND",description:"Read the site's connected systems once, for the generators that follow",category:"Blog"},{name:"BLOG_SITE_CATALOGUE",description:"Turn a grounding pass's raw output into the store's catalogue",category:"Blog"},{name:"BLOG_BRAND_EXTRACT",description:"Infer a brand's identity (name, audience, values, competitors) from a site",category:"Blog"},{name:"BLOG_BRAND_ENRICH",description:"Research a brand on the web and drop the claims its evidence does not support",category:"Blog"},{name:"BLOG_CONTEXT_EXTRACT",description:"Infer a blog's writing context (tone, dos and don'ts) from a site",category:"Blog"},{name:"BLOG_FORMAT_SUGGEST",description:"Name the post formats a blog writes in",category:"Blog"},{name:"BLOG_CAMPAIGN_SUGGEST",description:"Propose campaigns from a seed, grounded in the site's systems",category:"Blog"},{name:"BLOG_POST_DRAFT",description:"Write a blog post from a theme and a format",category:"Blog"},{name:"BLOG_POST_ILLUSTRATE",description:"Draw a drafted post's images, conditioned on the product's own photographs",category:"Blog"},{name:"BLOG_LINK_SUGGEST",description:"Propose internal links from a post to the site's other posts",category:"Blog"},{name:"ORGANIZATION_DOMAIN_LIST",description:"List organization domain claims",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_ADD",description:"Claim an email domain for the organization",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_UPDATE",description:"Set a domain's join mode",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_VERIFY",description:"Verify a domain via DNS TXT record",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_REMOVE",description:"Remove an organization domain claim",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_JOIN_REQUEST_LIST",description:"List pending requests to join the organization",category:"Organizations"},{name:"ORGANIZATION_JOIN_REQUEST_APPROVE",description:"Approve a request to join the organization",category:"Organizations"},{name:"ORGANIZATION_JOIN_REQUEST_DENY",description:"Deny a request to join the organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"ORGANIZATION_BILLING_CHECKOUT_START",description:"Start the org subscription checkout",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_BILLING_PORTAL",description:"Open the Stripe billing portal",category:"Organizations"},{name:"ORGANIZATION_BILLING_PLAN_PRICES",description:"Read each plan's monthly price from Stripe",category:"Organizations"},{name:"ORGANIZATION_TASK_QUOTA_GET",description:"Get the org's auto-task quota usage",category:"Organizations"},{name:"INFRA_BILLING_SITES_LIST",description:"List the legacy deco.cx sites the org owns",category:"Organizations"},{name:"INFRA_BILLING_GET",description:"Get infra usage, plan and invoices for an owned site",category:"Organizations"},{name:"INFRA_BILLING_PORTAL",description:"Open the Stripe billing portal for an owned site",category:"Organizations"},{name:"CUSTOMER_LAKE_QUERY",description:"Run read-only SQL over the organization's data lake",category:"Monitoring"},{name:"ORGANIZATION_HAS_SITE",description:"Whether this organization owns at least one legacy deco.cx site",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"CONNECTION_TOOLS_SEARCH",description:"Search the tools of your connections",category:"Connections"},{name:"CONNECTION_TOOL_CALL",description:"Call a tool on one of your connections",category:"Connections"},{name:"REPORTS_SETUP",description:"Set up Deco Score",category:"Connections"},{name:"REPORTS_RUN",description:"Run Deco Score",category:"Connections"},{name:"REPORTS_BIND",description:"Bind Deco Score data source",category:"Connections"},{name:"REPORTS_CONNECTION_STATUS",description:"Read Deco Score connection status",category:"Connections"},{name:"REPORTS_SET_REPOSITORY",description:"Set the Deco Score repository",category:"Connections"},{name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_GET",description:"View virtual MCP details",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete virtual MCPs",category:"Virtual MCPs",dangerous:!0},{name:"MONITORING_HEATMAP",description:"View tool-call volume by agent and tool",category:"Monitoring"},{name:"MONITORING_LOG_GET",description:"View monitoring log details",category:"Monitoring"},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"MONITORING_THREAD_USAGE",description:"View per-thread token usage and cost",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"USER_GET",description:"Get a user by id",category:"Users"},{name:"USER_MODEL_PREFERENCES_GET",description:"Get the calling user's chat tier \u2192 model overrides",category:"Users"},{name:"USER_MODEL_PREFERENCES_UPDATE",description:"Set the calling user's chat tier \u2192 model overrides",category:"Users"},{name:"SIDEBAR_GET",description:"Get the org's project folders and the caller's pins and hides",category:"Virtual MCPs"},{name:"PROJECT_FOLDERS_SET",description:"Replace the organization's project folders",category:"Virtual MCPs"},{name:"SIDEBAR_PREFERENCES_SET",description:"Set the calling member's pinned and hidden projects",category:"Users"},{name:"COLLECTION_THREADS_CREATE",description:"Create threads",category:"Threads"},{name:"COLLECTION_THREADS_LIST",description:"List threads",category:"Threads"},{name:"COLLECTION_THREADS_GET",description:"View thread details",category:"Threads"},{name:"COLLECTION_THREADS_UPDATE",description:"Update threads",category:"Threads"},{name:"COLLECTION_THREADS_DELETE",description:"Delete threads",category:"Threads",dangerous:!0},{name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List thread messages",category:"Threads"},{name:"TAGS_LIST",description:"List organization tags",category:"Tags"},{name:"TAGS_CREATE",description:"Create organization tag",category:"Tags"},{name:"TAGS_DELETE",description:"Delete organization tag",category:"Tags",dangerous:!0},{name:"EXPERIMENT_LIST",description:"List a site's A/B experiments",category:"Experiments"},{name:"EXPERIMENT_GET",description:"Get one A/B experiment",category:"Experiments"},{name:"EXPERIMENT_CREATE",description:"Create an A/B experiment",category:"Experiments"},{name:"EXPERIMENT_SUGGEST",description:"Suggest an A/B experiment from a plain-language prompt",category:"Experiments"},{name:"EXPERIMENT_IMPLEMENT",description:"Delegate an experiment's frontend implementation to the Super Agent",category:"Experiments"},{name:"EXPERIMENT_PREVIEW_SYNC_LOCAL",description:"[local dev only] Preview a draft experiment on a local site",category:"Experiments"},{name:"EXPERIMENT_IMPLEMENT_LOCAL",description:"[local dev only] Write an experiment's hook + gate directly into a local site's source",category:"Experiments"},{name:"EXPERIMENT_UPDATE",description:"Update an A/B experiment",category:"Experiments"},{name:"EXPERIMENT_DELETE",description:"Delete an A/B experiment",category:"Experiments",dangerous:!0},{name:"EXPERIMENT_RESULTS",description:"A/B results for one experiment",category:"Experiments"},{name:"MEMBER_TAGS_GET",description:"Get member tags",category:"Tags"},{name:"MEMBER_TAGS_SET",description:"Set member tags",category:"Tags"},{name:"AUTOMATION_CREATE",description:"Create automation",category:"Automations"},{name:"AUTOMATION_GET",description:"View automation details",category:"Automations"},{name:"AUTOMATION_LIST",description:"List automations",category:"Automations"},{name:"AUTOMATION_UPDATE",description:"Update automation",category:"Automations"},{name:"AUTOMATION_DELETE",description:"Delete automation",category:"Automations",dangerous:!0},{name:"AUTOMATION_TRIGGER_ADD",description:"Add trigger to automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_REMOVE",description:"Remove trigger from automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_ROTATE_TOKEN",description:"Rotate the secret token for a webhook automation trigger",category:"Automations"},{name:"AUTOMATION_RUN",description:"Manually trigger an automation run",category:"Automations"},{name:"AUTOMATION_RUN_STATS",description:"View aggregated run counts and token/cost for an automation",category:"Automations"},{name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update virtual MCP pinned sidebar views",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_LAST_USED_LIST",description:"Get last-used info for one or more virtual MCPs",category:"Virtual MCPs"},{name:"PROJECT_FOLDER_ENSURE",description:"Give a project's folder its shape, once",category:"Virtual MCPs"},{name:"AI_PROVIDERS_LIST",description:"List available AI providers",category:"AI Providers"},{name:"AI_PROVIDERS_LIST_MODELS",description:"List AI provider models",category:"AI Providers"},{name:"AI_PROVIDERS_ACTIVE",description:"List active AI providers",category:"AI Providers"},{name:"AI_PROVIDER_KEY_CREATE",description:"Store AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_KEY_LIST",description:"List AI provider API keys",category:"AI Providers"},{name:"AI_PROVIDER_KEY_DELETE",description:"Delete AI provider API key",category:"AI Providers",dangerous:!0},{name:"AI_PROVIDER_KEY_UPDATE",description:"Update AI provider API key label or credential",category:"AI Providers"},{name:"AI_PROVIDER_KEY_PREVIEW",description:"Get masked preview of AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_URL",description:"Get OAuth URL for provider",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange OAuth code for API key",category:"AI Providers"},{name:"AI_PROVIDER_PROVISION_KEY",description:"Auto-provision API key for a provider",category:"AI Providers"},{name:"AI_PROVIDER_TOPUP_URL",description:"Get checkout URL to top up provider credits",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_CONNECT",description:"Link your ChatGPT subscription for Codex",category:"AI Providers"},{name:"SUBSCRIPTION_USAGE_GET",description:"Read your personal subscription usage and reset times",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_STATUS",description:"Whether your ChatGPT subscription is linked for Codex",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_DISCONNECT",description:"Unlink your ChatGPT subscription for Codex",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_SYNC",description:"Save credentials refreshed by your Codex runtime",category:"AI Providers"},{name:"CLAUDE_SUBSCRIPTION_CONNECT",description:"Link your own Claude subscription with a setup token",category:"AI Providers"},{name:"CLAUDE_SUBSCRIPTION_STATUS",description:"Whether your Claude subscription is linked, and since when",category:"AI Providers"},{name:"CLAUDE_SUBSCRIPTION_DISCONNECT",description:"Unlink your Claude subscription",category:"AI Providers"},{name:"GITHUB_COPILOT_CONNECT",description:"Link your own GitHub Copilot plan with a GitHub token",category:"AI Providers"},{name:"GITHUB_COPILOT_STATUS",description:"Whether your GitHub Copilot plan is linked, and since when",category:"AI Providers"},{name:"GITHUB_COPILOT_DISCONNECT",description:"Unlink your GitHub Copilot plan",category:"AI Providers"},{name:"GITHUB_COPILOT_SHARE",description:"Share your GitHub Copilot plan with the organization",category:"AI Providers"},{name:"AI_PROVIDER_CREDITS",description:"Get current credit balance for a provider",category:"AI Providers"},{name:"AI_PLAN_ENTITLEMENTS",description:"Get the org's plan, feature flags and AI usage bar",category:"AI Providers"},{name:"AI_PLAN_LIST",description:"List the plans an organization can move to",category:"AI Providers"},{name:"AI_PLAN_SET",description:"Change the organization's plan",category:"AI Providers"},{name:"AI_PLAN_INVOICE_UPGRADE",description:"Move the organization to a paid plan billed on its invoice",category:"AI Providers"},{name:"SECRET_CREATE",description:"Create a secret in the credential vault",category:"Secrets"},{name:"SECRET_LIST",description:"List secrets visible to the caller (no values returned)",category:"Secrets"},{name:"FILE_CONFIG_CREATE",description:"Create an S3-compatible bucket configuration for the org",category:"File Configs"},{name:"FILE_CONFIG_LIST",description:"List S3 bucket configurations for the org (no creds returned)",category:"File Configs"},{name:"ORG_FS_PUBLIC_SETS_SYNC",description:"Re-sync the shared public skill-set volumes from their GitHub sources",category:"File Configs"},{name:"ORG_REPO_SYNC_CREATE",description:"Keep a GitHub repository mirrored into a new org-fs volume",category:"File Configs"},{name:"ORG_REPO_SYNC_LIST",description:"List the org's synced repositories and their sync status",category:"File Configs"},{name:"ORG_REPO_SYNC_UPDATE",description:"Update a synced repository's ref, paths, or enabled flag",category:"File Configs"},{name:"ORG_REPO_SYNC_DELETE",description:"Stop syncing a repository (already-synced files are kept)",category:"File Configs"},{name:"ORG_REPO_SYNC_RUN",description:"Sync a repository into its volume right now",category:"File Configs"},{name:"JIRA_INTEGRATION_GET",description:"Get the org's Jira integration config",category:"Jira"},{name:"JIRA_INTEGRATION_UPSERT",description:"Connect or update the org's Jira integration",category:"Jira"},{name:"JIRA_INTEGRATION_DELETE",description:"Disconnect Jira (already-synced cards are kept)",category:"Jira"},{name:"JIRA_BOARDS_LIST",description:"List Jira boards visible to the connected credentials",category:"Jira"},{name:"JIRA_BOARD_COLUMNS_LIST",description:"List a Jira board's columns and statuses for the mapping",category:"Jira"},{name:"JIRA_AUTOMATION_LIST",description:"List the automations Jira status changes fire",category:"Jira"},{name:"JIRA_AUTOMATION_UPSERT",description:"Fire an automation on issues entering a Jira status",category:"Jira"},{name:"JIRA_RUN_START",description:"Fire an automation on Jira issues now",category:"Jira"},{name:"JIRA_ISSUE_GET",description:"Read a Jira issue on the board from a run",category:"Jira"},{name:"JIRA_COMMENT_ADD",description:"Comment on a Jira issue on the board from a run",category:"Jira"},{name:"JIRA_ISSUE_TRANSITION",description:"Move a Jira issue on the board to another status",category:"Jira"},{name:"JIRA_ATTACHMENT_DOWNLOAD",description:"Get a short-lived download URL for an attachment of a Jira issue",category:"Jira"},{name:"JIRA_REMOTE_LINK_ADD",description:"Link a pull request or deploy preview on a Jira issue",category:"Jira"},{name:"JIRA_ISSUE_CREATE",description:"Create a Jira issue on the board from a run",category:"Jira"},{name:"JIRA_ISSUE_SEARCH",description:"Search the Jira board's issues with JQL from a run",category:"Jira"},{name:"FILE_CONFIG_UPDATE",description:"Update an S3 bucket configuration, optionally rotating credentials",category:"File Configs"},{name:"FILE_CONFIG_DELETE",description:"Delete an S3 bucket configuration",category:"File Configs"},{name:"FILE_OBJECTS_LIST",description:"List existing objects in a configured bucket",category:"File Configs"},{name:"FILE_OBJECT_DELETE",description:"Delete an object from a configured bucket",category:"File Configs"},{name:"FILE_OBJECT_UPLOAD",description:"Upload images or videos from URLs into a configured bucket",category:"File Configs"},{name:"LIST_OBJECTS",description:"List objects in storage",category:"Object Storage"},{name:"GET_OBJECT_METADATA",description:"Get object metadata",category:"Object Storage"},{name:"GET_PRESIGNED_URL",description:"Generate download URL",category:"Object Storage"},{name:"PUT_PRESIGNED_URL",description:"Generate upload URL",category:"Object Storage"},{name:"DELETE_OBJECT",description:"Delete object",category:"Object Storage",dangerous:!0},{name:"DELETE_OBJECTS",description:"Delete multiple objects",category:"Object Storage",dangerous:!0},{name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry apps",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_GET",description:"Get registry app details",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"List registry app versions",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get registry app filters",category:"Registry"},{name:"REGISTRY_ITEM_LIST",description:"List Deco registry items",category:"Registry"},{name:"REGISTRY_ITEM_SEARCH",description:"Search registry items",category:"Registry"},{name:"REGISTRY_ITEM_GET",description:"Get registry item details",category:"Registry"},{name:"REGISTRY_ITEM_VERSIONS",description:"List registry item versions",category:"Registry"},{name:"REGISTRY_ITEM_FILTERS",description:"Get registry item filters",category:"Registry"},{name:"SANDBOX_START",description:"Start a sandbox VM with dev server preview",category:"VM"},{name:"SANDBOX_DELETE",description:"Stop and delete a sandbox VM",category:"VM"},{name:"GITHUB_LIST_USER_ORGS",description:"List GitHub user's personal account and organizations",category:"GitHub"},{name:"GIT_PROVIDER_CAPABILITIES",description:"Which git providers this deployment can connect, with their connect URLs",category:"Git"},{name:"GIT_ACCOUNT_LIST",description:"List the git provider accounts connected to the organization",category:"Git"},{name:"GIT_ACCOUNT_CONNECT_TOKEN",description:"Connect a git provider account with an access token",category:"Git"},{name:"GIT_ACCOUNT_DELETE",description:"Disconnect a git provider account",category:"Git"},{name:"REPOSITORY_LIST",description:"List the repositories linked to the organization",category:"Git"},{name:"REPOSITORY_SEARCH",description:"Search the repositories an account can reach on its provider",category:"Git"},{name:"REPOSITORY_LINK",description:"Link a repository to the organization",category:"Git"},{name:"REPOSITORY_CREATE_FROM_TEMPLATE",description:"Create a site repository from a template and link it",category:"Git"},{name:"REPOSITORY_SEARCH_BRANCHES",description:"Search a repository's branches by name substring, on either provider",category:"Git"},{name:"CHANGE_REQUEST_STATE",description:"Read a branch's change request with its CI runs, review state and comments",category:"Git"},{name:"CHANGE_REQUEST_LAST_MERGED",description:"Read the most recently merged change request into a base branch",category:"Git"},{name:"CHANGE_REQUEST_LIST_OPEN",description:"List a repository's open change requests",category:"Git"},{name:"CHANGE_REQUEST_CHECK_LOG",description:"Read one CI run's report for a change request",category:"Git"},{name:"CHANGE_REQUEST_OPEN",description:"Propose a branch onto another, reusing the branch's existing change request",category:"Git"},{name:"CHANGE_REQUEST_MERGE",description:"Land a change request, reporting why it could not merge",category:"Git"},{name:"REPOSITORY_UPDATE",description:"Change a linked repository's settings, such as its sandbox image or whether the Monitor shows its deploys",category:"Git"},{name:"REPOSITORY_DEPLOYS_LIST",description:"List recent pushes to the monitored repositories",category:"Git"},{name:"REPOSITORY_DELETE",description:"Unlink a repository from the organization",category:"Git"},{name:"GLOBAL_SEARCH",description:"Search across organization resources (currently threads). Returns a typed union of matches.",category:"Search"},{name:"TASK_BOARD_ITEM_CREATE",description:"Create task board item",category:"Task Board"},{name:"TASK_BOARD_ITEM_LIST",description:"List task board items",category:"Task Board"},{name:"TASK_BOARD_ITEM_UPDATE",description:"Update task board item",category:"Task Board"},{name:"TASK_BOARD_ITEM_DELETE",description:"Delete task board item",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_PROMPT_LIST",description:"List the instructions appended to the system prompt of the board's runs",category:"Task Board"},{name:"TASK_BOARD_PROMPT_UPSERT",description:"Set the instructions appended to the system prompt of the board's runs",category:"Task Board"},{name:"TASK_BOARD_PROMPT_DELETE",description:"Clear a board system prompt",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_ITEM_PRS_GET",description:"Get a task board item's linked pull requests with live state",category:"Task Board"},{name:"TASK_BOARD_PREVIEW_PROBE",description:"Check whether a pull request's deploy preview URL is currently reachable",category:"Task Board"},{name:"TASK_BOARD_ITEM_RERUN",description:"Re-run a task with the Super Agent, failing any run still holding it open",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_RUN_REVIEWER",description:"Run the Reviewer on a task even when the organization has automated review turned off",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_RESOLVE_CONFLICT",description:"Hand a task's conflicting pull request back to the Super Agent to resolve the merge conflict",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_REVIEW_DECISION",description:"Record a reviewer's decision (approve or request changes) for a task under review",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_PROMOTE_TO_PRODUCTION",description:"Merge a reviewed task's pull request and move the task to Done",category:"Task Board",dangerous:!0},{name:"NOTIFICATION_LIST",description:"List your unread notifications in this organization",category:"Task Board"},{name:"NOTIFICATION_MARK_READ",description:"Mark your notifications read",category:"Task Board"},{name:"NOTIFICATION_SUBSCRIPTION_SET",description:"Follow or unfollow a task board item",category:"Task Board"},{name:"NOTIFICATION_SUBSCRIPTION_LIST",description:"List the users following a task board item",category:"Task Board"},{name:"TASK_BOARD_ACTIVITY_LIST",description:"List a task board item's change history",category:"Task Board"},{name:"TASK_BOARD_COMMENT_LIST",description:"List a task board item's comment threads",category:"Task Board"},{name:"TASK_BOARD_COMMENT_CREATE",description:"Post a comment or a reply on a task board item",category:"Task Board"},{name:"TASK_BOARD_COMMENT_UPDATE",description:"Edit a comment, or resolve/unresolve a comment thread",category:"Task Board"},{name:"TASK_BOARD_COMMENT_DELETE",description:"Delete a comment (a thread root takes its replies)",category:"Task Board"},{name:"TASK_BOARD_DISMISSED_LIST",description:"List Deco Score findings dismissed by deleting their task board cards",category:"Task Board"},{name:"TASK_BOARD_DISMISSED_RESTORE",description:"Un-dismiss Deco Score findings so the next Deco Score import pushes them again",category:"Task Board"},{name:"TASK_BOARD_SPRINT_LIST",description:"List the board's sprints",category:"Task Board"},{name:"TASK_BOARD_SPRINT_CREATE",description:"Plan a new sprint",category:"Task Board"},{name:"TASK_BOARD_SPRINT_UPDATE",description:"Rename a sprint or change its dates",category:"Task Board"},{name:"TASK_BOARD_SPRINT_START",description:"Start a planned sprint",category:"Task Board"},{name:"TASK_BOARD_SPRINT_COMPLETE",description:"Complete a running sprint and move its unfinished cards on",category:"Task Board"},{name:"TASK_BOARD_SPRINT_DELETE",description:"Delete a sprint, sending its cards to the backlog",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_ADMIN_ORG_LIST",description:"Whether the caller may read every org's task board, and the orgs that have board items",category:"Task Board"},{name:"TASK_BOARD_DELIVERY",description:"Task board throughput and flow \u2014 completions, PR rate, lead vs cycle time, dwell by lane",category:"Task Board"},{name:"TASK_BOARD_OPERATION",description:"How autonomously the agent delivers \u2014 run to production funnel, no-human rate, failed-QA rate, and where people stepped in",category:"Task Board"},{name:"TASK_BOARD_OPERATION_TASKS",description:"The cards behind one task board operation figure",category:"Task Board"},{name:"TASK_BOARD_REWORK",description:"Why tasks come back \u2014 failed-QA and needed-a-person rates by type, priority, tag, sprint and author",category:"Task Board"},{name:"TASK_BOARD_SPRINTS",description:"Sprint velocity \u2014 committed, completed, and completed with no human",category:"Task Board"},{name:"TASK_BOARD_STUCK",description:"Task board work that is stuck right now, and WIP by age",category:"Task Board"},{name:"TASK_BOARD_COST",description:"Task board spend \u2014 total, per task, per shipped PR, and the coverage % behind those figures",category:"Task Board"},{name:"TASK_BOARD_QUALITY",description:"Task board quality \u2014 first-pass yield, rework, autonomy, abandonment, retry burn",category:"Task Board"},{name:"TASK_BOARD_ERRORS",description:"Task board run failures \u2014 counts, kinds, live error feed, error signatures, superseded runs",category:"Task Board"},{name:"TASK_BOARD_TENANTS",description:"Per-tenant task board scorecard and queue wait",category:"Task Board"},{name:"THREAD_ANALYTICS_ORG_LIST",description:"Whether the caller may read every org's threads, and the orgs that have any",category:"Threads"},{name:"THREAD_ANALYTICS_LIVE",description:"Recently active threads across orgs with status, owner and spend (admin orgs)",category:"Threads"},{name:"THREAD_ANALYTICS_USAGE",description:"Token and USD usage by org, user, agent and kind; top spenders (admin orgs)",category:"Threads"},{name:"THREAD_ANALYTICS_ERRORS",description:"Failed threads, error feed and error signatures across orgs (admin orgs)",category:"Threads"},{name:"TASK_ADD_REPO",description:"Clone an organization repository into the sandbox of the task run calling it",category:"Task Board"},{name:"generate_image",description:"Generate an image with the organization's image model",category:"Chat"},{name:"web_search",description:"Search the web and synthesize a short cited answer",category:"Chat"},{name:"deep_research",description:"Run multi-source web research into a cited report",category:"Chat"},{name:"suggest_task",description:"Offer the user a task card for the board",category:"Chat"},{name:"preview_navigate",description:"Navigate the user's live preview to a page",category:"Chat"},{name:"update_interests",description:"Record the user's durable goals for the current agent",category:"Chat"}],DW0=[{id:"basic-usage",label:"Basic Usage",description:"Tools all org members can access by default",section:"Basic Usage",tools:["CODEX_SUBSCRIPTION_CONNECT","CODEX_SUBSCRIPTION_STATUS","SUBSCRIPTION_USAGE_GET","CODEX_SUBSCRIPTION_DISCONNECT","CODEX_SUBSCRIPTION_SYNC","COLLECTION_CONNECTIONS_LIST","COLLECTION_CONNECTIONS_GET","CONNECTION_TEST","CONNECTION_TOOLS_SEARCH","CONNECTION_TOOL_CALL","COLLECTION_VIRTUAL_MCP_LIST","COLLECTION_VIRTUAL_MCP_GET","VIRTUAL_MCP_LAST_USED_LIST","SIDEBAR_GET","SIDEBAR_PREFERENCES_SET","PROJECT_FOLDER_ENSURE","AUTOMATION_GET","AUTOMATION_LIST","AUTOMATION_RUN_STATS","AI_PROVIDERS_LIST","AI_PROVIDERS_LIST_MODELS","AI_PROVIDERS_ACTIVE","AI_PROVIDER_KEY_LIST","AI_PROVIDER_CREDITS","AI_PLAN_ENTITLEMENTS","AI_PLAN_LIST","ORGANIZATION_BILLING_PLAN_PRICES","AI_PROVIDER_TOPUP_URL","LIST_OBJECTS","GET_OBJECT_METADATA","GET_PRESIGNED_URL","PUT_PRESIGNED_URL","FILE_OBJECTS_LIST","ORG_REPO_SYNC_LIST","SANDBOX_START","SANDBOX_DELETE","REPOSITORY_SEARCH_BRANCHES","GIT_PROVIDER_CAPABILITIES","GIT_ACCOUNT_LIST","REPOSITORY_LIST","REPOSITORY_SEARCH","CHANGE_REQUEST_STATE","CHANGE_REQUEST_LAST_MERGED","CHANGE_REQUEST_LIST_OPEN","CHANGE_REQUEST_CHECK_LOG","GLOBAL_SEARCH","ORGANIZATION_SETTINGS_GET","USER_GET","ORGANIZATION_HAS_SITE","ORGANIZATION_BLOCKS_EDITOR_SET","COLLECTION_THREADS_CREATE","COLLECTION_THREADS_LIST","COLLECTION_THREADS_GET","COLLECTION_THREADS_UPDATE","COLLECTION_THREADS_DELETE","COLLECTION_THREAD_MESSAGES_LIST","TASK_BOARD_ITEM_CREATE","TASK_BOARD_ITEM_LIST","TASK_BOARD_ITEM_UPDATE","TASK_BOARD_ITEM_DELETE","TASK_BOARD_PROMPT_LIST","TASK_BOARD_PROMPT_UPSERT","TASK_BOARD_PROMPT_DELETE","TASK_BOARD_ITEM_PRS_GET","TASK_BOARD_PREVIEW_PROBE","TASK_BOARD_ITEM_RERUN","TASK_BOARD_RUN_REVIEWER","TASK_BOARD_REVIEW_DECISION","TASK_BOARD_PROMOTE_TO_PRODUCTION","TASK_BOARD_ACTIVITY_LIST","TASK_BOARD_COMMENT_LIST","TASK_BOARD_COMMENT_CREATE","TASK_BOARD_COMMENT_UPDATE","TASK_BOARD_COMMENT_DELETE","TASK_BOARD_DISMISSED_LIST","TASK_BOARD_DISMISSED_RESTORE","TASK_BOARD_SPRINT_LIST","TASK_BOARD_SPRINT_CREATE","TASK_BOARD_SPRINT_UPDATE","TASK_BOARD_SPRINT_START","TASK_BOARD_SPRINT_COMPLETE","TASK_BOARD_SPRINT_DELETE","TASK_BOARD_ADMIN_ORG_LIST","TASK_BOARD_DELIVERY","TASK_BOARD_OPERATION","TASK_BOARD_OPERATION_TASKS","TASK_BOARD_REWORK","TASK_BOARD_SPRINTS","TASK_BOARD_STUCK","TASK_BOARD_COST","TASK_BOARD_QUALITY","TASK_BOARD_ERRORS","TASK_BOARD_TENANTS","THREAD_ANALYTICS_ORG_LIST","THREAD_ANALYTICS_LIVE","THREAD_ANALYTICS_USAGE","THREAD_ANALYTICS_ERRORS","NOTIFICATION_LIST","NOTIFICATION_MARK_READ","NOTIFICATION_SUBSCRIPTION_SET","NOTIFICATION_SUBSCRIPTION_LIST","generate_image","web_search","deep_research","suggest_task","preview_navigate","update_interests"]},{id:"org:manage",label:"Manage organization",description:"Edit organization settings and domain configuration",section:"Organization",tools:["ORGANIZATION_GET","ORGANIZATION_LIST","ORGANIZATION_UPDATE","ORGANIZATION_SETTINGS_GET","ORGANIZATION_SETTINGS_UPDATE","ORGANIZATION_DOMAIN_LIST","ORGANIZATION_DOMAIN_ADD","ORGANIZATION_DOMAIN_UPDATE","ORGANIZATION_DOMAIN_VERIFY","ORGANIZATION_DOMAIN_REMOVE","JIRA_INTEGRATION_GET","JIRA_INTEGRATION_UPSERT","JIRA_INTEGRATION_DELETE","JIRA_BOARDS_LIST","JIRA_BOARD_COLUMNS_LIST","JIRA_AUTOMATION_LIST","JIRA_AUTOMATION_UPSERT","JIRA_RUN_START"]},{id:"members:manage",label:"Manage members",description:"Invite members, remove them, and change their roles",section:"Organization",tools:["ORGANIZATION_MEMBER_LIST","ORGANIZATION_MEMBER_ADD","ORGANIZATION_MEMBER_REMOVE","ORGANIZATION_MEMBER_UPDATE_ROLE","ORGANIZATION_BILLING_CHECKOUT_START","ORGANIZATION_BILLING_PORTAL","ORGANIZATION_TASK_QUOTA_GET","INFRA_BILLING_SITES_LIST","INFRA_BILLING_GET","INFRA_BILLING_PORTAL","ORGANIZATION_JOIN_REQUEST_LIST","ORGANIZATION_JOIN_REQUEST_APPROVE","ORGANIZATION_JOIN_REQUEST_DENY"],dangerous:!0},{id:"connections:manage",label:"Manage connections",description:"Create, update, and delete connections",section:"Connections & Agents",tools:["COLLECTION_CONNECTIONS_CREATE","COLLECTION_CONNECTIONS_UPDATE","COLLECTION_CONNECTIONS_DELETE","REPORTS_SETUP","REPORTS_RUN","REPORTS_BIND","REPORTS_CONNECTION_STATUS","REPORTS_SET_REPOSITORY"],dangerous:!0},{id:"agents:manage",label:"Manage agents",description:"Create, configure, and delete agents",section:"Connections & Agents",tools:["COLLECTION_VIRTUAL_MCP_CREATE","COLLECTION_VIRTUAL_MCP_UPDATE","COLLECTION_VIRTUAL_MCP_DELETE","VIRTUAL_MCP_PINNED_VIEWS_UPDATE","PROJECT_FOLDERS_SET"],dangerous:!0},{id:"automations:manage",label:"Manage automations",description:"Create, update, run, and delete automations",section:"Automations",tools:["AUTOMATION_CREATE","AUTOMATION_UPDATE","AUTOMATION_DELETE","AUTOMATION_TRIGGER_ADD","AUTOMATION_TRIGGER_REMOVE","AUTOMATION_TRIGGER_ROTATE_TOKEN","AUTOMATION_RUN"],dangerous:!0},{id:"monitoring:view",label:"View monitoring",description:"Access logs and usage statistics",section:"Monitoring",tools:["MONITORING_HEATMAP","MONITORING_LOG_GET","MONITORING_LOGS_LIST","MONITORING_STATS","MONITORING_THREAD_USAGE"]},{id:"secrets:manage",label:"Manage secrets",description:"Create and list secrets stored in the credential vault",section:"Organization",tools:["SECRET_CREATE","SECRET_LIST"]},{id:"file-configs:manage",label:"Manage file configs",description:"Create, list, update and delete S3 bucket configurations and synced GitHub repositories",section:"Organization",tools:["FILE_CONFIG_CREATE","FILE_CONFIG_LIST","FILE_CONFIG_UPDATE","FILE_CONFIG_DELETE","FILE_OBJECTS_LIST","FILE_OBJECT_DELETE","FILE_OBJECT_UPLOAD","ORG_REPO_SYNC_CREATE","ORG_REPO_SYNC_LIST","ORG_REPO_SYNC_UPDATE","ORG_REPO_SYNC_DELETE","ORG_REPO_SYNC_RUN"]},{id:"ai-providers:manage",label:"Manage AI providers",description:"Add or remove API keys and provision provider credentials",section:"AI Providers",tools:["AI_PROVIDER_KEY_CREATE","AI_PROVIDER_KEY_LIST","AI_PROVIDER_KEY_DELETE","AI_PROVIDER_KEY_UPDATE","AI_PROVIDER_KEY_PREVIEW","AI_PROVIDER_OAUTH_URL","AI_PROVIDER_OAUTH_EXCHANGE","AI_PROVIDER_PROVISION_KEY","AI_PROVIDER_TOPUP_URL","AI_PROVIDER_CREDITS","AI_PLAN_ENTITLEMENTS","AI_PLAN_LIST","AI_PLAN_SET","AI_PLAN_INVOICE_UPGRADE","CLAUDE_SUBSCRIPTION_CONNECT","CLAUDE_SUBSCRIPTION_STATUS","CLAUDE_SUBSCRIPTION_DISCONNECT","GITHUB_COPILOT_CONNECT","GITHUB_COPILOT_STATUS","GITHUB_COPILOT_DISCONNECT","GITHUB_COPILOT_SHARE"]},{id:"tags:manage",label:"Manage tags",description:"Create, assign, and delete organization tags",section:"Organization",tools:["TAGS_LIST","TAGS_CREATE","TAGS_DELETE","MEMBER_TAGS_GET","MEMBER_TAGS_SET"]},{id:"experiments:manage",label:"Manage experiments",description:"Create, update, and delete A/B experiments, and view results",section:"Experiments",tools:["EXPERIMENT_LIST","EXPERIMENT_GET","EXPERIMENT_CREATE","EXPERIMENT_SUGGEST","EXPERIMENT_IMPLEMENT","EXPERIMENT_IMPLEMENT_LOCAL","EXPERIMENT_PREVIEW_SYNC_LOCAL","EXPERIMENT_UPDATE","EXPERIMENT_DELETE","EXPERIMENT_RESULTS"],dangerous:!0},{id:"registry:manage",label:"Browse registry",description:"Browse the Deco MCP catalog",section:"Store & Registry",tools:["COLLECTION_REGISTRY_APP_LIST","COLLECTION_REGISTRY_APP_GET","COLLECTION_REGISTRY_APP_VERSIONS","COLLECTION_REGISTRY_APP_FILTERS","REGISTRY_ITEM_LIST","REGISTRY_ITEM_SEARCH","REGISTRY_ITEM_GET","REGISTRY_ITEM_VERSIONS","REGISTRY_ITEM_FILTERS"]},{id:"api-keys:manage",label:"Manage API keys",description:"Create, update, and revoke API keys",section:"Developer",tools:["API_KEY_CREATE","API_KEY_LIST","API_KEY_UPDATE","API_KEY_DELETE"]},{id:"storage:delete",label:"Delete from storage",description:"Permanently delete files from object storage",section:"Developer",tools:["DELETE_OBJECT","DELETE_OBJECTS"],dangerous:!0},{id:"lake:read",label:"Query the data lake",description:"Run read-only SQL over the organization's own data lake (orders from connected stores)",section:"Developer",tools:["CUSTOMER_LAKE_QUERY"]}],LW0=new Set([...DW0.find(($)=>$.id==="basic-usage")?.tools??[],"ORG_FS_READ","ORG_FS_WRITE"]),dQ4=["agents:manage","connections:manage"],nm=new Set(DW0.filter(($)=>dQ4.includes($.id)).flatMap(($)=>$.tools))});import{z as d6}from"zod";function o8$(){return pQ4.parse(process.env)}var Er0=($)=>d6.enum(["true","false","1","0"]).optional().transform((Z)=>Z===void 0?$:Z==="true"||Z==="1"),iQ4=($)=>d6.string().optional().transform((Z)=>Z?Z.split(",").map((Q)=>Q.trim()):$),pQ4;var s8$=L(()=>{pQ4=d6.object({AUTH_EMAIL_PASSWORD_ENABLED:Er0(!0),AUTH_GOOGLE_CLIENT_ID:d6.string().optional(),AUTH_GOOGLE_CLIENT_SECRET:d6.string().optional(),AUTH_GITHUB_CLIENT_ID:d6.string().optional(),AUTH_GITHUB_CLIENT_SECRET:d6.string().optional(),AUTH_RESEND_API_KEY:d6.string().optional(),AUTH_RESEND_FROM_EMAIL:d6.string().optional(),AUTH_SENDGRID_API_KEY:d6.string().optional(),AUTH_SENDGRID_FROM_EMAIL:d6.string().optional(),AUTH_INVITE_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_RESET_PASSWORD_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_MAGIC_LINK_ENABLED:Er0(!1),AUTH_MAGIC_LINK_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_ENABLED:Er0(!1),AUTH_EMAIL_OTP_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_LENGTH:d6.coerce.number().optional(),AUTH_EMAIL_OTP_EXPIRES_IN:d6.coerce.number().optional(),AUTH_SSO_DOMAIN:d6.string().optional(),AUTH_SSO_MS_TENANT_ID:d6.string().optional(),AUTH_SSO_MS_CLIENT_ID:d6.string().optional(),AUTH_SSO_MS_CLIENT_SECRET:d6.string().optional(),AUTH_SSO_SCOPES:iQ4(["openid","email","profile"]),AUTH_SSO_GOOGLE_CLIENT_ID:d6.string().optional(),AUTH_SSO_GOOGLE_CLIENT_SECRET:d6.string().optional()}).superRefine(($,Z)=>{let Q=new Set;if($.AUTH_RESEND_API_KEY)Q.add("resend");if($.AUTH_SENDGRID_API_KEY)Q.add("sendgrid");let Y=["AUTH_INVITE_EMAIL_PROVIDER","AUTH_RESET_PASSWORD_EMAIL_PROVIDER","AUTH_MAGIC_LINK_EMAIL_PROVIDER","AUTH_EMAIL_OTP_EMAIL_PROVIDER"];for(let X of Y){let J=$[X];if(J&&!Q.has(J)){let G=J==="resend"?"AUTH_RESEND_API_KEY":"AUTH_SENDGRID_API_KEY";Z.addIssue({code:d6.ZodIssueCode.custom,path:[X],message:`${X}="${J}" but ${G} is not set`})}}if($.AUTH_MAGIC_LINK_ENABLED&&Q.size===0)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_MAGIC_LINK_ENABLED"],message:"AUTH_MAGIC_LINK_ENABLED=true requires AUTH_RESEND_API_KEY or AUTH_SENDGRID_API_KEY to be set"});if($.AUTH_EMAIL_OTP_ENABLED&&Q.size===0)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_EMAIL_OTP_ENABLED"],message:"AUTH_EMAIL_OTP_ENABLED=true requires AUTH_RESEND_API_KEY or AUTH_SENDGRID_API_KEY to be set"});if($.AUTH_SSO_MS_CLIENT_ID&&$.AUTH_SSO_DOMAIN){if(!$.AUTH_SSO_MS_CLIENT_SECRET)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_SSO_MS_CLIENT_SECRET"],message:"AUTH_SSO_MS_CLIENT_ID and AUTH_SSO_DOMAIN are set but AUTH_SSO_MS_CLIENT_SECRET is not"});if(!$.AUTH_SSO_MS_TENANT_ID)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_SSO_MS_TENANT_ID"],message:"AUTH_SSO_MS_CLIENT_ID and AUTH_SSO_DOMAIN are set but AUTH_SSO_MS_TENANT_ID is not"})}if($.AUTH_SSO_GOOGLE_CLIENT_ID&&$.AUTH_SSO_DOMAIN&&!$.AUTH_SSO_GOOGLE_CLIENT_SECRET)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_SSO_GOOGLE_CLIENT_SECRET"],message:"AUTH_SSO_GOOGLE_CLIENT_ID and AUTH_SSO_DOMAIN are set but AUTH_SSO_GOOGLE_CLIENT_SECRET is not"});if($.AUTH_EMAIL_OTP_LENGTH!==void 0&&(!Number.isInteger($.AUTH_EMAIL_OTP_LENGTH)||$.AUTH_EMAIL_OTP_LENGTH<1))Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_EMAIL_OTP_LENGTH"],message:"AUTH_EMAIL_OTP_LENGTH must be a positive integer"});if($.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&(!Number.isInteger($.AUTH_EMAIL_OTP_EXPIRES_IN)||$.AUTH_EMAIL_OTP_EXPIRES_IN<1))Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_EMAIL_OTP_EXPIRES_IN"],message:"AUTH_EMAIL_OTP_EXPIRES_IN must be a positive integer"})}).transform(($)=>{let Z={};if($.AUTH_GOOGLE_CLIENT_ID)Z.google={clientId:$.AUTH_GOOGLE_CLIENT_ID,clientSecret:$.AUTH_GOOGLE_CLIENT_SECRET??""};if($.AUTH_GITHUB_CLIENT_ID)Z.github={clientId:$.AUTH_GITHUB_CLIENT_ID,clientSecret:$.AUTH_GITHUB_CLIENT_SECRET??""};let Q=[];if($.AUTH_RESEND_API_KEY)Q.push({id:"resend",provider:"resend",config:{apiKey:$.AUTH_RESEND_API_KEY,fromEmail:$.AUTH_RESEND_FROM_EMAIL??"noreply@example.com"}});if($.AUTH_SENDGRID_API_KEY)Q.push({id:"sendgrid",provider:"sendgrid",config:{apiKey:$.AUTH_SENDGRID_API_KEY,fromEmail:$.AUTH_SENDGRID_FROM_EMAIL??"noreply@example.com"}});let Y=Q[0]?.id,X;if($.AUTH_SSO_MS_CLIENT_ID&&$.AUTH_SSO_DOMAIN)X={providerId:"microsoft",domain:$.AUTH_SSO_DOMAIN,MS_TENANT_ID:$.AUTH_SSO_MS_TENANT_ID??"",MS_CLIENT_ID:$.AUTH_SSO_MS_CLIENT_ID,MS_CLIENT_SECRET:$.AUTH_SSO_MS_CLIENT_SECRET??"",scopes:$.AUTH_SSO_SCOPES};else if($.AUTH_SSO_GOOGLE_CLIENT_ID&&$.AUTH_SSO_DOMAIN)X={providerId:"google",domain:$.AUTH_SSO_DOMAIN,GOOGLE_CLIENT_ID:$.AUTH_SSO_GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:$.AUTH_SSO_GOOGLE_CLIENT_SECRET??"",scopes:$.AUTH_SSO_SCOPES};let J;if($.AUTH_MAGIC_LINK_ENABLED)J={enabled:!0,emailProviderId:$.AUTH_MAGIC_LINK_EMAIL_PROVIDER??Y??""};let G;if($.AUTH_EMAIL_OTP_ENABLED)G={enabled:!0,emailProviderId:$.AUTH_EMAIL_OTP_EMAIL_PROVIDER??Y??"",...$.AUTH_EMAIL_OTP_LENGTH!==void 0&&{otpLength:$.AUTH_EMAIL_OTP_LENGTH},...$.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&{expiresIn:$.AUTH_EMAIL_OTP_EXPIRES_IN}};return{emailAndPassword:{enabled:$.AUTH_EMAIL_PASSWORD_ENABLED},socialProviders:Object.keys(Z).length>0?Z:void 0,emailProviders:Q.length>0?Q:void 0,inviteEmailProviderId:$.AUTH_INVITE_EMAIL_PROVIDER,resetPasswordEmailProviderId:$.AUTH_RESET_PASSWORD_EMAIL_PROVIDER,ssoConfig:X,magicLinkConfig:J,emailOtpConfig:G}})});import{existsSync as nQ4,readFileSync as tQ4}from"fs";function oQ4(){let $=o8$(),Z=B0().configPath;if(!nQ4(Z))return{auth:$};try{let Q=JSON.parse(tQ4(Z,"utf-8"));if(Q.auth)console.warn("[config] DEPRECATION: 'auth' key found in config.json. Auth is now configured via AUTH_* environment variables. The 'auth' key will be ignored.");return{auth:$,theme:Q.theme,logo:Q.logo,autoCreateOrganizationOnSignup:Q.autoCreateOrganizationOnSignup}}catch{return{auth:$}}}function XF(){if(!Pr0)Pr0=oQ4();return Pr0}function a8$(){return XF().theme}var Pr0=null;var De=L(()=>{s8$();u1()});import{dirname as sQ4,posix as aQ4,sep as rQ4}from"path";function e8$(){let $=eQ4();return async(Z)=>{for(let Q of Z)Q.module=$(Q.filename);return Z}}function eQ4($=process.argv[1]?sQ4(process.argv[1]):process.cwd(),Z=rQ4==="\\"){let Q=Z?r8$($):$;return(Y)=>{if(!Y)return;let X=Z?r8$(Y):Y,{dir:J,base:G,ext:W}=aQ4.parse(X);if(W===".js"||W===".mjs"||W===".cjs")G=G.slice(0,-1*W.length);let K=decodeURIComponent(G);if(!J)J=".";let H=J.lastIndexOf("/node_modules");if(H>-1)return`${J.slice(H+14).replace(/\//g,".")}:${K}`;if(J.startsWith(Q)){let F=J.slice(Q.length+1).replace(/\//g,".");return F?`${F}:${K}`:K}return K}}function r8$($){return $.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var $4$=()=>{};function $Y4($,Z,Q){return{key:$,enabled:typeof Z=="string"?!0:Z,variant:typeof Z=="string"?Z:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:Q?JSON.stringify(Q):void 0,description:void 0}}}var zr0=($)=>{if("flags"in $){let Z=Z4$($.flags),Q=Q4$($.flags);return{...$,featureFlags:Z,featureFlagPayloads:Q}}{let Z=$.featureFlags??{},Q=Object.fromEntries(Object.entries($.featureFlagPayloads||{}).map(([X,J])=>[X,Ar0(J)])),Y=Object.fromEntries(Object.entries(Z).map(([X,J])=>[X,$Y4(X,J,Q[X])]));return{...$,featureFlags:Z,featureFlagPayloads:Q,flags:Y}}},Z4$=($)=>Object.fromEntries(Object.entries($??{}).map(([Z,Q])=>[Z,Le(Q)]).filter(([,Z])=>Z!==void 0)),Q4$=($)=>{let Z=$??{};return Object.fromEntries(Object.keys(Z).filter((Q)=>{let Y=Z[Q];return Y.enabled&&Y.metadata&&Y.metadata.payload!==void 0}).map((Q)=>{let Y=Z[Q].metadata?.payload;return[Q,Y?Ar0(Y):void 0]}))},Le=($)=>$===void 0?void 0:$.variant??$.enabled,Ar0=($)=>{if(typeof $!="string")return $;try{return JSON.parse($)}catch{return $}};var OW0=()=>{};function Y4$(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}async function jW0($,Z=!0,Q){try{let Y=new CompressionStream("gzip"),X=Y.writable.getWriter(),J=X.write(new TextEncoder().encode($)).then(()=>X.close()).catch(async(K)=>{try{await X.abort(K)}catch{}throw K}),G=new Response(Y.readable).blob(),[W]=await Promise.all([G,J]);return W}catch(Y){if(Q?.rethrow)throw Y;if(Z)console.error("Failed to gzip compress data",Y);return null}}var Tr0=()=>{};var ZY4,X4$=function($,Z=[]){if(!$)return!1;let Q=$.toLowerCase();return ZY4.concat(Z).some((Y)=>{let X=Y.toLowerCase();return Q.indexOf(X)!==-1})};var J4$=L(()=>{ZY4=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"]});var $X;var eA=L(()=>{$X=function($){return $.AnonymousId="anonymous_id",$.DistinctId="distinct_id",$.Props="props",$.EnablePersonProcessing="enable_person_processing",$.PersonMode="person_mode",$.FeatureFlagDetails="feature_flag_details",$.FeatureFlags="feature_flags",$.FeatureFlagPayloads="feature_flag_payloads",$.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",$.BootstrapFeatureFlags="bootstrap_feature_flags",$.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",$.OverrideFeatureFlags="override_feature_flags",$.Queue="queue",$.LogsQueue="logs_queue",$.OptedOut="opted_out",$.SessionId="session_id",$.SessionStartTimestamp="session_start_timestamp",$.SessionLastTimestamp="session_timestamp",$.PersonProperties="person_properties",$.GroupProperties="group_properties",$.InstalledAppBuild="installed_app_build",$.InstalledAppVersion="installed_app_version",$.SessionReplay="session_replay",$.SurveyLastSeenDate="survey_last_seen_date",$.SurveysSeen="surveys_seen",$.Surveys="surveys",$.RemoteConfig="remote_config",$.FlagsEndpointWasHit="flags_endpoint_was_hit",$.DeviceId="device_id",$}({})});var wW0=()=>{};function PW0($){return $===null||typeof $!="object"}function $T($,Z){return Object.prototype.toString.call($)===`[object ${Z}]`}function K4$($){return $T($,"ErrorEvent")}function om($){return typeof Event<"u"&&XY4($,Event)}function H4$($){return $T($,"Object")}function XY4($,Z){try{return $ instanceof Z}catch{return!1}}var YY4,G4$,Wm5,qr0,EW0,Oe=($)=>$===Object($)&&!EW0($),tm=($)=>$===void 0,kw=($)=>qr0.call($)=="[object String]",W4$=($)=>kw($)&&$.trim().length===0,je=($)=>qr0.call($)=="[object Number]"&&$===$,Rr0=($)=>$ instanceof Error;var we=L(()=>{eA();wW0();YY4=Array.isArray,G4$=Object.prototype,Wm5=G4$.hasOwnProperty,qr0=G4$.toString,EW0=YY4||function($){return qr0.call($)==="[object Array]"}});function Ee($,Z,Q,Y,X){if(Z>Q)Y.warn("min cannot be greater than max."),Z=Q;if(je($))if($>Q)return Y.warn(" cannot be greater than max: "+Q+". Using max value instead."),Q;else{if(!($<Z))return $;return Y.warn(" cannot be less than min: "+Z+". Using min value instead."),Z}return Y.warn(" must be a number. using max or fallback. max: "+Q+", fallback: "+X),Ee(X||Q,Z,Q,Y)}var Mr0=L(()=>{we()});class Vr0{constructor($){this._buckets={},this._onBucketRateLimited=$._onBucketRateLimited,this._bucketSize=Ee($.bucketSize,0,100,$._logger),this._refillRate=Ee($.refillRate,0,this._bucketSize,$._logger),this._refillInterval=Ee($.refillInterval,0,JY4,$._logger)}_applyRefill($,Z){let Q=Z-$.lastAccess,Y=Math.floor(Q/this._refillInterval);if(Y>0){let X=Y*this._refillRate;$.tokens=Math.min($.tokens+X,this._bucketSize),$.lastAccess=$.lastAccess+Y*this._refillInterval}}consumeRateLimit($){let Z=Date.now(),Q=String($),Y=this._buckets[Q];if(Y)this._applyRefill(Y,Z);else Y={tokens:this._bucketSize,lastAccess:Z},this._buckets[Q]=Y;if(Y.tokens===0)return!0;if(Y.tokens--,Y.tokens===0)this._onBucketRateLimited?.($);return Y.tokens===0}stop(){this._buckets={}}}var JY4=86400000;var F4$=L(()=>{Mr0()});class ZT{constructor($){this.bytes=$}static ofInner($){if($.length===16)return new ZT($);throw TypeError("not 128-bit length")}static fromFieldsV7($,Z,Q,Y){if(!Number.isInteger($)||!Number.isInteger(Z)||!Number.isInteger(Q)||!Number.isInteger(Y)||$<0||Z<0||Q<0||Y<0||$>281474976710655||Z>4095||Q>1073741823||Y>4294967295)throw RangeError("invalid field value");let X=new Uint8Array(16);return X[0]=$/1099511627776,X[1]=$/4294967296,X[2]=$/16777216,X[3]=$/65536,X[4]=$/256,X[5]=$,X[6]=112|Z>>>8,X[7]=Z,X[8]=128|Q>>>24,X[9]=Q>>>16,X[10]=Q>>>8,X[11]=Q,X[12]=Y>>>24,X[13]=Y>>>16,X[14]=Y>>>8,X[15]=Y,new ZT(X)}static parse($){let Z;switch($.length){case 32:Z=/^[0-9a-f]{32}$/i.exec($)?.[0];break;case 36:Z=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec($)?.slice(1,6).join("");break;case 38:Z=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec($)?.slice(1,6).join("");break;case 45:Z=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec($)?.slice(1,6).join("");break;default:break}if(Z){let Q=new Uint8Array(16);for(let Y=0;Y<16;Y+=4){let X=parseInt(Z.substring(2*Y,2*Y+8),16);Q[Y+0]=X>>>24,Q[Y+1]=X>>>16,Q[Y+2]=X>>>8,Q[Y+3]=X}return new ZT(Q)}throw SyntaxError("could not parse UUID string")}toString(){let $="";for(let Z=0;Z<this.bytes.length;Z++)if($+="0123456789abcdef".charAt(this.bytes[Z]>>>4),$+="0123456789abcdef".charAt(15&this.bytes[Z]),Z===3||Z===5||Z===7||Z===9)$+="-";return $}toHex(){let $="";for(let Z=0;Z<this.bytes.length;Z++)$+="0123456789abcdef".charAt(this.bytes[Z]>>>4),$+="0123456789abcdef".charAt(15&this.bytes[Z]);return $}toJSON(){return this.toString()}getVariant(){let $=this.bytes[8]>>>4;if($<0)throw Error("unreachable");if($<=7)return this.bytes.every((Z)=>Z===0)?"NIL":"VAR_0";if($<=11)return"VAR_10";if($<=13)return"VAR_110";if($<=15)return this.bytes.every((Z)=>Z===255)?"MAX":"VAR_RESERVED";else throw Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new ZT(this.bytes.slice(0))}equals($){return this.compareTo($)===0}compareTo($){for(let Z=0;Z<16;Z++){let Q=this.bytes[Z]-$.bytes[Z];if(Q!==0)return Math.sign(Q)}return 0}}class N4${constructor($){this.timestamp=0,this.counter=0,this.random=$??GY4()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore($,Z){let Q=this.generateOrAbortCore($,Z);if(Q===void 0)this.timestamp=0,Q=this.generateOrAbortCore($,Z);return Q}generateOrAbortCore($,Z){if(!Number.isInteger($)||$<1||$>281474976710655)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(Z<0||Z>281474976710655)throw RangeError("`rollbackAllowance` out of reasonable range");if($>this.timestamp)this.timestamp=$,this.resetCounter();else{if(!($+Z>=this.timestamp))return;if(this.counter++,this.counter>4398046511103)this.timestamp++,this.resetCounter()}return ZT.fromFieldsV7(this.timestamp,Math.trunc(this.counter/1073741824),this.counter&1073741823,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let $=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return $[6]=64|$[6]>>>4,$[8]=128|$[8]>>>2,ZT.ofInner($)}}var GY4=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),U4$,Cw=()=>WY4().toString(),WY4=()=>(U4$||(U4$=new N4$)).generate();var Pe=L(()=>{/*! For license information please see uuidv7.mjs.LICENSE.txt */});class Ir0{add($){let Z=Cw();return this.promiseByIds[Z]=$,$.catch(()=>{}).finally(()=>{delete this.promiseByIds[Z]}),$}async join(){let $=Object.values(this.promiseByIds),Z=$.length;while(Z>0)await Promise.all($),$=Object.values(this.promiseByIds),Z=$.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}}var B4$=L(()=>{Pe()});function KY4($=console){return{log:$.log.bind($),warn:$.warn.bind($),error:$.error.bind($),debug:$.debug.bind($)}}function L4$($,Z=HY4){return D4$($,Z,KY4())}var D4$=($,Z,Q)=>{function Y(J,...G){Z(()=>{let W=Q[J];W($,...G)})}return{info:(...J)=>{Y("log",...J)},warn:(...J)=>{Y("warn",...J)},error:(...J)=>{Y("error",...J)},critical:(...J)=>{Q.error($,...J)},createLogger:(J)=>D4$(`${$} ${J}`,Z,Q)}},HY4=($)=>$();var O4$=()=>{};var am="Mobile",AW0="iOS",sm="Android",j4$="Tablet",Em5,UY4="Apple",Pm5,w4$="Safari",TW0="BlackBerry",E4$="Samsung",NY4,BY4,qW0="Chrome",DY4,LY4,P4$="Internet Explorer",OY4,Cr0="Opera",zm5,z4$="Edge",jY4,Sr0="Firefox",wY4,_r0="Nintendo",vr0="PlayStation",zW0="Xbox",EY4,PY4,ze="Windows",zY4,A4$="Generic",Am5,Tm5,AY4="Konqueror",HJ="(\\d+(\\.\\d+)?)",kr0,qm5,Rm5,Mm5,TY4,qY4,Vm5,Im5;var T4$=L(()=>{wW0();we();Em5=sm+" "+j4$,Pm5=UY4+" Watch",NY4=E4$+"Browser",BY4=E4$+" Internet",DY4=qW0+" OS",LY4=qW0+" "+AW0,OY4=P4$+" "+am,zm5=Cr0+" Mini",jY4="Microsoft "+z4$,wY4=Sr0+" "+AW0,EY4=sm+" "+am,PY4=am+" "+w4$,zY4=ze+" Phone",Am5=A4$+" "+am.toLowerCase(),Tm5=A4$+" "+j4$.toLowerCase(),kr0=new RegExp("Version/"+HJ),qm5=new RegExp(zW0,"i"),Rm5=new RegExp(vr0+" \\w+","i"),Mm5=new RegExp(_r0+" \\w+","i"),TY4=new RegExp(TW0+"|PlayBook|BB10","i"),qY4={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"},Vm5={[OY4]:[new RegExp("rv:"+HJ)],[jY4]:[new RegExp(z4$+"?\\/"+HJ)],[qW0]:[new RegExp("("+qW0+"|CrMo)\\/"+HJ)],[LY4]:[new RegExp("CriOS\\/"+HJ)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+HJ)],[w4$]:[kr0],[PY4]:[kr0],[Cr0]:[new RegExp("("+Cr0+"|OPR)\\/"+HJ)],[Sr0]:[new RegExp(Sr0+"\\/"+HJ)],[wY4]:[new RegExp("FxiOS\\/"+HJ)],[AY4]:[new RegExp("Konqueror[:/]?"+HJ,"i")],[TW0]:[new RegExp(TW0+" "+HJ),kr0],[EY4]:[new RegExp("android\\s"+HJ,"i")],[BY4]:[new RegExp(NY4+"\\/"+HJ)],[P4$]:[new RegExp("(rv:|MSIE )"+HJ)],Mozilla:[new RegExp("rv:"+HJ)]},Im5=[[new RegExp(zW0+"; "+zW0+" (.*?)[);]","i"),($)=>[zW0,$&&$[1]||""]],[new RegExp(_r0,"i"),[_r0,""]],[new RegExp(vr0,"i"),[vr0,""]],[TY4,[TW0,""]],[new RegExp(ze,"i"),($,Z)=>{if(/Phone/.test(Z)||/WPDesktop/.test(Z))return[zY4,""];if(new RegExp(am).test(Z)&&!/IEMobile\b/.test(Z))return[ze+" "+am,""];let Q=/Windows NT ([0-9.]+)/i.exec(Z);if(Q&&Q[1]){let Y=Q[1],X=qY4[Y]||"";if(/arm/i.test(Z))X="RT";return[ze,X]}return[ze,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,($)=>{if($&&$[3]){let Z=[$[3],$[4],$[5]||"0"];return[AW0,Z.join(".")]}return[AW0,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,($)=>{let Z="";if($&&$.length>=3)Z=tm($[2])?$[3]:$[2];return["watchOS",Z]}],[new RegExp("("+sm+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+sm+")","i"),($)=>{if($&&$[2]){let Z=[$[2],$[3],$[4]||"0"];return[sm,Z.join(".")]}return[sm,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,($)=>{let Z=["Mac OS X",""];if($&&$[1]){let Q=[$[1],$[2],$[3]||"0"];Z[1]=Q.join(".")}return Z}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[DY4,""]],[/Linux|debian/i,["Linux",""]]]});function R4$($){return $?.replace(/\/+$/,"")}async function M4$($,Z){let Q=null;for(let Y=0;Y<Z.retryCount+1;Y++){if(Y>0)await new Promise((X)=>setTimeout(X,Z.retryDelay));try{return await $()}catch(X){if(Q=X,!Z.retryCheck(X))throw X}}throw Q}function RW0(){return new Date().toISOString()}function $L($,Z){let Q=setTimeout($,Z);return Q?.unref&&Q?.unref(),Q}function br0($){return Promise.all($.map((Z)=>(Z??Promise.resolve()).then((Q)=>({status:"fulfilled",value:Q}),(Q)=>({status:"rejected",reason:Q}))))}var q4$="utf8",V4$=($)=>$ instanceof Error;var FJ=L(()=>{J4$();F4$();Mr0();wW0();we();B4$();O4$();T4$()});var RY4,mm5;var xr0=L(()=>{FJ();RY4={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},mm5=RY4.info});var I4$=L(()=>{xr0();eA()});var k4$=L(()=>{eA()});class fr0{constructor(){this.events={},this.events={}}on($,Z){if(!this.events[$])this.events[$]=[];return this.events[$].push(Z),()=>{this.events[$]=this.events[$].filter((Q)=>Q!==Z)}}emit($,Z){for(let Q of this.events[$]||[])Q(Z);for(let Q of this.events["*"]||[])Q($,Z)}}var C4$=()=>{};async function S4$($){if($ instanceof rm){let Z="";try{Z=await $.text}catch{}console.error(`Error while flushing PostHog: message=${$.message}, response body=${Z}`,$)}else console.error("Error while flushing PostHog",$);return Promise.resolve()}function yr0($){return typeof $=="object"&&($ instanceof rm||$ instanceof Ae)}function _4$($){return typeof $=="object"&&$ instanceof rm&&$.status===413}class MW0{constructor($,Z={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new Ir0,this._events=new fr0,this._isInitialized=!1;let Q=typeof $=="string"?$.trim():"",Y=typeof Z.host=="string"?Z.host.trim():"",X=!Q;if(this._logger=L4$("[PostHog]",this.logMsgIfDebug.bind(this)),X)this._logger.error("You must pass your PostHog project's api key. The client will be disabled.");if(this.apiKey=Q,this.host=R4$(Y||"https://us.i.posthog.com"),this.flushAt=Z.flushAt?Math.max(Z.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,Z.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,Z.maxQueueSize??1000),this.flushInterval=Z.flushInterval??1e4,this.preloadFeatureFlags=Z.preloadFeatureFlags??!0,this.defaultOptIn=Z.defaultOptIn??!0,this.disableSurveys=Z.disableSurveys??!1,this._retryOptions={retryCount:Z.fetchRetryCount??3,retryDelay:Z.fetchRetryDelay??3000,retryCheck:yr0},this.requestTimeout=Z.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=Z.featureFlagsRequestTimeoutMs??3000,this.remoteConfigRequestTimeoutMs=Z.remoteConfigRequestTimeoutMs??3000,this.disableGeoip=Z.disableGeoip??!0,this.disabled=(Z.disabled??!1)||X,this.historicalMigration=Z?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=Z?.evaluationContexts??Z?.evaluationEnvironments,Z?.evaluationEnvironments&&!Z?.evaluationContexts)this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.");this.disableCompression=!Y4$()||(Z?.disableCompression??!1)}logMsgIfDebug($){if(this.isDebug)$()}wrap($){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return $();this._initPromise.then(()=>$())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty($X.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty($X.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty($X.OptedOut,!0)})}on($,Z){return this._events.on($,Z)}debug($=!0){if(this.removeDebugCallback?.(),$){let Z=this.on("*",(Q,Y)=>this._logger.info(Q,Y));this.removeDebugCallback=()=>{Z(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload($){return{distinct_id:$.distinct_id,event:$.event,properties:{...$.properties||{},...this.getCommonEventProperties()}}}addPendingPromise($){return this.promiseQueue.add($)}identifyStateless($,Z,Q){this.wrap(()=>{let Y={...this.buildPayload({distinct_id:$,event:"$identify",properties:Z})};this.enqueue("identify",Y,Q)})}async identifyStatelessImmediate($,Z,Q){let Y={...this.buildPayload({distinct_id:$,event:"$identify",properties:Z})};await this.sendImmediate("identify",Y,Q)}captureStateless($,Z,Q,Y){this.wrap(()=>{let X=this.buildPayload({distinct_id:$,event:Z,properties:Q});this.enqueue("capture",X,Y)})}async captureStatelessImmediate($,Z,Q,Y){let X=this.buildPayload({distinct_id:$,event:Z,properties:Q});await this.sendImmediate("capture",X,Y)}aliasStateless($,Z,Q,Y){this.wrap(()=>{let X=this.buildPayload({event:"$create_alias",distinct_id:Z,properties:{...Q||{},distinct_id:Z,alias:$}});this.enqueue("alias",X,Y)})}async aliasStatelessImmediate($,Z,Q,Y){let X=this.buildPayload({event:"$create_alias",distinct_id:Z,properties:{...Q||{},distinct_id:Z,alias:$}});await this.sendImmediate("alias",X,Y)}groupIdentifyStateless($,Z,Q,Y,X,J){this.wrap(()=>{let G=this.buildPayload({distinct_id:X||`$${$}_${Z}`,event:"$groupidentify",properties:{$group_type:$,$group_key:Z,$group_set:Q||{},...J||{}}});this.enqueue("capture",G,Y)})}async getRemoteConfig(){await this._initPromise;let $=this.host;if($==="https://us.i.posthog.com")$="https://us-assets.i.posthog.com";else if($==="https://eu.i.posthog.com")$="https://eu-assets.i.posthog.com";let Z=`${$}/array/${this.apiKey}/config`,Q={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(Z,Q,{retryCount:0},this.remoteConfigRequestTimeoutMs).then((Y)=>Y.json()).catch((Y)=>{this._logger.error("Remote config could not be loaded",Y),this._events.emit("error",Y)})}async getFlags($,Z={},Q={},Y={},X={},J=!1){await this._initPromise;let G=J?"&config=true":"",W=`${this.host}/flags/?v=2${G}`,K={token:this.apiKey,distinct_id:$,groups:Z,person_properties:Q,group_properties:Y,...X};if(Q.$device_id)K.$device_id=Q.$device_id;if(this.evaluationContexts&&this.evaluationContexts.length>0)K.evaluation_contexts=this.evaluationContexts;let H={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(K)};return this._logger.info("Flags URL",W),this.fetchWithRetry(W,H,{retryCount:0},this.featureFlagsRequestTimeoutMs).then((F)=>F.json()).then((F)=>({success:!0,response:zr0(F)})).catch((F)=>{return this._events.emit("error",F),{success:!1,error:this.categorizeRequestError(F)}})}categorizeRequestError($){if($ instanceof rm)return{type:"api_error",statusCode:$.status};if($ instanceof Ae){let Z=$.error;if(Z instanceof Error&&(Z.name==="AbortError"||Z.name==="TimeoutError"))return{type:"timeout"};return{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless($,Z,Q={},Y={},X={},J){await this._initPromise;let G=await this.getFeatureFlagDetailStateless($,Z,Q,Y,X,J);if(G===void 0)return{response:void 0,requestId:void 0};let W=Le(G.response);if(W===void 0)W=!1;return{response:W,requestId:G.requestId}}async getFeatureFlagDetailStateless($,Z,Q={},Y={},X={},J){await this._initPromise;let G=await this.getFeatureFlagDetailsStateless(Z,Q,Y,X,J,[$]);if(G===void 0)return;return{response:G.flags[$],requestId:G.requestId,evaluatedAt:G.evaluatedAt}}async getFeatureFlagPayloadStateless($,Z,Q={},Y={},X={},J){await this._initPromise;let G=await this.getFeatureFlagPayloadsStateless(Z,Q,Y,X,J,[$]);if(!G)return;let W=G[$];if(W===void 0)return null;return W}async getFeatureFlagPayloadsStateless($,Z={},Q={},Y={},X,J){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless($,Z,Q,Y,X,J)).payloads}async getFeatureFlagsStateless($,Z={},Q={},Y={},X,J){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless($,Z,Q,Y,X,J)}async getFeatureFlagsAndPayloadsStateless($,Z={},Q={},Y={},X,J){await this._initPromise;let G=await this.getFeatureFlagDetailsStateless($,Z,Q,Y,X,J);if(!G)return{flags:void 0,payloads:void 0,requestId:void 0};return{flags:G.featureFlags,payloads:G.featureFlagPayloads,requestId:G.requestId}}async getFeatureFlagDetailsStateless($,Z={},Q={},Y={},X,J){await this._initPromise;let G={};if(X??this.disableGeoip)G.geoip_disable=!0;if(J)G.flag_keys_to_evaluate=J;let W=await this.getFlags($,Z,Q,Y,G);if(!W.success)return;let K=W.response;if(K.errorsWhileComputingFlags)console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices");if(K.quotaLimited?.includes("feature_flags"))return console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:K?.requestId,quotaLimited:K.quotaLimited};return K}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let $=`${this.host}/api/surveys/?token=${this.apiKey}`,Z={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},Y=(await this.fetchWithRetry($,Z).then((X)=>{if(X.status!==200||!X.json){let J=`Surveys API could not be loaded: ${X.status}`,G=Error(J);this._logger.error(G),this._events.emit("error",Error(J));return}return X.json()}).catch((X)=>{this._logger.error("Surveys API could not be loaded",X),this._events.emit("error",X)}))?.surveys;if(Y)this._logger.info("Surveys fetched from API: ",JSON.stringify(Y));return Y??[]}get props(){if(!this._props)this._props=this.getPersistedProperty($X.Props);return this._props||{}}set props($){this._props=$}async register($){this.wrap(()=>{this.props={...this.props,...$},this.setPersistedProperty($X.Props,this.props)})}async unregister($){this.wrap(()=>{delete this.props[$],this.setPersistedProperty($X.Props,this.props)})}processBeforeEnqueue($){return $}async flushStorage(){}enqueue($,Z,Q){this.wrap(()=>{if(this.optedOut)return void this._events.emit($,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Y=this.prepareMessage($,Z,Q);if(Y=this.processBeforeEnqueue(Y),Y===null)return;let X=this.getPersistedProperty($X.Queue)||[];if(X.length>=this.maxQueueSize)X.shift(),this._logger.info("Queue is full, the oldest event is dropped.");if(X.push({message:Y}),this.setPersistedProperty($X.Queue,X),this._events.emit($,Y),X.length>=this.flushAt)this.flushBackground();if(this.flushInterval&&!this._flushTimer)this._flushTimer=$L(()=>this.flushBackground(),this.flushInterval)})}async sendImmediate($,Z,Q){if(this.disabled)return void this._logger.warn("The client is disabled");if(!this._isInitialized)await this._initPromise;if(this.optedOut)return void this._events.emit($,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Y=this.prepareMessage($,Z,Q);if(Y=this.processBeforeEnqueue(Y),Y===null)return;let X={api_key:this.apiKey,batch:[Y],sent_at:RW0()};if(this.historicalMigration)X.historical_migration=!0;let J=JSON.stringify(X),G=`${this.host}/batch/`,W=this.disableCompression?null:await jW0(J,this.isDebug),K={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...W!==null&&{"Content-Encoding":"gzip"}},body:W||J};try{await this.fetchWithRetry(G,K)}catch(H){this._events.emit("error",H)}}prepareMessage($,Z,Q){let Y={...Z,type:$,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:Q?.timestamp?Q?.timestamp:RW0(),uuid:Q?.uuid?Q.uuid:Cw()};if(Q?.disableGeoip??this.disableGeoip){if(!Y.properties)Y.properties={};Y.properties.$geoip_disable=!0}if(Y.distinctId)Y.distinct_id=Y.distinctId,delete Y.distinctId;return Y}clearFlushTimer(){if(this._flushTimer)clearTimeout(this._flushTimer),this._flushTimer=void 0}flushBackground(){this.flush().catch(async($)=>{await S4$($)})}async flush(){let $=br0([this.flushPromise]).then(()=>this._flush());return this.flushPromise=$,this.addPendingPromise($),br0([$]).then(()=>{if(this.flushPromise===$)this.flushPromise=null}),$}getCustomHeaders(){let $=this.getCustomUserAgent(),Z={};if($&&$!=="")Z["User-Agent"]=$;return Z}async _flush(){this.clearFlushTimer(),await this._initPromise;let $=this.getPersistedProperty($X.Queue)||[];if(!$.length)return;let Z=[],Q=$.length;while($.length>0&&Z.length<Q){let Y=$.slice(0,this.maxBatchSize),X=Y.map((N)=>N.message),J=async()=>{let B=(this.getPersistedProperty($X.Queue)||[]).slice(Y.length);this.setPersistedProperty($X.Queue,B),$=B,await this.flushStorage()},G={api_key:this.apiKey,batch:X,sent_at:RW0()};if(this.historicalMigration)G.historical_migration=!0;let W=JSON.stringify(G),K=`${this.host}/batch/`,H=this.disableCompression?null:await jW0(W,this.isDebug),F={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...H!==null&&{"Content-Encoding":"gzip"}},body:H||W},U={retryCheck:(N)=>{if(_4$(N))return!1;return yr0(N)}};try{await this.fetchWithRetry(K,F,U)}catch(N){if(_4$(N)&&X.length>1){this.maxBatchSize=Math.max(1,Math.floor(X.length/2)),this._logger.warn(`Received 413 when sending batch of size ${X.length}, reducing batch size to ${this.maxBatchSize}`);continue}if(!(N instanceof Ae))await J();throw this._events.emit("error",N),N}await J(),Z.push(...X)}this._events.emit("flush",Z)}async fetchWithRetry($,Z,Q,Y){let X=Z.body?Z.body:"",J=-1;try{J=X instanceof Blob?X.size:Buffer.byteLength(X,q4$)}catch{if(X instanceof Blob)J=X.size;else J=new TextEncoder().encode(X).length}return await M4$(async()=>{let G=new AbortController,W=Y??this.requestTimeout,K=$L(()=>G.abort(),W),H=null;try{H=await this.fetch($,{signal:G.signal,...Z})}catch(U){throw new Ae(U)}finally{clearTimeout(K)}if(Z.mode!=="no-cors"&&(H.status<200||H.status>=400))throw new rm(H,J);return H},{...this._retryOptions,...Q})}async _shutdown($=30000){await this._initPromise;let Z=!1;this.clearFlushTimer();let Q=async()=>{try{await this.promiseQueue.join();while(!0){if((this.getPersistedProperty($X.Queue)||[]).length===0)break;if(await this.flush(),Z)break}}catch(X){if(!yr0(X))throw X;await S4$(X)}},Y;try{return await Promise.race([new Promise((X,J)=>{Y=$L(()=>{this._logger.error("Timed out while shutting down PostHog"),Z=!0,J("Timeout while shutting down PostHog. Some events may not have been sent.")},$)}),Q()])}finally{clearTimeout(Y)}}async shutdown($=30000){if(this.shutdownPromise)this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup");else this.shutdownPromise=this._shutdown($).finally(()=>{this.shutdownPromise=null});return this.shutdownPromise}}var rm,Ae;var gr0=L(()=>{C4$();OW0();Tr0();eA();FJ();Pe();rm=class rm extends Error{constructor($,Z){super("HTTP error while fetching PostHog: status="+$.status+", reqByteLength="+Z),this.response=$,this.reqByteLength=Z,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}};Ae=class Ae extends Error{constructor($){super("Network error while fetching PostHog",$ instanceof Error?{cause:$}:{}),this.error=$,this.name="PostHogFetchNetworkError"}}});var v4$=L(()=>{OW0();eA();gr0();Pe();FJ()});var b4$=L(()=>{we()});function f4$($){let Z=globalThis._posthogChunkIds;if(!Z)return;let Q=Object.keys(Z);if(IW0&&Q.length===x4$)return IW0;return x4$=Q.length,IW0=Q.reduce((Y,X)=>{if(!VW0)VW0={};let J=VW0[X];if(J)Y[J[0]]=J[1];else{let G=$(X);for(let W=G.length-1;W>=0;W--){let H=G[W]?.filename,F=Z[X];if(H&&F){Y[H]=F,VW0[X]=[H,F];break}}}return Y},{}),IW0}var VW0,x4$,IW0;var y4$=()=>{};class g4${constructor($,Z,Q=[]){this.coercers=$,this.stackParser=Z,this.modifiers=Q}buildFromUnknown($,Z={}){let Y=Z&&Z.mechanism||{handled:!0,type:"generic"},J=this.buildCoercingContext(Y,Z,0).apply($),G=this.buildParsingContext(Z),W=this.parseStacktrace(J,G);return{$exception_list:this.convertToExceptionList(W,Y),$exception_level:"error"}}async modifyFrames($){for(let Z of $)if(Z.stacktrace&&Z.stacktrace.frames&&EW0(Z.stacktrace.frames))Z.stacktrace.frames=await this.applyModifiers(Z.stacktrace.frames);return $}coerceFallback($){return{type:"Error",value:"Unknown error",stack:$.syntheticException?.stack,synthetic:!0}}parseStacktrace($,Z){let Q;if($.cause!=null)Q=this.parseStacktrace($.cause,Z);let Y;if($.stack!=""&&$.stack!=null)Y=this.applyChunkIds(this.stackParser($.stack,$.synthetic?Z.skipFirstLines:0),Z.chunkIdMap);return{...$,cause:Q,stack:Y}}applyChunkIds($,Z){return $.map((Q)=>{if(Q.filename&&Z)Q.chunk_id=Z[Q.filename];return Q})}applyCoercers($,Z){for(let Q of this.coercers)if(Q.match($))return Q.coerce($,Z);return this.coerceFallback(Z)}async applyModifiers($){let Z=$;for(let Q of this.modifiers)Z=await Q(Z);return Z}convertToExceptionList($,Z){let Q={type:$.type,value:$.value,mechanism:{type:Z.type??"generic",handled:Z.handled??!0,synthetic:$.synthetic??!1}};if($.stack)Q.stacktrace={type:"raw",frames:$.stack};let Y=[Q];if($.cause!=null)Y.push(...this.convertToExceptionList($.cause,{...Z,handled:!0}));return Y}buildParsingContext($){return{chunkIdMap:f4$(this.stackParser),skipFirstLines:$.skipFirstLines??1}}buildCoercingContext($,Z,Q=0){let Y=(J,G)=>{if(!(G<=IY4))return;{let W=this.buildCoercingContext($,Z,G);return this.applyCoercers(J,W)}};return{...Z,syntheticException:Q==0?Z.syntheticException:void 0,mechanism:$,apply:(J)=>Y(J,Q),next:(J)=>Y(J,Q+1)}}}var IY4=4;var h4$=L(()=>{FJ();y4$()});function nU($,Z,Q,Y,X){let J={platform:$,filename:Z,function:Q==="<anonymous>"?WY:Q,in_app:!0};if(!tm(Y))J.lineno=Y;if(!tm(X))J.colno=X;return J}var WY="?";var Sw=L(()=>{FJ()});var kW0=($,Z)=>{let Q=$.indexOf("safari-extension")!==-1,Y=$.indexOf("safari-web-extension")!==-1;return Q||Y?[$.indexOf("@")!==-1?$.split("@")[0]:WY,Q?`safari-extension:${Z}`:`safari-web-extension:${Z}`]:[$,Z]};var hr0=L(()=>{Sw()});var kY4,CY4,SY4,ur0=($,Z)=>{let Q=kY4.exec($);if(Q){let[,X,J,G]=Q;return nU(Z,X,WY,+J,+G)}let Y=CY4.exec($);if(Y){if(Y[2]&&Y[2].indexOf("eval")===0){let W=SY4.exec(Y[2]);if(W)Y[2]=W[1],Y[3]=W[2],Y[4]=W[3]}let[J,G]=kW0(Y[1]||WY,Y[2]);return nU(Z,G,J,Y[3]?+Y[3]:void 0,Y[4]?+Y[4]:void 0)}};var u4$=L(()=>{Sw();hr0();kY4=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,CY4=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,SY4=/\((\S*)(?::(\d+))(?::(\d+))\)/});var _Y4,vY4,lr0=($,Z)=>{let Q=_Y4.exec($);if(Q){if(Q[3]&&Q[3].indexOf(" > eval")>-1){let G=vY4.exec(Q[3]);if(G)Q[1]=Q[1]||"eval",Q[3]=G[1],Q[4]=G[2],Q[5]=""}let X=Q[3],J=Q[1]||WY;return[J,X]=kW0(J,X),nU(Z,X,J,Q[4]?+Q[4]:void 0,Q[5]?+Q[5]:void 0)}};var l4$=L(()=>{Sw();hr0();_Y4=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,vY4=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i});var bY4,m4$=($,Z)=>{let Q=bY4.exec($);return Q?nU(Z,Q[2],Q[1]||WY,+Q[3],Q[4]?+Q[4]:void 0):void 0};var c4$=L(()=>{Sw();bY4=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i});var xY4,d4$=($,Z)=>{let Q=xY4.exec($);return Q?nU(Z,Q[2],Q[3]||WY,+Q[1]):void 0},fY4,i4$=($,Z)=>{let Q=fY4.exec($);return Q?nU(Z,Q[5],Q[3]||Q[4]||WY,+Q[1],+Q[2]):void 0};var p4$=L(()=>{Sw();xY4=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,fY4=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i});function hY4($,Z=!1){return!(Z||$&&!$.startsWith("/")&&!$.match(/^[A-Z]:/)&&!$.startsWith(".")&&!$.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&$!==void 0&&!$.includes("node_modules/")}function n4$($){return parseInt($||"",10)||void 0}var yY4,gY4,t4$=($,Z)=>{let Q=$.match(gY4);if(Q){let Y,X,J,G,W;if(Q[1]){J=Q[1];let F=J.lastIndexOf(".");if(J[F-1]===".")F--;if(F>0){Y=J.slice(0,F),X=J.slice(F+1);let U=Y.indexOf(".Module");if(U>0)J=J.slice(U+1),Y=Y.slice(0,U)}G=void 0}if(X)G=Y,W=X;if(X==="<anonymous>")W=void 0,J=void 0;if(J===void 0)W=W||WY,J=G?`${G}.${W}`:W;let K=Q[2]?.startsWith("file://")?Q[2].slice(7):Q[2],H=Q[5]==="native";if(K?.match(/\/[A-Z]:/))K=K.slice(1);if(!K&&Q[5]&&!H)K=Q[5];return{filename:K?decodeURI(K):void 0,module:void 0,function:J,lineno:n4$(Q[3]),colno:n4$(Q[4]),in_app:hY4(K||"",H),platform:Z}}if($.match(yY4))return{filename:$,platform:Z}};var o4$=L(()=>{Sw();yY4=/^\s*[-]{4,}$/,gY4=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/});function r4$($){if(!$.length)return[];let Z=Array.from($);return Z.reverse(),Z.slice(0,a4$).map((Q)=>({...Q,filename:Q.filename||uY4(Z).filename,function:Q.function||WY}))}function uY4($){return $[$.length-1]||{}}function lY4(){return e4$("web:javascript",ur0,lr0)}function e4$($,...Z){return(Q,Y=0)=>{let X=[],J=Q.split(`
|
|
79
|
+
`),Do1=!0}throw new wG0.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:$.logger,tryNextLink:!0})}return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),Wi0($)()},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 wG0.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:$.logger});let{fromSSO:W}=await Promise.resolve().then(() => (wp0(),jp0));return W($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:Q}=await Promise.resolve().then(() => (Bo1(),No1));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:Q}=await Promise.resolve().then(() => (Pn0(),En0));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:Q}=await Promise.resolve().then(() => (Mn0(),Rn0));return Q($)(Z)},async()=>{return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await Sm1($))()},async()=>{throw new wG0.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:!1,logger:$.logger})}],zZ4),zZ4=($)=>$?.expiration!==void 0&&$.expiration.getTime()-Date.now()<300000;var jo1=L(()=>{Ki0();_m1();wG0=_(a5(),1),Lo1=_(YJ(),1)});var wo1=L(()=>{jo1()});var Eo1=()=>{};var bm,AZ4="AWS_S3_USE_ARN_REGION",TZ4="s3_use_arn_region",Po1;var zo1=L(()=>{bm=_(Zr(),1),Po1={environmentVariableSelector:($)=>bm.booleanSelector($,AZ4,bm.SelectorType.ENV),configFileSelector:($)=>bm.booleanSelector($,TZ4,bm.SelectorType.CONFIG),default:void 0}});var Ao1=()=>{};var To1=()=>{};var qo1=L(()=>{Eo1();zo1();To1();Ao1()});class xm{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)Ro1(Z);return new xm(Z)}valueOf(){let $=this.bytes.slice(0),Z=$[0]&128;if(Z)Ro1($);return parseInt(Mo1.toHex($),16)*(Z?-1:1)}toString(){return String(this.valueOf())}}function Ro1($){for(let Z=0;Z<8;Z++)$[Z]^=255;for(let Z=7;Z>-1;Z--)if($[Z]++,$[Z]!==0)break}var Mo1;var In0=L(()=>{Mo1=_(Ca(),1)});class kn0{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(xm.fromNumber($.value.valueOf()).bytes,1),H;case"uuid":if(!_Z4.test($.value))throw Error(`Invalid UUID received: ${$.value}`);let F=new Uint8Array(17);return F[0]=9,F.set(Bw.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:Io1,value:!0};break;case 1:Z[X]={type:Io1,value:!1};break;case 2:Z[X]={type:qZ4,value:$.getInt8(Q++)};break;case 3:Z[X]={type:RZ4,value:$.getInt16(Q,!1)},Q+=2;break;case 4:Z[X]={type:MZ4,value:$.getInt32(Q,!1)},Q+=4;break;case 5:Z[X]={type:VZ4,value:new xm(new Uint8Array($.buffer,$.byteOffset+Q,8))},Q+=8;break;case 6:let J=$.getUint16(Q,!1);Q+=2,Z[X]={type:IZ4,value:new Uint8Array($.buffer,$.byteOffset+Q,J)},Q+=J;break;case 7:let G=$.getUint16(Q,!1);Q+=2,Z[X]={type:kZ4,value:this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,G))},Q+=G;break;case 8:Z[X]={type:CZ4,value:new Date(new xm(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:SZ4,value:`${Bw.toHex(W.subarray(0,4))}-${Bw.toHex(W.subarray(4,6))}-${Bw.toHex(W.subarray(6,8))}-${Bw.toHex(W.subarray(8,10))}-${Bw.toHex(W.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return Z}}var Bw,Vo1,Io1="boolean",qZ4="byte",RZ4="short",MZ4="integer",VZ4="long",IZ4="binary",kZ4="string",CZ4="timestamp",SZ4="uuid",_Z4;var Cn0=L(()=>{In0();Bw=_(Ca(),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"})(Vo1||(Vo1={}));_Z4=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/});function So1({byteLength:$,byteOffset:Z,buffer:Q}){if($<vZ4)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(Co1,!1),G=Y.getUint32(Dw,!1),W=Y.getUint32($-dA,!1),K=new ko1.Crc32().update(new Uint8Array(Q,Z,Dw));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+Dw,$-(Dw+dA))),W!==K.digest())throw Error(`The message checksum (${K.digest()}) did not match the expected value of ${W}`);return{headers:new DataView(Q,Z+Dw+dA,J),body:new Uint8Array(Q,Z+Dw+dA+J,X-J-(Dw+dA+dA))}}var ko1,Co1=4,Dw,dA=4,vZ4;var _o1=L(()=>{ko1=_(FA(),1),Dw=Co1*2,vZ4=Dw+dA*2});class Sn0{headerMarshaller;messageBuffer;isEndOfStream;constructor($,Z){this.headerMarshaller=new kn0($,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 vo1.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}=So1($);return{headers:this.headerMarshaller.parse(Z),body:Q}}formatHeaders($){return this.headerMarshaller.format($)}}var vo1;var bo1=L(()=>{Cn0();_o1();vo1=_(FA(),1)});var xo1=()=>{};var _n0;var fo1=L(()=>{_n0=class _n0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.decoder.decode($)}}});var vn0;var yo1=L(()=>{vn0=class vn0{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 bn0;var go1=L(()=>{bn0=class bn0{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 ho1=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 uo1=L(()=>{bo1();Cn0();In0();xo1();fo1();yo1();go1();ho1()});function lo1($){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 mo1($,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 fn0{eventStreamCodec;utfEncoder;constructor({utf8Encoder:$,utf8Decoder:Z}){this.eventStreamCodec=new Sn0($,Z),this.utfEncoder=$}deserialize($,Z){let Q=lo1($);return new bn0({messageStream:new _n0({inputStream:Q,decoder:this.eventStreamCodec}),deserializer:mo1(Z,this.utfEncoder)})}serialize($,Z){return new vn0({messageStream:new xn0({inputStream:$,serializer:Z}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}var co1=L(()=>{uo1()});var do1=()=>{};var io1=L(()=>{co1();do1()});async function*po1($){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 bZ4}from"stream";class yn0{universalMarshaller;constructor({utf8Encoder:$,utf8Decoder:Z}){this.universalMarshaller=new fn0({utf8Decoder:Z,utf8Encoder:$})}deserialize($,Z){let Q=typeof $[Symbol.asyncIterator]==="function"?$:po1($);return this.universalMarshaller.deserialize(Q,Z)}serialize($,Z){return bZ4.from(this.universalMarshaller.serialize($,Z))}}var gn0=L(()=>{io1()});var no1=($)=>new yn0($);var to1=L(()=>{gn0()});var oo1=L(()=>{gn0();to1()});import{Writable as xZ4}from"stream";var so1,hn0;var ao1=L(()=>{so1=_(eQ(),1);hn0=class hn0 extends xZ4{hash;constructor($,Z){super(Z);this.hash=$}_write($,Z,Q){try{this.hash.update(so1.toUint8Array($))}catch(Y){return Q(Y)}Q()}}});var ro1=()=>{};var eo1=($,Z)=>{if(Z.readableFlowing!==null)throw Error("Unable to calculate hash for flowing readable stream");let Q=new $,Y=new hn0(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 $s1=L(()=>{ao1()});var Zs1=L(()=>{ro1();$s1()});var EG0,Qs1,Ys1,Xs1,Js1,PG0,zG0,AG0,Gs1=($)=>{return{apiVersion:"2006-03-01",base64Decoder:$?.base64Decoder??PG0.fromBase64,base64Encoder:$?.base64Encoder??PG0.toBase64,disableHostPrefix:$?.disableHostPrefix??!1,endpointProvider:$?.endpointProvider??eJ0,extensions:$?.extensions??[],getAwsChunkedEncodingStream:$?.getAwsChunkedEncodingStream??zG0.getAwsChunkedEncodingStream,httpAuthSchemeProvider:$?.httpAuthSchemeProvider??Hh1,httpAuthSchemes:$?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4"),signer:new EG0.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4a"),signer:new EG0.AwsSdkSigV4ASigner}],logger:$?.logger??new Xs1.NoOpLogger,protocol:$?.protocol??Qs1.S3RestXmlProtocol,protocolSettings:$?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",errorTypeRegistries:Lh1,xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:$?.sdkStreamMixin??zG0.sdkStreamMixin,serviceId:$?.serviceId??"S3",signerConstructor:$?.signerConstructor??Ys1.SignatureV4MultiRegion,signingEscapePath:$?.signingEscapePath??!1,urlParser:$?.urlParser??Js1.parseUrl,useArnRegion:$?.useArnRegion??void 0,utf8Decoder:$?.utf8Decoder??AG0.fromUtf8,utf8Encoder:$?.utf8Encoder??AG0.toUtf8}};var Ws1=L(()=>{td0();nd0();F1();EG0=_(oY(),1),Qs1=_(N$(),1),Ys1=_(Dm(),1),Xs1=_(p0(),1),Js1=_(xU(),1),PG0=_(Z3(),1),zG0=_(ll(),1),AG0=_(eQ(),1)});var Ks1,qG0,Hs1,RG0,Lw,TG0,MG0,qG,VG0,IG0,Fs1,Us1,Ns1,Bs1=($)=>{IG0.emitWarningIfUnsupportedVersion(process.version);let Z=Us1.resolveDefaultsModeConfig($),Q=()=>Z().then(IG0.loadConfigsForDefaultMode),Y=Gs1($);Ks1.emitWarningIfUnsupportedVersion(process.version);let X={profile:$?.profile,logger:Y.logger};return{...Y,...$,runtime:"node",defaultsMode:Z,authSchemePreference:$?.authSchemePreference??qG.loadConfig(qG0.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,X),bodyLengthChecker:$?.bodyLengthChecker??Fs1.calculateBodyLength,credentialDefaultProvider:$?.credentialDefaultProvider??Oo1,defaultUserAgentProvider:$?.defaultUserAgentProvider??RG0.createDefaultUserAgentProvider({serviceId:Y.serviceId,clientVersion:il1.version}),disableS3ExpressSessionAuth:$?.disableS3ExpressSessionAuth??qG.loadConfig(Hs1.NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,X),eventStreamSerdeProvider:$?.eventStreamSerdeProvider??no1,maxAttempts:$?.maxAttempts??qG.loadConfig(MG0.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,$),md5:$?.md5??TG0.Hash.bind(null,"md5"),region:$?.region??qG.loadConfig(Lw.NODE_REGION_CONFIG_OPTIONS,{...Lw.NODE_REGION_CONFIG_FILE_OPTIONS,...X}),requestChecksumCalculation:$?.requestChecksumCalculation??qG.loadConfig($C1,X),requestHandler:VG0.NodeHttpHandler.create($?.requestHandler??Q),responseChecksumValidation:$?.responseChecksumValidation??qG.loadConfig(QC1,X),retryMode:$?.retryMode??qG.loadConfig({...MG0.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await Q()).retryMode||Ns1.DEFAULT_RETRY_MODE},$),sha1:$?.sha1??TG0.Hash.bind(null,"sha1"),sha256:$?.sha256??TG0.Hash.bind(null,"sha256"),sigv4aSigningRegionSet:$?.sigv4aSigningRegionSet??qG.loadConfig(qG0.NODE_SIGV4A_CONFIG_OPTIONS,X),streamCollector:$?.streamCollector??VG0.streamCollector,streamHasher:$?.streamHasher??eo1,useArnRegion:$?.useArnRegion??qG.loadConfig(Po1,X),useDualstackEndpoint:$?.useDualstackEndpoint??qG.loadConfig(Lw.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,X),useFipsEndpoint:$?.useFipsEndpoint??qG.loadConfig(Lw.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,X),userAgentAppId:$?.userAgentAppId??qG.loadConfig(RG0.NODE_APP_ID_CONFIG_OPTIONS,X)}};var Ds1=L(()=>{dl1();wo1();qo1();_6();oo1();Zs1();Ws1();Ks1=_(E9(),1),qG0=_(oY(),1),Hs1=_(N$(),1),RG0=_(zm(),1),Lw=_(X3(),1),TG0=_(Am(),1),MG0=_(iH(),1),qG=_(dH(),1),VG0=_(pj(),1),IG0=_(p0(),1),Fs1=_(Tm(),1),Us1=_(qm(),1),Ns1=_(VD(),1)});var Ls1=($)=>{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}}},Os1=($)=>{return{httpAuthSchemes:$.httpAuthSchemes(),httpAuthSchemeProvider:$.httpAuthSchemeProvider(),credentials:$.credentials()}};var kG0,CG0,SG0,js1=($,Z)=>{let Q=Object.assign(kG0.getAwsRegionExtensionConfiguration($),SG0.getDefaultExtensionConfiguration($),CG0.getHttpHandlerExtensionConfiguration($),Ls1($));return Z.forEach((Y)=>Y.configure(Q)),Object.assign($,kG0.resolveAwsRegionExtensionConfiguration(Q),SG0.resolveDefaultRuntimeConfig(Q),CG0.resolveHttpHandlerRuntimeConfig(Q),Os1(Q))};var ws1=L(()=>{kG0=_(VA(),1),CG0=_(s5(),1),SG0=_(p0(),1)});var _G0,Es1,Ps1,uU,vG0,zs1,fm,As1,Ts1,qs1,bG0,Rs1,JY;var iA=L(()=>{rk1();_6();Yy1();td0();w30();N1();Ds1();ws1();_G0=_(nl(),1),Es1=_(tl(),1),Ps1=_(ol(),1),uU=_(N$(),1),vG0=_(zA(),1),zs1=_(X3(),1),fm=_(b7(),1),As1=_(pY(),1),Ts1=_(Fm(),1),qs1=_(W1(),1),bG0=_(iH(),1),Rs1=_(p0(),1);JY=class JY extends Rs1.Client{config;constructor(...[$]){let Z=Bs1($||{});super(Z);this.initConfig=Z;let Q=Uh1(Z),Y=vG0.resolveUserAgentConfig(Q),X=kv1(Y),J=bG0.resolveRetryConfig(X),G=zs1.resolveRegionConfig(J),W=_G0.resolveHostHeaderConfig(G),K=qs1.resolveEndpointConfig(W),H=Qy1(K),F=Fh1(H),U=uU.resolveS3Config(F,{session:[()=>this,Br]}),N=js1(U,$?.extensions||[]);this.config=N,this.middlewareStack.use(As1.getSchemaSerdePlugin(this.config)),this.middlewareStack.use(vG0.getUserAgentPlugin(this.config)),this.middlewareStack.use(bG0.getRetryPlugin(this.config)),this.middlewareStack.use(Ts1.getContentLengthPlugin(this.config)),this.middlewareStack.use(_G0.getHostHeaderPlugin(this.config)),this.middlewareStack.use(Es1.getLoggerPlugin(this.config)),this.middlewareStack.use(Ps1.getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(fm.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Gh1,identityProviderConfigProvider:async(B)=>new fm.DefaultIdentityProviderConfig({"aws.auth#sigv4":B.credentials,"aws.auth#sigv4a":B.credentials})})),this.middlewareStack.use(fm.getHttpSigningPlugin(this.config)),this.middlewareStack.use(uU.getValidateBucketNamePlugin(this.config)),this.middlewareStack.use(ak1(this.config)),this.middlewareStack.use(uU.getRegionRedirectMiddlewarePlugin(this.config)),this.middlewareStack.use(uU.getS3ExpressPlugin(this.config)),this.middlewareStack.use(uU.getS3ExpressHttpSigningPlugin(this.config))}destroy(){super.destroy()}}});var Ms1,Vs1,Is1,br;var un0=L(()=>{N1();F1();Ms1=_(N$(),1),Vs1=_(W1(),1),Is1=_(p0(),1);br=class br extends Is1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Vs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ms1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(mh1).build(){}});function fZ4($){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(gZ4(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 gZ4($,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 yZ4,VZ=($)=>({applyToStack:(Z)=>{Z.add(fZ4($),yZ4)}});var YK=L(()=>{yZ4={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0}});var ks1,Cs1,Ss1,xr;var ln0=L(()=>{YK();N1();F1();ks1=_(N$(),1),Cs1=_(W1(),1),Ss1=_(p0(),1);xr=class xr extends Ss1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Cs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ks1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(ch1).build(){}});var _s1,vs1,bs1,mn0;var cn0=L(()=>{YK();N1();F1();_s1=_(N$(),1),vs1=_(W1(),1),bs1=_(p0(),1);mn0=class mn0 extends bs1.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[vs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),_s1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CopyObject",{}).n("S3Client","CopyObjectCommand").sc(dh1).build(){}});function hZ4($){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 uZ4,xs1=($)=>({applyToStack:(Z)=>{Z.add(hZ4($),uZ4)}});var fs1=L(()=>{uZ4={step:"initialize",tags:["LOCATION_CONSTRAINT","CREATE_BUCKET_CONFIGURATION"],name:"locationConstraintMiddleware",override:!0}});var ys1,gs1,hs1,dn0;var in0=L(()=>{fs1();N1();F1();ys1=_(N$(),1),gs1=_(W1(),1),hs1=_(p0(),1);dn0=class dn0 extends hs1.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[gs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ys1.getThrow200ExceptionsPlugin(Q),xs1(Q)]}).s("AmazonS3","CreateBucket",{}).n("S3Client","CreateBucketCommand").sc(ih1).build(){}});var us1,ls1,pn0;var nn0=L(()=>{_6();N1();F1();us1=_(W1(),1),ls1=_(p0(),1);pn0=class pn0 extends ls1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[us1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataConfiguration",{}).n("S3Client","CreateBucketMetadataConfigurationCommand").sc(ph1).build(){}});var ms1,cs1,tn0;var on0=L(()=>{_6();N1();F1();ms1=_(W1(),1),cs1=_(p0(),1);tn0=class tn0 extends cs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataTableConfiguration",{}).n("S3Client","CreateBucketMetadataTableConfigurationCommand").sc(nh1).build(){}});var ds1,is1,ps1,fr;var sn0=L(()=>{YK();N1();F1();ds1=_(N$(),1),is1=_(W1(),1),ps1=_(p0(),1);fr=class fr extends ps1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ds1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(th1).build(){}});var ns1,ts1,an0;var rn0=L(()=>{N1();F1();ns1=_(W1(),1),ts1=_(p0(),1);an0=class an0 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","DeleteBucketAnalyticsConfiguration",{}).n("S3Client","DeleteBucketAnalyticsConfigurationCommand").sc(ah1).build(){}});var os1,ss1,en0;var $t0=L(()=>{N1();F1();os1=_(W1(),1),ss1=_(p0(),1);en0=class en0 extends ss1.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","DeleteBucket",{}).n("S3Client","DeleteBucketCommand").sc(sh1).build(){}});var as1,rs1,Zt0;var Qt0=L(()=>{N1();F1();as1=_(W1(),1),rs1=_(p0(),1);Zt0=class Zt0 extends rs1.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","DeleteBucketCors",{}).n("S3Client","DeleteBucketCorsCommand").sc(rh1).build(){}});var es1,$a1,Yt0;var Xt0=L(()=>{N1();F1();es1=_(W1(),1),$a1=_(p0(),1);Yt0=class Yt0 extends $a1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[es1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketEncryption",{}).n("S3Client","DeleteBucketEncryptionCommand").sc(eh1).build(){}});var Za1,Qa1,Jt0;var Gt0=L(()=>{N1();F1();Za1=_(W1(),1),Qa1=_(p0(),1);Jt0=class Jt0 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())]}).s("AmazonS3","DeleteBucketIntelligentTieringConfiguration",{}).n("S3Client","DeleteBucketIntelligentTieringConfigurationCommand").sc($u1).build(){}});var Ya1,Xa1,Wt0;var Kt0=L(()=>{N1();F1();Ya1=_(W1(),1),Xa1=_(p0(),1);Wt0=class Wt0 extends Xa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ya1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketInventoryConfiguration",{}).n("S3Client","DeleteBucketInventoryConfigurationCommand").sc(Zu1).build(){}});var Ja1,Ga1,Ht0;var Ft0=L(()=>{N1();F1();Ja1=_(W1(),1),Ga1=_(p0(),1);Ht0=class Ht0 extends Ga1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ja1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketLifecycle",{}).n("S3Client","DeleteBucketLifecycleCommand").sc(Qu1).build(){}});var Wa1,Ka1,Ut0;var Nt0=L(()=>{N1();F1();Wa1=_(W1(),1),Ka1=_(p0(),1);Ut0=class Ut0 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())]}).s("AmazonS3","DeleteBucketMetadataConfiguration",{}).n("S3Client","DeleteBucketMetadataConfigurationCommand").sc(Yu1).build(){}});var Ha1,Fa1,Bt0;var Dt0=L(()=>{N1();F1();Ha1=_(W1(),1),Fa1=_(p0(),1);Bt0=class Bt0 extends Fa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ha1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataTableConfiguration",{}).n("S3Client","DeleteBucketMetadataTableConfigurationCommand").sc(Xu1).build(){}});var Ua1,Na1,Lt0;var Ot0=L(()=>{N1();F1();Ua1=_(W1(),1),Na1=_(p0(),1);Lt0=class Lt0 extends Na1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ua1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetricsConfiguration",{}).n("S3Client","DeleteBucketMetricsConfigurationCommand").sc(Ju1).build(){}});var Ba1,Da1,jt0;var wt0=L(()=>{N1();F1();Ba1=_(W1(),1),Da1=_(p0(),1);jt0=class jt0 extends Da1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ba1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketOwnershipControls",{}).n("S3Client","DeleteBucketOwnershipControlsCommand").sc(Gu1).build(){}});var La1,Oa1,Et0;var Pt0=L(()=>{N1();F1();La1=_(W1(),1),Oa1=_(p0(),1);Et0=class Et0 extends Oa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[La1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketPolicy",{}).n("S3Client","DeleteBucketPolicyCommand").sc(Wu1).build(){}});var ja1,wa1,zt0;var At0=L(()=>{N1();F1();ja1=_(W1(),1),wa1=_(p0(),1);zt0=class zt0 extends wa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ja1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketReplication",{}).n("S3Client","DeleteBucketReplicationCommand").sc(Ku1).build(){}});var Ea1,Pa1,Tt0;var qt0=L(()=>{N1();F1();Ea1=_(W1(),1),Pa1=_(p0(),1);Tt0=class Tt0 extends Pa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketTagging",{}).n("S3Client","DeleteBucketTaggingCommand").sc(Hu1).build(){}});var za1,Aa1,Rt0;var Mt0=L(()=>{N1();F1();za1=_(W1(),1),Aa1=_(p0(),1);Rt0=class Rt0 extends Aa1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[za1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketWebsite",{}).n("S3Client","DeleteBucketWebsiteCommand").sc(Fu1).build(){}});var Ta1,qa1,Ra1,aD;var Vt0=L(()=>{N1();F1();Ta1=_(N$(),1),qa1=_(W1(),1),Ra1=_(p0(),1);aD=class aD extends Ra1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[qa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ta1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(Uu1).build(){}});var Ma1,Va1,Ia1,It0;var kt0=L(()=>{_6();N1();F1();Ma1=_(N$(),1),Va1=_(W1(),1),Ia1=_(p0(),1);It0=class It0 extends Ia1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Va1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),Ma1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjects",{}).n("S3Client","DeleteObjectsCommand").sc(Nu1).build(){}});var ka1,Ca1,Sa1,Ct0;var St0=L(()=>{N1();F1();ka1=_(N$(),1),Ca1=_(W1(),1),Sa1=_(p0(),1);Ct0=class Ct0 extends Sa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ca1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ka1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjectTagging",{}).n("S3Client","DeleteObjectTaggingCommand").sc(Bu1).build(){}});var _a1,va1,_t0;var vt0=L(()=>{N1();F1();_a1=_(W1(),1),va1=_(p0(),1);_t0=class _t0 extends va1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_a1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeletePublicAccessBlock",{}).n("S3Client","DeletePublicAccessBlockCommand").sc(Du1).build(){}});var ba1,xa1,fa1,bt0;var xt0=L(()=>{N1();F1();ba1=_(N$(),1),xa1=_(W1(),1),fa1=_(p0(),1);bt0=class bt0 extends fa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[xa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ba1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAbac",{}).n("S3Client","GetBucketAbacCommand").sc(Lu1).build(){}});var ya1,ga1,ha1,ft0;var yt0=L(()=>{N1();F1();ya1=_(N$(),1),ga1=_(W1(),1),ha1=_(p0(),1);ft0=class ft0 extends ha1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ga1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ya1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAccelerateConfiguration",{}).n("S3Client","GetBucketAccelerateConfigurationCommand").sc(Ou1).build(){}});var ua1,la1,ma1,gt0;var ht0=L(()=>{N1();F1();ua1=_(N$(),1),la1=_(W1(),1),ma1=_(p0(),1);gt0=class gt0 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","GetBucketAcl",{}).n("S3Client","GetBucketAclCommand").sc(ju1).build(){}});var ca1,da1,ia1,ut0;var lt0=L(()=>{N1();F1();ca1=_(N$(),1),da1=_(W1(),1),ia1=_(p0(),1);ut0=class ut0 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","GetBucketAnalyticsConfiguration",{}).n("S3Client","GetBucketAnalyticsConfigurationCommand").sc(wu1).build(){}});var pa1,na1,ta1,mt0;var ct0=L(()=>{N1();F1();pa1=_(N$(),1),na1=_(W1(),1),ta1=_(p0(),1);mt0=class mt0 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","GetBucketCors",{}).n("S3Client","GetBucketCorsCommand").sc(Eu1).build(){}});var oa1,sa1,aa1,dt0;var it0=L(()=>{N1();F1();oa1=_(N$(),1),sa1=_(W1(),1),aa1=_(p0(),1);dt0=class dt0 extends aa1.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","GetBucketEncryption",{}).n("S3Client","GetBucketEncryptionCommand").sc(Pu1).build(){}});var ra1,ea1,$r1,pt0;var nt0=L(()=>{N1();F1();ra1=_(N$(),1),ea1=_(W1(),1),$r1=_(p0(),1);pt0=class pt0 extends $r1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ra1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketIntelligentTieringConfiguration",{}).n("S3Client","GetBucketIntelligentTieringConfigurationCommand").sc(zu1).build(){}});var Zr1,Qr1,Yr1,tt0;var ot0=L(()=>{N1();F1();Zr1=_(N$(),1),Qr1=_(W1(),1),Yr1=_(p0(),1);tt0=class tt0 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","GetBucketInventoryConfiguration",{}).n("S3Client","GetBucketInventoryConfigurationCommand").sc(Au1).build(){}});var Xr1,Jr1,Gr1,st0;var at0=L(()=>{N1();F1();Xr1=_(N$(),1),Jr1=_(W1(),1),Gr1=_(p0(),1);st0=class st0 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","GetBucketLifecycleConfiguration",{}).n("S3Client","GetBucketLifecycleConfigurationCommand").sc(Tu1).build(){}});var Wr1,Kr1,Hr1,rt0;var et0=L(()=>{N1();F1();Wr1=_(N$(),1),Kr1=_(W1(),1),Hr1=_(p0(),1);rt0=class rt0 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","GetBucketLocation",{}).n("S3Client","GetBucketLocationCommand").sc(qu1).build(){}});var Fr1,Ur1,Nr1,$o0;var Zo0=L(()=>{N1();F1();Fr1=_(N$(),1),Ur1=_(W1(),1),Nr1=_(p0(),1);$o0=class $o0 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","GetBucketLogging",{}).n("S3Client","GetBucketLoggingCommand").sc(Ru1).build(){}});var Br1,Dr1,Lr1,Qo0;var Yo0=L(()=>{N1();F1();Br1=_(N$(),1),Dr1=_(W1(),1),Lr1=_(p0(),1);Qo0=class Qo0 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","GetBucketMetadataConfiguration",{}).n("S3Client","GetBucketMetadataConfigurationCommand").sc(Mu1).build(){}});var Or1,jr1,wr1,Xo0;var Jo0=L(()=>{N1();F1();Or1=_(N$(),1),jr1=_(W1(),1),wr1=_(p0(),1);Xo0=class Xo0 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","GetBucketMetadataTableConfiguration",{}).n("S3Client","GetBucketMetadataTableConfigurationCommand").sc(Vu1).build(){}});var Er1,Pr1,zr1,Go0;var Wo0=L(()=>{N1();F1();Er1=_(N$(),1),Pr1=_(W1(),1),zr1=_(p0(),1);Go0=class Go0 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","GetBucketMetricsConfiguration",{}).n("S3Client","GetBucketMetricsConfigurationCommand").sc(Iu1).build(){}});var Ar1,Tr1,qr1,Ko0;var Ho0=L(()=>{N1();F1();Ar1=_(N$(),1),Tr1=_(W1(),1),qr1=_(p0(),1);Ko0=class Ko0 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","GetBucketNotificationConfiguration",{}).n("S3Client","GetBucketNotificationConfigurationCommand").sc(ku1).build(){}});var Rr1,Mr1,Vr1,Fo0;var Uo0=L(()=>{N1();F1();Rr1=_(N$(),1),Mr1=_(W1(),1),Vr1=_(p0(),1);Fo0=class Fo0 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","GetBucketOwnershipControls",{}).n("S3Client","GetBucketOwnershipControlsCommand").sc(Cu1).build(){}});var Ir1,kr1,No0;var Bo0=L(()=>{N1();F1();Ir1=_(W1(),1),kr1=_(p0(),1);No0=class No0 extends kr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ir1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetBucketPolicy",{}).n("S3Client","GetBucketPolicyCommand").sc(Su1).build(){}});var Cr1,Sr1,_r1,Do0;var Lo0=L(()=>{N1();F1();Cr1=_(N$(),1),Sr1=_(W1(),1),_r1=_(p0(),1);Do0=class Do0 extends _r1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Sr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Cr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketPolicyStatus",{}).n("S3Client","GetBucketPolicyStatusCommand").sc(_u1).build(){}});var vr1,br1,xr1,Oo0;var jo0=L(()=>{N1();F1();vr1=_(N$(),1),br1=_(W1(),1),xr1=_(p0(),1);Oo0=class Oo0 extends xr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[br1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),vr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketReplication",{}).n("S3Client","GetBucketReplicationCommand").sc(vu1).build(){}});var fr1,yr1,gr1,wo0;var Eo0=L(()=>{N1();F1();fr1=_(N$(),1),yr1=_(W1(),1),gr1=_(p0(),1);wo0=class wo0 extends gr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[yr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),fr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketRequestPayment",{}).n("S3Client","GetBucketRequestPaymentCommand").sc(bu1).build(){}});var hr1,ur1,lr1,Po0;var zo0=L(()=>{N1();F1();hr1=_(N$(),1),ur1=_(W1(),1),lr1=_(p0(),1);Po0=class Po0 extends lr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ur1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),hr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketTagging",{}).n("S3Client","GetBucketTaggingCommand").sc(xu1).build(){}});var mr1,cr1,dr1,Ao0;var To0=L(()=>{N1();F1();mr1=_(N$(),1),cr1=_(W1(),1),dr1=_(p0(),1);Ao0=class Ao0 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()),mr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketVersioning",{}).n("S3Client","GetBucketVersioningCommand").sc(fu1).build(){}});var ir1,pr1,nr1,qo0;var Ro0=L(()=>{N1();F1();ir1=_(N$(),1),pr1=_(W1(),1),nr1=_(p0(),1);qo0=class qo0 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","GetBucketWebsite",{}).n("S3Client","GetBucketWebsiteCommand").sc(yu1).build(){}});var tr1,or1,sr1,Mo0;var Vo0=L(()=>{N1();F1();tr1=_(N$(),1),or1=_(W1(),1),sr1=_(p0(),1);Mo0=class Mo0 extends sr1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[or1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),tr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectAcl",{}).n("S3Client","GetObjectAclCommand").sc(hu1).build(){}});var ar1,rr1,er1,Io0;var ko0=L(()=>{YK();N1();F1();ar1=_(N$(),1),rr1=_(W1(),1),er1=_(p0(),1);Io0=class Io0 extends er1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[rr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ar1.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","GetObjectAttributes",{}).n("S3Client","GetObjectAttributesCommand").sc(uu1).build(){}});var $e1,Ze1,Qe1,lU;var Co0=L(()=>{_6();YK();N1();F1();$e1=_(N$(),1),Ze1=_(W1(),1),Qe1=_(p0(),1);lU=class lU extends Qe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1","SHA512","MD5","XXHASH64","XXHASH3","XXHASH128"]}),VZ(Q),$e1.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(gu1).build(){}});var Ye1,Xe1,Je1,So0;var _o0=L(()=>{N1();F1();Ye1=_(N$(),1),Xe1=_(W1(),1),Je1=_(p0(),1);So0=class So0 extends Je1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ye1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLegalHold",{}).n("S3Client","GetObjectLegalHoldCommand").sc(lu1).build(){}});var Ge1,We1,Ke1,vo0;var bo0=L(()=>{N1();F1();Ge1=_(N$(),1),We1=_(W1(),1),Ke1=_(p0(),1);vo0=class vo0 extends Ke1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[We1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ge1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLockConfiguration",{}).n("S3Client","GetObjectLockConfigurationCommand").sc(mu1).build(){}});var He1,Fe1,Ue1,xo0;var fo0=L(()=>{N1();F1();He1=_(N$(),1),Fe1=_(W1(),1),Ue1=_(p0(),1);xo0=class xo0 extends Ue1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),He1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectRetention",{}).n("S3Client","GetObjectRetentionCommand").sc(cu1).build(){}});var Ne1,Be1,De1,yo0;var go0=L(()=>{N1();F1();Ne1=_(N$(),1),Be1=_(W1(),1),De1=_(p0(),1);yo0=class yo0 extends De1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Be1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ne1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectTagging",{}).n("S3Client","GetObjectTaggingCommand").sc(du1).build(){}});var Le1,Oe1,ho0;var uo0=L(()=>{N1();F1();Le1=_(W1(),1),Oe1=_(p0(),1);ho0=class ho0 extends Oe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Le1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetObjectTorrent",{}).n("S3Client","GetObjectTorrentCommand").sc(iu1).build(){}});var je1,we1,Ee1,lo0;var mo0=L(()=>{N1();F1();je1=_(N$(),1),we1=_(W1(),1),Ee1=_(p0(),1);lo0=class lo0 extends Ee1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[we1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),je1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetPublicAccessBlock",{}).n("S3Client","GetPublicAccessBlockCommand").sc(pu1).build(){}});var Pe1,ze1,Ae1,pA;var yr=L(()=>{N1();F1();Pe1=_(N$(),1),ze1=_(W1(),1),Ae1=_(p0(),1);pA=class pA extends Ae1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Pe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","HeadBucket",{}).n("S3Client","HeadBucketCommand").sc(nu1).build(){}});var xG0,Te1,qe1,mU;var gr=L(()=>{YK();N1();F1();xG0=_(N$(),1),Te1=_(W1(),1),qe1=_(p0(),1);mU=class mU extends qe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),xG0.getThrow200ExceptionsPlugin(Q),VZ(Q),xG0.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(tu1).build(){}});var Re1,Me1,Ve1,co0;var do0=L(()=>{N1();F1();Re1=_(N$(),1),Me1=_(W1(),1),Ve1=_(p0(),1);co0=class co0 extends Ve1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Me1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Re1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketAnalyticsConfigurations",{}).n("S3Client","ListBucketAnalyticsConfigurationsCommand").sc(ou1).build(){}});var Ie1,ke1,Ce1,io0;var po0=L(()=>{N1();F1();Ie1=_(N$(),1),ke1=_(W1(),1),Ce1=_(p0(),1);io0=class io0 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()),Ie1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketIntelligentTieringConfigurations",{}).n("S3Client","ListBucketIntelligentTieringConfigurationsCommand").sc(su1).build(){}});var Se1,_e1,ve1,no0;var to0=L(()=>{N1();F1();Se1=_(N$(),1),_e1=_(W1(),1),ve1=_(p0(),1);no0=class no0 extends ve1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[_e1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Se1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketInventoryConfigurations",{}).n("S3Client","ListBucketInventoryConfigurationsCommand").sc(au1).build(){}});var be1,xe1,fe1,oo0;var so0=L(()=>{N1();F1();be1=_(N$(),1),xe1=_(W1(),1),fe1=_(p0(),1);oo0=class oo0 extends fe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[xe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),be1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketMetricsConfigurations",{}).n("S3Client","ListBucketMetricsConfigurationsCommand").sc(ru1).build(){}});var ye1,ge1,he1,hr;var fG0=L(()=>{N1();F1();ye1=_(N$(),1),ge1=_(W1(),1),he1=_(p0(),1);hr=class hr extends he1.Command.classBuilder().ep(L0).m(function($,Z,Q,Y){return[ge1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ye1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBuckets",{}).n("S3Client","ListBucketsCommand").sc(eu1).build(){}});var ue1,le1,me1,ur;var yG0=L(()=>{N1();F1();ue1=_(N$(),1),le1=_(W1(),1),me1=_(p0(),1);ur=class ur extends me1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[le1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ue1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListDirectoryBuckets",{}).n("S3Client","ListDirectoryBucketsCommand").sc($l1).build(){}});var ce1,de1,ie1,ao0;var ro0=L(()=>{N1();F1();ce1=_(N$(),1),de1=_(W1(),1),ie1=_(p0(),1);ao0=class ao0 extends ie1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[de1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ce1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListMultipartUploads",{}).n("S3Client","ListMultipartUploadsCommand").sc(Zl1).build(){}});var pe1,ne1,te1,eo0;var $s0=L(()=>{N1();F1();pe1=_(N$(),1),ne1=_(W1(),1),te1=_(p0(),1);eo0=class eo0 extends te1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ne1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),pe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjects",{}).n("S3Client","ListObjectsCommand").sc(Ql1).build(){}});var oe1,se1,ae1,XK;var gG0=L(()=>{N1();F1();oe1=_(N$(),1),se1=_(W1(),1),ae1=_(p0(),1);XK=class XK extends ae1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),oe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(Yl1).build(){}});var re1,ee1,$0$,Zs0;var Qs0=L(()=>{N1();F1();re1=_(N$(),1),ee1=_(W1(),1),$0$=_(p0(),1);Zs0=class Zs0 extends $0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ee1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),re1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectVersions",{}).n("S3Client","ListObjectVersionsCommand").sc(Xl1).build(){}});var Z0$,Q0$,Y0$,lr;var hG0=L(()=>{YK();N1();F1();Z0$=_(N$(),1),Q0$=_(W1(),1),Y0$=_(p0(),1);lr=class lr extends Y0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Z0$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","ListParts",{}).n("S3Client","ListPartsCommand").sc(Jl1).build(){}});var X0$,J0$,Ys0;var Xs0=L(()=>{_6();N1();F1();X0$=_(W1(),1),J0$=_(p0(),1);Ys0=class Ys0 extends J0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[X0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAbac",{}).n("S3Client","PutBucketAbacCommand").sc(Gl1).build(){}});var G0$,W0$,Js0;var Gs0=L(()=>{_6();N1();F1();G0$=_(W1(),1),W0$=_(p0(),1);Js0=class Js0 extends W0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[G0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAccelerateConfiguration",{}).n("S3Client","PutBucketAccelerateConfigurationCommand").sc(Wl1).build(){}});var K0$,H0$,Ws0;var Ks0=L(()=>{_6();N1();F1();K0$=_(W1(),1),H0$=_(p0(),1);Ws0=class Ws0 extends H0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[K0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketAcl",{}).n("S3Client","PutBucketAclCommand").sc(Kl1).build(){}});var F0$,U0$,Hs0;var Fs0=L(()=>{N1();F1();F0$=_(W1(),1),U0$=_(p0(),1);Hs0=class Hs0 extends U0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[F0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketAnalyticsConfiguration",{}).n("S3Client","PutBucketAnalyticsConfigurationCommand").sc(Hl1).build(){}});var N0$,B0$,Us0;var Ns0=L(()=>{_6();N1();F1();N0$=_(W1(),1),B0$=_(p0(),1);Us0=class Us0 extends B0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[N0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketCors",{}).n("S3Client","PutBucketCorsCommand").sc(Fl1).build(){}});var D0$,L0$,Bs0;var Ds0=L(()=>{_6();N1();F1();D0$=_(W1(),1),L0$=_(p0(),1);Bs0=class Bs0 extends L0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[D0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketEncryption",{}).n("S3Client","PutBucketEncryptionCommand").sc(Ul1).build(){}});var O0$,j0$,Ls0;var Os0=L(()=>{N1();F1();O0$=_(W1(),1),j0$=_(p0(),1);Ls0=class Ls0 extends j0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[O0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketIntelligentTieringConfiguration",{}).n("S3Client","PutBucketIntelligentTieringConfigurationCommand").sc(Nl1).build(){}});var w0$,E0$,js0;var ws0=L(()=>{N1();F1();w0$=_(W1(),1),E0$=_(p0(),1);js0=class js0 extends E0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[w0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketInventoryConfiguration",{}).n("S3Client","PutBucketInventoryConfigurationCommand").sc(Bl1).build(){}});var P0$,z0$,A0$,Es0;var Ps0=L(()=>{_6();N1();F1();P0$=_(N$(),1),z0$=_(W1(),1),A0$=_(p0(),1);Es0=class Es0 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()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),P0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutBucketLifecycleConfiguration",{}).n("S3Client","PutBucketLifecycleConfigurationCommand").sc(Dl1).build(){}});var T0$,q0$,zs0;var As0=L(()=>{_6();N1();F1();T0$=_(W1(),1),q0$=_(p0(),1);zs0=class zs0 extends q0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[T0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketLogging",{}).n("S3Client","PutBucketLoggingCommand").sc(Ll1).build(){}});var R0$,M0$,Ts0;var qs0=L(()=>{N1();F1();R0$=_(W1(),1),M0$=_(p0(),1);Ts0=class Ts0 extends M0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[R0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketMetricsConfiguration",{}).n("S3Client","PutBucketMetricsConfigurationCommand").sc(Ol1).build(){}});var V0$,I0$,Rs0;var Ms0=L(()=>{N1();F1();V0$=_(W1(),1),I0$=_(p0(),1);Rs0=class Rs0 extends I0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[V0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketNotificationConfiguration",{}).n("S3Client","PutBucketNotificationConfigurationCommand").sc(jl1).build(){}});var k0$,C0$,Vs0;var Is0=L(()=>{_6();N1();F1();k0$=_(W1(),1),C0$=_(p0(),1);Vs0=class Vs0 extends C0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[k0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketOwnershipControls",{}).n("S3Client","PutBucketOwnershipControlsCommand").sc(wl1).build(){}});var S0$,_0$,ks0;var Cs0=L(()=>{_6();N1();F1();S0$=_(W1(),1),_0$=_(p0(),1);ks0=class ks0 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()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketPolicy",{}).n("S3Client","PutBucketPolicyCommand").sc(El1).build(){}});var v0$,b0$,Ss0;var _s0=L(()=>{_6();N1();F1();v0$=_(W1(),1),b0$=_(p0(),1);Ss0=class Ss0 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()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketReplication",{}).n("S3Client","PutBucketReplicationCommand").sc(Pl1).build(){}});var x0$,f0$,vs0;var bs0=L(()=>{_6();N1();F1();x0$=_(W1(),1),f0$=_(p0(),1);vs0=class vs0 extends f0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[x0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketRequestPayment",{}).n("S3Client","PutBucketRequestPaymentCommand").sc(zl1).build(){}});var y0$,g0$,xs0;var fs0=L(()=>{_6();N1();F1();y0$=_(W1(),1),g0$=_(p0(),1);xs0=class xs0 extends g0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[y0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketTagging",{}).n("S3Client","PutBucketTaggingCommand").sc(Al1).build(){}});var h0$,u0$,ys0;var gs0=L(()=>{_6();N1();F1();h0$=_(W1(),1),u0$=_(p0(),1);ys0=class ys0 extends u0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[h0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketVersioning",{}).n("S3Client","PutBucketVersioningCommand").sc(Tl1).build(){}});var l0$,m0$,hs0;var us0=L(()=>{_6();N1();F1();l0$=_(W1(),1),m0$=_(p0(),1);hs0=class hs0 extends m0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[l0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketWebsite",{}).n("S3Client","PutBucketWebsiteCommand").sc(ql1).build(){}});var c0$,d0$,i0$,ls0;var ms0=L(()=>{_6();N1();F1();c0$=_(N$(),1),d0$=_(W1(),1),i0$=_(p0(),1);ls0=class ls0 extends i0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[d0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),c0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectAcl",{}).n("S3Client","PutObjectAclCommand").sc(Ml1).build(){}});var uG0,p0$,n0$,RG;var cs0=L(()=>{_6();YK();N1();F1();uG0=_(N$(),1),p0$=_(W1(),1),n0$=_(p0(),1);RG=class RG extends n0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[p0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),uG0.getCheckContentLengthHeaderPlugin(Q),uG0.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(Rl1).build(){}});var t0$,o0$,s0$,ds0;var is0=L(()=>{_6();N1();F1();t0$=_(N$(),1),o0$=_(W1(),1),s0$=_(p0(),1);ds0=class ds0 extends s0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[o0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),t0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLegalHold",{}).n("S3Client","PutObjectLegalHoldCommand").sc(Vl1).build(){}});var a0$,r0$,e0$,ps0;var ns0=L(()=>{_6();N1();F1();a0$=_(N$(),1),r0$=_(W1(),1),e0$=_(p0(),1);ps0=class ps0 extends e0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[r0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),a0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLockConfiguration",{}).n("S3Client","PutObjectLockConfigurationCommand").sc(Il1).build(){}});var $1$,Z1$,Q1$,ts0;var os0=L(()=>{_6();N1();F1();$1$=_(N$(),1),Z1$=_(W1(),1),Q1$=_(p0(),1);ts0=class ts0 extends Q1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Z1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),$1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectRetention",{}).n("S3Client","PutObjectRetentionCommand").sc(kl1).build(){}});var Y1$,X1$,J1$,mr;var ss0=L(()=>{_6();N1();F1();Y1$=_(N$(),1),X1$=_(W1(),1),J1$=_(p0(),1);mr=class mr extends J1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[X1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),Y1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(Cl1).build(){}});var G1$,W1$,as0;var rs0=L(()=>{_6();N1();F1();G1$=_(W1(),1),W1$=_(p0(),1);as0=class as0 extends W1$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[G1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutPublicAccessBlock",{}).n("S3Client","PutPublicAccessBlockCommand").sc(Sl1).build(){}});var K1$,H1$,F1$,es0;var $a0=L(()=>{N1();F1();K1$=_(N$(),1),H1$=_(W1(),1),F1$=_(p0(),1);es0=class es0 extends F1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[H1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),K1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RenameObject",{}).n("S3Client","RenameObjectCommand").sc(_l1).build(){}});var U1$,N1$,B1$,Za0;var Qa0=L(()=>{_6();N1();F1();U1$=_(N$(),1),N1$=_(W1(),1),B1$=_(p0(),1);Za0=class Za0 extends B1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[N1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),U1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RestoreObject",{}).n("S3Client","RestoreObjectCommand").sc(vl1).build(){}});var D1$,L1$,Ya0;var Xa0=L(()=>{YK();N1();F1();D1$=_(W1(),1),L1$=_(p0(),1);Ya0=class Ya0 extends L1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[D1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),VZ(Q)]}).s("AmazonS3","SelectObjectContent",{eventStream:{output:!0}}).n("S3Client","SelectObjectContentCommand").sc(bl1).build(){}});var O1$,j1$,Ja0;var Ga0=L(()=>{_6();N1();F1();O1$=_(W1(),1),j1$=_(p0(),1);Ja0=class Ja0 extends j1$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[O1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataInventoryTableConfiguration",{}).n("S3Client","UpdateBucketMetadataInventoryTableConfigurationCommand").sc(xl1).build(){}});var w1$,E1$,Wa0;var Ka0=L(()=>{_6();N1();F1();w1$=_(W1(),1),E1$=_(p0(),1);Wa0=class Wa0 extends E1$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[w1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataJournalTableConfiguration",{}).n("S3Client","UpdateBucketMetadataJournalTableConfigurationCommand").sc(fl1).build(){}});var P1$,z1$,A1$,Ha0;var Fa0=L(()=>{_6();N1();F1();P1$=_(N$(),1),z1$=_(W1(),1),A1$=_(p0(),1);Ha0=class Ha0 extends A1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[z1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),P1$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","UpdateObjectEncryption",{}).n("S3Client","UpdateObjectEncryptionCommand").sc(yl1).build(){}});var T1$,q1$,R1$,cr;var Ua0=L(()=>{_6();YK();N1();F1();T1$=_(N$(),1),q1$=_(W1(),1),R1$=_(p0(),1);cr=class cr extends R1$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[q1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),i$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),T1$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(gl1).build(){}});var M1$,V1$,I1$,Na0;var Ba0=L(()=>{YK();N1();F1();M1$=_(N$(),1),V1$=_(W1(),1),I1$=_(p0(),1);Na0=class Na0 extends I1$.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[V1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),M1$.getThrow200ExceptionsPlugin(Q),VZ(Q)]}).s("AmazonS3","UploadPartCopy",{}).n("S3Client","UploadPartCopyCommand").sc(hl1).build(){}});var k1$,C1$,Da0;var La0=L(()=>{N1();F1();k1$=_(W1(),1),C1$=_(p0(),1);Da0=class Da0 extends C1$.Command.classBuilder().ep({...L0,UseObjectLambdaEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[k1$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","WriteGetObjectResponse",{}).n("S3Client","WriteGetObjectResponseCommand").sc(ul1).build(){}});var S1$,_1$;var Oa0=L(()=>{fG0();iA();S1$=_(b7(),1),_1$=S1$.createPaginator(JY,hr,"ContinuationToken","ContinuationToken","MaxBuckets")});var v1$,b1$;var ja0=L(()=>{yG0();iA();v1$=_(b7(),1),b1$=v1$.createPaginator(JY,ur,"ContinuationToken","ContinuationToken","MaxDirectoryBuckets")});var x1$,f1$;var wa0=L(()=>{gG0();iA();x1$=_(b7(),1),f1$=x1$.createPaginator(JY,XK,"ContinuationToken","NextContinuationToken","MaxKeys")});var y1$,g1$;var Ea0=L(()=>{hG0();iA();y1$=_(b7(),1),g1$=y1$.createPaginator(JY,lr,"PartNumberMarker","NextPartNumberMarker","MaxParts")});var ym=()=>{let $=new WeakSet;return(Z,Q)=>{if(typeof Q==="object"&&Q!==null){if($.has(Q))return"[Circular]";$.add(Q)}return Q}};var h1$=($)=>{return new Promise((Z)=>setTimeout(Z,$*1000))};var u1$,P9,Ow=($)=>{if($.state===P9.ABORTED){let Z=Error(`${JSON.stringify({...$,reason:"Request was aborted"},ym())}`);throw Z.name="AbortError",Z}else if($.state===P9.TIMEOUT){let Z=Error(`${JSON.stringify({...$,reason:"Waiter has timed out"},ym())}`);throw Z.name="TimeoutError",Z}else if($.state!==P9.SUCCESS)throw Error(`${JSON.stringify($,ym())}`);return $};var lG0=L(()=>{u1$={minDelay:2,maxDelay:120};(function($){$.ABORTED="ABORTED",$.FAILURE="FAILURE",$.SUCCESS="SUCCESS",$.RETRY="RETRY",$.TIMEOUT="TIMEOUT"})(P9||(P9={}))});var l1$=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=cZ4(H,F,U,N);if(Y?.signal?.aborted||J?.aborted)return K["AbortController signal aborted."]|=0,K["AbortController signal aborted."]+=1,{state:P9.ABORTED,observedResponses:K};if(Date.now()+w>N)return{state:P9.TIMEOUT,observedResponses:K};await h1$(w/1000)}let{state:O,reason:j}=await W(X,G);if(j){let w=mZ4(j);K[w]|=0,K[w]+=1}if(O!==P9.RETRY)return{state:O,reason:j,final:j,observedResponses:K};if(U+=1,!D&&Date.now()>=B)lZ4(K,X),D=!0}},lZ4=($={},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.")},mZ4=($)=>{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($,ym())??"Unknown")},cZ4=($,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=dZ4($,G);if(Date.now()+W>Y){let K=Y-Date.now();return Math.max(0,K-500)}return W},dZ4=($,Z)=>$+Math.random()*(Z-$);var m1$=L(()=>{lG0()});var c1$=($)=>{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 d1$=()=>{};var i1$=($)=>{let Z,Q=new Promise((Y)=>{if(Z=()=>Y({state:P9.ABORTED}),typeof $.addEventListener==="function")$.addEventListener("abort",Z);else $.onabort=Z});return{clearListener(){if(typeof $.removeEventListener==="function")$.removeEventListener("abort",Z)},aborted:Q}},jw=async($,Z,Q)=>{let Y={...u1$,...$};c1$(Y);let X=[l1$(Y,Z,Q)],J=[];if($.abortSignal){let{aborted:G,clearListener:W}=i1$($.abortSignal);J.push(W),X.push(G)}if($.abortController?.signal){let{aborted:G,clearListener:W}=i1$($.abortController.signal);J.push(W),X.push(G)}return Promise.race(X).then((G)=>{for(let W of J)W();return G})};var p1$=L(()=>{m1$();d1$();lG0()});var dr=L(()=>{p1$();lG0()});var iZ4=async($,Z)=>{let Q;try{return Q=await $.send(new pA(Z)),{state:P9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.RETRY,reason:Q}}return{state:P9.RETRY,reason:Q}},n1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,iZ4);return Ow(Y)};var Pa0=L(()=>{dr();yr()});var pZ4=async($,Z)=>{let Q;try{Q=await $.send(new pA(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},t1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,pZ4);return Ow(Y)};var za0=L(()=>{dr();yr()});var nZ4=async($,Z)=>{let Q;try{return Q=await $.send(new mU(Z)),{state:P9.SUCCESS,reason:Q}}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.RETRY,reason:Q}}return{state:P9.RETRY,reason:Q}},o1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,nZ4);return Ow(Y)};var Aa0=L(()=>{dr();gr()});var tZ4=async($,Z)=>{let Q;try{Q=await $.send(new mU(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},s1$=async($,Z)=>{let Y=await jw({...{minDelay:5,maxDelay:120},...$},Z,tZ4);return Ow(Y)};var Ta0=L(()=>{dr();gr()});var a1$,oZ4,sZ4,aZ4,r1$;var e1$=L(()=>{un0();ln0();cn0();in0();nn0();on0();sn0();w30();rn0();$t0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();Vt0();kt0();St0();vt0();xt0();yt0();ht0();lt0();ct0();it0();nt0();ot0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();Bo0();Lo0();jo0();Eo0();zo0();To0();Ro0();Vo0();ko0();Co0();_o0();bo0();fo0();go0();uo0();mo0();yr();gr();do0();po0();to0();so0();fG0();yG0();ro0();$s0();gG0();Qs0();hG0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Ps0();As0();qs0();Ms0();Is0();Cs0();_s0();bs0();fs0();gs0();us0();ms0();cs0();is0();ns0();os0();ss0();rs0();$a0();Qa0();Xa0();Ga0();Ka0();Fa0();Ua0();Ba0();La0();Oa0();ja0();wa0();Ea0();iA();Pa0();za0();Aa0();Ta0();a1$=_(p0(),1),oZ4={AbortMultipartUploadCommand:br,CompleteMultipartUploadCommand:xr,CopyObjectCommand:mn0,CreateBucketCommand:dn0,CreateBucketMetadataConfigurationCommand:pn0,CreateBucketMetadataTableConfigurationCommand:tn0,CreateMultipartUploadCommand:fr,CreateSessionCommand:Br,DeleteBucketCommand:en0,DeleteBucketAnalyticsConfigurationCommand:an0,DeleteBucketCorsCommand:Zt0,DeleteBucketEncryptionCommand:Yt0,DeleteBucketIntelligentTieringConfigurationCommand:Jt0,DeleteBucketInventoryConfigurationCommand:Wt0,DeleteBucketLifecycleCommand:Ht0,DeleteBucketMetadataConfigurationCommand:Ut0,DeleteBucketMetadataTableConfigurationCommand:Bt0,DeleteBucketMetricsConfigurationCommand:Lt0,DeleteBucketOwnershipControlsCommand:jt0,DeleteBucketPolicyCommand:Et0,DeleteBucketReplicationCommand:zt0,DeleteBucketTaggingCommand:Tt0,DeleteBucketWebsiteCommand:Rt0,DeleteObjectCommand:aD,DeleteObjectsCommand:It0,DeleteObjectTaggingCommand:Ct0,DeletePublicAccessBlockCommand:_t0,GetBucketAbacCommand:bt0,GetBucketAccelerateConfigurationCommand:ft0,GetBucketAclCommand:gt0,GetBucketAnalyticsConfigurationCommand:ut0,GetBucketCorsCommand:mt0,GetBucketEncryptionCommand:dt0,GetBucketIntelligentTieringConfigurationCommand:pt0,GetBucketInventoryConfigurationCommand:tt0,GetBucketLifecycleConfigurationCommand:st0,GetBucketLocationCommand:rt0,GetBucketLoggingCommand:$o0,GetBucketMetadataConfigurationCommand:Qo0,GetBucketMetadataTableConfigurationCommand:Xo0,GetBucketMetricsConfigurationCommand:Go0,GetBucketNotificationConfigurationCommand:Ko0,GetBucketOwnershipControlsCommand:Fo0,GetBucketPolicyCommand:No0,GetBucketPolicyStatusCommand:Do0,GetBucketReplicationCommand:Oo0,GetBucketRequestPaymentCommand:wo0,GetBucketTaggingCommand:Po0,GetBucketVersioningCommand:Ao0,GetBucketWebsiteCommand:qo0,GetObjectCommand:lU,GetObjectAclCommand:Mo0,GetObjectAttributesCommand:Io0,GetObjectLegalHoldCommand:So0,GetObjectLockConfigurationCommand:vo0,GetObjectRetentionCommand:xo0,GetObjectTaggingCommand:yo0,GetObjectTorrentCommand:ho0,GetPublicAccessBlockCommand:lo0,HeadBucketCommand:pA,HeadObjectCommand:mU,ListBucketAnalyticsConfigurationsCommand:co0,ListBucketIntelligentTieringConfigurationsCommand:io0,ListBucketInventoryConfigurationsCommand:no0,ListBucketMetricsConfigurationsCommand:oo0,ListBucketsCommand:hr,ListDirectoryBucketsCommand:ur,ListMultipartUploadsCommand:ao0,ListObjectsCommand:eo0,ListObjectsV2Command:XK,ListObjectVersionsCommand:Zs0,ListPartsCommand:lr,PutBucketAbacCommand:Ys0,PutBucketAccelerateConfigurationCommand:Js0,PutBucketAclCommand:Ws0,PutBucketAnalyticsConfigurationCommand:Hs0,PutBucketCorsCommand:Us0,PutBucketEncryptionCommand:Bs0,PutBucketIntelligentTieringConfigurationCommand:Ls0,PutBucketInventoryConfigurationCommand:js0,PutBucketLifecycleConfigurationCommand:Es0,PutBucketLoggingCommand:zs0,PutBucketMetricsConfigurationCommand:Ts0,PutBucketNotificationConfigurationCommand:Rs0,PutBucketOwnershipControlsCommand:Vs0,PutBucketPolicyCommand:ks0,PutBucketReplicationCommand:Ss0,PutBucketRequestPaymentCommand:vs0,PutBucketTaggingCommand:xs0,PutBucketVersioningCommand:ys0,PutBucketWebsiteCommand:hs0,PutObjectCommand:RG,PutObjectAclCommand:ls0,PutObjectLegalHoldCommand:ds0,PutObjectLockConfigurationCommand:ps0,PutObjectRetentionCommand:ts0,PutObjectTaggingCommand:mr,PutPublicAccessBlockCommand:as0,RenameObjectCommand:es0,RestoreObjectCommand:Za0,SelectObjectContentCommand:Ya0,UpdateBucketMetadataInventoryTableConfigurationCommand:Ja0,UpdateBucketMetadataJournalTableConfigurationCommand:Wa0,UpdateObjectEncryptionCommand:Ha0,UploadPartCommand:cr,UploadPartCopyCommand:Na0,WriteGetObjectResponseCommand:Da0},sZ4={paginateListBuckets:_1$,paginateListDirectoryBuckets:b1$,paginateListObjectsV2:f1$,paginateListParts:g1$},aZ4={waitUntilBucketExists:n1$,waitUntilBucketNotExists:t1$,waitUntilObjectExists:o1$,waitUntilObjectNotExists:s1$};r1$=class r1$ extends JY{};a1$.createAggregatedClient(oZ4,r1$,{paginators:sZ4,waiters:aZ4})});var $$$=L(()=>{un0();ln0();cn0();in0();nn0();on0();sn0();w30();rn0();$t0();Qt0();Xt0();Gt0();Kt0();Ft0();Nt0();Dt0();Ot0();wt0();Pt0();At0();qt0();Mt0();Vt0();St0();kt0();vt0();xt0();yt0();ht0();lt0();ct0();it0();nt0();ot0();at0();et0();Zo0();Yo0();Jo0();Wo0();Ho0();Uo0();Bo0();Lo0();jo0();Eo0();zo0();To0();Ro0();Vo0();ko0();Co0();_o0();bo0();fo0();go0();uo0();mo0();yr();gr();do0();po0();to0();so0();fG0();yG0();ro0();Qs0();$s0();gG0();hG0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Ps0();As0();qs0();Ms0();Is0();Cs0();_s0();bs0();fs0();gs0();us0();ms0();cs0();is0();ns0();os0();ss0();rs0();$a0();Qa0();Xa0();Ga0();Ka0();Fa0();Ua0();Ba0();La0()});var Z$$=()=>{};var Q$$=L(()=>{Z$$();Oa0();ja0();wa0();Ea0()});var Y$$=L(()=>{Pa0();za0();Aa0();Ta0()});var X$$;var J$$=L(()=>{X$$={CRC32:"CRC32",CRC32C:"CRC32C",CRC64NVME:"CRC64NVME",MD5:"MD5",SHA1:"SHA1",SHA256:"SHA256",SHA512:"SHA512",XXHASH128:"XXHASH128",XXHASH3:"XXHASH3",XXHASH64:"XXHASH64"}});var G$$=()=>{};var W$$=()=>{};var ir=L(()=>{iA();e1$();$$$();F1();Q$$();Y$$();J$$();sd0();G$$();W$$()});function H$$($){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?K$$.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 K$$;var F$$=L(()=>{K$$=_(TX0(),1)});var U$$="UNSIGNED-PAYLOAD",N$$="X-Amz-Content-Sha256";class mG0{signer;constructor($){let Z={service:$.signingName||$.service||"s3",uriEscapePath:$.uriEscapePath||!1,applyChecksum:$.applyChecksum||!1,...$};this.signer=new B$$.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[N$$]=U$$;let X=$.headers.host,J=$.port,G=`${$.hostname}${$.port!=null?":"+J:""}`;if(!X||X===$.hostname&&$.port!=null)$.headers.host=G}}var B$$;var qa0=L(()=>{B$$=_(Dm(),1)});var D$$,L$$,cG0=async($,Z,Q={})=>{let Y,X;if(typeof $.config.endpointProvider==="function"){let N=(await D$$.getEndpointFromInstructions(Z.input,Z.constructor,$.config)).properties?.authSchemes?.[0];if(N?.name==="sigv4a")X=N?.signingRegionSet?.join(",");else X=N?.signingRegion;Y=new mG0({...$.config,signingName:N?.signingName,region:async()=>X})}else Y=new mG0($.config);let J=(U,N)=>async(B)=>{let{request:D}=B;if(!L$$.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 H$$(F)};var O$$=L(()=>{F$$();qa0();D$$=_(W1(),1),L$$=_(s5(),1)});var j$$=L(()=>{O$$();qa0()});import{extname as rZ4}from"path";function MG($){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 ww($,Z){let Q=MG(Z);if(!Q)throw Error("Key is empty after sanitization");return`${$}/${Q}`}function w$$($,Z){if(!Z)return`${$}/`;let Q=MG(Z);return`${$}/${Q}${Q.endsWith("/")?"":"/"}`}function gm($,Z,Q){let Y=Q.split("/").map(encodeURIComponent).join("/");return`${$}/api/${encodeURIComponent(Z)}/files/${Y}`}function Ra0($,Z){let Q=`${$}/`;if(Z.startsWith(Q))return Z.slice(Q.length);return Z}function f7($){let Z=rZ4($).toLowerCase();return eZ4[Z]??"application/octet-stream"}function dG0($){let Z=$.split(";")[0].trim();if($74.has(Z))return!0;if(Z.startsWith("text/"))return!0;return!1}var eZ4,$74;var eH=L(()=>{eZ4={".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"};$74=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 Ma0{client;bucket;constructor($){this.bucket=$.bucket,this.client=new JY({endpoint:$.endpoint,region:$.region,credentials:{accessKeyId:$.accessKeyId,secretAccessKey:$.secretAccessKey},forcePathStyle:$.forcePathStyle})}async getBytesOrPresign($,Z,Q){let Y=ww($,Z),X=await this.client.send(new mU({Bucket:this.bucket,Key:Y})),J=X.ContentLength??0,G=X.ContentType??f7(Z);if(J>Q.presignWhenLargerThan){let F=await cG0(this.client,new lU({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 lU({Bucket:this.bucket,Key:Y}))).Body.transformToByteArray(),H=dG0(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=ww($,Z);return(await this.client.send(new lU({Bucket:this.bucket,Key:Q}))).Body.transformToByteArray()}async put($,Z,Q,Y){let X=ww($,Z),J=Y?.contentType??f7(Z);return{etag:(await this.client.send(new RG({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=w$$($,Z?.prefix),Y=await this.client.send(new XK({Bucket:this.bucket,Prefix:Q,MaxKeys:Z?.maxKeys??1000,ContinuationToken:Z?.continuationToken,Delimiter:Z?.delimiter})),X=Y.CommonPrefixes?.map((J)=>Ra0($,J.Prefix??"")).filter(Boolean);return{objects:(Y.Contents??[]).map((J)=>({key:Ra0($,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=ww($,Z);await this.client.send(new aD({Bucket:this.bucket,Key:Q}))}async head($,Z){let Q=ww($,Z),Y=await this.client.send(new mU({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=ww($,Z);return cG0(this.client,new lU({Bucket:this.bucket,Key:X}),{expiresIn:Q})}async presignedPutUrl($,Z,Q=3600,Y){let X=ww($,Z);return cG0(this.client,new RG({Bucket:this.bucket,Key:X,ContentType:Y}),{expiresIn:Q})}}var E$$=L(()=>{ir();j$$();eH()});function Z74(){let $=B0();return!!($.s3Endpoint&&$.s3Bucket&&$.s3AccessKeyId&&$.s3SecretAccessKey)}function GJ(){if(pr!==void 0)return pr;if(!Z74())return pr=null,null;let $=B0();return pr=new Ma0({endpoint:$.s3Endpoint,bucket:$.s3Bucket,region:$.s3Region,accessKeyId:$.s3AccessKeyId,secretAccessKey:$.s3SecretAccessKey,forcePathStyle:$.s3ForcePathStyle}),pr}var pr;var Ew=L(()=>{u1();E$$()});function VG($,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 Q74,readdir as Y74,readFile as Va0,stat as iG0,unlink as X74,writeFile as J74}from"fs/promises";import{createHmac as G74}from"crypto";import{dirname as W74,join as nr}from"path";function Ia0($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return nr(K74,Z)}function hm($,Z){return nr(Ia0($),MG(Z))}class JK{orgId;baseUrl;constructor($,Z){this.orgId=$;this.baseUrl=Z}async getBytesOrPresign($,Z){let Q=hm(this.orgId,$),Y=await iG0(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 Va0(Q),G=dG0(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 Va0(hm(this.orgId,$));return new Uint8Array(Z)}async put($,Z,Q){let Y=hm(this.orgId,$);return await Q74(W74(Y),{recursive:!0}),await J74(Y,typeof Z==="string"?Buffer.from(Z,"utf-8"):Z),{key:$}}async list($){let Z=$?.prefix?nr(Ia0(this.orgId),MG($.prefix)):Ia0(this.orgId),Q;try{Q=await Y74(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 iG0(nr(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 iG0(nr(Z,W.name));return{key:X?`${X}/${W.name}`:W.name,size:K.size,lastModified:K.mtime}})),isTruncated:J.length>Y}}async delete($){await X74(hm(this.orgId,$))}async head($){let Z=await iG0(hm(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=hm(this.orgId,$),X=await Va0(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=MG($),Y=Math.floor(Date.now()/1000)+Z,X=B0().encryptionKey||"dev-secret",J=`${this.orgId}:${Q}:${Y}:PUT`,G=G74("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 K74="./data/assets";var um=L(()=>{eH();u1()});function GK($){return H74.test($)&&$!=="."&&$!==".."}function y7($){if(!GK($))throw Error(`Invalid org-fs volume name: ${JSON.stringify($)}`)}function O5($){return MG($)}function lm($){let Z=$.lastIndexOf("/");return Z===-1?"":$.slice(0,Z)}function Pw($){let Z=lm($);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 WK($,Z){return`${ka0}/${$}/${Z}`}function cU($){let[Z,Q="",...Y]=MG($).split("/");return Z===ka0?{volume:Q,path:Y.join("/")}:null}function pG0($){return`${ka0}/${$}/`}var H74,ka0="_fs";var GY=L(()=>{eH();H74=/^[A-Za-z0-9_.-]{1,128}$/});import{createHmac as Ca0,randomBytes as Sa0,scrypt as F74,timingSafeEqual as P$$}from"crypto";import{promisify as U74}from"util";async function A$$($){let Z=Sa0(16),Q=await z$$($,Z,N74);return`scrypt$${Z.toString("hex")}$${Q.toString("hex")}`}async function T$$($,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 z$$($,Y,X.length)}catch{return!1}return X.length===J.length&&P$$(X,J)}function q$$(){return Sa0(16).toString("hex")}function R$$(){if(nG0)return nG0;let $;try{let Z=B0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return nG0=$?Buffer.from($):Sa0(32),nG0}function M$$($){let Z=Buffer.from(JSON.stringify($)).toString("base64url"),Q=Ca0("sha256",R$$()).update(Z).digest("base64url");return`${Z}.${Q}`}function V$$($,Z){let Q=$.indexOf(".");if(Q<0)return null;let Y=$.slice(0,Q),X=Buffer.from($.slice(Q+1)),J=Buffer.from(Ca0("sha256",R$$()).update(Y).digest("base64url"));if(X.length!==J.length||!P$$(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 _a0($,Z,Q){return`fsu_${Ca0("sha256","fsunlock-name").update(`${$}:${Z}:${Q}`).digest("hex").slice(0,16)}`}var N74=64,z$$,nG0=null;var va0=L(()=>{u1();z$$=U74(F74)});import{createHash as B74}from"crypto";function w74($){if(typeof $!=="object"||$===null)return!1;let Z=$;return Z.name==="NoSuchKey"||Z.Code==="NoSuchKey"||Z.code==="ENOENT"||Z.$metadata?.httpStatusCode===404}function I$$($){return B74("sha256").update($).digest("hex")}class KK{storage;manifest;organizationId;maxFileBytes;volumeQuotaBytes;constructor($,Z,Q,Y={}){this.storage=$;this.manifest=Z;this.organizationId=Q;this.maxFileBytes=Y.maxFileBytes??O74,this.volumeQuotaBytes=Y.volumeQuotaBytes??j74}async usage($){return y7($),this.manifest.usage(this.organizationId,$)}async stat($,Z){return y7($),this.manifest.get(this.organizationId,$,O5(Z))}async listVolumeFiles($){return y7($),this.manifest.listVolumeFiles(this.organizationId,$)}async listDir($,Z){return y7($),this.manifest.listDir(this.organizationId,$,O5(Z))}async read($,Z){let Q=await this.requireFile($,Z);try{return await this.storage.getBytes(WK($,Q.path))}catch(Y){if(w74(Y))throw new WJ(`No such file: ${Q.path}`);throw Y}}async setShareMode($,Z,Q,Y){y7($);let X=O5(Z),J=await this.manifest.get(this.organizationId,$,X);if(!J)throw new WJ(`No such path: ${X}`);let G=null,W=null;if(Q==="password"){if(!Y.password)throw new IG("A password is required to set password mode");G=await A$$(Y.password),W=q$$()}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 WJ(`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=O5(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,...Pw(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=O5(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,$,Pw(Q))}async inheritsPublic($,Z){return y7($),this.manifest.hasPublicAncestorDir(this.organizationId,$,Pw(O5(Z)))}async childrenInheritPublic($,Z){y7($);let Q=O5(Z);if(Q==="")return!1;return this.manifest.hasPublicAncestorDir(this.organizationId,$,[...Pw(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?O5(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 Pw(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&&Pw(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(WK($,Y.path),Q)}async write($,Z,Q,Y){y7($);let X=O5(Z);if(X==="")throw new IG("Cannot write to the volume root");let J=typeof Q==="string"?new TextEncoder().encode(Q):Q;if(J.byteLength>this.maxFileBytes)throw new nA(`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 IG(`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 mm(`${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 nA(`Write would exceed the volume quota of ${this.volumeQuotaBytes} bytes`)}await this.ensureDirs($,X,Y.actor),await this.storage.put(WK($,X),J,{contentType:Y.contentType??f7(X)});try{return await $8(()=>this.manifest.putFile({organizationId:this.organizationId,volume:$,path:X,parent:lm(X),contentHash:I$$(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=O5(Z);if(Y==="")return;if((await this.manifest.get(this.organizationId,$,Y))?.kind==="file")throw new IG(`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:lm(Y),actor:Q.actor})}async delete($,Z,Q){y7($);let Y=O5(Z);if(Y==="")throw new IG("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(WK($,G.path)))),await this.manifest.tombstoneSubtree(this.organizationId,$,Y,Q.actor);return}await this.storage.delete(WK($,Y)),await this.manifest.tombstone(this.organizationId,$,Y,Q.actor)}async move($,Z,Q,Y){y7($);let X=O5(Z),J=O5(Q);if(X===""||J==="")throw new IG("Cannot move the volume root");if(J===X||J.startsWith(`${X}/`))throw new IG(`Cannot move ${X} onto itself or into its own subtree`);let G=await this.manifest.get(this.organizationId,$,X);if(!G)throw new WJ(`No such path: ${X}`);if(G.kind==="file"){let H=await this.storage.getBytes(WK($,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(WK($,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)=>O5(Y))});return new Set(Q)}async recent($){return this.manifest.recentFiles({organizationId:this.organizationId,limit:$})}async changes($,Z,Q=D74){y7($);let Y=Z||"0";if(!/^\d+$/.test(Y))throw new IG(`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=pG0($),Y,X=0;do{let J=await this.storage.list({prefix:Q,maxKeys:L74,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:lm(W),contentHash:I$$(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=O5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")throw new WJ(`No such file: ${Q}`);return Y}async ensureDirs($,Z,Q){for(let Y of Pw(Z))await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:lm(Y),actor:Q})}}var D74=500,L74=1000,O74=524288000,j74=10737418240,nA,IG,mm,WJ;var dU=L(()=>{h$();eH();GY();va0();nA=class nA extends Error{constructor($){super($);this.name="OrgFsQuotaError"}};IG=class IG extends Error{constructor($){super($);this.name="OrgFsValidationError"}};mm=class mm extends Error{constructor($){super($);this.name="OrgFsConflictError"}};WJ=class WJ extends Error{constructor($){super($);this.name="OrgFsNotFoundError"}}});import{existsSync as E74}from"fs";import{join as C$$}from"path";import{z as iU}from"zod";function HK($){return $.startsWith(S$$)}function zw($){return`${S$$}${$}`}function T74($){let Z=new Map(_$$.map((Q)=>[Q.set,Q]));if($)try{for(let Q of A74.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 FK(){let $=B0(),Z=T74($.orgFsPublicSetsJson);if($.nodeEnv==="production")return Z;return Z.map((Q)=>Q===_$$[0]&&E74(C$$(k$$,Q.paths[0].from))?{...Q,dir:k$$}:Q)}function or($){let Z=GJ(),Q=Z?VG(Z,tr):new JK(tr,$.baseUrl);return new KK(Q,$.storage.orgFsEntries,tr)}var tr="org_orgfs_public_skills",S$$="public-",P74,z74,_$$,A74,k$$;var Aw=L(()=>{u1();Ew();um();dU();P74=iU.object({from:iU.string(),to:iU.string().optional()}),z74=iU.object({set:iU.string().regex(/^[a-z0-9][a-z0-9-]{0,40}$/),repo:iU.string().regex(/^[\w.-]+\/[\w.-]+$/),ref:iU.string().min(1),paths:iU.array(P74).min(1),dir:iU.string().optional()}),_$$=[{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"}]}],A74=iU.array(z74).refine(($)=>new Set($.map((Z)=>Z.set)).size===$.length,{message:"duplicate set names"});k$$=C$$(import.meta.dir,"../../../..")});function rD($){if(typeof $==="string")return $.length>0?[$]:[];if(Array.isArray($))return $.flatMap(rD);if($!==null&&typeof $==="object")return Object.values($).flatMap(rD);return[]}var x0;var b5=L(()=>{x0=class x0 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 Tw}from"kysely";function ba0($){if($===null)return null;return $ instanceof Date?$.toISOString():String($)}function $F($){return{organizationId:$.organization_id,volume:$.volume,path:$.path,parent:$.parent,kind:$.kind,contentHash:$.content_hash,size:Number($.size),seq:String($.seq),deletedAt:ba0($.deleted_at),createdBy:$.created_by,createdAt:ba0($.created_at)??"",updatedBy:$.updated_by,updatedAt:ba0($.updated_at)??"",threadId:$.thread_id,readPublic:$.read_public,shareMode:!$.read_public?"private":$.share_password_hash?"password":"public"}}class ar{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:tG0,read_public:Tw`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`,thread_id:Tw`coalesce(cast(${Q} as text), org_fs_entry.thread_id)`})).returning(ZF).executeTakeFirstOrThrow();return $F(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:tG0,read_public:Tw`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(ZF).executeTakeFirst();return Y?$F(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(ZF).orderBy("path","asc").execute()).map((X)=>$F(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(ZF).execute()).map((Y)=>$F(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(ZF).execute()).map((Y)=>$F(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",`${sr(Q)}/%`).select(ZF).execute()).map((X)=>$F(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",`${sr(Q)}/%`).select(ZF).execute()).map((X)=>$F(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:tG0}).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:tG0}).where("organization_id","=",$).where("volume","=",Z).where("deleted_at","is",null).where((X)=>X.or([X("path","=",Q),X("path","like",`${sr(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(ZF).executeTakeFirst();return Q?$F(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"),Tw`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(ZF).orderBy("seq","desc").limit($.limit).execute()).map((Q)=>$F(Q))}async searchFiles($){if($.volumes&&$.volumes.length===0)return[];let Z=sr($.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",`${sr($.pathPrefix)}/%`);if($.beforeSeq)Q=Q.where("seq","<",Tw`cast(${$.beforeSeq} as bigint)`);return(await Q.select(ZF).orderBy("seq","desc").limit($.limit).execute()).map((X)=>$F(X))}async changesSince($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("seq",">",Tw`cast(${$.sinceSeq} as bigint)`).select(ZF).orderBy("seq","asc").limit($.limit).execute()).map((Q)=>$F(Q))}async latestSeq($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).select(Tw`max(seq)`.as("seq")).executeTakeFirst())?.seq??"0"}}function sr($){return $.replace(/[\\%_]/g,"\\$&")}var ZF,tG0;var xa0=L(()=>{ZF=["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"],tG0=Tw`nextval('org_fs_entry_seq')`});import{createHash as q74}from"crypto";import{readdir as R74,readFile as M74,stat as V74}from"fs/promises";import{join as v$$}from"path";import{gunzipSync as I74}from"zlib";function ya0($,Z,Q){let Y=Z,X=Z+Q;while(Y<X&&$[Y]!==0)Y++;return new TextDecoder().decode($.subarray(Z,Y))}function C74($,Z,Q){let Y=ya0($,Z,Q).trim();return Y===""?0:Number.parseInt(Y,8)}function S74($){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=ya0(J,0,100),W=ya0(J,345,155);if(W)G=`${W}/${G}`;let K=C74(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 _74($,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 b$$($,Z){if($.length>cm)throw Error(`tarball for ${Z} exceeds ${cm} bytes`);let Q=S74(new Uint8Array(I74($,{maxOutputLength:k74}))),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 x$$($,Z,Q){if($>Z)throw Error(`tarball for ${Q} exceeds ${Z} bytes`)}async function v74($,Z){let Q=[],Y=0,X=$.getReader();try{while(!0){let{done:W,value:K}=await X.read();if(W)break;Y+=K.length,x$$(Y,cm,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 f$$($){if($ instanceof ga0)return $.status>=500||$.status===429;if($ instanceof x0)return $.status===0||$.status>=500||$.status===429;if($ instanceof Error&&/declares .* bytes|exceeds .* bytes/.test($.message))return!1;return!0}async function b74($,Z,Q){let{url:Y,headers:X}=_74($,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 ga0(W.status,`tarball fetch failed for ${J}: HTTP ${W.status}`);let K=Number(W.headers.get("content-length")??0);if(K>cm)throw Error(`tarball for ${J} declares ${K} bytes (cap ${cm})`);let H=new Uint8Array(await W.arrayBuffer());return x$$(H.length,cm,J),H};try{let W=await $8(G,{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:f$$});return b$$(W,J)}catch(W){if(W instanceof Q5)throw W.cause instanceof Error?W.cause:W;throw W}}async function x74($,Z){let Q=new Map;for(let{from:Y}of Z){let X=v$$($,Y);for(let J of await R74(X,{recursive:!0})){let G=v$$(X,J);if(!(await V74(G)).isFile())continue;Q.set(Y?`${Y}/${J}`:J,new Uint8Array(await M74(G)))}}return Q}async function f74($,Z){if($.dir)return x74($.dir,$.paths);if(!Z.tarball)return b74($.repo,$.ref,Z.authToken);let Q=Z.tarball,Y=`${$.repo}@${$.ref}`,X;try{X=await $8(()=>Q(),{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:f$$})}catch(J){throw J instanceof Q5&&J.cause instanceof Error?J.cause:J}if(!X)throw Error(`tarball not found for ${Y}`);return b$$(await v74(X,Y),Y)}function y74($,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=O5(X?`${X}/${K}`:K);if(H)Q.set(H,W)}}return Q}function g74($,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 h74($){return q74("sha256").update($).digest("hex")}function u74($){return $.manifestHash===$.hash&&$.storedPaths.has($.path)}async function l74($,Z){let Q=pG0(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 ha0($,Z){let{orgId:Q,volume:Y,source:X}=Z,J=GJ(),G=J?VG(J,Q):new JK(Q,Z.baseUrl),W=new ar($),K=new KK(G,W,Q),H=y74(await f74(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:fa0}),U++}let N=await W.listVolumeDirs(Q,Y);for(let j of g74(H.keys(),N.map((w)=>w.path)))await K.delete(Y,j,{actor:fa0});let B=0,D=0,O=await l74(G,Y);for(let[j,w]of H){if(u74({hash:h74(w),manifestHash:F.get(j),storedPaths:O,path:j})){D++;continue}await K.write(Y,j,w,{actor:fa0,contentType:f7(j),skipVolumeQuota:Z.skipVolumeQuota}),B++}return{written:B,deleted:U,unchanged:D}}async function m74($,Z,Q){let Y=await ha0($,{orgId:tr,baseUrl:Q.baseUrl,volume:zw(Z.set),source:Z,skipVolumeQuota:!0});return{set:Z.set,...Y}}async function ua0($,Z,Q){try{return await m74($,Z,Q)}catch(Y){return{set:Z.set,error:Y instanceof Error?Y.message:String(Y)}}}async function y$$($,Z){let Q=[];for(let Y of FK())Q.push(await ua0($,Y,Z));return Q}var fa0="system:skill-set-sync",cm=209715200,k74=1073741824,ga0;var oG0=L(()=>{h$();b5();xa0();um();Ew();eH();dU();GY();Aw();ga0=class ga0 extends Error{status;constructor($,Z){super(Z);this.status=$;this.name="TarballHttpError"}}});import{DBOS as sG0,SchedulerMode as c74}from"@dbos-inc/dbos-sdk";function g$$($){la0=$}function i74(){if(!la0)throw Error("[org-fs] public-sets sync runtime not initialized \u2014 setPublicSetsSyncRuntime() must run before the workflow fires");return la0}async function p74($,Z){for(let Q of FK()){let Y=await sG0.runStep(()=>{let X=i74();return ua0(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 h$$(){if(rr)return;rr=sG0.registerWorkflow(p74,{name:"publicSetsSyncWorkflow"}),sG0.registerScheduled(rr,{name:"publicSetsSyncWorkflow",crontab:d74,mode:c74.ExactlyOncePerIntervalWhenActive})}async function u$$(){if(FK().length===0||!rr)return;let $=new Date,Z=`public-sets-sync-boot:${$.toISOString().slice(0,13)}`;await sG0.startWorkflow(rr,{workflowID:Z})($,$)}var d74="4,14,24,34,44,54 * * * *",la0=null,rr=null;var l$$=L(()=>{Aw();oG0()});import{createHash as m$$}from"crypto";class ma0{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:m$$("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:m$$("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 c$$=()=>{};import{jwtVerify as n74,SignJWT as d$$}from"jose";import{randomBytes as t74}from"crypto";function i$$(){if(er)return er;let $=B0(),Z=$.studioJwtSecret??$.betterAuthSecret;if(Z)er=new TextEncoder().encode(Z);else console.warn("STUDIO_JWT_SECRET not set - generating random secret (not persistent)"),er=new Uint8Array(t74(32));return er}async function p$$($,Z="5m"){let Q=i$$();return await new d$$($).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Z).sign(Q)}async function ca0($){try{let Z=i$$(),{payload:Q}=await n74($,Z);return Q}catch{return}}async function DQ($,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 d$$({iss:"mesh",sub:$,...Z&&{email:Z}}).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Math.floor(Date.now()/1000)+Q).sign(J)}var er=null;var QF=L(()=>{u1()});import{createCipheriv as o74,createDecipheriv as s74,createHash as a74,randomBytes as n$$}from"crypto";class KJ{key;constructor($){if(Buffer.from($,"base64").length===s$$)this.key=Buffer.from($,"base64");else this.key=a74("sha256").update($).digest()}async encrypt($){let Z=n$$($e),Q=o74(t$$,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,$e),Y=Z.subarray($e,$e+o$$),X=Z.subarray($e+o$$),J=s74(t$$,this.key,Q);J.setAuthTag(Y);let G=J.update(X);return G=Buffer.concat([G,J.final()]),G.toString("utf8")}static generateKey(){return n$$(s$$).toString("base64")}}var t$$="aes-256-gcm",$e=16,o$$=16,s$$=32;var qw=()=>{};function u9(){let $=B0();if($.baseUrl)return $.baseUrl;return`http://localhost:${$.port??3000}`}function a$$(){return`http://localhost:${B0().port??3000}`}function j5(){return B0().publicUrl??u9()}var F9=L(()=>{u1()});function dm($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}import{z as r74}from"zod";function Qe($){return tA.safeParse($).success}function Ye($,Z){let Q=dm($??"").slice(0,Ze).replace(/-+$/,"");return Qe(Q)?Q:Z}function da0($,Z){if(Z<=1)return $;let Q=`-${Z}`;return`${$.slice(0,Ze-Q.length).replace(/-+$/,"")}${Q}`}var e74=2,Ze=64,$Q4,ZQ4,tA;var Rw=L(()=>{$Q4=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,ZQ4=new Set(["new","edit","settings","apps","projects","connections"]),tA=r74.string().min(e74).max(Ze).regex($Q4,"Use lowercase letters, digits, and single hyphens between them").refine(($)=>!$.includes("--"),"Use single hyphens").refine(($)=>!ZQ4.has($),"This slug is reserved")});import{z as b0}from"zod";function pa0($){let Z=$?.homeTiles;if(Array.isArray(Z)&&Z.length>0)return Z;let Q=$?.homeTile;return Q?[Q]:[]}function eD($){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]=na0.parse(X)}catch{}}return Q}function ta0($){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=eD(G);if(Object.keys(W).length>0)X[J]=W}if(Object.keys(X).length>0)Z[Q]=X}return Z}var $8$,ia0=500,Z8$=200,QQ4=200,YQ4=20,XQ4=50,JQ4=100,GQ4=20,WQ4=100,Q8$=300,KQ4=100,HQ4=8192,Y8$,FQ4,X8$,oA,UQ4,NQ4,J8$,r$$,BQ4,aG0,e$$,DQ4,rG0=2,LQ4,OQ4,eG0,jQ4,wQ4,na0,G8$,EQ4,PQ4,zQ4,AQ4,TQ4,qQ4,RQ4,W8$,MQ4,oa0,eY,sa0,$W0,ZW0;var aa0=L(()=>{Rw();$8$=b0.object({connection_id:b0.string().describe("Connection ID"),selected_tools:b0.array(b0.string()).nullable().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:b0.array(b0.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:b0.array(b0.string()).nullable().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),Y8$=$8$.extend({selected_tools:b0.array(b0.string()).max(ia0).nullable().optional().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:b0.array(b0.string()).max(ia0).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:b0.array(b0.string()).max(ia0).nullable().optional().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),FQ4=b0.object({connectionId:b0.string(),toolName:b0.string(),label:b0.string(),icon:b0.string().nullable().optional()}),X8$=b0.object({id:b0.string().describe("Stable id; used as React key and ?tab= value"),title:b0.string().describe("Tab label"),icon:b0.string().optional().describe("Optional lucide icon name"),view:b0.object({type:b0.literal("ext-app"),appId:b0.string(),args:b0.record(b0.string(),b0.unknown()).optional()})}),oA=b0.enum(["overview","reports","board","site-editor","calendar","experiments","assets","releases","hosting","e2e","analytics","cdn","automations"]),UQ4=b0.enum(["on","off"]),NQ4=b0.enum(["on","off","manual","auto"]),J8$=b0.object({defaultMainView:b0.object({type:b0.string(),id:b0.string().optional(),toolName:b0.string().optional()}).nullable().optional(),chatDefaultOpen:b0.boolean().nullable().optional(),cmsDefaultOpen:b0.boolean().nullable().optional(),cms:NQ4.nullable().optional().describe("How this agent offers content editing. Absent means on; the retired `manual` / `auto` read as on too."),sidebarViews:b0.array(oA).max(oA.options.length).nullable().optional().describe("Deprecated layout-scoped sidebar selections. Read only as a fallback when metadata.sidebarViews is absent."),tabs:b0.array(X8$).max(GQ4).optional()}),r$$=b0.object({tileId:b0.string().optional(),connectionId:b0.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:b0.string().describe("ui:// resource URI exposed by `connectionId`. Read on the home page and rendered via MCPAppRenderer."),toolName:b0.string().optional().describe("Tool name \u2014 identifies which tool's inputSchema to display when editing tile props."),toolInput:b0.record(b0.string(),b0.unknown()).optional().describe("User-configured input props passed to MCPAppRenderer when rendering the tile."),minHeight:b0.number().int().positive().optional(),maxHeight:b0.number().int().positive().optional()}),BQ4=b0.object({banner:b0.string().nullable().optional(),bannerColor:b0.string().nullable().optional(),icon:b0.string().nullable().optional(),themeColor:b0.string().nullable().optional(),pinnedViews:b0.array(FQ4).max(JQ4).nullable().optional(),layout:J8$.nullable().optional(),homeTile:r$$.nullable().optional(),homeTiles:b0.array(r$$).max(YQ4).nullable().optional(),homePrompts:b0.array(b0.string()).max(XQ4).nullable().optional()});aG0=/^[A-Za-z_][A-Za-z0-9_]*$/,e$$=b0.string().min(1).regex(aG0,{message:"Env var key must start with a letter or underscore and contain only letters, digits, and underscores."}),DQ4=b0.discriminatedUnion("kind",[b0.object({key:e$$,kind:b0.literal("literal"),value:b0.string().max(HQ4)}),b0.object({key:e$$,kind:b0.literal("secret"),secretId:b0.string().min(1)})]),LQ4=b0.object({path:b0.string().trim().min(1).max(256).describe("Path (relative to repo root) to the app's package.json directory.")}),OQ4=b0.object({selected:b0.string().nullable().optional().describe("User-selected package manager (npm | pnpm | yarn | bun | deno). Null/absent means autodetect on next SANDBOX_START."),port:b0.string().nullable().optional().describe("User-selected dev server port as a string (allows '' / null for unset). Null/absent means autodetect."),path:b0.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."),apps:b0.array(LQ4).max(rG0).nullable().optional().describe("Additional monorepo apps previewed beside the one at `path`, each run by its own dev server on the main app's install. Started only when the organization's `multi_app_preview` flag is on."),env:b0.array(DQ4).max(KQ4).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.")}),eG0=b0.object({url:b0.string().describe("Repository URL, including its provider host"),owner:b0.string().describe("Repository owner"),name:b0.string().describe("Repository name"),installationId:b0.number().optional().describe("GitHub App installation ID. Absent when the repo was linked without a GitHub connection (public-clone mode)."),connectionId:b0.string().optional().describe("ID of the mcp-github connection used for authentication. Absent for public repos cloned without credentials."),repositoryId:b0.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.")}),jQ4=b0.enum(["agent-sandbox","local-api"]),wQ4={sandboxHandle:b0.string().describe("Provider-specific handle"),previewUrl:b0.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:b0.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:b0.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:b0.object({packageManager:b0.string().nullable().optional().describe("metadata.runtime.selected at the time of SANDBOX_START"),port:b0.string().nullable().optional().describe("metadata.runtime.port at the time of SANDBOX_START"),path:b0.string().nullable().optional().describe("metadata.runtime.path at the time of SANDBOX_START"),apps:b0.array(b0.string()).nullable().optional().describe("Extra app paths the sandbox was given at SANDBOX_START; null when none were sent.")}).optional().describe("Snapshot of metadata.runtime fields (selected/port/path/apps) used at SANDBOX_START. The Preview tab compares the live metadata.runtime against this to decide if a restart is required to apply changes.")},na0=b0.object(wQ4);G8$=b0.record(b0.string().describe("userId"),b0.record(b0.string().describe("branch"),b0.partialRecord(jQ4,na0)));EQ4=b0.object({id:b0.string().describe("Stable identifier for this knowledge file"),name:b0.string().describe("File name shown in the UI"),kind:b0.enum(["file","skill"]).optional().describe("'file' (a single document) or 'skill' (a Claude Code skill folder containing SKILL.md). Defaults to 'file'."),volume:b0.string().describe("Org filesystem (Library) volume the file lives in"),path:b0.string().describe("Path within the volume"),url:b0.string().describe("Same-origin URL to read the file (display/download)"),contentType:b0.string().nullable().optional().describe("MIME type, used to decide whether to inline the content"),size:b0.number().nullable().optional().describe("File size in bytes"),addedAt:b0.string().describe("ISO timestamp when the file was attached")}),PQ4=b0.array(EQ4).max(WQ4).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."),zQ4=b0.enum(["smart","code-review","open"]),AQ4=zQ4.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."),TQ4=b0.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."),qQ4=b0.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."),RQ4=b0.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."),W8$=b0.object({branch:b0.string().describe("Git branch backing this release"),name:b0.string().describe('User-facing name, e.g. "Black Friday 2026"'),color:b0.string().describe("Dot color token shown in the version switcher"),createdBy:b0.string().optional().describe("User ID who created the release"),createdAt:b0.string().optional().describe("ISO 8601 creation timestamp")}),MQ4=b0.array(W8$).max(Q8$).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."),oa0={instructions:b0.string().nullable().optional().describe("Instructions also used as system prompt"),subAgents:b0.array(b0.string()).max(QQ4).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:BQ4.nullable().optional().describe("UI customization settings"),sidebarViews:b0.array(oA).max(oA.options.length).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:b0.literal(1).optional().describe("Version 1 marks metadata.sidebarViews as an exact list that can disable legacy default rows."),sidebarViewsSeen:b0.array(oA).max(oA.options.length).nullable().optional().describe("Views Studio offered this project once on top of an exact sidebarViews list (Experiments and Calendar on a Blocks site). A view listed here shows only when sidebarViews selects it, so hiding it sticks."),repository:eG0.nullable().optional().describe("Linked repository"),runtime:OQ4.nullable().optional().describe("User-pinned runtime config (package manager, dev port). Empty fields = autodetect."),knowledge:PQ4,siteSlug:b0.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:AQ4,previewServerUrl:RQ4,productionUrl:b0.string().nullable().optional().describe("Legacy key for previewServerUrl \u2014 still read as a fallback. New writes use previewServerUrl."),fieldDescriptionTooltips:b0.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:TQ4,releases:MQ4,fastPreviewInPlace:qQ4},eY=b0.object({id:b0.string().describe("Unique identifier"),title:b0.string().describe("Human-readable name"),url_slug:b0.string().nullable().optional().describe("Name of the project in Studio URLs, unique in the organization"),description:b0.string().nullable().describe("Description"),icon:b0.string().nullable().describe("Icon URL"),created_at:b0.string().describe("Creation timestamp"),updated_at:b0.string().describe("Last update timestamp"),created_by:b0.string().describe("User ID who created this item"),updated_by:b0.string().optional().describe("User ID who last updated this item"),organization_id:b0.string().describe("Organization ID this item belongs to"),status:b0.enum(["active","inactive"]).describe("Current status"),pinned:b0.boolean().describe("Whether this space is pinned to the sidebar"),metadata:b0.object(oa0).extend({instructions:b0.string().nullable().describe("Instructions also used as system prompt"),sandboxMap:G8$.optional().describe("Per-user, per-branch sandbox mapping: sandboxMap[userId][branch] -> { sandboxHandle, previewUrl }")}).loose().describe("Metadata"),connections:b0.array($8$).describe("Connections with their selected tools, resources, and prompts")}),sa0=b0.object({title:b0.string().min(1).max(120).describe("Short label shown on the chip"),description:b0.string().max(280).optional().describe("One-line subtitle shown under the title"),text:b0.string().min(1).max(4000).describe("The message sent to the agent when the prompt is clicked")}),$W0=b0.object({title:b0.string().min(1).max(255).describe("Name for the virtual MCP"),description:b0.string().max(500).nullable().optional().describe("Optional description"),icon:b0.string().nullish().describe("Optional icon URL"),status:b0.enum(["active","inactive"]).optional().default("active").describe("Initial status"),pinned:b0.boolean().optional().default(!1).describe("Pin to sidebar"),metadata:b0.object(oa0).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:b0.array(Y8$).max(Z8$).describe("Connections to include/exclude (can be empty for exclusion mode)"),prompts:b0.array(sa0).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.")}),ZW0=b0.object({title:b0.string().min(1).max(255).optional().describe("New name"),url_slug:tA.nullish().describe("New URL slug. The old one keeps redirecting. Renaming does not change it. null keeps the current slug."),description:b0.string().max(500).nullable().optional().describe("New description (null to clear)"),icon:b0.string().nullish().describe("New icon URL"),status:b0.enum(["active","inactive"]).optional().describe("New status"),pinned:b0.boolean().optional().describe("Pin/unpin from sidebar"),metadata:b0.object(oa0).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:b0.array(Y8$).max(Z8$).optional().describe("New connections (replaces existing)"),prompts:b0.array(sa0).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 H8$($){return $==="repository"||$==="additionalRepositories"?ea0[$]:$}function F8$($){return $!==null&&typeof $==="object"&&!Array.isArray($)?$:null}function K8$($){let Z=F8$($),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=eG0.safeParse(Q?{...Z,url:Q}:$);if(!Y.success)return null;try{return ra0(Y.data)??null}catch{return null}}function YF($){let Z=F8$($);if(!Z)return null;let Q={...Z};for(let[Y,X]of Object.entries(ea0)){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=K8$(J);else Q.additionalRepositories=J===null?null:Array.isArray(J)?J.map(K8$).filter((G)=>G!==null):[]}return Q}function ra0($){if($===null||$===void 0)return $;let Z=eG0.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 pU($){if(!$)return null;let Z={...$};for(let[Q,Y]of Object.entries(ea0)){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]=ra0(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)=>ra0(J))}}return Z}var ea0;var Xe=L(()=>{aa0();ea0={repository:"githubRepo",additionalRepositories:"githubRepos"}});var Je=($,Z)=>{if(Z===null||Z===void 0)return;let Q=$.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),Y=Z;for(let X of Q){if(Y===null||Y===void 0||typeof Y!=="object")return;Y=Y[X]}return Y};function QW0($){let Z=$.split("::");if(Z.length!==2||!Z[0]||!Z[1])throw Error(`Invalid scope format: ${$}. Expected format: "KEY::SCOPE"`);return Z}function VQ4($){try{return QW0($)}catch{return null}}function IQ4($){if(typeof $==="object"&&$!==null&&"value"in $){let Z=$.value;if(typeof Z==="string")return Z}return null}function $r0($,Z){let Q={};if(!$||!Z)return Q;for(let Y of Z){if(Y==="*"){Q["*"]=["*"];continue}let X=VQ4(Y);if(!X)continue;let[J,G]=X,W=Je(J,$),K=IQ4(W);if(K){if(!Q[K])Q[K]=[];Q[K].push(G)}}return Q}function U8$($,Z){let Q=$r0($,Z);return new Set(Object.keys(Q).filter((Y)=>Y!=="*"))}var Zr0=()=>{};async function N8$($){if(!$.refreshToken)return{success:!1,permanent:!1,error:"No refresh token available"};if(!$.tokenEndpoint)return{success:!1,permanent:!1,error:"No token endpoint available"};if(!$.clientId)return{success:!1,permanent:!1,error:"No client ID available"};try{let Z=new URLSearchParams({grant_type:"refresh_token",refresh_token:$.refreshToken,client_id:$.clientId});if($.clientSecret)Z.set("client_secret",$.clientSecret);if($.scope)Z.set("scope",$.scope);let Q=await fetch($.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Z.toString(),signal:AbortSignal.timeout(1e4)});if(!Q.ok){let G=await Q.text(),W,K;try{let F=JSON.parse(G);if(typeof F.error==="string")W=F.error;if(typeof F.error_description==="string")K=F.error_description}catch{}let H=Q.status===400&&!!W&&kQ4.has(W);return(H?console.error:console.warn)("[TokenRefresh] refresh failed",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint,status:Q.status,errorCode:W,errorDescription:K,permanent:H}),{success:!1,permanent:H,status:Q.status,errorCode:W,error:K||W||`Token refresh failed: ${Q.status}`}}let Y=await Q.json();if(typeof Y.access_token!=="string"||!Y.access_token)return console.warn("[TokenRefresh] 200 response missing access_token",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint}),{success:!1,permanent:!1,status:Q.status,error:"Token endpoint returned no access_token"};let X,J=!1;if(Y.expires_in!==void 0){let G=Number(Y.expires_in);if(Number.isFinite(G)&&G>=0&&G<=3153600000)X=G;else J=!0,console.warn("[TokenRefresh] ignoring malformed expires_in",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint,expiresIn:Y.expires_in})}return{success:!0,accessToken:Y.access_token,refreshToken:typeof Y.refresh_token==="string"&&Y.refresh_token?Y.refresh_token:$.refreshToken,expiresIn:X,expiresInMalformed:J,scope:typeof Y.scope==="string"?Y.scope:void 0}}catch(Z){return console.warn("[TokenRefresh] network/parse error",{connectionId:$.connectionId,tokenEndpoint:$.tokenEndpoint,message:Z instanceof Error?Z.message:String(Z)}),{success:!1,permanent:!1,error:Z instanceof Error?Z.message:"Token refresh failed"}}}var kQ4;var B8$=L(()=>{kQ4=new Set(["invalid_grant","bad_refresh_token"])});var Qr0=($,Z,Q)=>{return(Y,X)=>{let J=-1;return G(0);async function G(W){if(W<=J)throw Error("next() called multiple times");J=W;let K,H=!1,F;if($[W])F=$[W][0][0],Y.req.routeIndex=W;else F=W===$.length&&X||void 0;if(F)try{K=await F(Y,()=>G(W+1))}catch(U){if(U instanceof Error&&Z)Y.error=U,K=await Z(U,Y),H=!0;else throw U}else if(Y.finalized===!1&&Q)K=await Q(Y);if(K&&(Y.finalized===!1||H))Y.res=K;return Y}}};var D8$=()=>{};var R1;var W3=L(()=>{R1=class extends Error{res;status;constructor($=500,Z){super(Z?.message,{cause:Z?.cause});this.res=Z?.res,this.status=$}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}}});var L8$;var O8$=L(()=>{L8$=Symbol()});async function CQ4($,Z){let Q=await $.formData();if(Q)return SQ4(Q,Z);return{}}function SQ4($,Z){let Q=Object.create(null);if($.forEach((Y,X)=>{if(!(Z.all||X.endsWith("[]")))Q[X]=Y;else _Q4(Q,X,Y)}),Z.dot)Object.entries(Q).forEach(([Y,X])=>{if(Y.includes("."))vQ4(Q,Y,X),delete Q[Y]});return Q}var j8$=async($,Z=Object.create(null))=>{let{all:Q=!1,dot:Y=!1}=Z,J=($ instanceof YW0?$.raw.headers:$.headers).get("Content-Type");if(J?.startsWith("multipart/form-data")||J?.startsWith("application/x-www-form-urlencoded"))return CQ4($,{all:Q,dot:Y});return{}},_Q4=($,Z,Q)=>{if($[Z]!==void 0)if(Array.isArray($[Z]))$[Z].push(Q);else $[Z]=[$[Z],Q];else if(!Z.endsWith("[]"))$[Z]=Q;else $[Z]=[Q]},vQ4=($,Z,Q)=>{if(/(?:^|\.)__proto__\./.test(Z))return;let Y=$,X=Z.split(".");X.forEach((J,G)=>{if(G===X.length-1)Y[J]=Q;else{if(!Y[J]||typeof Y[J]!=="object"||Array.isArray(Y[J])||Y[J]instanceof File)Y[J]=Object.create(null);Y=Y[J]}})};var w8$=L(()=>{Yr0()});var Jr0=($)=>{let Z=$.split("/");if(Z[0]==="")Z.shift();return Z},E8$=($)=>{let{groups:Z,path:Q}=bQ4($),Y=Jr0(Q);return xQ4(Y,Z)},bQ4=($)=>{let Z=[];return $=$.replace(/\{[^}]+\}/g,(Q,Y)=>{let X=`@${Y}`;return Z.push([X,Q]),X}),{groups:Z,path:$}},xQ4=($,Z)=>{for(let Q=Z.length-1;Q>=0;Q--){let[Y]=Z[Q];for(let X=$.length-1;X>=0;X--)if($[X].includes(Y)){$[X]=$[X].replace(Y,Z[Q][1]);break}}return $},XW0,P8$=($,Z)=>{if($==="*")return"*";let Q=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let Y=`${$}#${Z}`;if(!XW0[Y])if(Q[2])XW0[Y]=Z&&Z[0]!==":"&&Z[0]!=="*"?[Y,Q[1],new RegExp(`^${Q[2]}(?=/${Z})`)]:[$,Q[1],new RegExp(`^${Q[2]}$`)];else XW0[Y]=[$,Q[1],!0];return XW0[Y]}return null},im=($,Z)=>{try{return Z($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return Z(Q)}catch{return Q}})}},z8$=($)=>im($,decodeURI),Gr0=($)=>{let Z=$.url,Q=Z.indexOf("/",Z.indexOf(":")+4),Y=Q;for(;Y<Z.length;Y++){let X=Z.charCodeAt(Y);if(X===37){let J=Z.indexOf("?",Y),G=Z.indexOf("#",Y),W=J===-1?G===-1?void 0:G:G===-1?J:Math.min(J,G),K=Z.slice(Q,W);return z8$(K.includes("%25")?K.replace(/%25/g,"%2525"):K)}else if(X===63||X===35)break}return Z.slice(Q,Y)},A8$=($)=>{let Z=Gr0($);return Z.length>1&&Z.at(-1)==="/"?Z.slice(0,-1):Z},sA=($,Z,...Q)=>{if(Q.length)Z=sA(Z,...Q);return`${$?.[0]==="/"?"":"/"}${$}${Z==="/"?"":`${$?.at(-1)==="/"?"":"/"}${Z?.[0]==="/"?Z.slice(1):Z}`}`},JW0=($)=>{if($.charCodeAt($.length-1)!==63||!$.includes(":"))return null;let Z=$.split("/"),Q=[],Y="";return Z.forEach((X)=>{if(X!==""&&!/\:/.test(X))Y+="/"+X;else if(/\:/.test(X))if(/\?/.test(X)){if(Q.length===0&&Y==="")Q.push("/");else Q.push(Y);let J=X.replace("?","");Y+="/"+J,Q.push(Y)}else Y+="/"+X}),Q.filter((X,J,G)=>G.indexOf(X)===J)},Xr0=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?im($,Ge):$},T8$=($,Z,Q)=>{let Y;if(!Q&&Z&&!/[%+]/.test(Z)){let G=$.indexOf("?",8);if(G===-1)return;if(!$.startsWith(Z,G+1))G=$.indexOf(`&${Z}`,G+1);while(G!==-1){let W=$.charCodeAt(G+Z.length+1);if(W===61){let K=G+Z.length+2,H=$.indexOf("&",K);return Xr0($.slice(K,H===-1?void 0:H))}else if(W==38||isNaN(W))return"";G=$.indexOf(`&${Z}`,G+1)}if(Y=/[%+]/.test($),!Y)return}let X={};Y??=/[%+]/.test($);let J=$.indexOf("?",8);while(J!==-1){let G=$.indexOf("&",J+1),W=$.indexOf("=",J);if(W>G&&G!==-1)W=-1;let K=$.slice(J+1,W===-1?G===-1?void 0:G:W);if(Y)K=Xr0(K);if(J=G,K==="")continue;let H;if(W===-1)H="";else if(H=$.slice(W+1,G===-1?void 0:G),Y)H=Xr0(H);if(Q){if(!(X[K]&&Array.isArray(X[K])))X[K]=[];X[K].push(H)}else X[K]??=H}return Z?X[Z]:X},q8$,R8$=($,Z)=>{return T8$($,Z,!0)},Ge;var Mw=L(()=>{XW0={},q8$=T8$,Ge=decodeURIComponent});var M8$=($)=>im($,Ge),YW0;var Yr0=L(()=>{W3();O8$();w8$();Mw();YW0=class{raw;#$;#Z;routeIndex=0;path;bodyCache={};constructor($,Z="/",Q=[[]]){this.raw=$,this.path=Z,this.#Z=Q,this.#$={}}param($){return $?this.#Q($):this.#J()}#Q($){let Z=this.#Z[0][this.routeIndex][1][$],Q=this.#X(Z);return Q&&/\%/.test(Q)?M8$(Q):Q}#J(){let $={},Z=Object.keys(this.#Z[0][this.routeIndex][1]);for(let Q of Z){let Y=this.#X(this.#Z[0][this.routeIndex][1][Q]);if(Y!==void 0)$[Q]=/\%/.test(Y)?M8$(Y):Y}return $}#X($){return this.#Z[1]?this.#Z[1][$]:$}query($){return q8$(this.url,$)}queries($){return R8$(this.url,$)}header($){if($)return this.raw.headers.get($)??void 0;let Z={};return this.raw.headers.forEach((Q,Y)=>{Z[Y]=Q}),Z}async parseBody($){return j8$(this,$)}#Y=($)=>{let{bodyCache:Z,raw:Q}=this,Y=Z[$];if(Y)return Y;let X=Object.keys(Z)[0];if(X)return Z[X].then((J)=>{if(X==="json")J=JSON.stringify(J);return new Response(J)[$]()});return Z[$]=Q[$]()};json(){return this.#Y("text").then(($)=>JSON.parse($))}text(){return this.#Y("text")}arrayBuffer(){return this.#Y("arrayBuffer")}blob(){return this.#Y("blob")}formData(){return this.#Y("formData")}addValidatedData($,Z){this.#$[$]=Z}valid($){return this.#$[$]}get url(){return this.raw.url}get method(){return this.raw.method}get[L8$](){return this.#Z}get matchedRoutes(){return this.#Z[0].map(([[,$]])=>$)}get routePath(){return this.#Z[0].map(([[,$]])=>$)[this.routeIndex].path}}});var GW0,V8$=($,Z)=>{let Q=new String($);return Q.isEscaped=!0,Q.callbacks=Z,Q},We=async($,Z,Q,Y,X)=>{if(typeof $==="object"&&!($ instanceof String)){if(!($ instanceof Promise))$=$.toString();if($ instanceof Promise)$=await $}let J=$.callbacks;if(!J?.length)return Promise.resolve($);if(X)X[0]+=$;else X=[$];let G=Promise.all(J.map((W)=>W({phase:Z,buffer:X,context:Y}))).then((W)=>Promise.all(W.filter(Boolean).map((K)=>We(K,Z,!1,Y,X))).then(()=>X[0]));if(Q)return V8$(await G,J);else return G};var WW0=L(()=>{GW0={Stringify:1,BeforeStream:2,Stream:3}});var I8$="text/plain; charset=UTF-8",Wr0=($,Z)=>{return{"Content-Type":$,...Z}},Ke=($,Z)=>new Response($,Z),k8$=class{#$;#Z;env={};#Q;finalized=!1;error;#J;#X;#Y;#G;#W;#K;#F;#U;#N;constructor($,Z){if(this.#$=$,Z)this.#X=Z.executionCtx,this.env=Z.env,this.#K=Z.notFoundHandler,this.#N=Z.path,this.#U=Z.matchResult}get req(){return this.#Z??=new YW0(this.#$,this.#N,this.#U),this.#Z}get event(){if(this.#X&&"respondWith"in this.#X)return this.#X;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#X)return this.#X;else throw Error("This context has no ExecutionContext")}get res(){return this.#Y||=Ke(null,{headers:this.#F??=new Headers})}set res($){if(this.#Y&&$){$=Ke($.body,$);for(let[Z,Q]of this.#Y.headers.entries()){if(Z==="content-type")continue;if(Z==="set-cookie"){let Y=this.#Y.headers.getSetCookie();$.headers.delete("set-cookie");for(let X of Y)$.headers.append("set-cookie",X)}else $.headers.set(Z,Q)}}this.#Y=$,this.finalized=!0}render=(...$)=>{return this.#W??=(Z)=>this.html(Z),this.#W(...$)};setLayout=($)=>this.#G=$;getLayout=()=>this.#G;setRenderer=($)=>{this.#W=$};header=($,Z,Q)=>{if(this.finalized)this.#Y=Ke(this.#Y.body,this.#Y);let Y=this.#Y?this.#Y.headers:this.#F??=new Headers;if(Z===void 0)Y.delete($);else if(Q?.append)Y.append($,Z);else Y.set($,Z)};status=($)=>{this.#J=$};set=($,Z)=>{this.#Q??=new Map,this.#Q.set($,Z)};get=($)=>{return this.#Q?this.#Q.get($):void 0};get var(){if(!this.#Q)return{};return Object.fromEntries(this.#Q)}#H($,Z,Q){let Y=this.#Y?new Headers(this.#Y.headers):this.#F??new Headers;if(typeof Z==="object"&&"headers"in Z){let J=Z.headers instanceof Headers?Z.headers:new Headers(Z.headers);for(let[G,W]of J)if(G.toLowerCase()==="set-cookie")Y.append(G,W);else Y.set(G,W)}if(Q)for(let[J,G]of Object.entries(Q))if(typeof G==="string")Y.set(J,G);else{Y.delete(J);for(let W of G)Y.append(J,W)}let X=typeof Z==="number"?Z:Z?.status??this.#J;return Ke($,{status:X,headers:Y})}newResponse=(...$)=>this.#H(...$);body=($,Z,Q)=>this.#H($,Z,Q);text=($,Z,Q)=>{return!this.#F&&!this.#J&&!Z&&!Q&&!this.finalized?new Response($):this.#H($,Z,Wr0(I8$,Q))};json=($,Z,Q)=>{return this.#H(JSON.stringify($),Z,Wr0("application/json",Q))};html=($,Z,Q)=>{let Y=(X)=>this.#H(X,Z,Wr0("text/html; charset=UTF-8",Q));return typeof $==="object"?We($,GW0.Stringify,!1,{}).then(Y):Y($)};redirect=($,Z)=>{let Q=String($);return this.header("Location",!/[^\x00-\xFF]/.test(Q)?Q:encodeURI(Q)),this.newResponse(null,Z??302)};notFound=()=>{return this.#K??=()=>Ke(),this.#K(this)}};var KW0=L(()=>{Yr0();WW0()});var x5="ALL",C8$="all",S8$,HW0="Can not add a route since the matcher is already built.",FW0;var Vw=L(()=>{S8$=["get","post","put","delete","options","patch"],FW0=class extends Error{}});var Kr0="__COMPOSED_HANDLER";var Hr0=()=>{};var fQ4=($)=>{return $.text("404 Not Found",404)},_8$=($,Z)=>{if("getResponse"in $){let Q=$.getResponse();return Z.newResponse(Q.body,Q)}return console.error($),Z.text("Internal Server Error",500)},v8$=class ${get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#$="/";routes=[];constructor(Z={}){[...S8$,C8$].forEach((J)=>{this[J]=(G,...W)=>{if(typeof G==="string")this.#$=G;else this.#J(J,this.#$,G);return W.forEach((K)=>{this.#J(J,this.#$,K)}),this}}),this.on=(J,G,...W)=>{for(let K of[G].flat()){this.#$=K;for(let H of[J].flat())W.map((F)=>{this.#J(H.toUpperCase(),this.#$,F)})}return this},this.use=(J,...G)=>{if(typeof J==="string")this.#$=J;else this.#$="*",G.unshift(J);return G.forEach((W)=>{this.#J(x5,this.#$,W)}),this};let{strict:Y,...X}=Z;Object.assign(this,X),this.getPath=Y??!0?Z.getPath??Gr0:A8$}#Z(){let Z=new $({router:this.router,getPath:this.getPath});return Z.errorHandler=this.errorHandler,Z.#Q=this.#Q,Z.routes=this.routes,Z}#Q=fQ4;errorHandler=_8$;route(Z,Q){let Y=this.basePath(Z);return Q.routes.map((X)=>{let J;if(Q.errorHandler===_8$)J=X.handler;else J=async(G,W)=>(await Qr0([],Q.errorHandler)(G,()=>X.handler(G,W))).res,J[Kr0]=X.handler;Y.#J(X.method,X.path,J)}),this}basePath(Z){let Q=this.#Z();return Q._basePath=sA(this._basePath,Z),Q}onError=(Z)=>{return this.errorHandler=Z,this};notFound=(Z)=>{return this.#Q=Z,this};mount(Z,Q,Y){let X,J;if(Y)if(typeof Y==="function")J=Y;else if(J=Y.optionHandler,Y.replaceRequest===!1)X=(K)=>K;else X=Y.replaceRequest;let G=J?(K)=>{let H=J(K);return Array.isArray(H)?H:[H]}:(K)=>{let H=void 0;try{H=K.executionCtx}catch{}return[K.env,H]};X||=(()=>{let K=sA(this._basePath,Z),H=K==="/"?0:K.length;return(F)=>{let U=new URL(F.url);return U.pathname=U.pathname.slice(H)||"/",new Request(U,F)}})();let W=async(K,H)=>{let F=await Q(X(K.req.raw),...G(K));if(F)return F;await H()};return this.#J(x5,sA(Z,"*"),W),this}#J(Z,Q,Y){Z=Z.toUpperCase(),Q=sA(this._basePath,Q);let X={basePath:this._basePath,path:Q,method:Z,handler:Y};this.router.add(Z,Q,[Y,X]),this.routes.push(X)}#X(Z,Q){if(Z instanceof Error)return this.errorHandler(Z,Q);throw Z}#Y(Z,Q,Y,X){if(X==="HEAD")return(async()=>new Response(null,await this.#Y(Z,Q,Y,"GET")))();let J=this.getPath(Z,{env:Y}),G=this.router.match(X,J),W=new k8$(Z,{path:J,matchResult:G,env:Y,executionCtx:Q,notFoundHandler:this.#Q});if(G[0].length===1){let H;try{H=G[0][0][0][0](W,async()=>{W.res=await this.#Q(W)})}catch(F){return this.#X(F,W)}return H instanceof Promise?H.then((F)=>F||(W.finalized?W.res:this.#Q(W))).catch((F)=>this.#X(F,W)):H??this.#Q(W)}let K=Qr0(G[0],this.errorHandler,this.#Q);return(async()=>{try{let H=await K(W);if(!H.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return H.res}catch(H){return this.#X(H,W)}})()}fetch=(Z,...Q)=>{return this.#Y(Z,Q[1],Q[0],Z.method)};request=(Z,Q,Y,X)=>{if(Z instanceof Request)return this.fetch(Q?new Request(Z,Q):Z,Y,X);return Z=Z.toString(),this.fetch(new Request(/^https?:\/\//.test(Z)?Z:`http://localhost${sA("/",Z)}`,Q),Y,X)};fire=()=>{addEventListener("fetch",(Z)=>{Z.respondWith(this.#Y(Z.request,Z,void 0,Z.request.method))})}};var b8$=L(()=>{D8$();KW0();Vw();Hr0();Mw()});function UW0($,Z){let Q=this.buildAllMatchers(),Y=(X,J)=>{let G=Q[X]||Q[x5],W=G[2][J];if(W)return W;let K=J.match(G[0]);if(!K)return[[],He];let H=K.indexOf("",1);return[G[1][H],K]};return this.match=Y,Y($,Z)}var He;var Fr0=L(()=>{Vw();He=[]});function gQ4($,Z){if($.length===1)return Z.length===1?$<Z?-1:1:-1;if(Z.length===1)return 1;if($===Fe||$===Ue)return 1;else if(Z===Fe||Z===Ue)return-1;if($===NW0)return 1;else if(Z===NW0)return-1;return $.length===Z.length?$<Z?-1:1:Z.length-$.length}var NW0="[^/]+",Fe=".*",Ue="(?:|/.*)",aA,yQ4,x8$=class ${#$;#Z;#Q=Object.create(null);insert(Z,Q,Y,X,J){if(Z.length===0){if(this.#$!==void 0)throw aA;if(J)return;this.#$=Q;return}let[G,...W]=Z,K=G==="*"?W.length===0?["","",Fe]:["","",NW0]:G==="/*"?["","",Ue]:G.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),H;if(K){let F=K[1],U=K[2]||NW0;if(F&&K[2]){if(U===".*")throw aA;if(U=U.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(U))throw aA}if(H=this.#Q[U],!H){if(Object.keys(this.#Q).some((N)=>N!==Fe&&N!==Ue))throw aA;if(J)return;if(H=this.#Q[U]=new $,F!=="")H.#Z=X.varIndex++}if(!J&&F!=="")Y.push([F,H.#Z])}else if(H=this.#Q[G],!H){if(Object.keys(this.#Q).some((F)=>F.length>1&&F!==Fe&&F!==Ue))throw aA;if(J)return;H=this.#Q[G]=new $}H.insert(W,Q,Y,X,J)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(gQ4).map((Y)=>{let X=this.#Q[Y];return(typeof X.#Z==="number"?`(${Y})@${X.#Z}`:yQ4.has(Y)?`\\${Y}`:Y)+X.buildRegExpStr()});if(typeof this.#$==="number")Q.unshift(`#${this.#$}`);if(Q.length===0)return"";if(Q.length===1)return Q[0];return"(?:"+Q.join("|")+")"}};var Ur0=L(()=>{aA=Symbol(),yQ4=new Set(".\\+*[^]$()")});var f8$=class{#$={varIndex:0};#Z=new x8$;insert($,Z,Q){let Y=[],X=[];for(let G=0;;){let W=!1;if($=$.replace(/\{[^}]+\}/g,(K)=>{let H=`@\\${G}`;return X[G]=[H,K],G++,W=!0,H}),!W)break}let J=$.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let G=X.length-1;G>=0;G--){let[W]=X[G];for(let K=J.length-1;K>=0;K--)if(J[K].indexOf(W)!==-1){J[K]=J[K].replace(W,X[G][1]);break}}return this.#Z.insert(J,Z,Y,this.#$,Q),Y}buildRegExp(){let $=this.#Z.buildRegExpStr();if($==="")return[/^$/,[],[]];let Z=0,Q=[],Y=[];return $=$.replace(/#(\d+)|@(\d+)|\.\*\$/g,(X,J,G)=>{if(J!==void 0)return Q[++Z]=Number(J),"$()";if(G!==void 0)return Y[Number(G)]=++Z,"";return""}),[new RegExp(`^${$}`),Q,Y]}};var y8$=L(()=>{Ur0()});function h8$($){return g8$[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(Z,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function uQ4(){g8$=Object.create(null)}function lQ4($){let Z=new f8$,Q=[];if($.length===0)return hQ4;let Y=$.map((H)=>[!/\*|\/:/.test(H[0]),...H]).sort(([H,F],[U,N])=>H?1:U?-1:F.length-N.length),X=Object.create(null);for(let H=0,F=-1,U=Y.length;H<U;H++){let[N,B,D]=Y[H];if(N)X[B]=[D.map(([j])=>[j,Object.create(null)]),He];else F++;let O;try{O=Z.insert(B,F,N)}catch(j){throw j===aA?new FW0(B):j}if(N)continue;Q[F]=D.map(([j,w])=>{let E=Object.create(null);w-=1;for(;w>=0;w--){let[P,T]=O[w];E[P]=T}return[j,E]})}let[J,G,W]=Z.buildRegExp();for(let H=0,F=Q.length;H<F;H++)for(let U=0,N=Q[H].length;U<N;U++){let B=Q[H][U]?.[1];if(!B)continue;let D=Object.keys(B);for(let O=0,j=D.length;O<j;O++)B[D[O]]=W[B[D[O]]]}let K=[];for(let H in G)K[H]=Q[G[H]];return[J,K,X]}function pm($,Z){if(!$)return;for(let Q of Object.keys($).sort((Y,X)=>X.length-Y.length))if(h8$(Q).test(Z))return[...$[Q]];return}var hQ4,g8$,BW0=class{name="RegExpRouter";#$;#Z;constructor(){this.#$={[x5]:Object.create(null)},this.#Z={[x5]:Object.create(null)}}add($,Z,Q){let Y=this.#$,X=this.#Z;if(!Y||!X)throw Error(HW0);if(!Y[$])[Y,X].forEach((W)=>{W[$]=Object.create(null),Object.keys(W[x5]).forEach((K)=>{W[$][K]=[...W[x5][K]]})});if(Z==="/*")Z="*";let J=(Z.match(/\/:/g)||[]).length;if(/\*$/.test(Z)){let W=h8$(Z);if($===x5)Object.keys(Y).forEach((K)=>{Y[K][Z]||=pm(Y[K],Z)||pm(Y[x5],Z)||[]});else Y[$][Z]||=pm(Y[$],Z)||pm(Y[x5],Z)||[];Object.keys(Y).forEach((K)=>{if($===x5||$===K)Object.keys(Y[K]).forEach((H)=>{W.test(H)&&Y[K][H].push([Q,J])})}),Object.keys(X).forEach((K)=>{if($===x5||$===K)Object.keys(X[K]).forEach((H)=>W.test(H)&&X[K][H].push([Q,J]))});return}let G=JW0(Z)||[Z];for(let W=0,K=G.length;W<K;W++){let H=G[W];Object.keys(X).forEach((F)=>{if($===x5||$===F)X[F][H]||=[...pm(Y[F],H)||pm(Y[x5],H)||[]],X[F][H].push([Q,J-K+W+1])})}}match=UW0;buildAllMatchers(){let $=Object.create(null);return Object.keys(this.#Z).concat(Object.keys(this.#$)).forEach((Z)=>{$[Z]||=this.#Q(Z)}),this.#$=this.#Z=void 0,uQ4(),$}#Q($){let Z=[],Q=$===x5;if([this.#$,this.#Z].forEach((Y)=>{let X=Y[$]?Object.keys(Y[$]).map((J)=>[J,Y[$][J]]):[];if(X.length!==0)Q||=!0,Z.push(...X);else if($!==x5)Z.push(...Object.keys(Y[x5]).map((J)=>[J,Y[x5][J]]))}),!Q)return null;else return lQ4(Z)}};var Nr0=L(()=>{Vw();Mw();Fr0();Ur0();y8$();hQ4=[/^$/,[],Object.create(null)],g8$=Object.create(null)});var mQ4=class{name="PreparedRegExpRouter";#$;#Z;constructor($,Z){this.#$=$,this.#Z=Z}#Q($,Z){let Q=this.#$[$];Q[1].forEach((Y)=>Y&&Y.push(Z)),Object.values(Q[2]).forEach((Y)=>Y[0].push(Z))}#J($,Z,Q,Y,X){let J=this.#$[$];if(!X)J[2][Z][0].push([Q,{}]);else Y.forEach((G)=>{if(typeof G==="number")J[1][G].push([Q,X]);else J[2][G||Z][0].push([Q,X])})}add($,Z,Q){if(!this.#$[$]){let X=this.#$[x5],J={};for(let G in X[2])J[G]=[X[2][G][0].slice(),He];this.#$[$]=[X[0],X[1].map((G)=>Array.isArray(G)?G.slice():0),J]}if(Z==="/*"||Z==="*"){let X=[Q,{}];if($===x5)for(let J in this.#$)this.#Q(J,X);else this.#Q($,X);return}let Y=this.#Z[Z];if(!Y)throw Error(`Path ${Z} is not registered`);for(let[X,J]of Y)if($===x5)for(let G in this.#$)this.#J(G,Z,Q,X,J);else this.#J($,Z,Q,X,J)}buildAllMatchers(){return this.#$}match=UW0};var u8$=L(()=>{Vw();Fr0();Nr0()});var l8$=L(()=>{Nr0();u8$()});var Br0=class{name="SmartRouter";#$=[];#Z=[];constructor($){this.#$=$.routers}add($,Z,Q){if(!this.#Z)throw Error(HW0);this.#Z.push([$,Z,Q])}match($,Z){if(!this.#Z)throw Error("Fatal error");let Q=this.#$,Y=this.#Z,X=Q.length,J=0,G;for(;J<X;J++){let W=Q[J];try{for(let K=0,H=Y.length;K<H;K++)W.add(...Y[K]);G=W.match($,Z)}catch(K){if(K instanceof FW0)continue;throw K}this.match=W.match.bind(W),this.#$=[W],this.#Z=void 0;break}if(J===X)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,G}get activeRouter(){if(this.#Z||this.#$.length!==1)throw Error("No active router has been determined yet.");return this.#$[0]}};var m8$=L(()=>{Vw()});var c8$=L(()=>{m8$()});var Ne,cQ4=($)=>{for(let Z in $)return!0;return!1},d8$=class ${#$;#Z;#Q;#J=0;#X=Ne;constructor(Z,Q,Y){if(this.#Z=Y||Object.create(null),this.#$=[],Z&&Q){let X=Object.create(null);X[Z]={handler:Q,possibleKeys:[],score:0},this.#$=[X]}this.#Q=[]}insert(Z,Q,Y){this.#J=++this.#J;let X=this,J=E8$(Q),G=[];for(let W=0,K=J.length;W<K;W++){let H=J[W],F=J[W+1],U=P8$(H,F),N=Array.isArray(U)?U[0]:H;if(N in X.#Z){if(X=X.#Z[N],U)G.push(U[1]);continue}if(X.#Z[N]=new $,U)X.#Q.push(U),G.push(U[1]);X=X.#Z[N]}return X.#$.push({[Z]:{handler:Y,possibleKeys:G.filter((W,K,H)=>H.indexOf(W)===K),score:this.#J}}),X}#Y(Z,Q,Y,X,J){for(let G=0,W=Q.#$.length;G<W;G++){let K=Q.#$[G],H=K[Y]||K[x5],F={};if(H!==void 0){if(H.params=Object.create(null),Z.push(H),X!==Ne||J&&J!==Ne)for(let U=0,N=H.possibleKeys.length;U<N;U++){let B=H.possibleKeys[U],D=F[H.score];H.params[B]=J?.[B]&&!D?J[B]:X[B]??J?.[B],F[H.score]=!0}}}}search(Z,Q){let Y=[];this.#X=Ne;let J=[this],G=Jr0(Q),W=[],K=G.length,H=null;for(let F=0;F<K;F++){let U=G[F],N=F===K-1,B=[];for(let O=0,j=J.length;O<j;O++){let w=J[O],E=w.#Z[U];if(E)if(E.#X=w.#X,N){if(E.#Z["*"])this.#Y(Y,E.#Z["*"],Z,w.#X);this.#Y(Y,E,Z,w.#X)}else B.push(E);for(let P=0,T=w.#Q.length;P<T;P++){let z=w.#Q[P],A=w.#X===Ne?{}:{...w.#X};if(z==="*"){let v=w.#Z["*"];if(v)this.#Y(Y,v,Z,w.#X),v.#X=A,B.push(v);continue}let[R,f,S]=z;if(!U&&!(S instanceof RegExp))continue;let V=w.#Z[R];if(S instanceof RegExp){if(H===null){H=Array(K);let h=Q[0]==="/"?1:0;for(let l=0;l<K;l++)H[l]=h,h+=G[l].length+1}let v=Q.substring(H[F]),b=S.exec(v);if(b){if(A[f]=b[0],this.#Y(Y,V,Z,w.#X,A),cQ4(V.#Z)){V.#X=A;let h=b[0].match(/\//)?.length??0;(W[h]||=[]).push(V)}continue}}if(S===!0||S.test(U))if(A[f]=U,N){if(this.#Y(Y,V,Z,A,w.#X),V.#Z["*"])this.#Y(Y,V.#Z["*"],Z,A,w.#X)}else V.#X=A,B.push(V)}}let D=W.shift();J=D?B.concat(D):B}if(Y.length>1)Y.sort((F,U)=>{return F.score-U.score});return[Y.map(({handler:F,params:U})=>[F,U])]}};var i8$=L(()=>{Vw();Mw();Ne=Object.create(null)});var Dr0=class{name="TrieRouter";#$;constructor(){this.#$=new d8$}add($,Z,Q){let Y=JW0(Z);if(Y){for(let X=0,J=Y.length;X<J;X++)this.#$.insert($,Y[X],Q);return}this.#$.insert($,Z,Q)}match($,Z){return this.#$.search($,Z)}};var p8$=L(()=>{Mw();i8$()});var n8$=L(()=>{p8$()});var $1;var Lr0=L(()=>{b8$();l8$();c8$();n8$();$1=class extends v8${constructor($={}){super($);this.router=$.router??new Br0({routers:[new BW0,new Dr0]})}}});var H8=L(()=>{Lr0()});function t8$(){if(jr0)return jr0;let $={};for(let Z of DW0){if(Z.id==="basic-usage")continue;$[Z.id]=!0}return jr0=$,$}function wr0($){let Z=(J)=>{let G=$[J];return Array.isArray(G)?G:[]},Q=Z("*").includes("*")||Z("self").includes("*"),Y=new Set;if(!Q)for(let J of Object.values($)){if(!Array.isArray(J))continue;for(let G of J)Y.add(G)}let X={};for(let J of DW0){if(J.id==="basic-usage")continue;X[J.id]=Q||J.tools.every((G)=>Y.has(G))}return X}function rA(){if(Or0)return Or0;let $={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],Tags:[],Experiments:[],"AI Providers":[],Secrets:[],"File Configs":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],Git:[],VM:[],Search:[],"Task Board":[],Jira:[],Blog:[],Chat:[]};for(let Z of Be)$[Z.category].push(Z);return Or0=$,$}var Be,DW0,LW0,dQ4,nm,Or0=null,jr0=null;var Iw=L(()=>{Be=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"ORGANIZATION_BLOCKS_EDITOR_SET",description:"Switch the organization's blocks editor",category:"Organizations"},{name:"BLOG_SITE_GROUND",description:"Read the site's connected systems once, for the generators that follow",category:"Blog"},{name:"BLOG_SITE_CATALOGUE",description:"Turn a grounding pass's raw output into the store's catalogue",category:"Blog"},{name:"BLOG_BRAND_EXTRACT",description:"Infer a brand's identity (name, audience, values, competitors) from a site",category:"Blog"},{name:"BLOG_BRAND_ENRICH",description:"Research a brand on the web and drop the claims its evidence does not support",category:"Blog"},{name:"BLOG_CONTEXT_EXTRACT",description:"Infer a blog's writing context (tone, dos and don'ts) from a site",category:"Blog"},{name:"BLOG_FORMAT_SUGGEST",description:"Name the post formats a blog writes in",category:"Blog"},{name:"BLOG_CAMPAIGN_SUGGEST",description:"Propose campaigns from a seed, grounded in the site's systems",category:"Blog"},{name:"BLOG_POST_DRAFT",description:"Write a blog post from a theme and a format",category:"Blog"},{name:"BLOG_POST_ILLUSTRATE",description:"Draw a drafted post's images, conditioned on the product's own photographs",category:"Blog"},{name:"BLOG_LINK_SUGGEST",description:"Propose internal links from a post to the site's other posts",category:"Blog"},{name:"ORGANIZATION_DOMAIN_LIST",description:"List organization domain claims",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_ADD",description:"Claim an email domain for the organization",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_UPDATE",description:"Set a domain's join mode",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_VERIFY",description:"Verify a domain via DNS TXT record",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_REMOVE",description:"Remove an organization domain claim",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_JOIN_REQUEST_LIST",description:"List pending requests to join the organization",category:"Organizations"},{name:"ORGANIZATION_JOIN_REQUEST_APPROVE",description:"Approve a request to join the organization",category:"Organizations"},{name:"ORGANIZATION_JOIN_REQUEST_DENY",description:"Deny a request to join the organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"ORGANIZATION_BILLING_CHECKOUT_START",description:"Start the org subscription checkout",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_BILLING_PORTAL",description:"Open the Stripe billing portal",category:"Organizations"},{name:"ORGANIZATION_BILLING_PLAN_PRICES",description:"Read each plan's monthly price from Stripe",category:"Organizations"},{name:"ORGANIZATION_TASK_QUOTA_GET",description:"Get the org's auto-task quota usage",category:"Organizations"},{name:"INFRA_BILLING_SITES_LIST",description:"List the legacy deco.cx sites the org owns",category:"Organizations"},{name:"INFRA_BILLING_GET",description:"Get infra usage, plan and invoices for an owned site",category:"Organizations"},{name:"INFRA_BILLING_PORTAL",description:"Open the Stripe billing portal for an owned site",category:"Organizations"},{name:"CUSTOMER_LAKE_QUERY",description:"Run read-only SQL over the organization's data lake",category:"Monitoring"},{name:"ORGANIZATION_HAS_SITE",description:"Whether this organization owns at least one legacy deco.cx site",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"CONNECTION_TOOLS_SEARCH",description:"Search the tools of your connections",category:"Connections"},{name:"CONNECTION_TOOL_CALL",description:"Call a tool on one of your connections",category:"Connections"},{name:"REPORTS_SETUP",description:"Set up Deco Score",category:"Connections"},{name:"REPORTS_RUN",description:"Run Deco Score",category:"Connections"},{name:"REPORTS_BIND",description:"Bind Deco Score data source",category:"Connections"},{name:"REPORTS_CONNECTION_STATUS",description:"Read Deco Score connection status",category:"Connections"},{name:"REPORTS_SET_REPOSITORY",description:"Set the Deco Score repository",category:"Connections"},{name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_GET",description:"View virtual MCP details",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete virtual MCPs",category:"Virtual MCPs",dangerous:!0},{name:"MONITORING_HEATMAP",description:"View tool-call volume by agent and tool",category:"Monitoring"},{name:"MONITORING_LOG_GET",description:"View monitoring log details",category:"Monitoring"},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"MONITORING_THREAD_USAGE",description:"View per-thread token usage and cost",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"USER_GET",description:"Get a user by id",category:"Users"},{name:"USER_MODEL_PREFERENCES_GET",description:"Get the calling user's chat tier \u2192 model overrides",category:"Users"},{name:"USER_MODEL_PREFERENCES_UPDATE",description:"Set the calling user's chat tier \u2192 model overrides",category:"Users"},{name:"SIDEBAR_GET",description:"Get the org's project folders and the caller's pins and hides",category:"Virtual MCPs"},{name:"PROJECT_FOLDERS_SET",description:"Replace the organization's project folders",category:"Virtual MCPs"},{name:"SIDEBAR_PREFERENCES_SET",description:"Set the calling member's pinned and hidden projects",category:"Users"},{name:"COLLECTION_THREADS_CREATE",description:"Create threads",category:"Threads"},{name:"COLLECTION_THREADS_LIST",description:"List threads",category:"Threads"},{name:"COLLECTION_THREADS_GET",description:"View thread details",category:"Threads"},{name:"COLLECTION_THREADS_UPDATE",description:"Update threads",category:"Threads"},{name:"COLLECTION_THREADS_DELETE",description:"Delete threads",category:"Threads",dangerous:!0},{name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List thread messages",category:"Threads"},{name:"TAGS_LIST",description:"List organization tags",category:"Tags"},{name:"TAGS_CREATE",description:"Create organization tag",category:"Tags"},{name:"TAGS_DELETE",description:"Delete organization tag",category:"Tags",dangerous:!0},{name:"EXPERIMENT_LIST",description:"List a site's A/B experiments",category:"Experiments"},{name:"EXPERIMENT_GET",description:"Get one A/B experiment",category:"Experiments"},{name:"EXPERIMENT_CREATE",description:"Create an A/B experiment",category:"Experiments"},{name:"EXPERIMENT_SUGGEST",description:"Suggest an A/B experiment from a plain-language prompt",category:"Experiments"},{name:"EXPERIMENT_IMPLEMENT",description:"Delegate an experiment's frontend implementation to the Super Agent",category:"Experiments"},{name:"EXPERIMENT_PREVIEW_SYNC_LOCAL",description:"[local dev only] Preview a draft experiment on a local site",category:"Experiments"},{name:"EXPERIMENT_IMPLEMENT_LOCAL",description:"[local dev only] Write an experiment's hook + gate directly into a local site's source",category:"Experiments"},{name:"EXPERIMENT_UPDATE",description:"Update an A/B experiment",category:"Experiments"},{name:"EXPERIMENT_DELETE",description:"Delete an A/B experiment",category:"Experiments",dangerous:!0},{name:"EXPERIMENT_RESULTS",description:"A/B results for one experiment",category:"Experiments"},{name:"MEMBER_TAGS_GET",description:"Get member tags",category:"Tags"},{name:"MEMBER_TAGS_SET",description:"Set member tags",category:"Tags"},{name:"AUTOMATION_CREATE",description:"Create automation",category:"Automations"},{name:"AUTOMATION_GET",description:"View automation details",category:"Automations"},{name:"AUTOMATION_LIST",description:"List automations",category:"Automations"},{name:"AUTOMATION_UPDATE",description:"Update automation",category:"Automations"},{name:"AUTOMATION_DELETE",description:"Delete automation",category:"Automations",dangerous:!0},{name:"AUTOMATION_TRIGGER_ADD",description:"Add trigger to automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_REMOVE",description:"Remove trigger from automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_ROTATE_TOKEN",description:"Rotate the secret token for a webhook automation trigger",category:"Automations"},{name:"AUTOMATION_RUN",description:"Manually trigger an automation run",category:"Automations"},{name:"AUTOMATION_RUN_STATS",description:"View aggregated run counts and token/cost for an automation",category:"Automations"},{name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update virtual MCP pinned sidebar views",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_LAST_USED_LIST",description:"Get last-used info for one or more virtual MCPs",category:"Virtual MCPs"},{name:"PROJECT_FOLDER_ENSURE",description:"Give a project's folder its shape, once",category:"Virtual MCPs"},{name:"AI_PROVIDERS_LIST",description:"List available AI providers",category:"AI Providers"},{name:"AI_PROVIDERS_LIST_MODELS",description:"List AI provider models",category:"AI Providers"},{name:"AI_PROVIDERS_ACTIVE",description:"List active AI providers",category:"AI Providers"},{name:"AI_PROVIDER_KEY_CREATE",description:"Store AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_KEY_LIST",description:"List AI provider API keys",category:"AI Providers"},{name:"AI_PROVIDER_KEY_DELETE",description:"Delete AI provider API key",category:"AI Providers",dangerous:!0},{name:"AI_PROVIDER_KEY_UPDATE",description:"Update AI provider API key label or credential",category:"AI Providers"},{name:"AI_PROVIDER_KEY_PREVIEW",description:"Get masked preview of AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_URL",description:"Get OAuth URL for provider",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange OAuth code for API key",category:"AI Providers"},{name:"AI_PROVIDER_PROVISION_KEY",description:"Auto-provision API key for a provider",category:"AI Providers"},{name:"AI_PROVIDER_TOPUP_URL",description:"Get checkout URL to top up provider credits",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_CONNECT",description:"Link your ChatGPT subscription for Codex",category:"AI Providers"},{name:"SUBSCRIPTION_USAGE_GET",description:"Read your personal subscription usage and reset times",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_STATUS",description:"Whether your ChatGPT subscription is linked for Codex",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_DISCONNECT",description:"Unlink your ChatGPT subscription for Codex",category:"AI Providers"},{name:"CODEX_SUBSCRIPTION_SYNC",description:"Save credentials refreshed by your Codex runtime",category:"AI Providers"},{name:"CLAUDE_SUBSCRIPTION_CONNECT",description:"Link your own Claude subscription with a setup token",category:"AI Providers"},{name:"CLAUDE_SUBSCRIPTION_STATUS",description:"Whether your Claude subscription is linked, and since when",category:"AI Providers"},{name:"CLAUDE_SUBSCRIPTION_DISCONNECT",description:"Unlink your Claude subscription",category:"AI Providers"},{name:"GITHUB_COPILOT_CONNECT",description:"Link your own GitHub Copilot plan with a GitHub token",category:"AI Providers"},{name:"GITHUB_COPILOT_STATUS",description:"Whether your GitHub Copilot plan is linked, and since when",category:"AI Providers"},{name:"GITHUB_COPILOT_DISCONNECT",description:"Unlink your GitHub Copilot plan",category:"AI Providers"},{name:"GITHUB_COPILOT_SHARE",description:"Share your GitHub Copilot plan with the organization",category:"AI Providers"},{name:"AI_PROVIDER_CREDITS",description:"Get current credit balance for a provider",category:"AI Providers"},{name:"AI_PLAN_ENTITLEMENTS",description:"Get the org's plan, feature flags and AI usage bar",category:"AI Providers"},{name:"AI_PLAN_LIST",description:"List the plans an organization can move to",category:"AI Providers"},{name:"AI_PLAN_SET",description:"Change the organization's plan",category:"AI Providers"},{name:"AI_PLAN_INVOICE_UPGRADE",description:"Move the organization to a paid plan billed on its invoice",category:"AI Providers"},{name:"SECRET_CREATE",description:"Create a secret in the credential vault",category:"Secrets"},{name:"SECRET_LIST",description:"List secrets visible to the caller (no values returned)",category:"Secrets"},{name:"FILE_CONFIG_CREATE",description:"Create an S3-compatible bucket configuration for the org",category:"File Configs"},{name:"FILE_CONFIG_LIST",description:"List S3 bucket configurations for the org (no creds returned)",category:"File Configs"},{name:"ORG_FS_PUBLIC_SETS_SYNC",description:"Re-sync the shared public skill-set volumes from their GitHub sources",category:"File Configs"},{name:"ORG_REPO_SYNC_CREATE",description:"Keep a GitHub repository mirrored into a new org-fs volume",category:"File Configs"},{name:"ORG_REPO_SYNC_LIST",description:"List the org's synced repositories and their sync status",category:"File Configs"},{name:"ORG_REPO_SYNC_UPDATE",description:"Update a synced repository's ref, paths, or enabled flag",category:"File Configs"},{name:"ORG_REPO_SYNC_DELETE",description:"Stop syncing a repository (already-synced files are kept)",category:"File Configs"},{name:"ORG_REPO_SYNC_RUN",description:"Sync a repository into its volume right now",category:"File Configs"},{name:"JIRA_INTEGRATION_GET",description:"Get the org's Jira integration config",category:"Jira"},{name:"JIRA_INTEGRATION_UPSERT",description:"Connect or update the org's Jira integration",category:"Jira"},{name:"JIRA_INTEGRATION_DELETE",description:"Disconnect Jira (already-synced cards are kept)",category:"Jira"},{name:"JIRA_BOARDS_LIST",description:"List Jira boards visible to the connected credentials",category:"Jira"},{name:"JIRA_BOARD_COLUMNS_LIST",description:"List a Jira board's columns and statuses for the mapping",category:"Jira"},{name:"JIRA_AUTOMATION_LIST",description:"List the automations Jira status changes fire",category:"Jira"},{name:"JIRA_AUTOMATION_UPSERT",description:"Fire an automation on issues entering a Jira status",category:"Jira"},{name:"JIRA_RUN_START",description:"Fire an automation on Jira issues now",category:"Jira"},{name:"JIRA_ISSUE_GET",description:"Read a Jira issue on the board from a run",category:"Jira"},{name:"JIRA_COMMENT_ADD",description:"Comment on a Jira issue on the board from a run",category:"Jira"},{name:"JIRA_ISSUE_TRANSITION",description:"Move a Jira issue on the board to another status",category:"Jira"},{name:"JIRA_ATTACHMENT_DOWNLOAD",description:"Get a short-lived download URL for an attachment of a Jira issue",category:"Jira"},{name:"JIRA_REMOTE_LINK_ADD",description:"Link a pull request or deploy preview on a Jira issue",category:"Jira"},{name:"JIRA_ISSUE_CREATE",description:"Create a Jira issue on the board from a run",category:"Jira"},{name:"JIRA_ISSUE_SEARCH",description:"Search the Jira board's issues with JQL from a run",category:"Jira"},{name:"FILE_CONFIG_UPDATE",description:"Update an S3 bucket configuration, optionally rotating credentials",category:"File Configs"},{name:"FILE_CONFIG_DELETE",description:"Delete an S3 bucket configuration",category:"File Configs"},{name:"FILE_OBJECTS_LIST",description:"List existing objects in a configured bucket",category:"File Configs"},{name:"FILE_OBJECT_DELETE",description:"Delete an object from a configured bucket",category:"File Configs"},{name:"FILE_OBJECT_UPLOAD",description:"Upload images or videos from URLs into a configured bucket",category:"File Configs"},{name:"LIST_OBJECTS",description:"List objects in storage",category:"Object Storage"},{name:"GET_OBJECT_METADATA",description:"Get object metadata",category:"Object Storage"},{name:"GET_PRESIGNED_URL",description:"Generate download URL",category:"Object Storage"},{name:"PUT_PRESIGNED_URL",description:"Generate upload URL",category:"Object Storage"},{name:"DELETE_OBJECT",description:"Delete object",category:"Object Storage",dangerous:!0},{name:"DELETE_OBJECTS",description:"Delete multiple objects",category:"Object Storage",dangerous:!0},{name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry apps",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_GET",description:"Get registry app details",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"List registry app versions",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get registry app filters",category:"Registry"},{name:"REGISTRY_ITEM_LIST",description:"List Deco registry items",category:"Registry"},{name:"REGISTRY_ITEM_SEARCH",description:"Search registry items",category:"Registry"},{name:"REGISTRY_ITEM_GET",description:"Get registry item details",category:"Registry"},{name:"REGISTRY_ITEM_VERSIONS",description:"List registry item versions",category:"Registry"},{name:"REGISTRY_ITEM_FILTERS",description:"Get registry item filters",category:"Registry"},{name:"SANDBOX_START",description:"Start a sandbox VM with dev server preview",category:"VM"},{name:"SANDBOX_DELETE",description:"Stop and delete a sandbox VM",category:"VM"},{name:"GITHUB_LIST_USER_ORGS",description:"List GitHub user's personal account and organizations",category:"GitHub"},{name:"GIT_PROVIDER_CAPABILITIES",description:"Which git providers this deployment can connect, with their connect URLs",category:"Git"},{name:"GIT_ACCOUNT_LIST",description:"List the git provider accounts connected to the organization",category:"Git"},{name:"GIT_ACCOUNT_CONNECT_TOKEN",description:"Connect a git provider account with an access token",category:"Git"},{name:"GIT_ACCOUNT_DELETE",description:"Disconnect a git provider account",category:"Git"},{name:"REPOSITORY_LIST",description:"List the repositories linked to the organization",category:"Git"},{name:"REPOSITORY_SEARCH",description:"Search the repositories an account can reach on its provider",category:"Git"},{name:"REPOSITORY_LINK",description:"Link a repository to the organization",category:"Git"},{name:"REPOSITORY_CREATE_FROM_TEMPLATE",description:"Create a site repository from a template and link it",category:"Git"},{name:"REPOSITORY_SEARCH_BRANCHES",description:"Search a repository's branches by name substring, on either provider",category:"Git"},{name:"CHANGE_REQUEST_STATE",description:"Read a branch's change request with its CI runs, review state and comments",category:"Git"},{name:"CHANGE_REQUEST_LAST_MERGED",description:"Read the most recently merged change request into a base branch",category:"Git"},{name:"CHANGE_REQUEST_LIST_OPEN",description:"List a repository's open change requests",category:"Git"},{name:"CHANGE_REQUEST_CHECK_LOG",description:"Read one CI run's report for a change request",category:"Git"},{name:"CHANGE_REQUEST_OPEN",description:"Propose a branch onto another, reusing the branch's existing change request",category:"Git"},{name:"CHANGE_REQUEST_MERGE",description:"Land a change request, reporting why it could not merge",category:"Git"},{name:"REPOSITORY_UPDATE",description:"Change a linked repository's settings, such as its sandbox image or whether the Monitor shows its deploys",category:"Git"},{name:"REPOSITORY_DEPLOYS_LIST",description:"List recent pushes to the monitored repositories",category:"Git"},{name:"REPOSITORY_DELETE",description:"Unlink a repository from the organization",category:"Git"},{name:"GLOBAL_SEARCH",description:"Search across organization resources (currently threads). Returns a typed union of matches.",category:"Search"},{name:"TASK_BOARD_ITEM_CREATE",description:"Create task board item",category:"Task Board"},{name:"TASK_BOARD_ITEM_LIST",description:"List task board items",category:"Task Board"},{name:"TASK_BOARD_ITEM_UPDATE",description:"Update task board item",category:"Task Board"},{name:"TASK_BOARD_ITEM_DELETE",description:"Delete task board item",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_PROMPT_LIST",description:"List the instructions appended to the system prompt of the board's runs",category:"Task Board"},{name:"TASK_BOARD_PROMPT_UPSERT",description:"Set the instructions appended to the system prompt of the board's runs",category:"Task Board"},{name:"TASK_BOARD_PROMPT_DELETE",description:"Clear a board system prompt",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_ITEM_PRS_GET",description:"Get a task board item's linked pull requests with live state",category:"Task Board"},{name:"TASK_BOARD_PREVIEW_PROBE",description:"Check whether a pull request's deploy preview URL is currently reachable",category:"Task Board"},{name:"TASK_BOARD_ITEM_RERUN",description:"Re-run a task with the Super Agent, failing any run still holding it open",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_RUN_REVIEWER",description:"Run the Reviewer on a task even when the organization has automated review turned off",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_RESOLVE_CONFLICT",description:"Hand a task's conflicting pull request back to the Super Agent to resolve the merge conflict",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_REVIEW_DECISION",description:"Record a reviewer's decision (approve or request changes) for a task under review",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_PROMOTE_TO_PRODUCTION",description:"Merge a reviewed task's pull request and move the task to Done",category:"Task Board",dangerous:!0},{name:"NOTIFICATION_LIST",description:"List your unread notifications in this organization",category:"Task Board"},{name:"NOTIFICATION_MARK_READ",description:"Mark your notifications read",category:"Task Board"},{name:"NOTIFICATION_SUBSCRIPTION_SET",description:"Follow or unfollow a task board item",category:"Task Board"},{name:"NOTIFICATION_SUBSCRIPTION_LIST",description:"List the users following a task board item",category:"Task Board"},{name:"TASK_BOARD_ACTIVITY_LIST",description:"List a task board item's change history",category:"Task Board"},{name:"TASK_BOARD_COMMENT_LIST",description:"List a task board item's comment threads",category:"Task Board"},{name:"TASK_BOARD_COMMENT_CREATE",description:"Post a comment or a reply on a task board item",category:"Task Board"},{name:"TASK_BOARD_COMMENT_UPDATE",description:"Edit a comment, or resolve/unresolve a comment thread",category:"Task Board"},{name:"TASK_BOARD_COMMENT_DELETE",description:"Delete a comment (a thread root takes its replies)",category:"Task Board"},{name:"TASK_BOARD_DISMISSED_LIST",description:"List Deco Score findings dismissed by deleting their task board cards",category:"Task Board"},{name:"TASK_BOARD_DISMISSED_RESTORE",description:"Un-dismiss Deco Score findings so the next Deco Score import pushes them again",category:"Task Board"},{name:"TASK_BOARD_SPRINT_LIST",description:"List the board's sprints",category:"Task Board"},{name:"TASK_BOARD_SPRINT_CREATE",description:"Plan a new sprint",category:"Task Board"},{name:"TASK_BOARD_SPRINT_UPDATE",description:"Rename a sprint or change its dates",category:"Task Board"},{name:"TASK_BOARD_SPRINT_START",description:"Start a planned sprint",category:"Task Board"},{name:"TASK_BOARD_SPRINT_COMPLETE",description:"Complete a running sprint and move its unfinished cards on",category:"Task Board"},{name:"TASK_BOARD_SPRINT_DELETE",description:"Delete a sprint, sending its cards to the backlog",category:"Task Board",dangerous:!0},{name:"TASK_BOARD_ADMIN_ORG_LIST",description:"Whether the caller may read every org's task board, and the orgs that have board items",category:"Task Board"},{name:"TASK_BOARD_DELIVERY",description:"Task board throughput and flow \u2014 completions, PR rate, lead vs cycle time, dwell by lane",category:"Task Board"},{name:"TASK_BOARD_OPERATION",description:"How autonomously the agent delivers \u2014 run to production funnel, no-human rate, failed-QA rate, and where people stepped in",category:"Task Board"},{name:"TASK_BOARD_OPERATION_TASKS",description:"The cards behind one task board operation figure",category:"Task Board"},{name:"TASK_BOARD_REWORK",description:"Why tasks come back \u2014 failed-QA and needed-a-person rates by type, priority, tag, sprint and author",category:"Task Board"},{name:"TASK_BOARD_SPRINTS",description:"Sprint velocity \u2014 committed, completed, and completed with no human",category:"Task Board"},{name:"TASK_BOARD_STUCK",description:"Task board work that is stuck right now, and WIP by age",category:"Task Board"},{name:"TASK_BOARD_COST",description:"Task board spend \u2014 total, per task, per shipped PR, and the coverage % behind those figures",category:"Task Board"},{name:"TASK_BOARD_QUALITY",description:"Task board quality \u2014 first-pass yield, rework, autonomy, abandonment, retry burn",category:"Task Board"},{name:"TASK_BOARD_ERRORS",description:"Task board run failures \u2014 counts, kinds, live error feed, error signatures, superseded runs",category:"Task Board"},{name:"TASK_BOARD_TENANTS",description:"Per-tenant task board scorecard and queue wait",category:"Task Board"},{name:"THREAD_ANALYTICS_ORG_LIST",description:"Whether the caller may read every org's threads, and the orgs that have any",category:"Threads"},{name:"THREAD_ANALYTICS_LIVE",description:"Recently active threads across orgs with status, owner and spend (admin orgs)",category:"Threads"},{name:"THREAD_ANALYTICS_USAGE",description:"Token and USD usage by org, user, agent and kind; top spenders (admin orgs)",category:"Threads"},{name:"THREAD_ANALYTICS_ERRORS",description:"Failed threads, error feed and error signatures across orgs (admin orgs)",category:"Threads"},{name:"TASK_ADD_REPO",description:"Clone an organization repository into the sandbox of the task run calling it",category:"Task Board"},{name:"generate_image",description:"Generate an image with the organization's image model",category:"Chat"},{name:"web_search",description:"Search the web and synthesize a short cited answer",category:"Chat"},{name:"deep_research",description:"Run multi-source web research into a cited report",category:"Chat"},{name:"suggest_task",description:"Offer the user a task card for the board",category:"Chat"},{name:"preview_navigate",description:"Navigate the user's live preview to a page",category:"Chat"},{name:"update_interests",description:"Record the user's durable goals for the current agent",category:"Chat"}],DW0=[{id:"basic-usage",label:"Basic Usage",description:"Tools all org members can access by default",section:"Basic Usage",tools:["CODEX_SUBSCRIPTION_CONNECT","CODEX_SUBSCRIPTION_STATUS","SUBSCRIPTION_USAGE_GET","CODEX_SUBSCRIPTION_DISCONNECT","CODEX_SUBSCRIPTION_SYNC","COLLECTION_CONNECTIONS_LIST","COLLECTION_CONNECTIONS_GET","CONNECTION_TEST","CONNECTION_TOOLS_SEARCH","CONNECTION_TOOL_CALL","COLLECTION_VIRTUAL_MCP_LIST","COLLECTION_VIRTUAL_MCP_GET","VIRTUAL_MCP_LAST_USED_LIST","SIDEBAR_GET","SIDEBAR_PREFERENCES_SET","PROJECT_FOLDER_ENSURE","AUTOMATION_GET","AUTOMATION_LIST","AUTOMATION_RUN_STATS","AI_PROVIDERS_LIST","AI_PROVIDERS_LIST_MODELS","AI_PROVIDERS_ACTIVE","AI_PROVIDER_KEY_LIST","AI_PROVIDER_CREDITS","AI_PLAN_ENTITLEMENTS","AI_PLAN_LIST","ORGANIZATION_BILLING_PLAN_PRICES","AI_PROVIDER_TOPUP_URL","LIST_OBJECTS","GET_OBJECT_METADATA","GET_PRESIGNED_URL","PUT_PRESIGNED_URL","FILE_OBJECTS_LIST","ORG_REPO_SYNC_LIST","SANDBOX_START","SANDBOX_DELETE","REPOSITORY_SEARCH_BRANCHES","GIT_PROVIDER_CAPABILITIES","GIT_ACCOUNT_LIST","REPOSITORY_LIST","REPOSITORY_SEARCH","CHANGE_REQUEST_STATE","CHANGE_REQUEST_LAST_MERGED","CHANGE_REQUEST_LIST_OPEN","CHANGE_REQUEST_CHECK_LOG","GLOBAL_SEARCH","ORGANIZATION_SETTINGS_GET","USER_GET","ORGANIZATION_HAS_SITE","ORGANIZATION_BLOCKS_EDITOR_SET","COLLECTION_THREADS_CREATE","COLLECTION_THREADS_LIST","COLLECTION_THREADS_GET","COLLECTION_THREADS_UPDATE","COLLECTION_THREADS_DELETE","COLLECTION_THREAD_MESSAGES_LIST","TASK_BOARD_ITEM_CREATE","TASK_BOARD_ITEM_LIST","TASK_BOARD_ITEM_UPDATE","TASK_BOARD_ITEM_DELETE","TASK_BOARD_PROMPT_LIST","TASK_BOARD_PROMPT_UPSERT","TASK_BOARD_PROMPT_DELETE","TASK_BOARD_ITEM_PRS_GET","TASK_BOARD_PREVIEW_PROBE","TASK_BOARD_ITEM_RERUN","TASK_BOARD_RUN_REVIEWER","TASK_BOARD_REVIEW_DECISION","TASK_BOARD_PROMOTE_TO_PRODUCTION","TASK_BOARD_ACTIVITY_LIST","TASK_BOARD_COMMENT_LIST","TASK_BOARD_COMMENT_CREATE","TASK_BOARD_COMMENT_UPDATE","TASK_BOARD_COMMENT_DELETE","TASK_BOARD_DISMISSED_LIST","TASK_BOARD_DISMISSED_RESTORE","TASK_BOARD_SPRINT_LIST","TASK_BOARD_SPRINT_CREATE","TASK_BOARD_SPRINT_UPDATE","TASK_BOARD_SPRINT_START","TASK_BOARD_SPRINT_COMPLETE","TASK_BOARD_SPRINT_DELETE","TASK_BOARD_ADMIN_ORG_LIST","TASK_BOARD_DELIVERY","TASK_BOARD_OPERATION","TASK_BOARD_OPERATION_TASKS","TASK_BOARD_REWORK","TASK_BOARD_SPRINTS","TASK_BOARD_STUCK","TASK_BOARD_COST","TASK_BOARD_QUALITY","TASK_BOARD_ERRORS","TASK_BOARD_TENANTS","THREAD_ANALYTICS_ORG_LIST","THREAD_ANALYTICS_LIVE","THREAD_ANALYTICS_USAGE","THREAD_ANALYTICS_ERRORS","NOTIFICATION_LIST","NOTIFICATION_MARK_READ","NOTIFICATION_SUBSCRIPTION_SET","NOTIFICATION_SUBSCRIPTION_LIST","generate_image","web_search","deep_research","suggest_task","preview_navigate","update_interests"]},{id:"org:manage",label:"Manage organization",description:"Edit organization settings and domain configuration",section:"Organization",tools:["ORGANIZATION_GET","ORGANIZATION_LIST","ORGANIZATION_UPDATE","ORGANIZATION_SETTINGS_GET","ORGANIZATION_SETTINGS_UPDATE","ORGANIZATION_DOMAIN_LIST","ORGANIZATION_DOMAIN_ADD","ORGANIZATION_DOMAIN_UPDATE","ORGANIZATION_DOMAIN_VERIFY","ORGANIZATION_DOMAIN_REMOVE","JIRA_INTEGRATION_GET","JIRA_INTEGRATION_UPSERT","JIRA_INTEGRATION_DELETE","JIRA_BOARDS_LIST","JIRA_BOARD_COLUMNS_LIST","JIRA_AUTOMATION_LIST","JIRA_AUTOMATION_UPSERT","JIRA_RUN_START"]},{id:"members:manage",label:"Manage members",description:"Invite members, remove them, and change their roles",section:"Organization",tools:["ORGANIZATION_MEMBER_LIST","ORGANIZATION_MEMBER_ADD","ORGANIZATION_MEMBER_REMOVE","ORGANIZATION_MEMBER_UPDATE_ROLE","ORGANIZATION_BILLING_CHECKOUT_START","ORGANIZATION_BILLING_PORTAL","ORGANIZATION_TASK_QUOTA_GET","INFRA_BILLING_SITES_LIST","INFRA_BILLING_GET","INFRA_BILLING_PORTAL","ORGANIZATION_JOIN_REQUEST_LIST","ORGANIZATION_JOIN_REQUEST_APPROVE","ORGANIZATION_JOIN_REQUEST_DENY"],dangerous:!0},{id:"connections:manage",label:"Manage connections",description:"Create, update, and delete connections",section:"Connections & Agents",tools:["COLLECTION_CONNECTIONS_CREATE","COLLECTION_CONNECTIONS_UPDATE","COLLECTION_CONNECTIONS_DELETE","REPORTS_SETUP","REPORTS_RUN","REPORTS_BIND","REPORTS_CONNECTION_STATUS","REPORTS_SET_REPOSITORY"],dangerous:!0},{id:"agents:manage",label:"Manage agents",description:"Create, configure, and delete agents",section:"Connections & Agents",tools:["COLLECTION_VIRTUAL_MCP_CREATE","COLLECTION_VIRTUAL_MCP_UPDATE","COLLECTION_VIRTUAL_MCP_DELETE","VIRTUAL_MCP_PINNED_VIEWS_UPDATE","PROJECT_FOLDERS_SET"],dangerous:!0},{id:"automations:manage",label:"Manage automations",description:"Create, update, run, and delete automations",section:"Automations",tools:["AUTOMATION_CREATE","AUTOMATION_UPDATE","AUTOMATION_DELETE","AUTOMATION_TRIGGER_ADD","AUTOMATION_TRIGGER_REMOVE","AUTOMATION_TRIGGER_ROTATE_TOKEN","AUTOMATION_RUN"],dangerous:!0},{id:"monitoring:view",label:"View monitoring",description:"Access logs and usage statistics",section:"Monitoring",tools:["MONITORING_HEATMAP","MONITORING_LOG_GET","MONITORING_LOGS_LIST","MONITORING_STATS","MONITORING_THREAD_USAGE"]},{id:"secrets:manage",label:"Manage secrets",description:"Create and list secrets stored in the credential vault",section:"Organization",tools:["SECRET_CREATE","SECRET_LIST"]},{id:"file-configs:manage",label:"Manage file configs",description:"Create, list, update and delete S3 bucket configurations and synced GitHub repositories",section:"Organization",tools:["FILE_CONFIG_CREATE","FILE_CONFIG_LIST","FILE_CONFIG_UPDATE","FILE_CONFIG_DELETE","FILE_OBJECTS_LIST","FILE_OBJECT_DELETE","FILE_OBJECT_UPLOAD","ORG_REPO_SYNC_CREATE","ORG_REPO_SYNC_LIST","ORG_REPO_SYNC_UPDATE","ORG_REPO_SYNC_DELETE","ORG_REPO_SYNC_RUN"]},{id:"ai-providers:manage",label:"Manage AI providers",description:"Add or remove API keys and provision provider credentials",section:"AI Providers",tools:["AI_PROVIDER_KEY_CREATE","AI_PROVIDER_KEY_LIST","AI_PROVIDER_KEY_DELETE","AI_PROVIDER_KEY_UPDATE","AI_PROVIDER_KEY_PREVIEW","AI_PROVIDER_OAUTH_URL","AI_PROVIDER_OAUTH_EXCHANGE","AI_PROVIDER_PROVISION_KEY","AI_PROVIDER_TOPUP_URL","AI_PROVIDER_CREDITS","AI_PLAN_ENTITLEMENTS","AI_PLAN_LIST","AI_PLAN_SET","AI_PLAN_INVOICE_UPGRADE","CLAUDE_SUBSCRIPTION_CONNECT","CLAUDE_SUBSCRIPTION_STATUS","CLAUDE_SUBSCRIPTION_DISCONNECT","GITHUB_COPILOT_CONNECT","GITHUB_COPILOT_STATUS","GITHUB_COPILOT_DISCONNECT","GITHUB_COPILOT_SHARE"]},{id:"tags:manage",label:"Manage tags",description:"Create, assign, and delete organization tags",section:"Organization",tools:["TAGS_LIST","TAGS_CREATE","TAGS_DELETE","MEMBER_TAGS_GET","MEMBER_TAGS_SET"]},{id:"experiments:manage",label:"Manage experiments",description:"Create, update, and delete A/B experiments, and view results",section:"Experiments",tools:["EXPERIMENT_LIST","EXPERIMENT_GET","EXPERIMENT_CREATE","EXPERIMENT_SUGGEST","EXPERIMENT_IMPLEMENT","EXPERIMENT_IMPLEMENT_LOCAL","EXPERIMENT_PREVIEW_SYNC_LOCAL","EXPERIMENT_UPDATE","EXPERIMENT_DELETE","EXPERIMENT_RESULTS"],dangerous:!0},{id:"registry:manage",label:"Browse registry",description:"Browse the Deco MCP catalog",section:"Store & Registry",tools:["COLLECTION_REGISTRY_APP_LIST","COLLECTION_REGISTRY_APP_GET","COLLECTION_REGISTRY_APP_VERSIONS","COLLECTION_REGISTRY_APP_FILTERS","REGISTRY_ITEM_LIST","REGISTRY_ITEM_SEARCH","REGISTRY_ITEM_GET","REGISTRY_ITEM_VERSIONS","REGISTRY_ITEM_FILTERS"]},{id:"api-keys:manage",label:"Manage API keys",description:"Create, update, and revoke API keys",section:"Developer",tools:["API_KEY_CREATE","API_KEY_LIST","API_KEY_UPDATE","API_KEY_DELETE"]},{id:"storage:delete",label:"Delete from storage",description:"Permanently delete files from object storage",section:"Developer",tools:["DELETE_OBJECT","DELETE_OBJECTS"],dangerous:!0},{id:"lake:read",label:"Query the data lake",description:"Run read-only SQL over the organization's own data lake (orders from connected stores)",section:"Developer",tools:["CUSTOMER_LAKE_QUERY"]}],LW0=new Set([...DW0.find(($)=>$.id==="basic-usage")?.tools??[],"ORG_FS_READ","ORG_FS_WRITE"]),dQ4=["agents:manage","connections:manage"],nm=new Set(DW0.filter(($)=>dQ4.includes($.id)).flatMap(($)=>$.tools))});import{z as d6}from"zod";function o8$(){return pQ4.parse(process.env)}var Er0=($)=>d6.enum(["true","false","1","0"]).optional().transform((Z)=>Z===void 0?$:Z==="true"||Z==="1"),iQ4=($)=>d6.string().optional().transform((Z)=>Z?Z.split(",").map((Q)=>Q.trim()):$),pQ4;var s8$=L(()=>{pQ4=d6.object({AUTH_EMAIL_PASSWORD_ENABLED:Er0(!0),AUTH_GOOGLE_CLIENT_ID:d6.string().optional(),AUTH_GOOGLE_CLIENT_SECRET:d6.string().optional(),AUTH_GITHUB_CLIENT_ID:d6.string().optional(),AUTH_GITHUB_CLIENT_SECRET:d6.string().optional(),AUTH_RESEND_API_KEY:d6.string().optional(),AUTH_RESEND_FROM_EMAIL:d6.string().optional(),AUTH_SENDGRID_API_KEY:d6.string().optional(),AUTH_SENDGRID_FROM_EMAIL:d6.string().optional(),AUTH_INVITE_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_RESET_PASSWORD_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_MAGIC_LINK_ENABLED:Er0(!1),AUTH_MAGIC_LINK_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_ENABLED:Er0(!1),AUTH_EMAIL_OTP_EMAIL_PROVIDER:d6.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_LENGTH:d6.coerce.number().optional(),AUTH_EMAIL_OTP_EXPIRES_IN:d6.coerce.number().optional(),AUTH_SSO_DOMAIN:d6.string().optional(),AUTH_SSO_MS_TENANT_ID:d6.string().optional(),AUTH_SSO_MS_CLIENT_ID:d6.string().optional(),AUTH_SSO_MS_CLIENT_SECRET:d6.string().optional(),AUTH_SSO_SCOPES:iQ4(["openid","email","profile"]),AUTH_SSO_GOOGLE_CLIENT_ID:d6.string().optional(),AUTH_SSO_GOOGLE_CLIENT_SECRET:d6.string().optional()}).superRefine(($,Z)=>{let Q=new Set;if($.AUTH_RESEND_API_KEY)Q.add("resend");if($.AUTH_SENDGRID_API_KEY)Q.add("sendgrid");let Y=["AUTH_INVITE_EMAIL_PROVIDER","AUTH_RESET_PASSWORD_EMAIL_PROVIDER","AUTH_MAGIC_LINK_EMAIL_PROVIDER","AUTH_EMAIL_OTP_EMAIL_PROVIDER"];for(let X of Y){let J=$[X];if(J&&!Q.has(J)){let G=J==="resend"?"AUTH_RESEND_API_KEY":"AUTH_SENDGRID_API_KEY";Z.addIssue({code:d6.ZodIssueCode.custom,path:[X],message:`${X}="${J}" but ${G} is not set`})}}if($.AUTH_MAGIC_LINK_ENABLED&&Q.size===0)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_MAGIC_LINK_ENABLED"],message:"AUTH_MAGIC_LINK_ENABLED=true requires AUTH_RESEND_API_KEY or AUTH_SENDGRID_API_KEY to be set"});if($.AUTH_EMAIL_OTP_ENABLED&&Q.size===0)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_EMAIL_OTP_ENABLED"],message:"AUTH_EMAIL_OTP_ENABLED=true requires AUTH_RESEND_API_KEY or AUTH_SENDGRID_API_KEY to be set"});if($.AUTH_SSO_MS_CLIENT_ID&&$.AUTH_SSO_DOMAIN){if(!$.AUTH_SSO_MS_CLIENT_SECRET)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_SSO_MS_CLIENT_SECRET"],message:"AUTH_SSO_MS_CLIENT_ID and AUTH_SSO_DOMAIN are set but AUTH_SSO_MS_CLIENT_SECRET is not"});if(!$.AUTH_SSO_MS_TENANT_ID)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_SSO_MS_TENANT_ID"],message:"AUTH_SSO_MS_CLIENT_ID and AUTH_SSO_DOMAIN are set but AUTH_SSO_MS_TENANT_ID is not"})}if($.AUTH_SSO_GOOGLE_CLIENT_ID&&$.AUTH_SSO_DOMAIN&&!$.AUTH_SSO_GOOGLE_CLIENT_SECRET)Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_SSO_GOOGLE_CLIENT_SECRET"],message:"AUTH_SSO_GOOGLE_CLIENT_ID and AUTH_SSO_DOMAIN are set but AUTH_SSO_GOOGLE_CLIENT_SECRET is not"});if($.AUTH_EMAIL_OTP_LENGTH!==void 0&&(!Number.isInteger($.AUTH_EMAIL_OTP_LENGTH)||$.AUTH_EMAIL_OTP_LENGTH<1))Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_EMAIL_OTP_LENGTH"],message:"AUTH_EMAIL_OTP_LENGTH must be a positive integer"});if($.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&(!Number.isInteger($.AUTH_EMAIL_OTP_EXPIRES_IN)||$.AUTH_EMAIL_OTP_EXPIRES_IN<1))Z.addIssue({code:d6.ZodIssueCode.custom,path:["AUTH_EMAIL_OTP_EXPIRES_IN"],message:"AUTH_EMAIL_OTP_EXPIRES_IN must be a positive integer"})}).transform(($)=>{let Z={};if($.AUTH_GOOGLE_CLIENT_ID)Z.google={clientId:$.AUTH_GOOGLE_CLIENT_ID,clientSecret:$.AUTH_GOOGLE_CLIENT_SECRET??""};if($.AUTH_GITHUB_CLIENT_ID)Z.github={clientId:$.AUTH_GITHUB_CLIENT_ID,clientSecret:$.AUTH_GITHUB_CLIENT_SECRET??""};let Q=[];if($.AUTH_RESEND_API_KEY)Q.push({id:"resend",provider:"resend",config:{apiKey:$.AUTH_RESEND_API_KEY,fromEmail:$.AUTH_RESEND_FROM_EMAIL??"noreply@example.com"}});if($.AUTH_SENDGRID_API_KEY)Q.push({id:"sendgrid",provider:"sendgrid",config:{apiKey:$.AUTH_SENDGRID_API_KEY,fromEmail:$.AUTH_SENDGRID_FROM_EMAIL??"noreply@example.com"}});let Y=Q[0]?.id,X;if($.AUTH_SSO_MS_CLIENT_ID&&$.AUTH_SSO_DOMAIN)X={providerId:"microsoft",domain:$.AUTH_SSO_DOMAIN,MS_TENANT_ID:$.AUTH_SSO_MS_TENANT_ID??"",MS_CLIENT_ID:$.AUTH_SSO_MS_CLIENT_ID,MS_CLIENT_SECRET:$.AUTH_SSO_MS_CLIENT_SECRET??"",scopes:$.AUTH_SSO_SCOPES};else if($.AUTH_SSO_GOOGLE_CLIENT_ID&&$.AUTH_SSO_DOMAIN)X={providerId:"google",domain:$.AUTH_SSO_DOMAIN,GOOGLE_CLIENT_ID:$.AUTH_SSO_GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:$.AUTH_SSO_GOOGLE_CLIENT_SECRET??"",scopes:$.AUTH_SSO_SCOPES};let J;if($.AUTH_MAGIC_LINK_ENABLED)J={enabled:!0,emailProviderId:$.AUTH_MAGIC_LINK_EMAIL_PROVIDER??Y??""};let G;if($.AUTH_EMAIL_OTP_ENABLED)G={enabled:!0,emailProviderId:$.AUTH_EMAIL_OTP_EMAIL_PROVIDER??Y??"",...$.AUTH_EMAIL_OTP_LENGTH!==void 0&&{otpLength:$.AUTH_EMAIL_OTP_LENGTH},...$.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&{expiresIn:$.AUTH_EMAIL_OTP_EXPIRES_IN}};return{emailAndPassword:{enabled:$.AUTH_EMAIL_PASSWORD_ENABLED},socialProviders:Object.keys(Z).length>0?Z:void 0,emailProviders:Q.length>0?Q:void 0,inviteEmailProviderId:$.AUTH_INVITE_EMAIL_PROVIDER,resetPasswordEmailProviderId:$.AUTH_RESET_PASSWORD_EMAIL_PROVIDER,ssoConfig:X,magicLinkConfig:J,emailOtpConfig:G}})});import{existsSync as nQ4,readFileSync as tQ4}from"fs";function oQ4(){let $=o8$(),Z=B0().configPath;if(!nQ4(Z))return{auth:$};try{let Q=JSON.parse(tQ4(Z,"utf-8"));if(Q.auth)console.warn("[config] DEPRECATION: 'auth' key found in config.json. Auth is now configured via AUTH_* environment variables. The 'auth' key will be ignored.");return{auth:$,theme:Q.theme,logo:Q.logo,autoCreateOrganizationOnSignup:Q.autoCreateOrganizationOnSignup}}catch{return{auth:$}}}function XF(){if(!Pr0)Pr0=oQ4();return Pr0}function a8$(){return XF().theme}var Pr0=null;var De=L(()=>{s8$();u1()});import{dirname as sQ4,posix as aQ4,sep as rQ4}from"path";function e8$(){let $=eQ4();return async(Z)=>{for(let Q of Z)Q.module=$(Q.filename);return Z}}function eQ4($=process.argv[1]?sQ4(process.argv[1]):process.cwd(),Z=rQ4==="\\"){let Q=Z?r8$($):$;return(Y)=>{if(!Y)return;let X=Z?r8$(Y):Y,{dir:J,base:G,ext:W}=aQ4.parse(X);if(W===".js"||W===".mjs"||W===".cjs")G=G.slice(0,-1*W.length);let K=decodeURIComponent(G);if(!J)J=".";let H=J.lastIndexOf("/node_modules");if(H>-1)return`${J.slice(H+14).replace(/\//g,".")}:${K}`;if(J.startsWith(Q)){let F=J.slice(Q.length+1).replace(/\//g,".");return F?`${F}:${K}`:K}return K}}function r8$($){return $.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var $4$=()=>{};function $Y4($,Z,Q){return{key:$,enabled:typeof Z=="string"?!0:Z,variant:typeof Z=="string"?Z:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:Q?JSON.stringify(Q):void 0,description:void 0}}}var zr0=($)=>{if("flags"in $){let Z=Z4$($.flags),Q=Q4$($.flags);return{...$,featureFlags:Z,featureFlagPayloads:Q}}{let Z=$.featureFlags??{},Q=Object.fromEntries(Object.entries($.featureFlagPayloads||{}).map(([X,J])=>[X,Ar0(J)])),Y=Object.fromEntries(Object.entries(Z).map(([X,J])=>[X,$Y4(X,J,Q[X])]));return{...$,featureFlags:Z,featureFlagPayloads:Q,flags:Y}}},Z4$=($)=>Object.fromEntries(Object.entries($??{}).map(([Z,Q])=>[Z,Le(Q)]).filter(([,Z])=>Z!==void 0)),Q4$=($)=>{let Z=$??{};return Object.fromEntries(Object.keys(Z).filter((Q)=>{let Y=Z[Q];return Y.enabled&&Y.metadata&&Y.metadata.payload!==void 0}).map((Q)=>{let Y=Z[Q].metadata?.payload;return[Q,Y?Ar0(Y):void 0]}))},Le=($)=>$===void 0?void 0:$.variant??$.enabled,Ar0=($)=>{if(typeof $!="string")return $;try{return JSON.parse($)}catch{return $}};var OW0=()=>{};function Y4$(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}async function jW0($,Z=!0,Q){try{let Y=new CompressionStream("gzip"),X=Y.writable.getWriter(),J=X.write(new TextEncoder().encode($)).then(()=>X.close()).catch(async(K)=>{try{await X.abort(K)}catch{}throw K}),G=new Response(Y.readable).blob(),[W]=await Promise.all([G,J]);return W}catch(Y){if(Q?.rethrow)throw Y;if(Z)console.error("Failed to gzip compress data",Y);return null}}var Tr0=()=>{};var ZY4,X4$=function($,Z=[]){if(!$)return!1;let Q=$.toLowerCase();return ZY4.concat(Z).some((Y)=>{let X=Y.toLowerCase();return Q.indexOf(X)!==-1})};var J4$=L(()=>{ZY4=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"]});var $X;var eA=L(()=>{$X=function($){return $.AnonymousId="anonymous_id",$.DistinctId="distinct_id",$.Props="props",$.EnablePersonProcessing="enable_person_processing",$.PersonMode="person_mode",$.FeatureFlagDetails="feature_flag_details",$.FeatureFlags="feature_flags",$.FeatureFlagPayloads="feature_flag_payloads",$.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",$.BootstrapFeatureFlags="bootstrap_feature_flags",$.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",$.OverrideFeatureFlags="override_feature_flags",$.Queue="queue",$.LogsQueue="logs_queue",$.OptedOut="opted_out",$.SessionId="session_id",$.SessionStartTimestamp="session_start_timestamp",$.SessionLastTimestamp="session_timestamp",$.PersonProperties="person_properties",$.GroupProperties="group_properties",$.InstalledAppBuild="installed_app_build",$.InstalledAppVersion="installed_app_version",$.SessionReplay="session_replay",$.SurveyLastSeenDate="survey_last_seen_date",$.SurveysSeen="surveys_seen",$.Surveys="surveys",$.RemoteConfig="remote_config",$.FlagsEndpointWasHit="flags_endpoint_was_hit",$.DeviceId="device_id",$}({})});var wW0=()=>{};function PW0($){return $===null||typeof $!="object"}function $T($,Z){return Object.prototype.toString.call($)===`[object ${Z}]`}function K4$($){return $T($,"ErrorEvent")}function om($){return typeof Event<"u"&&XY4($,Event)}function H4$($){return $T($,"Object")}function XY4($,Z){try{return $ instanceof Z}catch{return!1}}var YY4,G4$,Wm5,qr0,EW0,Oe=($)=>$===Object($)&&!EW0($),tm=($)=>$===void 0,kw=($)=>qr0.call($)=="[object String]",W4$=($)=>kw($)&&$.trim().length===0,je=($)=>qr0.call($)=="[object Number]"&&$===$,Rr0=($)=>$ instanceof Error;var we=L(()=>{eA();wW0();YY4=Array.isArray,G4$=Object.prototype,Wm5=G4$.hasOwnProperty,qr0=G4$.toString,EW0=YY4||function($){return qr0.call($)==="[object Array]"}});function Ee($,Z,Q,Y,X){if(Z>Q)Y.warn("min cannot be greater than max."),Z=Q;if(je($))if($>Q)return Y.warn(" cannot be greater than max: "+Q+". Using max value instead."),Q;else{if(!($<Z))return $;return Y.warn(" cannot be less than min: "+Z+". Using min value instead."),Z}return Y.warn(" must be a number. using max or fallback. max: "+Q+", fallback: "+X),Ee(X||Q,Z,Q,Y)}var Mr0=L(()=>{we()});class Vr0{constructor($){this._buckets={},this._onBucketRateLimited=$._onBucketRateLimited,this._bucketSize=Ee($.bucketSize,0,100,$._logger),this._refillRate=Ee($.refillRate,0,this._bucketSize,$._logger),this._refillInterval=Ee($.refillInterval,0,JY4,$._logger)}_applyRefill($,Z){let Q=Z-$.lastAccess,Y=Math.floor(Q/this._refillInterval);if(Y>0){let X=Y*this._refillRate;$.tokens=Math.min($.tokens+X,this._bucketSize),$.lastAccess=$.lastAccess+Y*this._refillInterval}}consumeRateLimit($){let Z=Date.now(),Q=String($),Y=this._buckets[Q];if(Y)this._applyRefill(Y,Z);else Y={tokens:this._bucketSize,lastAccess:Z},this._buckets[Q]=Y;if(Y.tokens===0)return!0;if(Y.tokens--,Y.tokens===0)this._onBucketRateLimited?.($);return Y.tokens===0}stop(){this._buckets={}}}var JY4=86400000;var F4$=L(()=>{Mr0()});class ZT{constructor($){this.bytes=$}static ofInner($){if($.length===16)return new ZT($);throw TypeError("not 128-bit length")}static fromFieldsV7($,Z,Q,Y){if(!Number.isInteger($)||!Number.isInteger(Z)||!Number.isInteger(Q)||!Number.isInteger(Y)||$<0||Z<0||Q<0||Y<0||$>281474976710655||Z>4095||Q>1073741823||Y>4294967295)throw RangeError("invalid field value");let X=new Uint8Array(16);return X[0]=$/1099511627776,X[1]=$/4294967296,X[2]=$/16777216,X[3]=$/65536,X[4]=$/256,X[5]=$,X[6]=112|Z>>>8,X[7]=Z,X[8]=128|Q>>>24,X[9]=Q>>>16,X[10]=Q>>>8,X[11]=Q,X[12]=Y>>>24,X[13]=Y>>>16,X[14]=Y>>>8,X[15]=Y,new ZT(X)}static parse($){let Z;switch($.length){case 32:Z=/^[0-9a-f]{32}$/i.exec($)?.[0];break;case 36:Z=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec($)?.slice(1,6).join("");break;case 38:Z=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec($)?.slice(1,6).join("");break;case 45:Z=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec($)?.slice(1,6).join("");break;default:break}if(Z){let Q=new Uint8Array(16);for(let Y=0;Y<16;Y+=4){let X=parseInt(Z.substring(2*Y,2*Y+8),16);Q[Y+0]=X>>>24,Q[Y+1]=X>>>16,Q[Y+2]=X>>>8,Q[Y+3]=X}return new ZT(Q)}throw SyntaxError("could not parse UUID string")}toString(){let $="";for(let Z=0;Z<this.bytes.length;Z++)if($+="0123456789abcdef".charAt(this.bytes[Z]>>>4),$+="0123456789abcdef".charAt(15&this.bytes[Z]),Z===3||Z===5||Z===7||Z===9)$+="-";return $}toHex(){let $="";for(let Z=0;Z<this.bytes.length;Z++)$+="0123456789abcdef".charAt(this.bytes[Z]>>>4),$+="0123456789abcdef".charAt(15&this.bytes[Z]);return $}toJSON(){return this.toString()}getVariant(){let $=this.bytes[8]>>>4;if($<0)throw Error("unreachable");if($<=7)return this.bytes.every((Z)=>Z===0)?"NIL":"VAR_0";if($<=11)return"VAR_10";if($<=13)return"VAR_110";if($<=15)return this.bytes.every((Z)=>Z===255)?"MAX":"VAR_RESERVED";else throw Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new ZT(this.bytes.slice(0))}equals($){return this.compareTo($)===0}compareTo($){for(let Z=0;Z<16;Z++){let Q=this.bytes[Z]-$.bytes[Z];if(Q!==0)return Math.sign(Q)}return 0}}class N4${constructor($){this.timestamp=0,this.counter=0,this.random=$??GY4()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore($,Z){let Q=this.generateOrAbortCore($,Z);if(Q===void 0)this.timestamp=0,Q=this.generateOrAbortCore($,Z);return Q}generateOrAbortCore($,Z){if(!Number.isInteger($)||$<1||$>281474976710655)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(Z<0||Z>281474976710655)throw RangeError("`rollbackAllowance` out of reasonable range");if($>this.timestamp)this.timestamp=$,this.resetCounter();else{if(!($+Z>=this.timestamp))return;if(this.counter++,this.counter>4398046511103)this.timestamp++,this.resetCounter()}return ZT.fromFieldsV7(this.timestamp,Math.trunc(this.counter/1073741824),this.counter&1073741823,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let $=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return $[6]=64|$[6]>>>4,$[8]=128|$[8]>>>2,ZT.ofInner($)}}var GY4=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),U4$,Cw=()=>WY4().toString(),WY4=()=>(U4$||(U4$=new N4$)).generate();var Pe=L(()=>{/*! For license information please see uuidv7.mjs.LICENSE.txt */});class Ir0{add($){let Z=Cw();return this.promiseByIds[Z]=$,$.catch(()=>{}).finally(()=>{delete this.promiseByIds[Z]}),$}async join(){let $=Object.values(this.promiseByIds),Z=$.length;while(Z>0)await Promise.all($),$=Object.values(this.promiseByIds),Z=$.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}}var B4$=L(()=>{Pe()});function KY4($=console){return{log:$.log.bind($),warn:$.warn.bind($),error:$.error.bind($),debug:$.debug.bind($)}}function L4$($,Z=HY4){return D4$($,Z,KY4())}var D4$=($,Z,Q)=>{function Y(J,...G){Z(()=>{let W=Q[J];W($,...G)})}return{info:(...J)=>{Y("log",...J)},warn:(...J)=>{Y("warn",...J)},error:(...J)=>{Y("error",...J)},critical:(...J)=>{Q.error($,...J)},createLogger:(J)=>D4$(`${$} ${J}`,Z,Q)}},HY4=($)=>$();var O4$=()=>{};var am="Mobile",AW0="iOS",sm="Android",j4$="Tablet",Em5,UY4="Apple",Pm5,w4$="Safari",TW0="BlackBerry",E4$="Samsung",NY4,BY4,qW0="Chrome",DY4,LY4,P4$="Internet Explorer",OY4,Cr0="Opera",zm5,z4$="Edge",jY4,Sr0="Firefox",wY4,_r0="Nintendo",vr0="PlayStation",zW0="Xbox",EY4,PY4,ze="Windows",zY4,A4$="Generic",Am5,Tm5,AY4="Konqueror",HJ="(\\d+(\\.\\d+)?)",kr0,qm5,Rm5,Mm5,TY4,qY4,Vm5,Im5;var T4$=L(()=>{wW0();we();Em5=sm+" "+j4$,Pm5=UY4+" Watch",NY4=E4$+"Browser",BY4=E4$+" Internet",DY4=qW0+" OS",LY4=qW0+" "+AW0,OY4=P4$+" "+am,zm5=Cr0+" Mini",jY4="Microsoft "+z4$,wY4=Sr0+" "+AW0,EY4=sm+" "+am,PY4=am+" "+w4$,zY4=ze+" Phone",Am5=A4$+" "+am.toLowerCase(),Tm5=A4$+" "+j4$.toLowerCase(),kr0=new RegExp("Version/"+HJ),qm5=new RegExp(zW0,"i"),Rm5=new RegExp(vr0+" \\w+","i"),Mm5=new RegExp(_r0+" \\w+","i"),TY4=new RegExp(TW0+"|PlayBook|BB10","i"),qY4={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"},Vm5={[OY4]:[new RegExp("rv:"+HJ)],[jY4]:[new RegExp(z4$+"?\\/"+HJ)],[qW0]:[new RegExp("("+qW0+"|CrMo)\\/"+HJ)],[LY4]:[new RegExp("CriOS\\/"+HJ)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+HJ)],[w4$]:[kr0],[PY4]:[kr0],[Cr0]:[new RegExp("("+Cr0+"|OPR)\\/"+HJ)],[Sr0]:[new RegExp(Sr0+"\\/"+HJ)],[wY4]:[new RegExp("FxiOS\\/"+HJ)],[AY4]:[new RegExp("Konqueror[:/]?"+HJ,"i")],[TW0]:[new RegExp(TW0+" "+HJ),kr0],[EY4]:[new RegExp("android\\s"+HJ,"i")],[BY4]:[new RegExp(NY4+"\\/"+HJ)],[P4$]:[new RegExp("(rv:|MSIE )"+HJ)],Mozilla:[new RegExp("rv:"+HJ)]},Im5=[[new RegExp(zW0+"; "+zW0+" (.*?)[);]","i"),($)=>[zW0,$&&$[1]||""]],[new RegExp(_r0,"i"),[_r0,""]],[new RegExp(vr0,"i"),[vr0,""]],[TY4,[TW0,""]],[new RegExp(ze,"i"),($,Z)=>{if(/Phone/.test(Z)||/WPDesktop/.test(Z))return[zY4,""];if(new RegExp(am).test(Z)&&!/IEMobile\b/.test(Z))return[ze+" "+am,""];let Q=/Windows NT ([0-9.]+)/i.exec(Z);if(Q&&Q[1]){let Y=Q[1],X=qY4[Y]||"";if(/arm/i.test(Z))X="RT";return[ze,X]}return[ze,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,($)=>{if($&&$[3]){let Z=[$[3],$[4],$[5]||"0"];return[AW0,Z.join(".")]}return[AW0,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,($)=>{let Z="";if($&&$.length>=3)Z=tm($[2])?$[3]:$[2];return["watchOS",Z]}],[new RegExp("("+sm+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+sm+")","i"),($)=>{if($&&$[2]){let Z=[$[2],$[3],$[4]||"0"];return[sm,Z.join(".")]}return[sm,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,($)=>{let Z=["Mac OS X",""];if($&&$[1]){let Q=[$[1],$[2],$[3]||"0"];Z[1]=Q.join(".")}return Z}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[DY4,""]],[/Linux|debian/i,["Linux",""]]]});function R4$($){return $?.replace(/\/+$/,"")}async function M4$($,Z){let Q=null;for(let Y=0;Y<Z.retryCount+1;Y++){if(Y>0)await new Promise((X)=>setTimeout(X,Z.retryDelay));try{return await $()}catch(X){if(Q=X,!Z.retryCheck(X))throw X}}throw Q}function RW0(){return new Date().toISOString()}function $L($,Z){let Q=setTimeout($,Z);return Q?.unref&&Q?.unref(),Q}function br0($){return Promise.all($.map((Z)=>(Z??Promise.resolve()).then((Q)=>({status:"fulfilled",value:Q}),(Q)=>({status:"rejected",reason:Q}))))}var q4$="utf8",V4$=($)=>$ instanceof Error;var FJ=L(()=>{J4$();F4$();Mr0();wW0();we();B4$();O4$();T4$()});var RY4,mm5;var xr0=L(()=>{FJ();RY4={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},mm5=RY4.info});var I4$=L(()=>{xr0();eA()});var k4$=L(()=>{eA()});class fr0{constructor(){this.events={},this.events={}}on($,Z){if(!this.events[$])this.events[$]=[];return this.events[$].push(Z),()=>{this.events[$]=this.events[$].filter((Q)=>Q!==Z)}}emit($,Z){for(let Q of this.events[$]||[])Q(Z);for(let Q of this.events["*"]||[])Q($,Z)}}var C4$=()=>{};async function S4$($){if($ instanceof rm){let Z="";try{Z=await $.text}catch{}console.error(`Error while flushing PostHog: message=${$.message}, response body=${Z}`,$)}else console.error("Error while flushing PostHog",$);return Promise.resolve()}function yr0($){return typeof $=="object"&&($ instanceof rm||$ instanceof Ae)}function _4$($){return typeof $=="object"&&$ instanceof rm&&$.status===413}class MW0{constructor($,Z={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new Ir0,this._events=new fr0,this._isInitialized=!1;let Q=typeof $=="string"?$.trim():"",Y=typeof Z.host=="string"?Z.host.trim():"",X=!Q;if(this._logger=L4$("[PostHog]",this.logMsgIfDebug.bind(this)),X)this._logger.error("You must pass your PostHog project's api key. The client will be disabled.");if(this.apiKey=Q,this.host=R4$(Y||"https://us.i.posthog.com"),this.flushAt=Z.flushAt?Math.max(Z.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,Z.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,Z.maxQueueSize??1000),this.flushInterval=Z.flushInterval??1e4,this.preloadFeatureFlags=Z.preloadFeatureFlags??!0,this.defaultOptIn=Z.defaultOptIn??!0,this.disableSurveys=Z.disableSurveys??!1,this._retryOptions={retryCount:Z.fetchRetryCount??3,retryDelay:Z.fetchRetryDelay??3000,retryCheck:yr0},this.requestTimeout=Z.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=Z.featureFlagsRequestTimeoutMs??3000,this.remoteConfigRequestTimeoutMs=Z.remoteConfigRequestTimeoutMs??3000,this.disableGeoip=Z.disableGeoip??!0,this.disabled=(Z.disabled??!1)||X,this.historicalMigration=Z?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=Z?.evaluationContexts??Z?.evaluationEnvironments,Z?.evaluationEnvironments&&!Z?.evaluationContexts)this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.");this.disableCompression=!Y4$()||(Z?.disableCompression??!1)}logMsgIfDebug($){if(this.isDebug)$()}wrap($){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return $();this._initPromise.then(()=>$())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty($X.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty($X.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty($X.OptedOut,!0)})}on($,Z){return this._events.on($,Z)}debug($=!0){if(this.removeDebugCallback?.(),$){let Z=this.on("*",(Q,Y)=>this._logger.info(Q,Y));this.removeDebugCallback=()=>{Z(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload($){return{distinct_id:$.distinct_id,event:$.event,properties:{...$.properties||{},...this.getCommonEventProperties()}}}addPendingPromise($){return this.promiseQueue.add($)}identifyStateless($,Z,Q){this.wrap(()=>{let Y={...this.buildPayload({distinct_id:$,event:"$identify",properties:Z})};this.enqueue("identify",Y,Q)})}async identifyStatelessImmediate($,Z,Q){let Y={...this.buildPayload({distinct_id:$,event:"$identify",properties:Z})};await this.sendImmediate("identify",Y,Q)}captureStateless($,Z,Q,Y){this.wrap(()=>{let X=this.buildPayload({distinct_id:$,event:Z,properties:Q});this.enqueue("capture",X,Y)})}async captureStatelessImmediate($,Z,Q,Y){let X=this.buildPayload({distinct_id:$,event:Z,properties:Q});await this.sendImmediate("capture",X,Y)}aliasStateless($,Z,Q,Y){this.wrap(()=>{let X=this.buildPayload({event:"$create_alias",distinct_id:Z,properties:{...Q||{},distinct_id:Z,alias:$}});this.enqueue("alias",X,Y)})}async aliasStatelessImmediate($,Z,Q,Y){let X=this.buildPayload({event:"$create_alias",distinct_id:Z,properties:{...Q||{},distinct_id:Z,alias:$}});await this.sendImmediate("alias",X,Y)}groupIdentifyStateless($,Z,Q,Y,X,J){this.wrap(()=>{let G=this.buildPayload({distinct_id:X||`$${$}_${Z}`,event:"$groupidentify",properties:{$group_type:$,$group_key:Z,$group_set:Q||{},...J||{}}});this.enqueue("capture",G,Y)})}async getRemoteConfig(){await this._initPromise;let $=this.host;if($==="https://us.i.posthog.com")$="https://us-assets.i.posthog.com";else if($==="https://eu.i.posthog.com")$="https://eu-assets.i.posthog.com";let Z=`${$}/array/${this.apiKey}/config`,Q={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(Z,Q,{retryCount:0},this.remoteConfigRequestTimeoutMs).then((Y)=>Y.json()).catch((Y)=>{this._logger.error("Remote config could not be loaded",Y),this._events.emit("error",Y)})}async getFlags($,Z={},Q={},Y={},X={},J=!1){await this._initPromise;let G=J?"&config=true":"",W=`${this.host}/flags/?v=2${G}`,K={token:this.apiKey,distinct_id:$,groups:Z,person_properties:Q,group_properties:Y,...X};if(Q.$device_id)K.$device_id=Q.$device_id;if(this.evaluationContexts&&this.evaluationContexts.length>0)K.evaluation_contexts=this.evaluationContexts;let H={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(K)};return this._logger.info("Flags URL",W),this.fetchWithRetry(W,H,{retryCount:0},this.featureFlagsRequestTimeoutMs).then((F)=>F.json()).then((F)=>({success:!0,response:zr0(F)})).catch((F)=>{return this._events.emit("error",F),{success:!1,error:this.categorizeRequestError(F)}})}categorizeRequestError($){if($ instanceof rm)return{type:"api_error",statusCode:$.status};if($ instanceof Ae){let Z=$.error;if(Z instanceof Error&&(Z.name==="AbortError"||Z.name==="TimeoutError"))return{type:"timeout"};return{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless($,Z,Q={},Y={},X={},J){await this._initPromise;let G=await this.getFeatureFlagDetailStateless($,Z,Q,Y,X,J);if(G===void 0)return{response:void 0,requestId:void 0};let W=Le(G.response);if(W===void 0)W=!1;return{response:W,requestId:G.requestId}}async getFeatureFlagDetailStateless($,Z,Q={},Y={},X={},J){await this._initPromise;let G=await this.getFeatureFlagDetailsStateless(Z,Q,Y,X,J,[$]);if(G===void 0)return;return{response:G.flags[$],requestId:G.requestId,evaluatedAt:G.evaluatedAt}}async getFeatureFlagPayloadStateless($,Z,Q={},Y={},X={},J){await this._initPromise;let G=await this.getFeatureFlagPayloadsStateless(Z,Q,Y,X,J,[$]);if(!G)return;let W=G[$];if(W===void 0)return null;return W}async getFeatureFlagPayloadsStateless($,Z={},Q={},Y={},X,J){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless($,Z,Q,Y,X,J)).payloads}async getFeatureFlagsStateless($,Z={},Q={},Y={},X,J){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless($,Z,Q,Y,X,J)}async getFeatureFlagsAndPayloadsStateless($,Z={},Q={},Y={},X,J){await this._initPromise;let G=await this.getFeatureFlagDetailsStateless($,Z,Q,Y,X,J);if(!G)return{flags:void 0,payloads:void 0,requestId:void 0};return{flags:G.featureFlags,payloads:G.featureFlagPayloads,requestId:G.requestId}}async getFeatureFlagDetailsStateless($,Z={},Q={},Y={},X,J){await this._initPromise;let G={};if(X??this.disableGeoip)G.geoip_disable=!0;if(J)G.flag_keys_to_evaluate=J;let W=await this.getFlags($,Z,Q,Y,G);if(!W.success)return;let K=W.response;if(K.errorsWhileComputingFlags)console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices");if(K.quotaLimited?.includes("feature_flags"))return console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:K?.requestId,quotaLimited:K.quotaLimited};return K}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let $=`${this.host}/api/surveys/?token=${this.apiKey}`,Z={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},Y=(await this.fetchWithRetry($,Z).then((X)=>{if(X.status!==200||!X.json){let J=`Surveys API could not be loaded: ${X.status}`,G=Error(J);this._logger.error(G),this._events.emit("error",Error(J));return}return X.json()}).catch((X)=>{this._logger.error("Surveys API could not be loaded",X),this._events.emit("error",X)}))?.surveys;if(Y)this._logger.info("Surveys fetched from API: ",JSON.stringify(Y));return Y??[]}get props(){if(!this._props)this._props=this.getPersistedProperty($X.Props);return this._props||{}}set props($){this._props=$}async register($){this.wrap(()=>{this.props={...this.props,...$},this.setPersistedProperty($X.Props,this.props)})}async unregister($){this.wrap(()=>{delete this.props[$],this.setPersistedProperty($X.Props,this.props)})}processBeforeEnqueue($){return $}async flushStorage(){}enqueue($,Z,Q){this.wrap(()=>{if(this.optedOut)return void this._events.emit($,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Y=this.prepareMessage($,Z,Q);if(Y=this.processBeforeEnqueue(Y),Y===null)return;let X=this.getPersistedProperty($X.Queue)||[];if(X.length>=this.maxQueueSize)X.shift(),this._logger.info("Queue is full, the oldest event is dropped.");if(X.push({message:Y}),this.setPersistedProperty($X.Queue,X),this._events.emit($,Y),X.length>=this.flushAt)this.flushBackground();if(this.flushInterval&&!this._flushTimer)this._flushTimer=$L(()=>this.flushBackground(),this.flushInterval)})}async sendImmediate($,Z,Q){if(this.disabled)return void this._logger.warn("The client is disabled");if(!this._isInitialized)await this._initPromise;if(this.optedOut)return void this._events.emit($,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Y=this.prepareMessage($,Z,Q);if(Y=this.processBeforeEnqueue(Y),Y===null)return;let X={api_key:this.apiKey,batch:[Y],sent_at:RW0()};if(this.historicalMigration)X.historical_migration=!0;let J=JSON.stringify(X),G=`${this.host}/batch/`,W=this.disableCompression?null:await jW0(J,this.isDebug),K={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...W!==null&&{"Content-Encoding":"gzip"}},body:W||J};try{await this.fetchWithRetry(G,K)}catch(H){this._events.emit("error",H)}}prepareMessage($,Z,Q){let Y={...Z,type:$,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:Q?.timestamp?Q?.timestamp:RW0(),uuid:Q?.uuid?Q.uuid:Cw()};if(Q?.disableGeoip??this.disableGeoip){if(!Y.properties)Y.properties={};Y.properties.$geoip_disable=!0}if(Y.distinctId)Y.distinct_id=Y.distinctId,delete Y.distinctId;return Y}clearFlushTimer(){if(this._flushTimer)clearTimeout(this._flushTimer),this._flushTimer=void 0}flushBackground(){this.flush().catch(async($)=>{await S4$($)})}async flush(){let $=br0([this.flushPromise]).then(()=>this._flush());return this.flushPromise=$,this.addPendingPromise($),br0([$]).then(()=>{if(this.flushPromise===$)this.flushPromise=null}),$}getCustomHeaders(){let $=this.getCustomUserAgent(),Z={};if($&&$!=="")Z["User-Agent"]=$;return Z}async _flush(){this.clearFlushTimer(),await this._initPromise;let $=this.getPersistedProperty($X.Queue)||[];if(!$.length)return;let Z=[],Q=$.length;while($.length>0&&Z.length<Q){let Y=$.slice(0,this.maxBatchSize),X=Y.map((N)=>N.message),J=async()=>{let B=(this.getPersistedProperty($X.Queue)||[]).slice(Y.length);this.setPersistedProperty($X.Queue,B),$=B,await this.flushStorage()},G={api_key:this.apiKey,batch:X,sent_at:RW0()};if(this.historicalMigration)G.historical_migration=!0;let W=JSON.stringify(G),K=`${this.host}/batch/`,H=this.disableCompression?null:await jW0(W,this.isDebug),F={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...H!==null&&{"Content-Encoding":"gzip"}},body:H||W},U={retryCheck:(N)=>{if(_4$(N))return!1;return yr0(N)}};try{await this.fetchWithRetry(K,F,U)}catch(N){if(_4$(N)&&X.length>1){this.maxBatchSize=Math.max(1,Math.floor(X.length/2)),this._logger.warn(`Received 413 when sending batch of size ${X.length}, reducing batch size to ${this.maxBatchSize}`);continue}if(!(N instanceof Ae))await J();throw this._events.emit("error",N),N}await J(),Z.push(...X)}this._events.emit("flush",Z)}async fetchWithRetry($,Z,Q,Y){let X=Z.body?Z.body:"",J=-1;try{J=X instanceof Blob?X.size:Buffer.byteLength(X,q4$)}catch{if(X instanceof Blob)J=X.size;else J=new TextEncoder().encode(X).length}return await M4$(async()=>{let G=new AbortController,W=Y??this.requestTimeout,K=$L(()=>G.abort(),W),H=null;try{H=await this.fetch($,{signal:G.signal,...Z})}catch(U){throw new Ae(U)}finally{clearTimeout(K)}if(Z.mode!=="no-cors"&&(H.status<200||H.status>=400))throw new rm(H,J);return H},{...this._retryOptions,...Q})}async _shutdown($=30000){await this._initPromise;let Z=!1;this.clearFlushTimer();let Q=async()=>{try{await this.promiseQueue.join();while(!0){if((this.getPersistedProperty($X.Queue)||[]).length===0)break;if(await this.flush(),Z)break}}catch(X){if(!yr0(X))throw X;await S4$(X)}},Y;try{return await Promise.race([new Promise((X,J)=>{Y=$L(()=>{this._logger.error("Timed out while shutting down PostHog"),Z=!0,J("Timeout while shutting down PostHog. Some events may not have been sent.")},$)}),Q()])}finally{clearTimeout(Y)}}async shutdown($=30000){if(this.shutdownPromise)this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup");else this.shutdownPromise=this._shutdown($).finally(()=>{this.shutdownPromise=null});return this.shutdownPromise}}var rm,Ae;var gr0=L(()=>{C4$();OW0();Tr0();eA();FJ();Pe();rm=class rm extends Error{constructor($,Z){super("HTTP error while fetching PostHog: status="+$.status+", reqByteLength="+Z),this.response=$,this.reqByteLength=Z,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}};Ae=class Ae extends Error{constructor($){super("Network error while fetching PostHog",$ instanceof Error?{cause:$}:{}),this.error=$,this.name="PostHogFetchNetworkError"}}});var v4$=L(()=>{OW0();eA();gr0();Pe();FJ()});var b4$=L(()=>{we()});function f4$($){let Z=globalThis._posthogChunkIds;if(!Z)return;let Q=Object.keys(Z);if(IW0&&Q.length===x4$)return IW0;return x4$=Q.length,IW0=Q.reduce((Y,X)=>{if(!VW0)VW0={};let J=VW0[X];if(J)Y[J[0]]=J[1];else{let G=$(X);for(let W=G.length-1;W>=0;W--){let H=G[W]?.filename,F=Z[X];if(H&&F){Y[H]=F,VW0[X]=[H,F];break}}}return Y},{}),IW0}var VW0,x4$,IW0;var y4$=()=>{};class g4${constructor($,Z,Q=[]){this.coercers=$,this.stackParser=Z,this.modifiers=Q}buildFromUnknown($,Z={}){let Y=Z&&Z.mechanism||{handled:!0,type:"generic"},J=this.buildCoercingContext(Y,Z,0).apply($),G=this.buildParsingContext(Z),W=this.parseStacktrace(J,G);return{$exception_list:this.convertToExceptionList(W,Y),$exception_level:"error"}}async modifyFrames($){for(let Z of $)if(Z.stacktrace&&Z.stacktrace.frames&&EW0(Z.stacktrace.frames))Z.stacktrace.frames=await this.applyModifiers(Z.stacktrace.frames);return $}coerceFallback($){return{type:"Error",value:"Unknown error",stack:$.syntheticException?.stack,synthetic:!0}}parseStacktrace($,Z){let Q;if($.cause!=null)Q=this.parseStacktrace($.cause,Z);let Y;if($.stack!=""&&$.stack!=null)Y=this.applyChunkIds(this.stackParser($.stack,$.synthetic?Z.skipFirstLines:0),Z.chunkIdMap);return{...$,cause:Q,stack:Y}}applyChunkIds($,Z){return $.map((Q)=>{if(Q.filename&&Z)Q.chunk_id=Z[Q.filename];return Q})}applyCoercers($,Z){for(let Q of this.coercers)if(Q.match($))return Q.coerce($,Z);return this.coerceFallback(Z)}async applyModifiers($){let Z=$;for(let Q of this.modifiers)Z=await Q(Z);return Z}convertToExceptionList($,Z){let Q={type:$.type,value:$.value,mechanism:{type:Z.type??"generic",handled:Z.handled??!0,synthetic:$.synthetic??!1}};if($.stack)Q.stacktrace={type:"raw",frames:$.stack};let Y=[Q];if($.cause!=null)Y.push(...this.convertToExceptionList($.cause,{...Z,handled:!0}));return Y}buildParsingContext($){return{chunkIdMap:f4$(this.stackParser),skipFirstLines:$.skipFirstLines??1}}buildCoercingContext($,Z,Q=0){let Y=(J,G)=>{if(!(G<=IY4))return;{let W=this.buildCoercingContext($,Z,G);return this.applyCoercers(J,W)}};return{...Z,syntheticException:Q==0?Z.syntheticException:void 0,mechanism:$,apply:(J)=>Y(J,Q),next:(J)=>Y(J,Q+1)}}}var IY4=4;var h4$=L(()=>{FJ();y4$()});function nU($,Z,Q,Y,X){let J={platform:$,filename:Z,function:Q==="<anonymous>"?WY:Q,in_app:!0};if(!tm(Y))J.lineno=Y;if(!tm(X))J.colno=X;return J}var WY="?";var Sw=L(()=>{FJ()});var kW0=($,Z)=>{let Q=$.indexOf("safari-extension")!==-1,Y=$.indexOf("safari-web-extension")!==-1;return Q||Y?[$.indexOf("@")!==-1?$.split("@")[0]:WY,Q?`safari-extension:${Z}`:`safari-web-extension:${Z}`]:[$,Z]};var hr0=L(()=>{Sw()});var kY4,CY4,SY4,ur0=($,Z)=>{let Q=kY4.exec($);if(Q){let[,X,J,G]=Q;return nU(Z,X,WY,+J,+G)}let Y=CY4.exec($);if(Y){if(Y[2]&&Y[2].indexOf("eval")===0){let W=SY4.exec(Y[2]);if(W)Y[2]=W[1],Y[3]=W[2],Y[4]=W[3]}let[J,G]=kW0(Y[1]||WY,Y[2]);return nU(Z,G,J,Y[3]?+Y[3]:void 0,Y[4]?+Y[4]:void 0)}};var u4$=L(()=>{Sw();hr0();kY4=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,CY4=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,SY4=/\((\S*)(?::(\d+))(?::(\d+))\)/});var _Y4,vY4,lr0=($,Z)=>{let Q=_Y4.exec($);if(Q){if(Q[3]&&Q[3].indexOf(" > eval")>-1){let G=vY4.exec(Q[3]);if(G)Q[1]=Q[1]||"eval",Q[3]=G[1],Q[4]=G[2],Q[5]=""}let X=Q[3],J=Q[1]||WY;return[J,X]=kW0(J,X),nU(Z,X,J,Q[4]?+Q[4]:void 0,Q[5]?+Q[5]:void 0)}};var l4$=L(()=>{Sw();hr0();_Y4=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,vY4=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i});var bY4,m4$=($,Z)=>{let Q=bY4.exec($);return Q?nU(Z,Q[2],Q[1]||WY,+Q[3],Q[4]?+Q[4]:void 0):void 0};var c4$=L(()=>{Sw();bY4=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i});var xY4,d4$=($,Z)=>{let Q=xY4.exec($);return Q?nU(Z,Q[2],Q[3]||WY,+Q[1]):void 0},fY4,i4$=($,Z)=>{let Q=fY4.exec($);return Q?nU(Z,Q[5],Q[3]||Q[4]||WY,+Q[1],+Q[2]):void 0};var p4$=L(()=>{Sw();xY4=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,fY4=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i});function hY4($,Z=!1){return!(Z||$&&!$.startsWith("/")&&!$.match(/^[A-Z]:/)&&!$.startsWith(".")&&!$.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&$!==void 0&&!$.includes("node_modules/")}function n4$($){return parseInt($||"",10)||void 0}var yY4,gY4,t4$=($,Z)=>{let Q=$.match(gY4);if(Q){let Y,X,J,G,W;if(Q[1]){J=Q[1];let F=J.lastIndexOf(".");if(J[F-1]===".")F--;if(F>0){Y=J.slice(0,F),X=J.slice(F+1);let U=Y.indexOf(".Module");if(U>0)J=J.slice(U+1),Y=Y.slice(0,U)}G=void 0}if(X)G=Y,W=X;if(X==="<anonymous>")W=void 0,J=void 0;if(J===void 0)W=W||WY,J=G?`${G}.${W}`:W;let K=Q[2]?.startsWith("file://")?Q[2].slice(7):Q[2],H=Q[5]==="native";if(K?.match(/\/[A-Z]:/))K=K.slice(1);if(!K&&Q[5]&&!H)K=Q[5];return{filename:K?decodeURI(K):void 0,module:void 0,function:J,lineno:n4$(Q[3]),colno:n4$(Q[4]),in_app:hY4(K||"",H),platform:Z}}if($.match(yY4))return{filename:$,platform:Z}};var o4$=L(()=>{Sw();yY4=/^\s*[-]{4,}$/,gY4=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/});function r4$($){if(!$.length)return[];let Z=Array.from($);return Z.reverse(),Z.slice(0,a4$).map((Q)=>({...Q,filename:Q.filename||uY4(Z).filename,function:Q.function||WY}))}function uY4($){return $[$.length-1]||{}}function lY4(){return e4$("web:javascript",ur0,lr0)}function e4$($,...Z){return(Q,Y=0)=>{let X=[],J=Q.split(`
|
|
80
80
|
`);for(let G=Y;G<J.length;G++){let W=J[G];if(W.length>1024)continue;let K=s4$.test(W)?W.replace(s4$,"$1"):W;if(!K.match(/\S*Error: /)){for(let H of Z){let F=H(K,$);if(F){X.push(F);break}}if(X.length>=a4$)break}}return r4$(X)}}var s4$,a4$=50;var $6$=L(()=>{Sw();u4$();l4$();c4$();p4$();o4$();s4$=/\(error: (.*)\)/});class Z6${match($){return this.isDOMException($)||this.isDOMError($)}coerce($,Z){let Q=kw($.stack);return{type:this.getType($),value:this.getValue($),stack:Q?$.stack:void 0,cause:$.cause?Z.next($.cause):void 0,synthetic:!1}}getType($){return this.isDOMError($)?"DOMError":"DOMException"}getValue($){let Z=$.name||(this.isDOMError($)?"DOMError":"DOMException");return $.message?`${Z}: ${$.message}`:Z}isDOMException($){return $T($,"DOMException")}isDOMError($){return $T($,"DOMError")}}var Q6$=L(()=>{FJ()});class Y6${match($){return Rr0($)}coerce($,Z){return{type:this.getType($),value:this.getMessage($,Z),stack:this.getStack($),cause:$.cause?Z.next($.cause):void 0,synthetic:!1}}getType($){return $.name||$.constructor.name}getMessage($,Z){let Q=$.message;if(Q.error&&typeof Q.error.message=="string")return String(Q.error.message);return String(Q)}getStack($){return $.stacktrace||$.stack||void 0}}var X6$=L(()=>{FJ()});class J6${constructor(){}match($){return K4$($)&&$.error!=null}coerce($,Z){let Q=Z.apply($.error);if(!Q)return{type:"ErrorEvent",value:$.message,stack:Z.syntheticException?.stack,synthetic:!0};return Q}}var G6$=L(()=>{FJ()});class W6${match($){return typeof $=="string"}coerce($,Z){let[Q,Y]=this.getInfos($);return{type:Q??"Error",value:Y??$,stack:Z.syntheticException?.stack,synthetic:!0}}getInfos($){let Z="Error",Q=$,Y=$.match(mY4);if(Y)Z=Y[1],Q=Y[2];return[Z,Q]}}var mY4;var K6$=L(()=>{mY4=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i});var H6$;var F6$=L(()=>{H6$=["fatal","error","warning","log","info","debug"]});function CW0($,Z=40){let Q=Object.keys($);if(Q.sort(),!Q.length)return"[object has no keys]";for(let Y=Q.length;Y>0;Y--){let X=Q.slice(0,Y).join(", ");if(!(X.length>Z)){if(Y===Q.length)return X;return X.length<=Z?X:`${X.slice(0,Z)}...`}}return""}var mr0=()=>{};class U6${match($){return typeof $=="object"&&$!==null}coerce($,Z){let Q=this.getErrorPropertyFromObject($);if(Q)return Z.apply(Q);return{type:this.getType($),value:this.getValue($),stack:Z.syntheticException?.stack,level:this.isSeverityLevel($.level)?$.level:"error",synthetic:!0}}getType($){return om($)?$.constructor.name:"Error"}getValue($){if("name"in $&&typeof $.name=="string"){let Y=`'${$.name}' captured as exception`;if("message"in $&&typeof $.message=="string")Y+=` with message: '${$.message}'`;return Y}if("message"in $&&typeof $.message=="string")return $.message;let Z=this.getObjectClassName($),Q=CW0($);return`${Z&&Z!=="Object"?`'${Z}'`:"Object"} captured as exception with keys: ${Q}`}isSeverityLevel($){return kw($)&&!W4$($)&&H6$.indexOf($)>=0}getErrorPropertyFromObject($){for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z)){let Q=$[Z];if(V4$(Q))return Q}}getObjectClassName($){try{let Z=Object.getPrototypeOf($);return Z?Z.constructor.name:void 0}catch(Z){return}}}var N6$=L(()=>{FJ();F6$();mr0()});class B6${match($){return om($)}coerce($,Z){let Q=$.constructor.name;return{type:Q,value:`${Q} captured as exception with keys: ${CW0($)}`,stack:Z.syntheticException?.stack,synthetic:!0}}}var D6$=L(()=>{FJ();mr0()});class L6${match($){return PW0($)}coerce($,Z){return{type:"Error",value:`Primitive value captured as exception: ${String($)}`,stack:Z.syntheticException?.stack,synthetic:!0}}}var O6$=L(()=>{FJ()});class j6${match($){return $T($,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection($)}isCustomEventWrappingRejection($){if(!om($))return!1;try{let Z=$.detail;return Z!=null&&typeof Z=="object"&&"reason"in Z}catch{return!1}}coerce($,Z){let Q=this.getUnhandledRejectionReason($);if(PW0(Q))return{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(Q)}`,stack:Z.syntheticException?.stack,synthetic:!0};return Z.apply(Q)}getUnhandledRejectionReason($){try{if("reason"in $)return $.reason;if("detail"in $&&$.detail!=null&&typeof $.detail=="object"&&"reason"in $.detail)return $.detail.reason}catch{}return $}}var w6$=L(()=>{FJ()});var E6$=L(()=>{Q6$();X6$();G6$();K6$();N6$();D6$();O6$();w6$()});class P6${constructor($){this._maxSize=$,this._cache=new Map}get($){let Z=this._cache.get($);if(Z===void 0)return;return this._cache.delete($),this._cache.set($,Z),Z}set($,Z){this._cache.set($,Z)}reduce(){while(this._cache.size>=this._maxSize){let $=this._cache.keys().next().value;if($)this._cache.delete($)}}}var z6$=()=>{};function cr0($){if(!$)return{...SW0};return{enabled:$.enabled??SW0.enabled,max_bytes:iY4($.max_bytes,SW0.max_bytes)}}function dY4($){if(!$)return{sanitizedProperties:{},droppedKeys:[]};let Z=[];return{sanitizedProperties:Object.keys($).reduce((Y,X)=>{if(cY4.has(X))return Z.push(X),Y;return Y[X]=$[X],Y},{}),droppedKeys:Z}}class A6${constructor($){this._entries=[],this._totalBytes=0,this._config=cr0($)}setConfig($){this._config=cr0($),this._trimToMaxBytes()}add($){let Z=pY4($);if(!Z)return;let Q=T6$(Z.json);if(Q>this._config.max_bytes)return;this._entries.push({step:Z.step,bytes:Q}),this._totalBytes+=Q,this._trimToMaxBytes()}getAttachable(){return this._entries.map(($)=>$.step)}clear(){this._entries=[],this._totalBytes=0}size(){return this._entries.length}_trimToMaxBytes(){while(this._totalBytes>this._config.max_bytes&&this._entries.length>0){let $=this._entries.shift();if($)this._totalBytes-=$.bytes}}}function iY4($,Z){if(!je($)||$===1/0||$===-1/0)return Z;let Q=Math.floor($);if(Q<0)return Z;return Q}function pY4($){let Z=nY4($);if(!Z)return;try{let Q=JSON.parse(Z);if(!Oe(Q))return;let Y=Q,X=Y[Te.MESSAGE],J=Y[Te.TIMESTAMP];if(!kw(X)||X.trim().length===0)return;if(!kw(J)&&!je(J))return;return{step:Y,json:Z}}catch{return}}function nY4($){let Z=new WeakSet;try{return JSON.stringify($,(Q,Y)=>{if(typeof Y=="bigint")return Y.toString();if(typeof Y=="function"||typeof Y=="symbol")return;if(Y instanceof Date)return Y.toISOString();if(Y instanceof Error)return{name:Y.name,message:Y.message,stack:Y.stack};if(Y&&typeof Y=="object"){if(Z.has(Y))return"[Circular]";Z.add(Y)}return Y})}catch{return}}function T6$($){if(typeof TextEncoder<"u")return new TextEncoder().encode($).length;let Z=encodeURIComponent($),Q=0;for(let Y=0;Y<Z.length;Y++)if(Z[Y]==="%")Q+=1,Y+=2;else Q+=1;return Q}var Te,cY4,SW0;var q6$=L(()=>{FJ();Te={MESSAGE:"$message",TIMESTAMP:"$timestamp"},cY4=new Set([Te.MESSAGE,Te.TIMESTAMP]),SW0={enabled:!0,max_bytes:32768}});var K3={};w6(K3,{winjsStackLineParser:()=>m4$,stripReservedExceptionStepFields:()=>dY4,reverseAndStripFrames:()=>r4$,resolveExceptionStepsConfig:()=>cr0,opera11StackLineParser:()=>i4$,opera10StackLineParser:()=>d4$,nodeStackLineParser:()=>t4$,getUtf8ByteLength:()=>T6$,geckoStackLineParser:()=>lr0,createStackParser:()=>e4$,createDefaultStackParser:()=>lY4,chromeStackLineParser:()=>ur0,StringCoercer:()=>W6$,ReduceableCache:()=>P6$,PromiseRejectionEventCoercer:()=>j6$,PrimitiveCoercer:()=>L6$,ObjectCoercer:()=>U6$,ExceptionStepsBuffer:()=>A6$,EventCoercer:()=>B6$,ErrorPropertiesBuilder:()=>g4$,ErrorEventCoercer:()=>J6$,ErrorCoercer:()=>Y6$,EXCEPTION_STEP_INTERNAL_FIELDS:()=>Te,DOMExceptionCoercer:()=>Z6$,DEFAULT_EXCEPTION_STEPS_CONFIG:()=>SW0});var R6$=L(()=>{h4$();$6$();E6$();z6$();q6$()});var QT=L(()=>{OW0();Tr0();xr0();I4$();Pe();k4$();R6$();FJ();v4$();gr0();b4$();eA()});import{createReadStream as tY4}from"fs";import{createInterface as oY4}from"readline";async function k6$($){let Z={};for(let X=$.length-1;X>=0;X--){let J=$[X],G=J?.filename;if(!J||typeof G!="string"||typeof J.lineno!="number"||ZX4(G)||QX4(J))continue;if(!Z[G])Z[G]=[];Z[G].push(J.lineno)}let Q=Object.keys(Z);if(Q.length==0)return $;let Y=[];for(let X of Q){if(I6$.get(X))continue;let J=Z[X];if(!J)continue;J.sort((K,H)=>K-H);let G=XX4(J);if(G.every((K)=>YX4(X,K)))continue;let W=JX4(_W0,X,{});Y.push(rY4(X,G,W))}if(await Promise.all(Y).catch(()=>{}),$&&$.length>0)eY4($,_W0);return _W0.reduce(),$}function rY4($,Z,Q){return new Promise((Y)=>{let X=tY4($),J=oY4({input:X});function G(){X.destroy(),Y()}let W=0,K=0,H=Z[K];if(H===void 0)return void G();let F=H[0],U=H[1];function N(){I6$.set($,1),J.close(),J.removeAllListeners(),G()}X.on("error",N),J.on("error",N),J.on("close",G),J.on("line",(B)=>{if(W++,W<F)return;if(Q[W]=GX4(B,0),W>=U){if(K===Z.length-1){J.close(),J.removeAllListeners();return}K++;let D=Z[K];if(D===void 0){J.close(),J.removeAllListeners();return}F=D[0],U=D[1]}})})}function eY4($,Z){for(let Q of $)if(Q.filename&&Q.context_line===void 0&&typeof Q.lineno=="number"){let Y=Z.get(Q.filename);if(Y===void 0)continue;$X4(Q.lineno,Q,Y)}}function $X4($,Z,Q){if(Z.lineno===void 0||Q===void 0)return;Z.pre_context=[];for(let X=C6$($);X<$;X++){let J=Q[X];if(J===void 0)return void M6$(Z);Z.pre_context.push(J)}if(Q[$]===void 0)return void M6$(Z);Z.context_line=Q[$];let Y=S6$($);Z.post_context=[];for(let X=$+1;X<=Y;X++){let J=Q[X];if(J===void 0)break;Z.post_context.push(J)}}function M6$($){delete $.pre_context,delete $.context_line,delete $.post_context}function ZX4($){return $.startsWith("node:")||$.endsWith(".min.js")||$.endsWith(".min.cjs")||$.endsWith(".min.mjs")||$.startsWith("data:")}function QX4($){if($.lineno!==void 0&&$.lineno>aY4)return!0;if($.colno!==void 0&&$.colno>sY4)return!0;return!1}function YX4($,Z){let Q=_W0.get($);if(Q===void 0)return!1;for(let Y=Z[0];Y<=Z[1];Y++)if(Q[Y]===void 0)return!1;return!0}function XX4($){if(!$.length)return[];let Z=0,Q=$[0];if(typeof Q!="number")return[];let Y=V6$(Q),X=[];while(!0){if(Z===$.length-1){X.push(Y);break}let J=$[Z+1];if(typeof J!="number")break;if(J<=Y[1])Y[1]=J+dr0;else X.push(Y),Y=V6$(J);Z++}return X}function V6$($){return[C6$($),S6$($)]}function C6$($){return Math.max(1,$-dr0)}function S6$($){return $+dr0}function JX4($,Z,Q){let Y=$.get(Z);if(Y===void 0)return $.set(Z,Q),Q;return Y}function GX4($,Z){let Q=$,Y=Q.length;if(Y<=150)return Q;if(Z>Y)Z=Y;let X=Math.max(Z-60,0);if(X<5)X=0;let J=Math.min(X+140,Y);if(J>Y-5)J=Y;if(J===Y)X=Math.max(J-140,0);if(Q=Q.slice(X,J),X>0)Q=`...${Q}`;if(J<Y)Q+="...";return Q}var _W0,I6$,dr0=7,sY4=1000,aY4=1e4;var _6$=L(()=>{QT();_W0=new K3.ReduceableCache(25),I6$=new K3.ReduceableCache(20)});import{isAbsolute as WX4,relative as KX4,sep as HX4}from"path";function v6$($=process.cwd()){let Z=HX4==="\\",Q=(X)=>Z?X.replace(/\\/g,"/"):X,Y=Q($);return async(X)=>{for(let J of X)if(!(!J.filename||J.filename.startsWith("node:")||J.filename.startsWith("data:"))){if(WX4(J.filename))J.filename=Q(KX4(Y,Q(J.filename)))}return X}}var b6$=()=>{};function FX4($,Z){let Q=!1;return Object.assign((Y)=>{let J=global.process.listeners("uncaughtException").filter((G)=>G.name!=="domainUncaughtExceptionClear"&&G._posthogErrorHandler!==!0).length===0;if($(Y,{mechanism:{type:"onuncaughtexception",handled:!1}}),!Q&&J)Q=!0,Z(Y)},{_posthogErrorHandler:!0})}function x6$($,Z){globalThis.process?.on("uncaughtException",FX4($,Z))}function f6$($){globalThis.process?.on("unhandledRejection",(Z)=>$(Z,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var y6$=()=>{};class UK{constructor($,Z,Q){this.client=$,this._exceptionAutocaptureEnabled=Z.enableExceptionAutocapture||!1,this._logger=Q,this._rateLimiter=new Vr0({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError($){return Oe($)&&"__posthog_previously_captured_error"in $&&$.__posthog_previously_captured_error===!0}static async buildEventMessage($,Z,Q,Y){let X={...Y},J=this.errorPropertiesBuilder.buildFromUnknown($,Z);return J.$exception_list=await this.errorPropertiesBuilder.modifyFrames(J.$exception_list),{event:"$exception",distinctId:Q,properties:{...J,...X},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){if(this.isEnabled())x6$(this.onException.bind(this),this.onFatalError.bind(this)),f6$(this.onException.bind(this))}onException($,Z){this.client.addPendingPromise((async()=>{if(!UK.isPreviouslyCapturedError($)){let Q=await UK.buildEventMessage($,Z),X=Q.properties?.$exception_list[0]?.type??"Exception";if(this._rateLimiter.consumeRateLimit(X))return void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:X});return this.client.capture(Q)}})())}async onFatalError($){console.error($),await this.client.shutdown(UX4),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}}var UX4=2000;var vW0=L(()=>{y6$();QT()});var g6$="5.30.6";var h6$=()=>{};var qe;var ir0=L(()=>{qe={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"}});async function u6$($){let Z=globalThis.crypto?.subtle;if(!Z)throw Error("SubtleCrypto API not available");let Q=await Z.digest("SHA-1",new TextEncoder().encode($));return Array.from(new Uint8Array(Q)).map((X)=>X.toString(16).padStart(2,"0")).join("")}var l6$=()=>{};class pr0{constructor({pollingInterval:$,personalApiKey:Z,projectApiKey:Q,timeout:Y,host:X,customHeaders:J,...G}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=$,this.personalApiKey=Z,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=Y,this.projectApiKey=Q,this.host=X,this.poller=void 0,this.fetch=G.fetch||fetch,this.onError=G.onError,this.customHeaders=J,this.onLoad=G.onLoad,this.cacheProvider=G.cacheProvider,this.strictLocalEvaluation=G.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug($=!0){this.debugMode=$}logMsgIfDebug($){if(this.debugMode)$()}createEvaluationContext($,Z={},Q={},Y={},X={}){return{distinctId:$,groups:Z,personProperties:Q,groupProperties:Y,evaluationCache:X}}async getFeatureFlag($,Z,Q={},Y={},X={}){await this.loadFeatureFlags();let J,G;if(!this.loadedSuccessfullyOnce)return J;if(G=this.featureFlagsByKey[$],G!==void 0){let W=this.createEvaluationContext(Z,Q,Y,X);try{J=(await this.computeFlagAndPayloadLocally(G,W)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${$} -> ${J}`))}catch(K){if(K instanceof tU||K instanceof E6)this.logMsgIfDebug(()=>console.debug(`${K.name} when computing flag locally: ${$}: ${K.message}`));else if(K instanceof Error)this.onError?.(Error(`Error computing flag locally: ${$}: ${K}`))}}return J}async getAllFlagsAndPayloads($,Z){await this.loadFeatureFlags();let Q={},Y={},X=this.featureFlags.length==0,J=Z?Z.map((W)=>this.featureFlagsByKey[W]).filter(Boolean):this.featureFlags,G={...$,evaluationCache:$.evaluationCache??{}};return await Promise.all(J.map(async(W)=>{try{let{value:K,payload:H}=await this.computeFlagAndPayloadLocally(W,G);if(Q[W.key]=K,H)Y[W.key]=H}catch(K){if(K instanceof tU||K instanceof E6)this.logMsgIfDebug(()=>console.debug(`${K.name} when computing flag locally: ${W.key}: ${K.message}`));else if(K instanceof Error)this.onError?.(Error(`Error computing flag locally: ${W.key}: ${K}`));X=!0}})),{response:Q,payloads:Y,fallbackToFlags:X}}async computeFlagAndPayloadLocally($,Z,Q={}){let{matchValue:Y,skipLoadCheck:X=!1}=Q;if(!X)await this.loadFeatureFlags();if(!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let J;J=Y!==void 0?Y:await this.computeFlagValueLocally($,Z);let G=this.getFeatureFlagPayload($.key,J);return{value:J,payload:G}}async computeFlagValueLocally($,Z){let{distinctId:Q,groups:Y,personProperties:X,groupProperties:J}=Z;if($.ensure_experience_continuity)throw new E6("Flag has experience continuity enabled");if(!$.active)return!1;let W=($.filters||{}).aggregation_group_type_index;if(W!=null){let K=this.groupTypeMapping[String(W)];if(!K)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${W} for feature flag ${$.key}`)),new E6("Flag has unknown group type index");if(!(K in Y))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${$.key} without group names passed in`)),!1;if($.bucketing_identifier==="device_id"&&(X?.$device_id===void 0||X?.$device_id===null||X?.$device_id===""))this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${$.key}`));let H=J[K];return await this.matchFeatureFlagProperties($,Y[K],H,Z)}{let K=this.getBucketingValueForFlag($,Q,X);if(K===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${$.key} without $device_id, falling back to server evaluation`)),new E6(`Can't compute feature flag: ${$.key} without $device_id`);return await this.matchFeatureFlagProperties($,K,X,Z)}}getBucketingValueForFlag($,Z,Q){if($.filters?.aggregation_group_type_index!=null)return Z;if($.bucketing_identifier==="device_id"){let Y=Q?.$device_id;if(Y==null||Y==="")return;return Y}return Z}getFeatureFlagPayload($,Z){let Q=null;if(Z!==!1&&Z!=null){if(typeof Z=="boolean")Q=this.featureFlagsByKey?.[$]?.filters?.payloads?.[Z.toString()]||null;else if(typeof Z=="string")Q=this.featureFlagsByKey?.[$]?.filters?.payloads?.[Z]||null;if(Q!=null){if(typeof Q=="object")return Q;if(typeof Q=="string")try{return JSON.parse(Q)}catch{}return Q}}return null}async evaluateFlagDependency($,Z,Q){let{evaluationCache:Y}=Q,X=$.key;if(!this.featureFlagsByKey)throw new E6("Feature flags not available for dependency evaluation");if(!("dependency_chain"in $))throw new E6(`Flag dependency property for '${X}' is missing required 'dependency_chain' field`);let J=$.dependency_chain;if(!Array.isArray(J))throw new E6(`Flag dependency property for '${X}' has an invalid 'dependency_chain' (expected array, got ${typeof J})`);if(J.length===0)throw new E6(`Circular dependency detected for flag '${X}' (empty dependency chain)`);for(let W of J){if(!(W in Y)){let H=this.featureFlagsByKey[W];if(H)if(H.active)try{let F=await this.computeFlagValueLocally(H,Q);Y[W]=F}catch(F){throw new E6(`Error evaluating flag dependency '${W}' for flag '${X}': ${F}`)}else Y[W]=!1;else throw new E6(`Missing flag dependency '${W}' for flag '${X}'`)}if(Y[W]==null)throw new E6(`Dependency '${W}' could not be evaluated`)}let G=Y[X];return this.flagEvaluatesToExpectedValue($.value,G)}flagEvaluatesToExpectedValue($,Z){if(typeof $=="boolean")return $===Z||typeof Z=="string"&&Z!==""&&$===!0;if(typeof $=="string")return Z===$;return!1}async matchFeatureFlagProperties($,Z,Q,Y){let X=$.filters||{},J=X.groups||[],G=!1,W;for(let K of J)try{if(await this.isConditionMatch($,Z,K,Q,Y)){let H=K.variant,F=X.multivariate?.variants||[];W=H&&F.some((U)=>U.key===H)?H:await this.getMatchingVariant($,Z)||!0;break}}catch(H){if(H instanceof tU)throw H;if(H instanceof E6)G=!0;else throw H}if(W!==void 0)return W;if(G)throw new E6("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch($,Z,Q,Y,X){let J=Q.rollout_percentage,G=(W)=>{this.logMsgIfDebug(()=>console.warn(W))};if((Q.properties||[]).length>0){for(let W of Q.properties){let K=W.type,H=!1;if(H=K==="cohort"?p6$(W,Y,this.cohorts,this.debugMode):K==="flag"?await this.evaluateFlagDependency(W,Y,X):i6$(W,Y,G),!H)return!1}if(J==null)return!0}if(J!=null&&await m6$($.key,Z)>J/100)return!1;return!0}async getMatchingVariant($,Z){let Q=await m6$($.key,Z,"variant"),Y=this.variantLookupTable($).find((X)=>Q>=X.valueMin&&Q<X.valueMax);if(Y)return Y.key}variantLookupTable($){let Z=[],Q=0,Y=0;return(($.filters||{}).multivariate?.variants||[]).forEach((G)=>{Y=Q+G.rollout_percentage/100,Z.push({valueMin:Q,valueMax:Y,key:G.key}),Q=Y}),Z}updateFlagState($){this.featureFlags=$.flags,this.featureFlagsByKey=$.flags.reduce((Z,Q)=>(Z[Q.key]=Q,Z),{}),this.groupTypeMapping=$.groupTypeMapping,this.cohorts=$.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags($){if(this.strictLocalEvaluation)return;let Z=$.filter((Q)=>Q.ensure_experience_continuity);if(Z.length>0)console.warn(`[PostHog] You are using local evaluation but ${Z.length} flag(s) have experience continuity enabled: ${Z.map((Q)=>Q.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache($){if(!this.cacheProvider)return!1;try{let Z=await this.cacheProvider.getFlagDefinitions();if(Z)return this.updateFlagState(Z),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${$} (${Z.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(Z.flags),!0;return!1}catch(Z){return this.onError?.(Error(`Failed to load from cache: ${Z}`)),!1}}async loadFeatureFlags($=!1){if(this.loadedSuccessfullyOnce&&!$)return;if(!$&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt)return void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period"));if(!this.loadingPromise)this.loadingPromise=this._loadFeatureFlags().catch((Z)=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${Z}`))).finally(()=>{this.loadingPromise=void 0});return this.loadingPromise}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){if(!this.shouldBeginExponentialBackoff)return this.pollingInterval;return Math.min(NX4,this.pollingInterval*2**this.backOffCount)}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){if(this.poller)clearTimeout(this.poller),this.poller=void 0;this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let $=!0;if(this.cacheProvider)try{$=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(Q){this.onError?.(Error(`Error in shouldFetchFlagDefinitions: ${Q}`))}if(!$){if(await this.loadFromCache("Loaded flags from cache (skipped fetch)"))return;if(this.loadedSuccessfullyOnce)return}let Z=await this._requestFeatureFlagDefinitions();if(!Z)return;switch(Z.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=Z.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new em(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new em(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new em(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let Q=await Z.json()??{};if(!("flags"in Q))return void this.onError?.(Error(`Invalid response when getting feature flags: ${JSON.stringify(Q)}`));this.flagsEtag=Z.headers?.get("ETag")??void 0;let Y={flags:Q.flags??[],groupTypeMapping:Q.group_type_mapping||{},cohorts:Q.cohorts||{}};if(this.updateFlagState(Y),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&$)try{await this.cacheProvider.onFlagDefinitionsReceived(Y)}catch(X){this.onError?.(Error(`Failed to store in cache: ${X}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(Y.flags);break}default:return}}catch($){if($ instanceof em)this.onError?.($)}}getPersonalApiKeyRequestOptions($="GET",Z){let Q={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};if(Z)Q["If-None-Match"]=Z;return{method:$,headers:Q}}_requestFeatureFlagDefinitions(){let $=`${this.host}/flags/definitions?token=${this.projectApiKey}&send_cohorts`,Z=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),Q=null;if(this.timeout&&typeof this.timeout=="number"){let Y=new AbortController;Q=$L(()=>{Y.abort()},this.timeout),Z.signal=Y.signal}try{let Y=this.fetch;return Y($,Z)}finally{clearTimeout(Q)}}async stopPoller($=30000){if(clearTimeout(this.poller),this.cacheProvider)try{let Z=this.cacheProvider.shutdown();if(Z instanceof Promise)await Promise.race([Z,new Promise((Q,Y)=>setTimeout(()=>Y(Error(`Cache shutdown timeout after ${$}ms`)),$))])}catch(Z){this.onError?.(Error(`Error during cache shutdown: ${Z}`))}}}async function m6$($,Z,Q=""){let Y=await u6$(`${$}.${Z}${Q}`);return parseInt(Y.slice(0,15),16)/BX4}function i6$($,Z,Q){let{key:Y,value:X}=$,J=$.operator||"exact";if(Y in Z){if(J==="is_not_set")throw new E6("Operator is_not_set is not supported")}else throw new E6(`Property ${Y} not found in propertyValues`);let G=Z[Y];if(G==null&&!DX4.includes(J)){if(Q)Q(`Property ${Y} cannot have a value of null/undefined with the ${J} operator`);return!1}function W(H,F){if(Array.isArray(H))return H.map((U)=>String(U).toLowerCase()).includes(String(F).toLowerCase());return String(H).toLowerCase()===String(F).toLowerCase()}function K(H,F,U){if(U==="gt")return H>F;if(U==="gte")return H>=F;if(U==="lt")return H<F;if(U==="lte")return H<=F;throw Error(`Invalid operator: ${U}`)}switch(J){case"exact":return W(X,G);case"is_not":return!W(X,G);case"is_set":return Y in Z;case"icontains":return String(G).toLowerCase().includes(String(X).toLowerCase());case"not_icontains":return!String(G).toLowerCase().includes(String(X).toLowerCase());case"regex":return c6$(String(X))&&String(G).match(String(X))!==null;case"not_regex":return c6$(String(X))&&String(G).match(String(X))===null;case"gt":case"gte":case"lt":case"lte":{let H=typeof X=="number"?X:null;if(typeof X=="string")try{H=parseFloat(X)}catch(F){}if(H==null||G==null)return K(String(G),String(X),J);if(typeof G=="string")return K(G,String(X),J);return K(G,H,J)}case"is_date_after":case"is_date_before":{if(typeof X=="boolean")throw new E6("Date operations cannot be performed on boolean values");let H=EX4(String(X));if(H==null)H=d6$(X);if(H==null)throw new E6(`Invalid date: ${X}`);let F=d6$(G);if(["is_date_before"].includes(J))return F<H;return F>H}case"semver_eq":return NK(KY(String(G)),KY(String(X)))===0;case"semver_neq":return NK(KY(String(G)),KY(String(X)))!==0;case"semver_gt":return NK(KY(String(G)),KY(String(X)))>0;case"semver_gte":return NK(KY(String(G)),KY(String(X)))>=0;case"semver_lt":return NK(KY(String(G)),KY(String(X)))<0;case"semver_lte":return NK(KY(String(G)),KY(String(X)))<=0;case"semver_tilde":{let H=KY(String(G)),{lower:F,upper:U}=OX4(String(X));return NK(H,F)>=0&&NK(H,U)<0}case"semver_caret":{let H=KY(String(G)),{lower:F,upper:U}=jX4(String(X));return NK(H,F)>=0&&NK(H,U)<0}case"semver_wildcard":{let H=KY(String(G)),{lower:F,upper:U}=wX4(String(X));return NK(H,F)>=0&&NK(H,U)<0}default:throw new E6(`Unknown operator: ${J}`)}}function LX4($,Z){if(!($ in Z))throw new tU(`cohort ${$} not found in local cohorts - likely a static cohort that requires server evaluation`)}function p6$($,Z,Q,Y=!1){let X=String($.value);LX4(X,Q);let J=Q[X];return n6$(J,Z,Q,Y)}function n6$($,Z,Q,Y=!1){if(!$)return!0;let{type:X,values:J}=$;if(!J||J.length===0)return!0;let G=!1;if("values"in J[0]){for(let W of J)try{let K=n6$(W,Z,Q,Y);if(X==="AND"){if(!K)return!1}else if(K)return!0}catch(K){if(K instanceof tU)throw K;if(K instanceof E6){if(Y)console.debug(`Failed to compute property ${W} locally: ${K}`);G=!0}else throw K}if(G)throw new E6("Can't match cohort without a given cohort property value");return X==="AND"}for(let W of J)try{let K;if(W.type==="cohort")K=p6$(W,Z,Q,Y);else if(W.type==="flag"){if(Y)console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${W.key||"unknown"}'`);continue}else K=i6$(W,Z);let H=W.negation||!1;if(X==="AND"){if(!K&&!H)return!1;if(K&&H)return!1}else{if(K&&!H)return!0;if(!K&&H)return!0}}catch(K){if(K instanceof tU)throw K;if(K instanceof E6){if(Y)console.debug(`Failed to compute property ${W} locally: ${K}`);G=!0}else throw K}if(G)throw new E6("can't match cohort without a given cohort property value");return X==="AND"}function c6$($){try{return new RegExp($),!0}catch(Z){return!1}}function KY($){let Q=String($).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!Q||Q.startsWith("."))throw new E6(`Invalid semver: ${$}`);let Y=Q.split("."),X=(K)=>{if(K===void 0||K==="")return 0;if(!/^\d+$/.test(K))throw new E6(`Invalid semver: ${$}`);return parseInt(K,10)},J=X(Y[0]),G=X(Y[1]),W=X(Y[2]);return[J,G,W]}function NK($,Z){for(let Q=0;Q<3;Q++){if($[Q]<Z[Q])return-1;if($[Q]>Z[Q])return 1}return 0}function OX4($){let Z=KY($),Q=[Z[0],Z[1],Z[2]],Y=[Z[0],Z[1]+1,0];return{lower:Q,upper:Y}}function jX4($){let Z=KY($),[Q,Y,X]=Z,J=[Q,Y,X],G;return G=Q>0?[Q+1,0,0]:Y>0?[0,Y+1,0]:[0,0,X+1],{lower:J,upper:G}}function wX4($){let Q=String($).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!Q)throw new E6(`Invalid wildcard semver: ${$}`);let Y=Q.split("."),X=parseInt(Y[0],10);if(isNaN(X))throw new E6(`Invalid wildcard semver: ${$}`);let J,G;if(Y.length===1)J=[X,0,0],G=[X+1,0,0];else{let W=parseInt(Y[1],10);if(isNaN(W))throw new E6(`Invalid wildcard semver: ${$}`);J=[X,W,0],G=[X,W+1,0]}return{lower:J,upper:G}}function d6$($){if($ instanceof Date)return $;if(typeof $=="string"||typeof $=="number"){let Z=new Date($);if(!isNaN(Z.valueOf()))return Z;throw new E6(`${$} is in an invalid date format`)}throw new E6(`The date provided ${$} must be a string, number, or date object`)}function EX4($){let Z=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,Q=$.match(Z),Y=new Date(new Date().toISOString());if(!Q)return null;{if(!Q.groups)return null;let X=parseInt(Q.groups.number);if(X>=1e4)return null;let J=Q.groups.interval;if(J=="h")Y.setUTCHours(Y.getUTCHours()-X);else if(J=="d")Y.setUTCDate(Y.getUTCDate()-X);else if(J=="w")Y.setUTCDate(Y.getUTCDate()-7*X);else if(J=="m")Y.setUTCMonth(Y.getUTCMonth()-X);else{if(J!="y")return null;Y.setUTCFullYear(Y.getUTCFullYear()-X)}return Y}}var NX4=60000,BX4=1152921504606847000,DX4,em,E6,tU;var t6$=L(()=>{QT();l6$();DX4=["is_not"];em=class em extends Error{constructor($){super();Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=$,Object.setPrototypeOf(this,em.prototype)}};E6=class E6 extends Error{constructor($){super($);this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,E6.prototype)}};tU=class tU extends Error{constructor($){super($);this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,tU.prototype)}}});class nr0{getProperty($){return this._memoryStorage[$]}setProperty($,Z){this._memoryStorage[$]=Z!==null?Z:void 0}constructor(){this._memoryStorage={}}}var o6$=()=>{};function RX4($){return typeof $=="string"?$.trim():""}function MX4($){return(typeof $=="string"?$.trim():"")||void 0}function VX4($){return(typeof $=="string"?$.trim():"")||qX4}var PX4=100,s6$=30000,zX4=50000,AX4=50,TX4=500,qX4="https://us.i.posthog.com",tr0;var a6$=L(()=>{h6$();QT();ir0();t6$();vW0();o6$();tr0=class tr0 extends MW0{constructor($,Z={}){let Q=RX4($),Y={...Z,host:VX4(Z.host),personalApiKey:MX4(Z.personalApiKey)};if(super(Q,Y),this._memoryStorage=new nr0,this.options=Y,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof Y.featureFlagsPollingInterval=="number"?Math.max(Y.featureFlagsPollingInterval,PX4):s6$,typeof Y.waitUntilDebounceMs=="number")this.options.waitUntilDebounceMs=Math.max(Y.waitUntilDebounceMs,0);if(typeof Y.waitUntilMaxWaitMs=="number")this.options.waitUntilMaxWaitMs=Math.max(Y.waitUntilMaxWaitMs,0);if(Y.personalApiKey){if(Y.personalApiKey.includes("phc_"))throw Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');if(Y.enableLocalEvaluation!==!1)this.featureFlagsPoller=new pr0({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:Y.personalApiKey,projectApiKey:Q,timeout:Y.requestTimeout??1e4,host:this.host,fetch:Y.fetch,onError:(J)=>{this._events.emit("error",J)},onLoad:(J)=>{this._events.emit("localEvaluationFlagsLoaded",J)},customHeaders:this.getCustomHeaders(),cacheProvider:Y.flagDefinitionCacheProvider,strictLocalEvaluation:Y.strictLocalEvaluation})}this.errorTracking=new UK(this,Y,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=Y.maxCacheSize||zX4}enqueue($,Z,Q){super.enqueue($,Z,Q),this.scheduleDebouncedFlush()}async flush(){let $=super.flush(),Z=this.options.waitUntil;if(Z&&!this._waitUntilCycle)try{Z($.catch(()=>{}))}catch{}return $}scheduleDebouncedFlush(){let $=this.options.waitUntil;if(!$)return;if(this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let J,G=new Promise((W)=>{J=W});try{$(G)}catch{return}this._waitUntilCycle={resolve:J,startedAt:Date.now(),timer:void 0}}let Z=Date.now()-this._waitUntilCycle.startedAt,Q=this.options.waitUntilMaxWaitMs??TX4,Y=Z>=Q;if(this._waitUntilCycle.timer!==void 0)clearTimeout(this._waitUntilCycle.timer);if(Y)return void this.resolveWaitUntilFlush();let X=this.options.waitUntilDebounceMs??AX4;this._waitUntilCycle.timer=$L(()=>{this.resolveWaitUntilFlush()},X)}_consumeWaitUntilCycle(){let $=this._waitUntilCycle;if($)clearTimeout($.timer),this._waitUntilCycle=void 0;return $?.resolve}async resolveWaitUntilFlush(){let $=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{$?.()}}getPersistedProperty($){return this._memoryStorage.getProperty($)}setPersistedProperty($,Z){return this._memoryStorage.setProperty($,Z)}fetch($,Z){return this.options.fetch?this.options.fetch($,Z):fetch($,Z)}getLibraryVersion(){return g6$}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug($=!0){super.debug($),this.featureFlagsPoller?.debug($)}capture($){if(typeof $=="string")this._logger.warn("Called capture() with a string as the first argument when an object was expected.");if($.event==="$exception"&&!$._originatedFromCaptureException)this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically.");this.addPendingPromise(this.prepareEventMessage($).then(({distinctId:Z,event:Q,properties:Y,options:X})=>super.captureStateless(Z,Q,Y,{timestamp:X.timestamp,disableGeoip:X.disableGeoip,uuid:X.uuid})).catch((Z)=>{if(Z)console.error(Z)}))}async captureImmediate($){if(typeof $=="string")this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected.");if($.event==="$exception"&&!$._originatedFromCaptureException)this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default.");return this.addPendingPromise(this.prepareEventMessage($).then(({distinctId:Z,event:Q,properties:Y,options:X})=>super.captureStatelessImmediate(Z,Q,Y,{timestamp:X.timestamp,disableGeoip:X.disableGeoip,uuid:X.uuid})).catch((Z)=>{if(Z)console.error(Z)}))}identify({distinctId:$,properties:Z={},disableGeoip:Q}){let{$set:Y,$set_once:X,$anon_distinct_id:J,...G}=Z,H={$set:Y||G,$set_once:X||{},$anon_distinct_id:J??void 0};super.identifyStateless($,H,{disableGeoip:Q})}async identifyImmediate({distinctId:$,properties:Z={},disableGeoip:Q}){let{$set:Y,$set_once:X,$anon_distinct_id:J,...G}=Z,H={$set:Y||G,$set_once:X||{},$anon_distinct_id:J??void 0};super.identifyStatelessImmediate($,H,{disableGeoip:Q})}alias($){super.aliasStateless($.alias,$.distinctId,void 0,{disableGeoip:$.disableGeoip})}async aliasImmediate($){await super.aliasStatelessImmediate($.alias,$.distinctId,void 0,{disableGeoip:$.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady($=s6$){if(this.isLocalEvaluationReady())return!0;if(this.featureFlagsPoller===void 0)return!1;return new Promise((Z)=>{let Q=setTimeout(()=>{Y(),Z(!1)},$),Y=this._events.on("localEvaluationFlagsLoaded",(X)=>{clearTimeout(Q),Y(),Z(X>0)})})}_resolveDistinctId($,Z){if(typeof $=="string")return{distinctId:$,options:Z};return{distinctId:this.context?.get()?.distinctId,options:$}}async _getFeatureFlagResult($,Z,Q={},Y){let X=Q.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&$ in this._flagOverrides){let z=this._flagOverrides[$];if(z===void 0)return;let A=this._payloadOverrides?.[$];return{key:$,enabled:z!==!1,variant:typeof z=="string"?z:void 0,payload:A}}let{groups:J,disableGeoip:G}=Q,{onlyEvaluateLocally:W,personProperties:K,groupProperties:H}=Q,F=this.addLocalPersonAndGroupProperties(Z,J,K,H);K=F.allPersonProperties,H=F.allGroupProperties;let U=this.createFeatureFlagEvaluationContext(Z,J,K,H);if(W==null)W=this.options.strictLocalEvaluation??!1;let N,B=!1,D,O,j,w,E,P;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let z=this.featureFlagsPoller?.featureFlagsByKey[$];if(z)try{let A=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(z,U,{matchValue:Y});if(A){B=!0;let R=A.value;w=z.id,P="Evaluated locally",N={key:$,enabled:R!==!1,variant:typeof R=="string"?R:void 0,payload:A.payload??void 0}}}catch(A){if(A instanceof tU||A instanceof E6)this._logger?.info(`${A.name} when computing flag locally: ${$}: ${A.message}`);else throw A}}if(!B&&!W){let z=await super.getFeatureFlagDetailsStateless(U.distinctId,U.groups,U.personProperties,U.groupProperties,G,[$]);if(z===void 0)j=qe.UNKNOWN_ERROR;else{D=z.requestId,O=z.evaluatedAt;let A=[];if(z.errorsWhileComputingFlags)A.push(qe.ERRORS_WHILE_COMPUTING);if(z.quotaLimited?.includes("feature_flags"))A.push(qe.QUOTA_LIMITED);let R=z.flags[$];if(R===void 0)A.push(qe.FLAG_MISSING);else{w=R.metadata?.id,E=R.metadata?.version,P=R.reason?.description??R.reason?.code;let f;if(R.metadata?.payload!==void 0)try{f=JSON.parse(R.metadata.payload)}catch{f=R.metadata.payload}N={key:$,enabled:R.enabled,variant:R.variant,payload:f}}if(A.length>0)j=A.join(",")}}if(X){let z=N===void 0?void 0:N.enabled===!1?!1:N.variant??!0,A=`${$}_${z}`;if(!(Z in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[Z].includes(A)){if(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize)this.distinctIdHasSentFlagCalls={};if(Array.isArray(this.distinctIdHasSentFlagCalls[Z]))this.distinctIdHasSentFlagCalls[Z].push(A);else this.distinctIdHasSentFlagCalls[Z]=[A];let R={$feature_flag:$,$feature_flag_response:z,$feature_flag_id:w,$feature_flag_version:E,$feature_flag_reason:P,locally_evaluated:B,[`$feature/${$}`]:z,$feature_flag_request_id:D,$feature_flag_evaluated_at:B?Date.now():O};if(B&&this.featureFlagsPoller){let f=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();if(f!==void 0)R.$feature_flag_definitions_loaded_at=f}if(j)R.$feature_flag_error=j;this.capture({distinctId:Z,event:"$feature_flag_called",properties:R,groups:J,disableGeoip:G})}}if(N!==void 0&&this._payloadOverrides!==void 0&&$ in this._payloadOverrides)N={...N,payload:this._payloadOverrides[$]};return N}async getFeatureFlag($,Z,Q){let Y=await this._getFeatureFlagResult($,Z,{...Q,sendFeatureFlagEvents:Q?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(Y===void 0)return;if(Y.enabled===!1)return!1;return Y.variant??!0}async getFeatureFlagPayload($,Z,Q,Y){if(this._payloadOverrides!==void 0&&$ in this._payloadOverrides)return this._payloadOverrides[$];let X=await this._getFeatureFlagResult($,Z,{...Y,sendFeatureFlagEvents:!1},Q);if(X===void 0)return;return X.payload??null}async getFeatureFlagResult($,Z,Q){let{distinctId:Y,options:X}=this._resolveDistinctId(Z,Q);if(!Y)return void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()");return this._getFeatureFlagResult($,Y,{...X,sendFeatureFlagEvents:X?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0})}async getRemoteConfigPayload($){if(!this.options.personalApiKey)throw Error("Personal API key is required for remote config payload decryption");let Z=await this._requestRemoteConfigPayload($);if(!Z)return;let Q=await Z.json();if(typeof Q=="string")try{return JSON.parse(Q)}catch(Y){}return Q}async isFeatureEnabled($,Z,Q){let Y=await this.getFeatureFlag($,Z,Q);if(Y===void 0)return;return!!Y||!1}async getAllFlags($,Z){let{distinctId:Q,options:Y}=this._resolveDistinctId($,Z);if(!Q)return this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{};return(await this.getAllFlagsAndPayloads(Q,Y)).featureFlags||{}}async getAllFlagsAndPayloads($,Z){let{distinctId:Q,options:Y}=this._resolveDistinctId($,Z);if(!Q)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:X,disableGeoip:J,flagKeys:G}=Y||{},{onlyEvaluateLocally:W,personProperties:K,groupProperties:H}=Y||{},F=this.addLocalPersonAndGroupProperties(Q,X,K,H);K=F.allPersonProperties,H=F.allGroupProperties;let U=this.createFeatureFlagEvaluationContext(Q,X,K,H);if(W==null)W=this.options.strictLocalEvaluation??!1;let N=await this.featureFlagsPoller?.getAllFlagsAndPayloads(U,G),B={},D={},O=!0;if(N)B=N.response,D=N.payloads,O=N.fallbackToFlags;if(O&&!W){let j=await super.getFeatureFlagsAndPayloadsStateless(U.distinctId,U.groups,U.personProperties,U.groupProperties,J,G);B={...B,...j.flags||{}},D={...D,...j.payloads||{}}}if(this._flagOverrides!==void 0)B={...B,...this._flagOverrides};if(this._payloadOverrides!==void 0)D={...D,...this._payloadOverrides};return{featureFlags:B,featureFlagPayloads:D}}groupIdentify({groupType:$,groupKey:Z,properties:Q,distinctId:Y,disableGeoip:X}){super.groupIdentifyStateless($,Z,Q,{disableGeoip:X},Y)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags($){let Z=(Q)=>Object.fromEntries(Q.map((Y)=>[Y,!0]));if($===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray($)){this._flagOverrides=Z($);return}if(this._isFeatureFlagOverrideOptions($)){if("flags"in $){if($.flags===!1)this._flagOverrides=void 0;else if(Array.isArray($.flags))this._flagOverrides=Z($.flags);else if($.flags!==void 0)this._flagOverrides={...$.flags}}if("payloads"in $){if($.payloads===!1)this._payloadOverrides=void 0;else if($.payloads!==void 0)this._payloadOverrides={...$.payloads}}return}this._flagOverrides={...$}}_isFeatureFlagOverrideOptions($){if(typeof $!="object"||$===null||Array.isArray($))return!1;let Z=$;if("flags"in Z){let Q=Z.flags;if(Q===!1||Array.isArray(Q)||typeof Q=="object"&&Q!==null)return!0}if("payloads"in Z){let Q=Z.payloads;if(Q===!1||typeof Q=="object"&&Q!==null)return!0}return!1}withContext($,Z,Q){if(!this.context)return Z();return this.context.run($,Z,Q)}getContext(){return this.context?.get()}enterContext($,Z){this.context?.enter($,Z)}async _shutdown($){let Z=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller($),this.errorTracking.shutdown();try{return await super._shutdown($)}finally{Z?.()}}async _requestRemoteConfigPayload($){if(!this.options.personalApiKey)return;let Z=`${this.host}/api/projects/@current/feature_flags/${$}/remote_config?token=${encodeURIComponent(this.apiKey)}`,Q={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},Y=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let X=new AbortController;Y=$L(()=>{X.abort()},this.options.requestTimeout),Q.signal=X.signal}try{return await this.fetch(Z,Q)}catch(X){this._events.emit("error",X);return}finally{if(Y)clearTimeout(Y)}}extractPropertiesFromEvent($,Z){if(!$)return{personProperties:{},groupProperties:{}};let Q={},Y={};for(let[X,J]of Object.entries($))if(H4$(J)&&Z&&X in Z){let G={};for(let[W,K]of Object.entries(J))G[String(W)]=String(K);Y[String(X)]=G}else Q[String(X)]=String(J);return{personProperties:Q,groupProperties:Y}}async getFeatureFlagsForEvent($,Z,Q,Y){let X=Y?.personProperties||{},J=Y?.groupProperties||{},G=Y?.flagKeys;if(Y?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if(!((this.featureFlagsPoller?.featureFlags?.length||0)>0))return{};else{let K={};for(let[H,F]of Object.entries(Z||{}))K[H]=String(F);return await this.getAllFlags($,{groups:K,personProperties:X,groupProperties:J,disableGeoip:Q,onlyEvaluateLocally:!0,flagKeys:G})}if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let K={};for(let[H,F]of Object.entries(Z||{}))K[H]=String(F);return await this.getAllFlags($,{groups:K,personProperties:X,groupProperties:J,disableGeoip:Q,onlyEvaluateLocally:!0,flagKeys:G})}return(await super.getFeatureFlagsStateless($,Z,X,J,Q)).flags}addLocalPersonAndGroupProperties($,Z,Q,Y){let X={distinct_id:$,...Q||{}},J={};if(Z)for(let G of Object.keys(Z))J[G]={$group_key:Z[G],...Y?.[G]||{}};return{allPersonProperties:X,allGroupProperties:J}}createFeatureFlagEvaluationContext($,Z,Q,Y){return{distinctId:$,groups:Z||{},personProperties:Q||{},groupProperties:Y||{},evaluationCache:{}}}captureException($,Z,Q,Y){if(!UK.isPreviouslyCapturedError($)){let X=Error("PostHog syntheticException");this.addPendingPromise(UK.buildEventMessage($,{syntheticException:X},Z,Q).then((J)=>this.capture({...J,uuid:Y})))}}async captureExceptionImmediate($,Z,Q){if(!UK.isPreviouslyCapturedError($)){let Y=Error("PostHog syntheticException");return this.addPendingPromise(UK.buildEventMessage($,{syntheticException:Y},Z,Q).then((X)=>this.captureImmediate(X)))}}async prepareEventMessage($){let{distinctId:Z,event:Q,properties:Y,groups:X,sendFeatureFlags:J,timestamp:G,disableGeoip:W,uuid:K}=$,H=this.context?.get(),F=Z||H?.distinctId,U={...this.props,...H?.properties||{},...Y||{}};if(!F)F=Cw(),U.$process_person_profile=!1;if(H?.sessionId&&!U.$session_id)U.$session_id=H.sessionId;let N=this._runBeforeSend({distinctId:F,event:Q,properties:U,groups:X,sendFeatureFlags:J,timestamp:G,disableGeoip:W,uuid:K});if(!N)return Promise.reject(null);let B=await Promise.resolve().then(async()=>{if(J){let D=typeof J=="object"?J:void 0;return await this.getFeatureFlagsForEvent(N.distinctId,X,W,D)}return N.event,{}}).then((D)=>{let O={};if(D)for(let[w,E]of Object.entries(D))O[`$feature/${w}`]=E;let j=Object.keys(D||{}).filter((w)=>D?.[w]!==!1).sort();if(j.length>0)O.$active_feature_flags=j;return O}).catch(()=>({})).then((D)=>{return{...D,...N.properties||{},$groups:N.groups||X}});if(N.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof B.$raw_user_agent=="string"){if(X4$(B.$raw_user_agent,this.options.custom_blocked_useragents||[]))N.event="$bot_pageview",B.$browser_type="bot"}return{distinctId:N.distinctId,event:N.event,properties:B,options:{timestamp:N.timestamp,disableGeoip:N.disableGeoip,uuid:N.uuid}}}_runBeforeSend($){let Z=this.options.before_send;if(!Z)return $;let Q=Array.isArray(Z)?Z:[Z],Y=$;for(let X of Q){if(Y=X(Y),!Y)return this._logger.info(`Event '${$.event}' was rejected in beforeSend function`),null;if(!Y.properties||Object.keys(Y.properties).length===0){let J=`Event '${Y.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(J)}}return Y}}});import{AsyncLocalStorage as IX4}from"async_hooks";class or0{constructor(){this.storage=new IX4}get(){return this.storage.getStore()}run($,Z,Q){return this.storage.run(this.resolve($,Q),Z)}enter($,Z){this.storage.enterWith(this.resolve($,Z))}resolve($,Z){if(Z?.fresh===!0)return $;let Q=this.get()||{};return{distinctId:$.distinctId??Q.distinctId,sessionId:$.sessionId??Q.sessionId,properties:{...Q.properties||{},...$.properties||{}}}}}var r6$=()=>{};function kX4($,{organization:Z,projectId:Q,prefix:Y,severityAllowList:X=["error"],sendExceptionsToPostHog:J=!0}={}){return(G)=>{if(!(X==="*"||X.includes(G.level)))return G;if(!G.tags)G.tags={};let K=G.tags[e6$.POSTHOG_ID_TAG];if(K===void 0)return G;let H=$.options.host??"https://us.i.posthog.com",F=new URL(`/project/${$.apiKey}/person/${K}`,H).toString();G.tags["PostHog Person URL"]=F;let U=G.exception?.values||[],N=U.map((D)=>({...D,stacktrace:D.stacktrace?{...D.stacktrace,type:"raw",frames:(D.stacktrace.frames||[]).map((O)=>({...O,platform:"node:javascript"}))}:void 0})),B={$exception_message:U[0]?.value||G.message,$exception_type:U[0]?.type,$exception_level:G.level,$exception_list:N,$sentry_event_id:G.event_id,$sentry_exception:G.exception,$sentry_exception_message:U[0]?.value||G.message,$sentry_exception_type:U[0]?.type,$sentry_tags:G.tags};if(Z&&Q)B.$sentry_url=(Y||"https://sentry.io/organizations/")+Z+"/issues/?project="+Q+"&query="+G.event_id;if(J)$.capture({event:"$exception",distinctId:K,properties:B});return G}}var e6$;var $5$=L(()=>{e6$=class e6${static#$=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor($,Z,Q,Y,X){this.name="posthog-node",this.name="posthog-node",this.setupOnce=function(J,G){let W=G()?.getClient()?.getDsn()?.projectId;J(kX4($,{organization:Z,projectId:W,prefix:Q,severityAllowList:Y,sendExceptionsToPostHog:X??!0}))}}}});var Z5$=L(()=>{vW0()});var Q5$=L(()=>{QT();$5$();Z5$();ir0()});var sr0;var Y5$=L(()=>{$4$();_6$();b6$();vW0();a6$();QT();r6$();Q5$();UK.errorPropertiesBuilder=new K3.ErrorPropertiesBuilder([new K3.EventCoercer,new K3.ErrorCoercer,new K3.ObjectCoercer,new K3.StringCoercer,new K3.PrimitiveCoercer],K3.createStackParser("node:javascript",K3.nodeStackLineParser),[e8$(),k6$,v6$()]);sr0=class sr0 extends tr0{getLibraryId(){return"posthog-node"}initializeContext(){return new or0}}});import{createHash as CX4}from"crypto";function SX4(){return{capture:()=>{},identify:()=>{},captureException:()=>{},groupIdentify:()=>{},shutdown:async()=>{}}}function J5$($){let Z=CX4("sha256").update($).digest();Z[6]=(Z[6]??0)&15|64,Z[8]=(Z[8]??0)&63|128;let Q=Z.subarray(0,16).toString("hex");return`${Q.slice(0,8)}-${Q.slice(8,12)}-${Q.slice(12,16)}-${Q.slice(16,20)}-${Q.slice(20,32)}`}function g7($){m1.capture({distinctId:$.userId??`org:${$.organizationId}`,event:$.event,groups:{organization:$.organizationId},...$.uuid?{uuid:$.uuid}:{},...$.timestamp?{timestamp:$.timestamp}:{},properties:{organization_id:$.organizationId,...$.userId?{}:{$process_person_profile:!1},...$.properties}})}var ar0,X5$,m1;var e4=L(()=>{Y5$();ar0=process.env.POSTHOG_KEY,X5$=process.env.POSTHOG_HOST;m1=ar0?new sr0(ar0,{...X5$?{host:X5$}:{},enableExceptionAutocapture:!0,flushAt:1,flushInterval:0}):SX4();if(ar0){let $=()=>{m1.shutdown().catch(()=>{})};process.on("SIGTERM",$),process.on("SIGINT",$)}});import{Kysely as _X4,PostgresDialect as K5$}from"kysely";import{Pool as H5$}from"pg";function yX4($){let Z=$.connect.bind($);return $.connect=(Q)=>{if(typeof Q==="function")return Z(Q);let Y=performance.now(),X=bW0(),J=$.idleCount===0&&$.totalCount>=X,G=$.idleCount;return Z().then((W)=>{let K=performance.now()-Y;if(G5$().record(K,{"db.pool.outcome":J?"contended":"available"}),K>bX4)if(J)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:K,total:$.totalCount,idle:$.idleCount,waiting:$.waitingCount,max:X});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:K,idleAtStart:G,total:$.totalCount,max:X});return W},(W)=>{throw G5$().record(performance.now()-Y,{"db.pool.outcome":"error"}),W})},$}function U5$(){try{return B0().databasePgSsl}catch{return!1}}function bW0(){try{return B0().databasePoolMax}catch{return 10}}function gX4($){let Z=yX4(new H5$({connectionString:$,max:bW0(),ssl:U5$(),...F5$})),Q=new K5$({pool:Z});return{type:"postgres",db:new _X4({dialect:Q,log:fX4(Z)}),pool:Z}}function Me(){return B0().databaseUrl}function Ve($,Z){if(!Z)return $;let Q=new URL($);if(!Q.searchParams.has("sslmode"))Q.searchParams.set("sslmode","verify-full");return Q.toString()}function N5$($){let Z=$||Me();return new K5$({pool:new H5$({connectionString:Z,max:bW0(),ssl:U5$(),...F5$})})}function hX4($){let Z=$||Me();return gX4(Z)}async function B5$($){if(await $.db.destroy(),!$.pool.ended)await $.pool.end();if($===Re)Re=null}function E8(){if(!Re)Re=hX4(Me());return Re}var vX4=()=>W$.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),G5$=()=>W$.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),W5$=400,bX4=100,xX4=($)=>({"db.status":$.level==="error"?"error":"success"}),fX4=($)=>(Z)=>{let Q=xX4(Z);if(Z.queryDurationMillis>W5$){let Y=iR1(),X=Y>W5$/2;console.error(X?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:Z.queryDurationMillis,eventLoopLagMs:Math.round(Y),sql:Z.query.sql,pool:{total:$.totalCount,idle:$.idleCount,waiting:$.waitingCount,max:bW0()}})}if(vX4().record(Z.queryDurationMillis,Q),Z.level==="error")console.error("Query failed:",{durationMs:Z.queryDurationMillis,error:Z.error,sql:Z.query.sql})},F5$,Re=null;var kG=L(()=>{u1();f6();ph0();F5$={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0}});function uX4($){let Z=$;if(typeof Z==="string")try{Z=JSON.parse(Z)}catch{return[]}let Q=Z?.previousSlugs;return Array.isArray(Q)?Q.filter((Y)=>typeof Y==="string"):[]}async function xW0($,Z){return(await $.selectFrom("organization").select(["id","slug","name","metadata"]).where("metadata","like","%previousSlugs%").execute()).find((Y)=>uX4(Y.metadata).includes(Z))}async function D5$($,Z,Q,Y){let X=await fetch(Z,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Q}`},body:JSON.stringify(Y)});if(!X.ok){let J=await X.text();throw Error(`Failed to send email via ${$}: ${X.statusText} - ${J}`)}}class rr0{apiKey;constructor($){this.apiKey=$}async sendEmail({to:$,from:Z,subject:Q,html:Y}){await D5$("Resend","https://api.resend.com/emails",this.apiKey,{to:$,from:Z,subject:Q,html:Y})}}class er0{apiKey;constructor($){this.apiKey=$}async sendEmail({to:$,from:Z,subject:Q,html:Y}){await D5$("SendGrid","https://api.sendgrid.com/v3/mail/send",this.apiKey,{personalizations:[{to:[{email:$}]}],from:{email:Z},subject:Q,content:[{type:"text/html",value:Y}]})}}function CG($){switch($.provider){case"resend":{let Z=new rr0($.config.apiKey);return({to:Q,subject:Y,html:X})=>Z.sendEmail({to:Q,from:$.config.fromEmail,subject:Y,html:X})}case"sendgrid":{let Z=new er0($.config.apiKey);return({to:Q,subject:Y,html:X})=>Z.sendEmail({to:Q,from:$.config.fromEmail,subject:Y,html:X})}}}function SG($,Z){return $.find((Q)=>Q.id===Z)}var YT=()=>{};function _G({preheader:$="",heading:Z,subheading:Q,body:Y,footnote:X}){return`<!DOCTYPE html>
|
|
81
81
|
<html lang="en">
|
|
82
82
|
<head>
|
|
@@ -4501,7 +4501,7 @@ ${X}`:`${Y}
|
|
|
4501
4501
|
|
|
4502
4502
|
${X}
|
|
4503
4503
|
${J.slice(Y.length).trimStart()}`}function gw8($){return $?.match(iH5)?.[1]?.toLowerCase()??null}async function oH5($,Z,Q){let[Y,X]=await Promise.all([$.client.listDecofileEntries(Z,$.packagePath),$.client.listDecofileEntries(Q,$.packagePath)]),J=new Map(QW(Y,$.packagePath).map((H)=>[H.path,H.sha])),G=QW(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 yw8($,Z){try{return await eQ0($.client,$.packagePath,Z)}catch(Q){if(Q instanceof v2)return null;throw Q}}async function hw8($,Z,Q){let Y=rL($.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([yw8($,Z),yw8($,Q)]);return G!==W}async function uw8($,Z){if(!pB0(Z))throw new Gl;if(!await tT1($.store,$.site,Z))throw new Gl}async function lw8($,Z){await uw8($,Z);let Q=await M5($.client,$.mainBranch);return hw8($,Q,Z)}async function mw8($,Z,Q={},Y={}){await uw8($,Z);let X=await $.client.readCommit(Z);if(!X)throw new Gl;let J=await M5($.client,$.mainBranch),G=await oH5($,J,Z);if(G.changes.length===0)return{result:"up-to-date"};let W=await hw8($,J,Z);if(W)console.info("hosted reapply: schema differs",{site:$.site,target:Z,head:J});let K=await oT1($,J,G,tH5(X,Z,Q.coAuthor));return{result:"merged",sha:K,release:await ng0($,K,Y),schemaChanged:W}}var Gl,dH5="Reapplied-From",iH5;var $q1=L(()=>{jp();V5();cK();QB();ZY0();pg0();fw8();Gl=class Gl extends Error{constructor(){super("This commit has no release");this.name="NotPublishedError"}};iH5=/^Reapplied-From:\s*([0-9a-f]{40})\s*$/im});async function cw8($,Z,Q){let[Y,X,J]=await Promise.all([$Y0($.store,$.site),gz$($.store,$.site),Z.listCommits({ref:$.mainBranch,since:aH5,cursor:Q,limit:sH5})]),G=new Map(J.items.map((H)=>[H.sha,H.date])),W=J.items.map((H)=>gw8(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 dw8($){let Z=await M5($.client,$.mainBranch),Q=await sT1($,Z);return aT1($,{revision:Z,schemaHash:Q,publishedAt:new Date().toISOString()})}var sH5=50,aH5="1970-01-01T00:00:00Z";var iw8=L(()=>{V5();QB();ZY0();$q1()});function pw8($){return`site-tokens:${$}`}function rH5($){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 nw8($){return crypto.subtle.importKey("pkcs8",Buffer.from($,"base64"),{name:"Ed25519"},!1,["sign"])}async function eH5($,Z){let Q=(J)=>Zq1(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}.${Zq1(X)}`}function tw8($){let Z=async(Q,Y)=>rH5(await $.kv.get(Q,pw8(Y)));return{list:Z,async issue(Q,Y){let X=await Z(Q,Y),J={kid:Zq1(crypto.getRandomValues(new Uint8Array(16))),iat:Math.floor(Date.now()/1000)},G=await eH5(await $.signingKey(),{site:Y,...J});return await $.kv.set(Q,pw8(Y),{tokens:[...X,J]}),{token:G,record:J}}}}var Zq1=($)=>Buffer.from($ instanceof Uint8Array?$:new Uint8Array($)).toString("base64url");function ZF5(){let $=gq();return $?{store:$,purge:cg0()}:null}async function eg0($){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,previewHosts:await dg0({site:Q.site,metadata:Q.metadata,domains:$.var.siteDomains})}}function ow8($){let Z=B0().siteTokenSigningKey;if(!Z)return null;return tw8({kv:$.var.studioContext.storage.kv,signingKey:()=>nw8(Z)})}function ls($,Z){let Q=Z instanceof Error?Z.message:String(Z);if(Z instanceof v2)return $.json({error:Q},409);if(Z instanceof tg0)return console.error("hosted: latest.json update failed",{error:Q}),$.json({error:"latest-update-failed"},502);let Y=v3(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 sw8($={}){let Z=new $1,Q=$.repoClientFor??x3,Y=$.insightsFor??lw$,X=$.delivery??ZF5;return Z.use("*",async(J,G)=>{J.set("repoClientFor",Q),J.set("delivery",X),J.set("siteDomains",$.siteDomains),await G()}),Z.use("/:virtualMcpId/*",$F5),Z.get("/:virtualMcpId/releases",async(J)=>{try{let G=await eg0(J);if(!G)return J.json(rg0,503);let W=J.get("hostedProject"),K=await Y(J.var.studioContext,W.organizationId,W.repository);return J.json(await cw8(G,K,J.req.query("cursor")??null),200,{"Cache-Control":"no-store"})}catch(G){return ls(J,G)}}),Z.post("/:virtualMcpId/releases/retry",async(J)=>{try{let G=await eg0(J);if(!G)return J.json(rg0,503);let W=await J.req.json().catch(()=>({})),K=await dw8(G),H=J.var.studioContext.auth?.user?.id;if(typeof W.branch==="string"&&W.branch&&typeof W.draftEtag==="string"&&W.draftEtag&&H){let F=J.get("hostedProject");await rT1(G,sB0({kv:J.var.studioContext.storage.kv,store:G.store}),{organizationId:F.organizationId,virtualMcpId:F.virtualMcpId,branch:W.branch,site:F.site,editor:H},W.draftEtag)}return J.json({current:K})}catch(G){return ls(J,G)}}),Z.get("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await eg0(J);if(!G)return J.json(rg0,503);return J.json({schemaChanged:await lw8(G,J.req.param("sha"))})}catch(G){if(G instanceof Gl)return J.json({error:G.message},404);return ls(J,G)}}),Z.post("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await eg0(J);if(!G)return J.json(rg0,503);let W=await mw8(G,J.req.param("sha"),{coAuthor:WO(J.var.studioContext)});return J.json(W)}catch(G){if(G instanceof Gl)return J.json({error:G.message},404);if(G instanceof Jl)return J.json({error:"main-moved"},409);return ls(J,G)}}),Z.get("/:virtualMcpId/site-tokens",async(J)=>{let G=J.get("hostedProject"),W=ow8(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=ow8(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 hq(K,G.packagePath,await K.getDefaultBranch());if(await bi(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 ls(J,K)}}),Z}var $F5,rg0;var aw8=L(()=>{yF();H8();Vg0();qJ();gF();V5();QB();uT1();aB0();ZY0();nT1();pg0();iw8();$q1();c40();uq();vi();u1();jR();$F5=Is(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 AQ(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(!IQ(await a7(Q),X))return $.json({error:"Virtual MCP not found"},404);let G=J.metadata??null,W=WW(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 eB0({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 ls($,H)}let K=await rB0(Q.storage.orgSites,X,Y.id);if(!K)return $.json(_i,409);return $.set("hostedProject",{organizationId:Y.id,virtualMcpId:X,site:K,packagePath:YB(G),repository:W,metadata:G}),Z()}),rg0={error:"hosted delivery not configured"}});var rw8=($)=>{let Z=new $1;if(Z.use("*",eo),Z.use("*",UN8),Z.route("/",HN8($.voiceSessions)),Z.route("/",_y0()),Z.route("/",nN8()),Z.route("/",JB8()),Z.route("/",mN8()),Z.route("/",HO8()),Z.route("/",UO8()),Z.route("/",ZO8()),Z.route("/",WO8()),Z.route("/",YO8()),Z.route("/",qg0()),Z.route("/tools",wO8()),Z.route("/",LO8()),Z.route("/",xL8({kvStorage:$.kvStorage})),Z.route("/",vL8()),Z.route("/fs",pL8({getConnection:$.getNatsConnection})),Z.route("/sandbox",gj8()),Z.route("/decofile",Sw8()),Z.route("/hosted",sw8()),Z.route("/",rL8()),Z.route("/",tL8()),Z.route("/deco-sites",by0()),Z.route("/hosting",AN8()),Z.route("/monitor",bN8()),Z.route("/order-monitor",gN8()),Z.route("/sso",My0()),Z.route("/",Rg0({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),Z.route("/webhooks",jN8()),$.mountDevAssets)Z.route("/dev-assets",my0({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 eA1)Z.use(`${Q}/:threadId`,$.mcpAuth);Z.route("/",JG8()),Z.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),Z.get("/mcp/.well-known/oauth-protected-resource",$.betterAuthProtectedResourceHandler);for(let Q of eA1)Z.route(Q,sL8());return Z.route("/mcp",tb0()),Z.route("/mcp/self",Pg0()),Z.route("/mcp",ab0()),Z.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),Z.get("/watch",$.watchHandler),Z};var ew8=L(()=>{H8();FN8();NN8();Ly0();wN8();V21();TN8();xN8();hN8();cy0();R2();A21();tN8();_21();bL8();fL8();nL8();oL8();XZ0();B21();rb0();rA1();aL8();eL8();QO8();XO8();QT1();FO8();NO8();OO8();YT1();EO8();XT1();ob0();hj8();_w8();aw8()});import{z as Wl}from"zod";class Qq1{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 QE8.Kvm($h0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:$h0.StorageType.Memory,ttl:YE8.nanos(VO),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"?ZE8.parse(X.json()):null;if(J?.state==="ready")return J.agentId;if(J?.state==="creating"&&J.expiresAt>Date.now()){await G$(200);continue}let G=$E8.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 G$(200);continue}try{let K=await $.ensureConversationAgent();return await Z.update(Q,$E8.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"?ZE8.parse(G.json()):null;if(G&&W?.state==="ready"&&W.agentId===Q)await X.delete(J,{previousSeq:G.revision}).catch(()=>{});throw Y}}}var $h0,QE8,YE8,$E8,ZE8;var XE8=L(()=>{W3();kB();h$();$h0=_(cH(),1),QE8=_(Nq(),1),YE8=_(YA(),1),$E8=new TextEncoder,ZE8=Wl.discriminatedUnion("state",[Wl.object({state:Wl.literal("ready"),agentId:Wl.string()}),Wl.object({state:Wl.literal("creating"),expiresAt:Wl.number()})])});import{z as ms}from"zod";function QF5($){return{model:$.model,instructions:`${gd$}
|
|
4504
|
-
Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class Yq1{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:QF5({...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:ms.object({session:ms.object({id:ms.string().min(1)}),transport:ms.object({type:ms.literal("webrtc"),sdp:ms.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var JE8=L(()=>{kB()});var GE8;var WE8=L(()=>{GE8=[{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 Xq1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:fd$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:GE8.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:VO/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 KE8=L(()=>{kB();WE8()});import{z as oJ}from"zod";import{createHash as YF5,createHmac as XF5}from"crypto";class Zh0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=YF5("sha256").update(JSON.stringify(Xq1($))).digest("hex"),this.conversationKey=XF5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new Zh0({...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}=oJ.object({agents:oJ.array(oJ.object({agent_id:oJ.string(),name:oJ.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 oJ.object({platform_settings:oJ.object({auth:oJ.object({enable_auth:oJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...Xq1(this.config)},AbortSignal.timeout(15000));return oJ.object({agent_id:oJ.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 oJ.object({token:oJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return oJ.object({token:oJ.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 HE8=L(()=>{KE8()});import{createHmac as JF5,timingSafeEqual as GF5}from"crypto";import{z as cs}from"zod";function UE8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return JF5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function NE8($,Z){let Q=Buffer.from(JSON.stringify(FE8.parse($))).toString("base64url");return`${Q}.${UE8(Q,Z)}`}function BE8($,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(UE8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!GF5(W,G))return null;try{let K=FE8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+VO)return null;return K.data}catch{return null}}var FE8;var DE8=L(()=>{kB();FE8=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 Jq1}from"zod";function LE8($,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 Gq1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var Gq1;var OE8=L(()=>{Gq1=Jq1.object({provider:Jq1.enum(["elevenlabs","openai"]),model:Jq1.string().trim().min(1).max(128)})});import{createHash as WF5}from"crypto";import{z as ds}from"zod";function is($){return`user.${WF5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class Kq1{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 jE8.Kvm(Yh0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Yh0.StorageType.Memory,ttl:wE8.nanos(VO),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=LE8(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()+VO},W=NE8(G,this.deps.secret),K=await this.kv(),H=is(G),F=await K.get(H),U=F?.operation==="PUT"?Qh0.parse(F.json()):null,N=Wq1.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:is($)});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=BE8(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=is(Q),J=await Y.get(X),G=J?.operation==="PUT"?Qh0.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,Wq1.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=is(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Qh0.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,Wq1.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(is($));if(Q?.operation==="PUT"&&Qh0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(is($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var Yh0,jE8,wE8,Qh0,Wq1;var EE8=L(()=>{W3();kB();DE8();OE8();Yh0=_(cH(),1),jE8=_(Nq(),1),wE8=_(YA(),1),Qh0=ds.object({sessionId:ds.string().uuid(),expiresAt:ds.number(),connected:ds.boolean().optional(),conversation:Gq1.optional(),characters:ds.number().int().nonnegative(),requests:ds.number().int().nonnegative()}),Wq1=new TextEncoder});import{z as c1}from"zod";function UD($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function jF5($){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 wF5($,Z,Q){try{return JSON.parse($)}catch{throw new AE8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function EF5($){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:wF5(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 PF5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?RN(Q.function.parameters):RN({type:"object",properties:{}});return[Q.function.name,a$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function zF5($){if(!$)return;return{openai:{response_format:$}}}function AF5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function PE8($,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 zE8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var KF5=256,HF5,FF5,UF5,NF5,BF5,DF5,LF5,OF5,AE8,TE8,qE8;var RE8=L(()=>{u4();H8();Vs();BU();HF5=c1.object({type:c1.literal("function"),function:c1.object({name:c1.string(),description:c1.string().optional(),parameters:c1.record(c1.string(),c1.unknown()).optional()})}),FF5=c1.object({id:c1.string(),type:c1.literal("function"),function:c1.object({name:c1.string(),arguments:c1.string()})}),UF5=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(FF5).optional()}),c1.object({role:c1.literal("tool"),content:c1.string(),tool_call_id:c1.string()})]),NF5=c1.object({type:c1.literal("text")}),BF5=c1.object({type:c1.literal("json_object")}),DF5=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()})}),LF5=c1.union([NF5,BF5,DF5]),OF5=c1.object({model:c1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:c1.array(UF5),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(HF5).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:LF5.optional(),user:c1.string().optional()});AE8=class AE8 extends Error{constructor($){super($);this.name="MessageConversionError"}};TE8=new $1;TE8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(UD("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(UD("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(UD("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=OF5.safeParse(Y);if(!X.success){let j=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json(UD(`Invalid request: ${j.message}`,"invalid_request_error",j.path.length>0?j.path.join("."):null),400)}let J=X.data,G=jF5(J.model);if(!G)return $.json(UD("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)=>GT(E.providerId));if(!w)return $.json(UD("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(UD(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=EF5(J.messages),N=J.tools?PF5(J.tools):void 0,B=zF5(J.response_format),D=AF5(),O=Math.floor(Date.now()/1000);if(J.stream)return qj($,async(j)=>{let w=PE8(F,U,N,J,B,$.req.raw.signal);try{let E=zn(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>=KF5)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:zE8(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=PE8(F,U,N,J,B,$.req.raw.signal),w=await CO(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:zE8(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(UD("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json(UD(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json(UD(X.message,"server_error"),500)}});qE8=TE8});function TF5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function ME8(){let $=new $1;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(!y5(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||I9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(IT(U)!==J)continue;if(!TF5(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 VE8=L(()=>{H8();JX()});var Xh0;var Hq1=L(()=>{Xh0={name:"decocms",version:"4.525.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.8.0","@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 MF5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??RF5}}var IE8,RF5="https://ph.studio.decocms.com",kE8;var CE8=L(()=>{H8();De();hh();F9();u1();dt();az1();Hq1();IE8=new $1;IE8.get("/",($)=>{let Z={version:Xh0.version,theme:a8$(),...XF().logo&&{logo:XF().logo},...mO()&&{internalUrl:a$$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&oz(),plansEnabled:B0().plansEnabled,auth:rF8(),posthog:MF5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:SU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});kE8=IE8});import{z as M$}from"zod";var VF5,SE8;var _E8=L(()=>{VF5=M$.object({check_id:M$.string(),title:M$.string(),description:M$.string().optional(),impact:M$.string().optional(),why:M$.string().optional(),category:M$.string(),severity:M$.string(),value_band:M$.string().optional(),value_driver:M$.string().optional(),controllability:M$.string().optional(),pages:M$.array(M$.string()),tasks:M$.array(M$.string()),evidence:M$.string(),sample_scope:M$.string().optional(),sources:M$.array(M$.string())}),SE8=M$.object({domain:M$.string(),brand:M$.string(),favicon:M$.string().optional(),scanned_at:M$.string().nullable(),lang:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),totals:M$.object({measured:M$.number(),registry_total:M$.number(),passed:M$.number(),failed:M$.number(),blocked:M$.number()}),buckets:M$.array(M$.object({id:M$.enum(["critical","important","worth"]),label:M$.string(),items:M$.array(VF5)})),passing:M$.object({count:M$.number(),items:M$.array(M$.object({check_id:M$.string(),title:M$.string()}))}),not_measured:M$.object({count:M$.number(),groups:M$.array(M$.object({reason:M$.string(),label:M$.string(),count:M$.number(),checks:M$.array(M$.string())}))}),categories:M$.array(M$.object({key:M$.string(),label:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),pass:M$.number(),fail:M$.number()})),screenshots:M$.array(M$.object({url:M$.string(),page_type:M$.string().optional(),viewport:M$.enum(["desktop","mobile"]),image_url:M$.string()}))})});function vE8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${_K({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Jh0($,Z={}){let Q=await fetch(vE8($,"",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 SE8.parse(await Q.json())}async function bE8($,Z={}){let Q=await fetch(vE8($,".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 Fq1=L(()=>{_E8();yL()});import{join as xE8}from"path";async function kF5($){try{let Z=await Jh0($,{signal:AbortSignal.timeout(IF5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||Pw1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function HG($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function CF5($,Z){let Q=Lu($),Y=Z?.brand?.trim()||Pw1(Q),X=ZJ8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=QJ8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${HG(W)}</title>`,`<meta name="description" content="${HG(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="${HG(W)}" />`,`<meta property="og:description" content="${HG(K)}" />`,`<meta property="og:url" content="${HG(G)}" />`,`<meta property="og:image" content="${HG(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${HG(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${HG(W)}" />`,`<meta name="twitter:description" content="${HG(K)}" />`,`<meta name="twitter:image" content="${HG(H)}" />`,`<meta name="twitter:image:alt" content="${HG(F)}" />`,`<link rel="canonical" href="${HG(G)}" />`,`<link rel="alternate" type="text/markdown" href="${HG(G)}.md" />`,`<link rel="icon" href="${HG(X)}" sizes="any" />`].join(`
|
|
4504
|
+
Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class Yq1{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:QF5({...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:ms.object({session:ms.object({id:ms.string().min(1)}),transport:ms.object({type:ms.literal("webrtc"),sdp:ms.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var JE8=L(()=>{kB()});var GE8;var WE8=L(()=>{GE8=[{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 Xq1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:fd$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:GE8.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:VO/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 KE8=L(()=>{kB();WE8()});import{z as oJ}from"zod";import{createHash as YF5,createHmac as XF5}from"crypto";class Zh0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=YF5("sha256").update(JSON.stringify(Xq1($))).digest("hex"),this.conversationKey=XF5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new Zh0({...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}=oJ.object({agents:oJ.array(oJ.object({agent_id:oJ.string(),name:oJ.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 oJ.object({platform_settings:oJ.object({auth:oJ.object({enable_auth:oJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...Xq1(this.config)},AbortSignal.timeout(15000));return oJ.object({agent_id:oJ.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 oJ.object({token:oJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return oJ.object({token:oJ.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 HE8=L(()=>{KE8()});import{createHmac as JF5,timingSafeEqual as GF5}from"crypto";import{z as cs}from"zod";function UE8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return JF5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function NE8($,Z){let Q=Buffer.from(JSON.stringify(FE8.parse($))).toString("base64url");return`${Q}.${UE8(Q,Z)}`}function BE8($,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(UE8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!GF5(W,G))return null;try{let K=FE8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+VO)return null;return K.data}catch{return null}}var FE8;var DE8=L(()=>{kB();FE8=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 Jq1}from"zod";function LE8($,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 Gq1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var Gq1;var OE8=L(()=>{Gq1=Jq1.object({provider:Jq1.enum(["elevenlabs","openai"]),model:Jq1.string().trim().min(1).max(128)})});import{createHash as WF5}from"crypto";import{z as ds}from"zod";function is($){return`user.${WF5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class Kq1{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 jE8.Kvm(Yh0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Yh0.StorageType.Memory,ttl:wE8.nanos(VO),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=LE8(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()+VO},W=NE8(G,this.deps.secret),K=await this.kv(),H=is(G),F=await K.get(H),U=F?.operation==="PUT"?Qh0.parse(F.json()):null,N=Wq1.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:is($)});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=BE8(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=is(Q),J=await Y.get(X),G=J?.operation==="PUT"?Qh0.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,Wq1.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=is(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Qh0.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,Wq1.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(is($));if(Q?.operation==="PUT"&&Qh0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(is($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var Yh0,jE8,wE8,Qh0,Wq1;var EE8=L(()=>{W3();kB();DE8();OE8();Yh0=_(cH(),1),jE8=_(Nq(),1),wE8=_(YA(),1),Qh0=ds.object({sessionId:ds.string().uuid(),expiresAt:ds.number(),connected:ds.boolean().optional(),conversation:Gq1.optional(),characters:ds.number().int().nonnegative(),requests:ds.number().int().nonnegative()}),Wq1=new TextEncoder});import{z as c1}from"zod";function UD($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function jF5($){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 wF5($,Z,Q){try{return JSON.parse($)}catch{throw new AE8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function EF5($){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:wF5(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 PF5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?RN(Q.function.parameters):RN({type:"object",properties:{}});return[Q.function.name,a$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function zF5($){if(!$)return;return{openai:{response_format:$}}}function AF5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function PE8($,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 zE8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var KF5=256,HF5,FF5,UF5,NF5,BF5,DF5,LF5,OF5,AE8,TE8,qE8;var RE8=L(()=>{u4();H8();Vs();BU();HF5=c1.object({type:c1.literal("function"),function:c1.object({name:c1.string(),description:c1.string().optional(),parameters:c1.record(c1.string(),c1.unknown()).optional()})}),FF5=c1.object({id:c1.string(),type:c1.literal("function"),function:c1.object({name:c1.string(),arguments:c1.string()})}),UF5=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(FF5).optional()}),c1.object({role:c1.literal("tool"),content:c1.string(),tool_call_id:c1.string()})]),NF5=c1.object({type:c1.literal("text")}),BF5=c1.object({type:c1.literal("json_object")}),DF5=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()})}),LF5=c1.union([NF5,BF5,DF5]),OF5=c1.object({model:c1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:c1.array(UF5),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(HF5).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:LF5.optional(),user:c1.string().optional()});AE8=class AE8 extends Error{constructor($){super($);this.name="MessageConversionError"}};TE8=new $1;TE8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(UD("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(UD("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(UD("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=OF5.safeParse(Y);if(!X.success){let j=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json(UD(`Invalid request: ${j.message}`,"invalid_request_error",j.path.length>0?j.path.join("."):null),400)}let J=X.data,G=jF5(J.model);if(!G)return $.json(UD("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)=>GT(E.providerId));if(!w)return $.json(UD("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(UD(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=EF5(J.messages),N=J.tools?PF5(J.tools):void 0,B=zF5(J.response_format),D=AF5(),O=Math.floor(Date.now()/1000);if(J.stream)return qj($,async(j)=>{let w=PE8(F,U,N,J,B,$.req.raw.signal);try{let E=zn(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>=KF5)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:zE8(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=PE8(F,U,N,J,B,$.req.raw.signal),w=await CO(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:zE8(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(UD("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json(UD(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json(UD(X.message,"server_error"),500)}});qE8=TE8});function TF5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function ME8(){let $=new $1;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(!y5(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||I9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(IT(U)!==J)continue;if(!TF5(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 VE8=L(()=>{H8();JX()});var Xh0;var Hq1=L(()=>{Xh0={name:"decocms",version:"4.526.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.8.0","@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 MF5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??RF5}}var IE8,RF5="https://ph.studio.decocms.com",kE8;var CE8=L(()=>{H8();De();hh();F9();u1();dt();az1();Hq1();IE8=new $1;IE8.get("/",($)=>{let Z={version:Xh0.version,theme:a8$(),...XF().logo&&{logo:XF().logo},...mO()&&{internalUrl:a$$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&oz(),plansEnabled:B0().plansEnabled,auth:rF8(),posthog:MF5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:SU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});kE8=IE8});import{z as M$}from"zod";var VF5,SE8;var _E8=L(()=>{VF5=M$.object({check_id:M$.string(),title:M$.string(),description:M$.string().optional(),impact:M$.string().optional(),why:M$.string().optional(),category:M$.string(),severity:M$.string(),value_band:M$.string().optional(),value_driver:M$.string().optional(),controllability:M$.string().optional(),pages:M$.array(M$.string()),tasks:M$.array(M$.string()),evidence:M$.string(),sample_scope:M$.string().optional(),sources:M$.array(M$.string())}),SE8=M$.object({domain:M$.string(),brand:M$.string(),favicon:M$.string().optional(),scanned_at:M$.string().nullable(),lang:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),totals:M$.object({measured:M$.number(),registry_total:M$.number(),passed:M$.number(),failed:M$.number(),blocked:M$.number()}),buckets:M$.array(M$.object({id:M$.enum(["critical","important","worth"]),label:M$.string(),items:M$.array(VF5)})),passing:M$.object({count:M$.number(),items:M$.array(M$.object({check_id:M$.string(),title:M$.string()}))}),not_measured:M$.object({count:M$.number(),groups:M$.array(M$.object({reason:M$.string(),label:M$.string(),count:M$.number(),checks:M$.array(M$.string())}))}),categories:M$.array(M$.object({key:M$.string(),label:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),pass:M$.number(),fail:M$.number()})),screenshots:M$.array(M$.object({url:M$.string(),page_type:M$.string().optional(),viewport:M$.enum(["desktop","mobile"]),image_url:M$.string()}))})});function vE8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${_K({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Jh0($,Z={}){let Q=await fetch(vE8($,"",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 SE8.parse(await Q.json())}async function bE8($,Z={}){let Q=await fetch(vE8($,".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 Fq1=L(()=>{_E8();yL()});import{join as xE8}from"path";async function kF5($){try{let Z=await Jh0($,{signal:AbortSignal.timeout(IF5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||Pw1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function HG($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function CF5($,Z){let Q=Lu($),Y=Z?.brand?.trim()||Pw1(Q),X=ZJ8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=QJ8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${HG(W)}</title>`,`<meta name="description" content="${HG(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="${HG(W)}" />`,`<meta property="og:description" content="${HG(K)}" />`,`<meta property="og:url" content="${HG(G)}" />`,`<meta property="og:image" content="${HG(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${HG(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${HG(W)}" />`,`<meta name="twitter:description" content="${HG(K)}" />`,`<meta name="twitter:image" content="${HG(H)}" />`,`<meta name="twitter:image:alt" content="${HG(F)}" />`,`<link rel="canonical" href="${HG(G)}" />`,`<link rel="alternate" type="text/markdown" href="${HG(G)}.md" />`,`<link rel="icon" href="${HG(X)}" sizes="any" />`].join(`
|
|
4505
4505
|
`)}function SF5($,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}
|
|
4506
4506
|
</head>`)}function fE8($){let Z=new $1;return Z.get("/:domain/og.png",async(Q)=>{let Y=Lu(Q.req.param("domain")),X=async()=>{let J=$?Bun.file(xE8($,"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(`${_K({})}/api/v2/public/diagnostics/${encodeURIComponent(Y)}/og.png`,{signal:AbortSignal.timeout(_F5)}),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=Lu(Q.req.param("file").replace(/\.md$/,""));try{let X=await bE8(Y,{lang:Q.req.query("lang")?.trim()||void 0,signal:AbortSignal.timeout(vF5)});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=$?xE8($,"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 kF5(Lu(Y)),K=CF5(Y,W);return Q.html(SF5(G,K),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return Q.html(G)}}),Z}var IF5=2500,_F5=1e4,vF5=1e4;var yE8=L(()=>{H8();yL();Fq1();u1()});function Gh0($,Z){return fetch(`${_K({})}${$}`,Z)}async function bF5($,Z){let Q=await Jh0($,{lang:Z});if(!Q)return{status:"not_found",report:null};return Q.scanned_at?{status:"ready",report:Q}:{status:"empty",report:null}}function yF5($){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 xF5,fF5=8192,Vj,gE8=async($,Z)=>{if(!$.get("reportUser"))return $.json({error:"Authentication required"},401);await Z();return},hE8;var uE8=L(()=>{H8();JG();rK();yL();Fq1();xF5=new Set(["complete","errored","terminated","unknown"]);Vj=new $1;Vj.use("*",async($,Z)=>{let Q=await N4.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});Vj.use("/link-token/*",gE8);Vj.use("/suggest",gE8);Vj.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 bF5(Z,Q))}catch{return $.json({error:"report read failed"},502)}});Vj.post("/run",S6({maxSize:fF5,onError:($)=>$.json({error:"request body too large"},413)}),async($)=>{let Z=$.get("reportUser"),Q;try{Q=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let{domain:Y,distinctId:X}=yF5(Q);if(!Y)return $.json({error:"domain is required"},400);let J=Z?.email;try{let G=await Gh0("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${hE({})}`},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)}});Vj.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let Q=await Gh0(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${hE({})}`}});if(!Q.ok)return $.json({error:`status HTTP ${Q.status}`},502);let X=(await Q.json()).status??"unknown",J={done:xF5.has(X),status:X};return $.json(J)}catch{return $.json({error:"status failed"},502)}});Vj.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let Q=await Gh0(`/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)}});Vj.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let Q=await Gh0(`/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:[]})}});hE8=Vj});var gF5=1048576,Uq1;var lE8=L(()=>{H8();JG();u1();fz1();Uq1=new $1;Uq1.post("/webhook",S6({maxSize:gF5,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(!UF8(Q,$.req.header("stripe-signature"),Z))return $.json({error:"invalid signature"},400);let X=NF8(Q);if(!X)return $.json({error:"invalid payload"},400);let J=await BF8(X);return console.log("stripe webhook",{eventId:X.id,type:X.type,livemode:X.livemode,...J}),$.json({received:!0})})});import{timingSafeEqual as hF5}from"crypto";function mF5($,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 hF5(Buffer.from(X),Buffer.from(Y))}function cF5($,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 mE8($){let Z=new $1;return Z.post("/webhook",S6({maxSize:uF5,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(!mF5(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"&&!lF5.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 l60().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=cF5(J??"",G);if(W.length===0)return Q.json({ok:!0,ignored:"no-pr"});let K=await dF5($,W);return Q.json({ok:!0,refreshed:K})}),Z}async function dF5($,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 ae$(K,G.organizationId,G.taskBoardItemId)!==null)Q++}catch(W){console.error(`[github-webhook] pr card refresh failed for ${G.taskBoardItemId}:`,W)}}return Q}var uF5=5242880,lF5;var cE8=L(()=>{H8();JG();vX();yQ();lF5=new Set(["check_suite","issue_comment"])});import{DBOS as Bq1,SchedulerMode as iF5}from"@dbos-inc/dbos-sdk";async function nF5(){try{return await tF5()}catch($){return console.warn(`[sandbox-credential-push] push failed: ${$ instanceof Error?$.message:String($)}`),null}}async function tF5(){if(!u60())return null;let[{RemoteSandboxProvider:$},{SandboxProviderRouter:Z}]=await Promise.all([Promise.resolve().then(() => (SK1(),CK1)),Promise.resolve().then(() => (kK1(),IK1))]),Q=await l60(),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=Km$({sandboxes:J,pools:G,records:await Hm$(X,J,G),legacyPools:zC0(process.env.STUDIO_SANDBOX_TENANT_POOLS),now:W}),{batches:H,failed:F}=await Fm$(K,mO0(X,new KJ(B0().encryptionKey)),{now:W,orgFsLifetimeMs:qC0}),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 oF5($,Z){let Q=await Bq1.runStep(nF5,{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 dE8(){if(Nq1)return;if(!B0().agentSandboxEnabled||!u60())return;Nq1=Bq1.registerWorkflow(oF5,{name:"sandboxCredentialPushWorkflow"}),Bq1.registerScheduled(Nq1,{name:"sandboxCredentialPushWorkflow",crontab:pF5,mode:iF5.ExactlyOncePerIntervalWhenActive})}var pF5="1,11,21,31,41,51 * * * *",Nq1=null;var iE8=L(()=>{kG();qw();O31();RC0();AC0();vX();u1()});function pE8($){let Z=new Uj($.db,new KJ($.encryptionKey)),Q=new $1;return Q.get("/attachments/:token",async(Y)=>{let X=ra$(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 $Q(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 nE8=L(()=>{H8();qw();GU1();_O()});function Wh0(){try{return B0().jiraSettleSeconds*1000}catch{return xz}}function tE8($,Z){let Q=Z.windowMs??xz,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=sF5($,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 sF5($,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 Dq1=L(()=>{dO();u1()});function oE8($){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 Lq1($,Z,Q){if(!Z.enabled)return"disabled";let Y=Z.organizationId,X=new $Q(Z.siteUrl,Z.email,Z.apiToken),J=tE8(await X.listStatusChanges(Q.issueId),{changeId:Q.changelogId,now:Q.now,windowMs:Wh0()});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:bz(N)})),H=l88(K)&&Z.boardId?u88(await X.getBoardColumnStatusIds(Z.boardId),W.id,G.toId):null,F=h88(K,W.name,H);if(!F)return"no_rule";if(!await $.storage.jiraIntegrations.claimTrigger(Y,Q.issueId,G.id))return"duplicate";return await HH({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 Oq1=L(()=>{FU();_O();Kt();Dq1()});import{DBOS as f2,SchedulerMode as aF5}from"@dbos-inc/dbos-sdk";function sE8($){wq1=$}function Pq1(){if(!wq1)throw Error("[jira-trigger] runtime not initialized \u2014 setJiraTriggerSweepRuntime() must run before the workflow fires");return wq1}function zq1(){let $=Pq1();return new Uj($.db,new KJ($.encryptionKey))}async function QU5($){try{let Z=await zq1().getById($);if(!Z?.enabled||!Z.boardId)return{integrationId:$,fired:0};let Q=await lJ(Pq1().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 $Q(Z.siteUrl,Z.email,Z.apiToken),G=`(${await X.getBoardScopeJql(Z.boardId)}) AND status CHANGED AFTER "-${eF5}m"`,W=0,K;for(let H=0;H<$U5;H++){let F=await X.searchIssues({jql:G,nextPageToken:K});for(let U of F.issues)if(await Lq1(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 YU5($,Z){let Q=await f2.runStep(()=>zq1().listEnabledIds(),{name:"loadJiraIntegrations"});if(Q.length===0)return;let Y=await Promise.all(Q.map((X)=>f2.runStep(()=>QU5(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 XU5($,Z){try{let Q=await zq1().getById($);if(!Q?.enabled)return"disabled";let Y=await lJ(Pq1().db,Q.organizationId);if(!Y)return"disabled";let X=await Lq1(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 JU5($,Z){await f2.sleep(Wh0()+ZU5),await f2.runStep(()=>XU5($,Z),{name:"settleJiraMove"})}async function aE8($,Z){if(!Eq1)throw Error("[jira-trigger] settle workflow is not registered");await f2.startWorkflow(Eq1,{workflowID:`jira-settle:${$}:${Z.changelogId}`})($,Z)}function rE8(){if(jq1)return;Eq1=f2.registerWorkflow(JU5,{name:"jiraSettleWorkflow"}),jq1=f2.registerWorkflow(YU5,{name:"jiraTriggerSweepWorkflow"}),f2.registerScheduled(jq1,{name:"jiraTriggerSweepWorkflow",crontab:rF5,mode:aF5.ExactlyOncePerIntervalWhenActive})}var rF5="*/5 * * * *",eF5=20,$U5=5,ZU5=5000,wq1=null,Eq1=null,jq1=null;var Aq1=L(()=>{qw();Iz();_O();Dq1();Oq1()});function eE8($){let Z=new Uj($.db,new KJ($.encryptionKey)),Q=qz($.db);async function Y(J,G){let W=oE8(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 aE8(K.id,W)}let X=new $1;return X.post("/webhook/:secret",S6({maxSize:GU5}),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 GU5=1048576;var $P8=L(()=>{H8();JG();qw();Aq1();Oq1();l50()});function ZP8($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var QP8,WU5,KU5,YP8;var XP8=L(()=>{H8();W3();on();wi();QP8=new $1,WU5=["range","if-none-match","if-modified-since"],KU5=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];QP8.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),Q=Z.organization?.id;if(!Z.auth?.user?.id){if(ro($))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 R90(Y,Z);if(!X)throw new R1(503,{message:"Object storage not configured"});if(X.startsWith("data:")&&uK()){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 ZP8(N,H),new Response(U,{status:200,headers:N})}let J=new Headers;for(let K of WU5){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 KU5){let H=G.headers.get(K);if(H)W.set(K,H)}return W.set("Cache-Control","private, max-age=86400"),ZP8(W,W.get("content-type")??""),new Response(G.body,{status:G.status,headers:W})});YP8=QP8});var XY0=y((Kl)=>{var HU5=Kl&&Kl.__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]}),FU5=Kl&&Kl.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))HU5(Z,$,Q)};Object.defineProperty(Kl,"__esModule",{value:!0});FU5(jG(),Kl)});var WP8=y((JP8)=>{Object.defineProperty(JP8,"__esModule",{value:!0});JP8.version=void 0;JP8.version="3.4.0"});var FP8=y((ND)=>{var UU5=ND&&ND.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(ND,"__esModule",{value:!0});ND.NodeTransport=ND.VERSION=void 0;ND.nodeResolveHost=jU5;var G9=XY0(),NU5=V0("net"),Tq1=V0("tls"),BU5=V0("path"),KP8=V0("fs"),DU5=UU5(V0("dns")),LU5=WP8();ND.VERSION=LU5.version;var OU5="nats.js";class HP8{socket;version;lang;yields=[];signal=(0,G9.deferred)();closedNotification=(0,G9.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=OU5,this.version=ND.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,G9.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 G9.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 G9.errors.ConnectionError("error connecting - node provided an undefined error");let{code:G}=J,W=G==="ECONNREFUSED"?new G9.errors.ConnectionError("connection refused",{cause:J}):J;throw this.socket?.destroy(),W}}dial($){let Z=(0,G9.deferred)(),Q,Y=(0,NU5.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,G9.deferred)(),Z;return this.socket.on("data",(Q)=>{this.yields.push(Q);let Y=G9.DataBuffer.concat(...this.yields),X=(0,G9.extractProtocolMessage)(Y);if(X!=="")try{let J=G9.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,G9.deferred)();try{if($=(0,BU5.resolve)($),!(0,KP8.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,KP8.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,G9.extend)(Q,this.options.tls,X)}catch(X){return Promise.reject(new G9.errors.ConnectionError(X.message,{cause:X}))}let Y=(0,G9.deferred)();try{let X=(0,Tq1.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 G9.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,G9.extend)(Z,this.options.tls,Y)}catch(Y){return Promise.reject(new G9.errors.ConnectionError(Y.message,{cause:Y}))}let Q=(0,G9.deferred)();try{let Y=(0,Tq1.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 G9.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,G9.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,G9.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 Tq1.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,G9.render)($)}`);let Z=(0,G9.deferred)();try{this.socket.write($,(Q)=>{if(Q){if(this.options.debug)console.error(`!!! ${(0,G9.render)($)}: ${Q}`);return Z.reject(Q)}return Z.resolve()})}catch(Q){if(this.options.debug)console.error(`!!! ${(0,G9.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}}ND.NodeTransport=HP8;function jU5($){let Z=(0,G9.deferred)();return DU5.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 LP8=y((DP8)=>{Object.defineProperty(DP8,"__esModule",{value:!0});DP8.connect=wU5;var UP8=FP8(),NP8=XY0(),BP8=XY0();function wU5($={}){if((0,BP8.hasWsProtocol)($))return Promise.reject(BP8.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,NP8.setTransportFactory)({factory:()=>{return new UP8.NodeTransport},dnsResolveFn:UP8.nodeResolveHost}),NP8.NatsConnectionImpl.connect($)}});var OP8=y((Ij)=>{var PU5=Ij&&Ij.__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]}),zU5=Ij&&Ij.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))PU5(Z,$,Q)};Object.defineProperty(Ij,"__esModule",{value:!0});Ij.connect=void 0;var AU5=LP8();Object.defineProperty(Ij,"connect",{enumerable:!0,get:function(){return AU5.connect}});zU5(XY0(),Ij)});function EP8($){let Z=$?.connectFn??MU5,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:RU5,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(qU5,TU5,D-1,2,0.5);await G$(O)}}return{init(N,B){if(X)return;X=!0,J=!1;let D=B?.creds?Kh0.credsAuthenticator(new TextEncoder().encode(B.creds)):B?.user?Kh0.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=wP8.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 MU5($){return jP8.connect($)}var Kh0,jP8,wP8,TU5=100,qU5=3000,RU5=3000;var PP8=L(()=>{h$();Kh0=_(YA(),1),jP8=_(OP8(),1),wP8=_(cH(),1)});function Hh0($,Z){return`${$}.${Z}`}class qq1{cache;constructor($){this.cache=ZB({ttlMs:$?.ttlMs??VU5,maxSize:$?.maxSize??IU5})}async get($,Z){return this.cache.get(Hh0($,Z))??null}async set($,Z,Q){this.cache.set(Hh0($,Z),Q)}async invalidate($,Z){this.cache.delete(Hh0($,Z)),this.cache.delete(Hh0($,`${Z}:decisions`))}teardown(){this.cache.clear()}}var VU5=600000,IU5=5000;var zP8=()=>{};function Fh0($,Z){return`${$}:${Z}`}function Rq1($){let Z=ZB({ttlMs:$?.ttlMs??kU5,maxSize:$?.maxSize??CU5}),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(AP8,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(Fh0(K,H))},set(K,H,F){Z.set(Fh0(K,H),F)},invalidate(K,H){Z.delete(Fh0(K,H)),W(K,H)},start(){if(G)return;let K=Q?.();if(!K)return;G=K.subscribe(AP8),(async()=>{for await(let H of G)try{let F=JSON.parse(J.decode(H.data));if(F.originId===Y)continue;Z.delete(Fh0(F.organizationId,F.keyId))}catch{}})().catch(console.error)},teardown(){G?.unsubscribe(),G=null,Z.clear()}}}var AP8="studio.ai-provider-keys.invalidate",kU5=30000,CU5=5000;var TP8=()=>{};class Mq1{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 qP8=($)=>{let Z;return()=>Z??=$()},Vq1,Iq1;var RP8=L(()=>{f6();Vq1=qP8(()=>W$.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),Iq1=qP8(()=>W$.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function yU5($=IP8){return{name:hB,subjects:[`${rB1}.>`],storage:IU.StorageType.File,max_age:vU5,max_bytes:xU5,max_msgs_per_subject:fU5,discard:IU.DiscardPolicy.Old,retention:IU.RetentionPolicy.Limits,duplicate_window:bU5,num_replicas:$}}class kP8{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 MP8($){let Z=VP8.headers();for(let[Q,Y]of Object.entries($))Z.set(Q,Y);return Z}function lU5($,Z){let Q=0;return{publish(Y,X,J,G){Y.publish(X,J,G?{headers:G}:void 0).catch((W)=>{if(Q++,_U5().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 mU5($,Z){return $.info?.cluster?Z:1}function cU5($){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 kq1{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=yU5(X);try{await Y.streams.info(hB),await Y.streams.update(hB,J)}catch(G){if(G instanceof Error&&G.message.includes("stream not found"))await Y.streams.add(J),await Y.streams.update(hB,J);else if(G instanceof Error&&/can ?not change.*storage|storage type/i.test(G.message))await Y.streams.delete(hB),await Y.streams.add(J);else throw G}},Q=await $8(async()=>{let Y=this.options.getJetStreamManager?await this.options.getJetStreamManager():await IU.jetstreamManager($),X=mU5($,IP8);try{await Z(Y,X)}catch(J){if(X<=1||!cU5(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:Wt});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=lU5(Z,Y),G=!1,W=()=>{if(G)return;G=!0;let H=D88(Z);X.publish(H.subject,H.data).catch(()=>{})};Q.addEventListener("abort",W,{once:!0});let K=(H)=>{let F=performance.now(),U=$D1(H,{runId:Z}),N=performance.now()-F;Vq1().record(N),Iq1().add(1,{"org.id":Y??"unknown"}),uU5?.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?MP8(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(),hU5)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 $8(()=>$.publish(Z.subject,Z.data,{...Z.headers?{headers:MP8(Z.headers)}:{},...Z.msgId?{msgID:Z.msgId}:{}}),{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:Wt}),!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=$D1(Z,{runId:$,dedup:Q});Vq1().record(performance.now()-X),Iq1().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=B88({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"?IU.DeliverPolicy.New:IU.DeliverPolicy.All,J=Q?.closeOnDone??!1,G=vz($),W;try{W=await $8(async()=>{return(await Y.consumers.get(hB,{filter_subjects:G,deliver_policy:X})).consume()},{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:Wt})}catch(O){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",O?.message??O),null}let F=pv0({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(mv0()).pipeThrough(cv0()).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(hB,{filter:vz($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var IU,VP8,SU5=($)=>{let Z;return()=>Z??=$()},_U5,vU5=86400000000000,bU5=120000000000,xU5=4294967296,IP8,fU5=500000,gU5,hU5,uU5;var CP8=L(()=>{h$();ZD1();nv0();dv0();f6();RP8();IU=_(cH(),1),VP8=_(YA(),1),_U5=SU5(()=>W$.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"})),IP8=Math.max(1,Number(process.env.DECOPILOT_STREAM_REPLICAS??3)||3);gU5=process.env.STREAM_ENCODE_TRACE==="1",hU5=process.env.DECOPILOT_STREAM_TRACE==="1";uU5=gU5?new kP8:null});function Uh0($,Z,Q,Y){if(!Y)return!1;return $.emit(Z,rU(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 SP8=L(()=>{R8()});class Cq1{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 dU5($,Z,Q={}){let Y=$.startsWith("thread:")?ZU($,Q):$;return[...new Set([Z,Y].filter((X)=>!!X))]}async function Sq1($,Z){let Q=Z.organizationId;try{let Y=await $.storage.taskBoard.linkedThreadIds(Z.id,Q);for(let X of Y){let J=await VB($,X);if(!J?.owner||!J?.name)continue;let G=await $.storage.threads.get(X),W=await IB($,{threadId:X,runBranch:G?.branch}),K=await N80($,Q,nN0(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=dU5(W,await tC0($,X),{flat:Kh(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 PW(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 _P8=L(()=>{V5();xQ();yQ()});async function vP8($,Z,Q){let Y=Z.organizationId;if(!mJ(Z))return!1;if(!fh(Q))return!1;if(!await Lc($,Y,pe))return!1;if(await $.storage.taskBoard.hasHumanRejectedDone(Z.id,Y))return!1;let X=H1.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"}}),J8(Y,J),console.log(`[task-board-review-sweeper] ${Z.id}: linked PR already merged \u2014 moved to ${X}`),!0}var bP8=L(()=>{U3();v8();yX();un();KU();c5()});function aU5($){return $ instanceof IX}function xP8($,Z){return Z-$>=oU5}class _q1{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??iU5;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??nU5,Q=this.options.itemIntervalMs??pU5,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.reapAbandonedThreads(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 reapAbandonedThreads($){try{let Z=await this.taskBoard.failAbandonedLinkedThreads($,new Date(Date.now()-eF1),{neverStarted:IN1,stalled:wB1});for(let Q of Z)console.warn(`[task-board-review-sweeper] failed abandoned 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()-sU5));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 MN1(this.taskBoard,X,Y),await VN1(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!==H1.progress||mJ(W)||W.assigneeId!==t$)continue;let K=await this.contextFactory(J,W.assignedBy??W.createdBy);if(!K)continue;if(await Sq1(K,W)){if(await this.taskBoard.clearSweepBudget(X,J),await this.reconcileItem(X,J,Z))Q++;continue}if(!xP8(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,H1.review,W.updatedBy);if(!F)continue;await this.taskBoard.recordActivity({taskBoardItemId:X,action:"status_changed",actorId:null,data:{from:H1.progress,to:H1.review,reason:H}}).catch(()=>{}),J8(J,F),await HU(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!==H1.progress||G.assigneeId!==t$)continue;let W=await this.contextFactory(X,G.assignedBy??G.createdBy);if(!W)continue;await gO(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),aU5(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()+tU5)).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!==H1.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:H1.progress,to:H1.intake,reason:Q,retriesSpent:Y.retryAttempts}}).catch(()=>{}),J8(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(!xP8(JL(Q,Z.reviewCycleStartedAt),Date.now()))return;await HU($,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(!mJ(Y))return!1;let X=Y.assigneeId===t$,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 Sq1(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 cn(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 vP8(G,Y,W))return!0;if(!X)return!1;if(await B08(G,Y))return!0;if(!AN1(W))return!1;return await mn(G,Y,{previewMatchesHead:TN1(W)}),!0}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}var iU5=60000,pU5=300000,nU5=50,tU5=60000,oU5=900000,sU5=120000;var fP8=L(()=>{v8();c_0();_P8();hO();tn();KU();bP8();c5();HW();kN1();EB1();yQ();s50()});async function yP8($,Z,Q=xz){return await hP8($,Z,Q,{})}async function gP8($,Z,Q,Y=xz){return await hP8($,Q,Y,{activityId:Z})}async function hP8($,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-rU5),settledBefore:new Date(Z-Q),limit:eU5,...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 $N5($.taskBoard,K,Q);for(let U of H){if(!c88(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 $N5($,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?d88(X,Q):Z.from}var rU5=1800000,eU5=200;var uP8=L(()=>{dO()});import{DBOS as y2,DBOSClient as ZN5,SchedulerMode as QN5}from"@dbos-inc/dbos-sdk";function lP8($){kj=$}async function JN5($){if(!kj)return 0;try{return await gP8(kj,$,Date.now(),kj.settleMs)}catch(Z){return console.error(`[automations] settling board move ${$} failed`,Z),0}}async function GN5(){if(!kj)return 0;try{return await yP8(kj,Date.now(),kj.settleMs)}catch($){return console.error("[automations] board transition sweep failed",$),0}}async function WN5($){await y2.sleep((kj?.settleMs??xz)+XN5),await y2.runStep(()=>JN5($),{name:"settleBoardMove"})}async function KN5($,Z){let Q=await y2.runStep(()=>GN5(),{name:"sweepBoardMoves"});if(Q>0)console.log(`[automations] board transition sweep fired ${Q} trigger(s) the settle wait missed`)}async function cP8($){let Z=kj;if(!Z||!bq1)return;if(!await Z.automations.hasActiveBoardColumnTrigger($.taskBoardItemId,$.to))return;let Q=`board-settle:${$.activityId}`;if(!y2.isWithinWorkflow()){await y2.startWorkflow(bq1,{workflowID:Q,queueName:d2})($.activityId);return}let Y=await ZN5.create({systemDatabaseUrl:Z.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:1});try{await Y.enqueue({workflowName:mP8,queueName:d2,workflowID:Q},$.activityId)}finally{await Y.destroy()}}function dP8(){if(vq1)return;bq1=y2.registerWorkflow(WN5,{name:mP8}),vq1=y2.registerWorkflow(KN5,{name:"boardTransitionSweepWorkflow"}),y2.registerScheduled(vq1,{name:"boardTransitionSweepWorkflow",crontab:YN5,mode:QN5.ExactlyOncePerIntervalWhenActive})}var YN5="*/5 * * * *",XN5=2000,kj=null,mP8="boardTransitionSettleWorkflow",bq1=null,vq1=null;var iP8=L(()=>{dO();uP8()});import{readdir as HN5,rm as Nh0}from"fs/promises";import{join as Bh0}from"path";async function Dh0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-FN5),Z.setUTCHours(0,0,0,0);let Q=0;try{let Y=await Hl($);for(let X of Y)if(/^\d{4}$/.test(X))Q+=await pP8($,X,Z);else if(!X.startsWith(".")){let J=Bh0($,X),G=await Hl(J);for(let K of G){if(!/^\d{4}$/.test(K))continue;Q+=await pP8(J,K,Z)}if((await Hl(J)).length===0)await Nh0(J,{recursive:!0,force:!0})}}catch(Y){console.warn("monitoring retention cleanup failed:",Y)}return Q}async function pP8($,Z,Q){let Y=0,X=Bh0($,Z),J=await Hl(X);for(let W of J){if(!/^\d{2}$/.test(W))continue;let K=Bh0(X,W),H=await Hl(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=Bh0(K,U);await Nh0(B,{recursive:!0,force:!0}),Y++}}if((await Hl(K)).length===0)await Nh0(K,{recursive:!0,force:!0})}if((await Hl(X)).length===0)await Nh0(X,{recursive:!0,force:!0});return Y}async function Hl($){try{return(await HN5($)).filter((Q)=>!Q.startsWith("."))}catch{return[]}}var FN5=30;var xq1=()=>{};import{DBOS as fq1,SchedulerMode as UN5}from"@dbos-inc/dbos-sdk";async function BN5(){let $=[xH(),wl(),PD()],Z=0;for(let Q of $)try{Z+=await Dh0(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 DN5($,Z){await fq1.runStep(()=>BN5(),{name:"monitoringRetention"})}function tP8(){if(nP8)return;nP8=!0;let $=fq1.registerWorkflow(DN5,{name:"monitoringRetentionWorkflow"});fq1.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:NN5,mode:UN5.ExactlyOncePerIntervalWhenActive})}var NN5="23 4 * * *",nP8=!1;var oP8=L(()=>{tW();xq1()});function sP8($){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 fY.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=Ez1({auth:X.authInstance,headers:new Headers,role:Y.role,permissions:J,userId:Q}),X.access=new xT(Q,void 0,X.boundAuth,Y.role,"self"),kz(X,{id:Y.orgId,slug:Y.orgSlug}),X}}var aP8=L(()=>{WX();bF()});function rP8(){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=JY0(N.params.name),D=N.params.arguments||{},O=Object.keys(D).map((w)=>JY0(w)),j=O.length>0?O.slice(0,3).join(",")+(O.length>3?"\u2026":""):"";J=`${O9.tool}${B}${O9.dim}(${j})${O9.reset}`}else if(N.method)J=`${O9.dim}${JY0(N.method)}${O9.reset}`}}catch{}}let W=JY0(X);if(X.startsWith("/mcp/conn_")){let F=X.split("/")[2]??"";W=`/mcp/${O9.mcp}${JY0(F.slice(0,12))}\u2026${O9.reset}`}else if(X==="/mcp")W=`${O9.mcp}/mcp${O9.reset}`;else if(X==="/mcp/registry")W=`${O9.mcp}/mcp/registry${O9.reset}`;let K=ON5(Y),H=G?"\u25C0":"\u2190";console.log(`${O9.dim}${H}${O9.reset} ${K}${Y}${O9.reset} ${W}${J?` ${J}`:""}`);try{await Z()}finally{let F=Date.now()-Q,U=$.res.status,N=LN5(U),B=F<1000?`${F}ms`:`${(F/1000).toFixed(1)}s`,D=G?"\u25B6":"\u2192";console.log(`${O9.dim}${D}${O9.reset} ${K}${Y}${O9.reset} ${W}${J?` ${J}`:""} ${N}${U}${O9.reset} ${O9.duration}${B}${O9.reset}`)}}}var O9,LN5=($)=>{if($>=500)return O9.serverError;if($>=400)return O9.clientError;if($>=300)return O9.redirect;return O9.ok},ON5=($)=>{return O9[$]||O9.reset},JY0=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var eP8=L(()=>{O9={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 Yz8}from"crypto";import{mkdir as jN5,readdir as wN5,rm as $z8,stat as Xz8}from"fs/promises";import{join as gq1,relative as EN5}from"path";import{z as G8}from"zod";function Gz8($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return gq1(PN5,Z)}function Wz8($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function yq1($,Z){let Q=Gz8($),Y=Wz8(Z);return gq1(Q,Y)}function zN5($,Z,Q,Y){let X=B0().encryptionKey||"dev-secret",J=`${$}:${Z}:${Q}:${Y}`;return Yz8("sha256",X).update(J).digest("hex")}function Qz8($,Z,Q,Y,X){let J=Math.floor(Date.now()/1000)+Y,G=zN5(Z,Q,J,X),W=new URL(`/api/dev-assets/${Z}/${Wz8(Q)}`,$);return W.searchParams.set("expires",J.toString()),W.searchParams.set("signature",G),W.searchParams.set("method",X),W.toString()}function Kz8($,Z,Q){let Y=`${$}:${Z.getTime()}:${Q}`;return`"${Yz8("md5","etag").update(Y).digest("hex")}"`}async function Hz8($,Z,Q,Y,X){try{let J=await wN5($,{withFileTypes:!0});for(let G of J){let W=gq1($,G.name),H=EN5(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 Hz8(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 Xz8(W);X.objects.push({key:H,size:F.size,lastModified:F.mtime.toISOString(),etag:Kz8(W,F.mtime,F.size)})}catch{}}}}catch{}}function Fz8($,Z){let Y=Q0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:G8.object({prefix:G8.string().optional(),maxKeys:G8.number().optional().default(1000),continuationToken:G8.string().optional(),delimiter:G8.string().optional()}),outputSchema:G8.object({objects:G8.array(G8.object({key:G8.string(),size:G8.number(),lastModified:G8.string(),etag:G8.string()})),nextContinuationToken:G8.string().optional(),isTruncated:G8.boolean(),commonPrefixes:G8.array(G8.string()).optional()}),handler:async(X)=>{let J=X,G=J.prefix||"",W=J.maxKeys??1000,K=J.delimiter,H=J.continuationToken,F=Gz8(Y);await jN5(F,{recursive:!0});let U={objects:[],commonPrefixes:new Set};await Hz8(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:G8.object({key:G8.string()}),outputSchema:G8.object({contentType:G8.string().optional(),contentLength:G8.number(),lastModified:G8.string(),etag:G8.string(),metadata:G8.record(G8.string(),G8.string()).optional()}),handler:async(X)=>{let J=X,G=yq1(Y,J.key),W=await Xz8(G);return{contentType:C21(J.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:Kz8(G,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:G8.object({key:G8.string(),expiresIn:G8.number().optional()}),outputSchema:G8.object({url:G8.string(),expiresIn:G8.number()}),handler:async(X)=>{let J=X,G=rO(J.expiresIn,Zz8);return{url:Qz8(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:G8.object({key:G8.string(),expiresIn:G8.number().optional(),contentType:G8.string().optional()}),outputSchema:G8.object({url:G8.string(),expiresIn:G8.number()}),handler:async(X)=>{let J=X,G=rO(J.expiresIn,Zz8);return{url:Qz8(Z,Y,J.key,G,"PUT"),expiresIn:G}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:G8.object({key:G8.string()}),outputSchema:G8.object({success:G8.boolean(),key:G8.string()}),handler:async(X)=>{let J=X,G=yq1(Y,J.key);try{return await $z8(G),{success:!0,key:J.key}}catch{return{success:!1,key:J.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:G8.object({keys:G8.array(G8.string()).max(1000)}),outputSchema:G8.object({deleted:G8.array(G8.string()),errors:G8.array(G8.object({key:G8.string(),message:G8.string()}))}),handler:async(X)=>{let J=X,G=[],W=[];return await Promise.all(J.keys.map(async(K)=>{let H=yq1(Y,K);try{await $z8(H),G.push(K)}catch(F){W.push({key:K,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:G,errors:W}}}]}async function hq1($,Z,Q){let Y=Fz8(Z,Q),X=new JE({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:kZ});for(let G of Y){let W="shape"in G.inputSchema?G.inputSchema.shape:G8.object({}).shape,K=G.outputSchema&&"shape"in G.outputSchema?G.outputSchema.shape:G8.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 VW({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await X.connect(J),EH(X,J,$,"mcp:dev-assets")}async function Uz8($,Z,Q,Y){let J=Fz8(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 PN5="./data/assets",Zz8=3600,Jz8,Nz8;var Bz8=L(()=>{u1();Mt();H8();IH0();Rt();jJ();eO();cy0();Jz8=new $1;Jz8.all("/",async($)=>{let Z=$.get("studioContext"),Q=new URL($.req.url),Y=`${Q.protocol}//${Q.host}`;return hq1($.req.raw,Z,Y)});Nz8=Jz8});var Dz8={};w6(Dz8,{mountDevRoutes:()=>AN5});function AN5($,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 hq1(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 Uz8(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",Nz8);let Q=new $1;Q.use("*",qU({mountPath:"/api/dev-assets"})),Q.route("/",my0({orgFromPath:!1})),$.route("/api/dev-assets",Q)}var Lz8=L(()=>{H8();T21();cy0();Bz8()});var Rz8={};w6(Rz8,{watchHandler:()=>qz8,resolveVoiceSigningSecret:()=>zz8,resolveCorsOrigin:()=>Az8,isSsoExemptPath:()=>Pz8,isAllowedOAuthRedirectUri:()=>Tz8,createApp:()=>vN5});import{readFileSync as TN5}from"fs";import{randomBytes as qN5}from"crypto";import{PrometheusSerializer as RN5}from"@opentelemetry/exporter-prometheus";import{DBOS as BD}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as IN5,oAuthProtectedResourceMetadata as kN5}from"better-auth/plugins";async function MN5($){let Z=$.connect(),Q;try{Q=await Promise.race([Z,jz8(Oz8)])}catch{return Z.then((Y)=>Y.release(!0)).catch(()=>{}),!1}try{return await Promise.race([Q.query("SELECT 1"),jz8(Oz8)]),Q.release(),!0}catch{return Q.release(!0),!1}}function jz8($){return new Promise((Z,Q)=>setTimeout(()=>Q(Error("pg health-check timeout")),$))}function Pz8($){return $.startsWith("/api/org-sso/")||/^\/api\/[^/]+\/sso\//.test($)||$.startsWith("/api/auth/")||$.startsWith("/api/tools/management")||$.startsWith("/oauth-proxy/")||/^\/api\/[^/]+\/oauth-proxy\//.test($)||$.startsWith(`${Ty0}/`)||$.startsWith(`${jy0}/`)}function zz8($){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)"),qN5(32).toString("base64")}function Az8($,{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 Tz8($,Z){return $.origin===new URL(Z).origin||$.hostname==="localhost"}async function vN5($={}){let Z=$.database??E8(),Q=!1;k6.stop().catch((F0)=>{console.error("[SSEHub] Error stopping previous broadcast (HMR cleanup):",F0)});let Y,X,J,G,W=new qq1,K,H,F,U=null;if($.disableNats)K=Rq1(),Y={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},X=null,J=null,G=new YZ0,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=EP8();let F0=B0().natsCredsPath,G0;if(F0)try{G0=TN5(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=X91()?new d51({getJetStream:()=>U.getJetStream(),selfListVersion:Xh0.version}):null;P0?.init().catch(()=>{}),Y=P0;let z0=new JZ1({getJetStream:()=>U.getJetStream()});z0.init().catch(()=>{}),X=z0;let j1=new yh(ON1,{getJetStream:()=>U.getJetStream()}),b$=new yh(a50,{getJetStream:()=>U.getJetStream()});j1.init().catch(()=>{}),b$.init().catch(()=>{}),J={reads:j1,cards:b$};let r$=new OO1({getJetStream:()=>U.getJetStream()});r$.init().catch(()=>{}),G=r$,K=Rq1({getConnection:()=>U.getConnection()}),H=new Mq1({getConnection:()=>U.getConnection()}),F=new kq1({getConnection:()=>U.getConnection(),getJetStream:()=>U.getJetStream()}),vF8(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(),Lj$(()=>U.getConnection()),F.init().catch((B8)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",B8)})})}if(g2)await g2();i51(Y),WZ1(X),uZ1(()=>U?.getConnection()??null),jN1(J),jO1(G);let B={storage:new yn(Z.db),sseHub:k6,onThreadFinished:async(F0,G0)=>pn(new EW(Z.db),F0,G0,new hW(Z.db))},D=new AB1(B),O=new t70(Z.db),j=new Cq1(O);j.start(),a88(H),H.start((F0)=>{_v0(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;j21(w),U?.onReady(()=>j21(w)),rO1(w),U?.onReady(()=>rO1(w)),F.init().catch((F0)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",F0)}),g2=async()=>{await D.stopAll(),D.dispose(),j.dispose(),H.stop().catch(()=>{}),eU8(),F.teardown(),Y?.teardown(),X?.teardown(),J?.reads.teardown(),J?.cards.teardown(),W.teardown(),K.teardown(),Oj$(),G.teardown(),i51(null),WZ1(null),uZ1(null),jN1(null),jO1(null)};let E=new $1;if(E.use("*",BO1({enabled:(F0)=>ao(F0,"debug")==="1"})),E.use("*",fh0),E.use("/*",IF8({origin:(F0,G0)=>Az8(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("*",rP8());E.use("*",async(F0,G0)=>{if(await G0(),Za(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(sX.HEALTH,(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);return F0.json({status:"ok"})}),E.get(sX.HEALTH_LIVE,(F0)=>{return F0.json({status:"ok"})}),E.get(sX.HEALTH_READY,async(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);let G0={};if(G0.postgres={status:await MN5(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(sX.METRICS,async(F0)=>{try{let G0=await uh0.collect(),P0=VN5.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(`${sX.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(F0)=>{let G0=F0.req.param("queueName");if(!CN5.has(G0))return F0.json({error:`Unknown queue: ${G0}`},404);let[P0,z0]=await Promise.all([BD.listQueuedWorkflows({queueName:G0,status:"ENQUEUED",loadInput:!1,loadOutput:!1}),BD.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",kE8),E.route("/api/_reports",hE8),E.route("/api/_stripe",Uq1),E.route("/api/_github",mE8({taskBoard:()=>l,contextFactory:()=>b})),E.route("/api/_git",Fs);let T={db:Z.db,encryptionKey:B0().encryptionKey};E.route("/api/_jira",eE8(T)),E.route("/api/_jira",pE8(T)),E.route("/report",fE8($.clientDir)),E.route("/api/auth/custom",eF8),E.all("/api/auth/admin/*",uU8),E.all("/api/auth/*",async(F0)=>{return await N4.handler(F0.req.raw)});let z=XG8();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",JQ0),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",JQ0),E.route("/",z),E.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",bZ0),E.route("/",HG8()),E.use("/oauth-proxy/:connectionId/*",JQ0),E.all("/oauth-proxy/:connectionId/*",wz8);let A=async(F0)=>{let P0=await SN5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",JQ0),E.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",A);let R=async(F0)=>{let P0=await _N5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",R);let f=CF8({ttlMs:120000}),S=await cH8({db:Z.db,auth:N4,encryption:{key:B0().encryptionKey},observability:{tracer:yj,meter:W$},modelListCache:W,providerKeyCache:K,memberRoleCache:f});fY.set(S),g$$({db:Z.db,baseUrl:j5()}),dH8({db:Z.db}),tH8({db:Z.db}),GF8({db:Z.db}),DF8({db:Z.db}),sE8({db:Z.db,encryptionKey:B0().encryptionKey}),Ye$({db:Z.db}),PF8({db:Z.db}),ye$({db:Z.db});let V=qz(Z.db),v=new d70(Z.db),b=sP8({db:Z.db});CD1({storage:V,studioContextFactory:b,orgContextFactory:(F0)=>lJ(Z.db,F0),systemDatabaseUrl:Ve(B0().databaseUrl,B0().databasePgSsl)}),BD1({systemDatabaseUrl:Ve(B0().databaseUrl,B0().databasePgSsl),studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:k6}}),WD1({dispatchRunFn:G88,studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:k6}});let h=new yn(Z.db),l=new EW(Z.db),d=new hW(Z.db),W0=new _q1(l,b,d);if(B0().taskBoardReviewSweeperEnabled){W0.start();let F0=g2;g2=async()=>{await F0?.(),W0.dispose()}}lP8({automations:V,taskBoard:l,fire:HH,systemDatabaseUrl:Ve(B0().databaseUrl,B0().databasePgSsl),settleMs:B0().boardTransitionSettleSeconds*1000}),De$(cP8),V88({getJetStream:()=>U?.getJetStream()??null,getJetStreamManager:async()=>{let F0=U?.getConnection();return F0?await Ez8.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(Uh0(k6,G0,F0,P0),P0)await pn(l,F0,G0,d);return P0},markRunRequiresAction:async(F0,G0)=>{let P0=await h.requiresActionIfInProgress(F0,G0);return Uh0(k6,G0,F0,P0),P0},markRunFailed:async(F0,G0,P0,z0)=>{let j1=await h.markRunFailed(F0,G0,P0,z0);if(Uh0(k6,G0,F0,j1),j1)await pn(l,F0,G0,d);return j1},clearSynthesizedError:async(F0,G0)=>{await h.messageParts().replaceMessageParts(F0,_z(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);k6.emit(G0,rU(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)}}),k$8({studioContextFactory:b,systemDatabaseUrl:Ve(B0().databaseUrl,B0().databasePgSsl),streamBuffer:F}),tP8(),h$$(),pH8(),sH8(),KF8(),OF8(),rE8(),dP8(),Ke$(),AF8(),ge$(),dE8();let k0=async(F0,G0,P0)=>{let z0=await V.findById(F0,G0);if(!z0)throw Error("Automation not found");return xD1({automationId:z0.id,organizationId:z0.organization_id,triggerId:null})},X0=new Xs(V,({automation:F0,trigger:G0,contextMessages:P0,idempotencyKey:z0})=>HH({automationId:F0.id,organizationId:F0.organization_id,triggerId:G0.id,contextMessages:P0},{idempotencyKey:z0})),U0=[xH(),wl(),PD()];for(let F0 of U0)Dh0(F0).then(()=>{}).catch((G0)=>console.error("[monitoring] Retention cleanup failed:",G0));let o=()=>N4.api.deleteAllExpiredApiKeys().catch((F0)=>console.error("[auth] Expired API key cleanup failed:",F0));o(),setInterval(o,86400000).unref(),E.use("*",async(F0,G0)=>{if(bh0(F0.req.path))return G0();let P0={measure:async(j1,b$)=>{wH(F0,j1);try{return await b$()}finally{IW(F0,j1)}}},z0=await fY.create(F0.req.raw,{timings:P0});z0.automationRunner=k0,F0.set("studioContext",z0);try{await G0()}finally{let j1=z0.pendingRevalidations;if(j1.length>0)Promise.race([Promise.allSettled(j1),G$(30000)]).catch((r$)=>console.error("[studio] revalidation cleanup error:",r$))}}),E.use("/api/:org/decopilot/*",eo),E.use("/api/:org/v1/*",eo),E.use("/api/:org/files/*",eo),E.use("*",async(F0,G0)=>{if(Pz8(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 $1;t.use("*",qU({mountPath:"/api/org-sso"})),t.route("/",My0()),E.route("/api/org-sso",t),E.get("/api/tools/management",(F0)=>{return F0.json({tools:Be,grouped:rA()})}),E.use("/mcp/*",async(F0,G0)=>{wH(F0,"mcp");try{return await G0()}finally{IW(F0,"mcp")}});let a=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?",a),E.use("/mcp/gateway/:virtualMcpId?",a),E.use("/mcp/virtual-mcp/:virtualMcpId?",a),E.use("/mcp/self",a),uK()){let{mountDevRoutes:F0}=(Lz8(),Ah0(Dz8));F0(E,a)}let $0=new $1;$0.use("*",qU({mountPath:"/mcp"})),$0.route("/",tb0()),E.route("/mcp",$0);let J0=new $1;J0.use("*",qU({mountPath:"/mcp/self"})),J0.route("/",Pg0()),E.route("/mcp/self",J0);let h0=new $1;h0.use("*",qU({mountPath:"/mcp"})),h0.route("/",ab0()),E.route("/mcp",h0),E.use("/api/:org/models/*",async(F0,G0)=>{wH(F0,"llm_models");try{return await G0()}finally{IW(F0,"llm_models")}});let C0=JN8({cancelBroadcast:H,streamBuffer:F,runRegistry:D});E.route("/api",C0),E.route("/api",YP8);let Y1=new $1;Y1.use("*",qU({mountPath:"/api"})),Y1.route("/",qg0()),E.route("/api",Y1),E.route("/api",qE8);let m0=new $1;m0.use("*",qU({mountPath:"/api"})),m0.route("/",Rg0({tokenStorage:v,automationEventDispatcher:X0})),E.route("/api",m0);let j0=new i70(Z.db),E0=new $1;E0.use("*",qU({mountPath:"/api"})),E0.route("/",_y0()),E.route("/api",E0),E.route("/api/deco-sites",PN8());let n0=new $1;n0.use("*",qU({mountPath:"/api/deco-sites"})),n0.route("/",by0()),E.route("/api/deco-sites",n0),E.route(Ty0,lU8()),E.route(JO8,KO8()),E.route("/api/_editor-resolve",ME8()),E.route(JU8,GU8()),E.route(jy0,zU8());let D1=B0(),Z1=D1.elevenlabsApiKey?new Zh0({apiKey:D1.elevenlabsApiKey,model:D1.elevenlabsVoiceModel,conversationModel:D1.elevenlabsConversationModel,voiceId:D1.elevenlabsVoiceId}):null,_0={openai:D1.openaiLiveApiKey?new Yq1({apiKey:D1.openaiLiveApiKey,voice:D1.openaiLiveVoice}):null,elevenlabs:Z1?new Qq1(Z1,()=>U?.getConnection()??null):null},d0=new Kq1({adapter:Z1,conversationAdapters:_0,defaults:D1,secret:zz8(D1),getConnection:()=>U?.getConnection()??null}),i0=rw8({voiceSessions:d0,kvStorage:j0,runRegistry:D,streamBuffer:F,sseHub:k6,cancelBroadcast:H,tokenStorage:v,automationEventDispatcher:X0,mountDevAssets:uK(),mcpAuth:a,oauthProxyHandler:wz8,watchHandler:qz8,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(WN8),Object.assign(E,{markShuttingDown:()=>{Q=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([k6.stop(),g2?Promise.resolve(g2()).finally(()=>{g2=null}):Promise.resolve()]),U)await U.drain().catch((F0)=>console.error("[shutdown] NATS drain error:",F0));console.log("[shutdown] Flushing telemetry..."),await aJ().catch((F0)=>console.error("[shutdown] Telemetry flush error:",F0)),console.log("[shutdown] Closing database..."),await B5$(Z).catch((F0)=>console.error("[shutdown] Database close error:",F0)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await BD.registerQueue(BG,{partitionQueue:!0,concurrency:VD1,minPollingIntervalMs:ID1}),await BD.registerQueue(pW,{partitionQueue:!0,concurrency:UD1,priorityEnabled:!0}),await BD.registerQueue(wD,{workerConcurrency:B0().decopilotMaxConcurrentHostedRuns,priorityEnabled:!0}),await BD.registerQueue(ED,{workerConcurrency:B0().sandboxMaxConcurrentHostedRuns,priorityEnabled:!0}),await BD.registerQueue(fj,{partitionQueue:!0,concurrency:I$8}),await BD.registerQueue(c2,fe$),await BD.registerQueue(d2),await q21(V),await Promise.allSettled(["automations-gate","automations-global","jira-push"].map((F0)=>BD.deleteQueue(F0))),await kD1(Z.pool),aW$().catch((F0)=>{console.error("[studio-pack-backfill] failed:",F0)}),Dc(Z.db).catch((F0)=>{console.error("[automations] built-in seed failed:",F0)}),u$$().catch((F0)=>{console.error("[org-fs] public-sets boot sync kick failed:",F0)})}})}var Ez8,Oz8=5000,g2=null,wz8=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 fY.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 Yo(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=qE1(await W.json());if(!K)K=H.origin;let N=await xZ0(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=KG8(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(!Tz8(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(qF8(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 k0=decodeURIComponent(d.slice(0,W0)),X0=decodeURIComponent(d.slice(W0+1));A=k0||null,R=X0||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 ez(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 $9(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})},qz8=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&&(!xB(Y)||!await fB(Z)))return $.json({error:"forbidden"},403);let W=G?I_0:Y;if(G)yO({action:"watch_all_orgs",actorUserId:Q,actorOrgId:Y,targetOrgId:"all"});let K=crypto.randomUUID();return qj($,async(H)=>{if(await H.writeSSE({event:"connected",data:JSON.stringify({listenerId:K,organizationId:Y,typePatterns:J,connectedAt:new Date().toISOString()})}),!k6.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(()=>{k6.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),k6.remove(W,K)})},30000);await new Promise((N)=>{H.onAbort(()=>{clearInterval(U),k6.remove(W,K),N()})})})},VN5,CN5,SN5=()=>kN5(N4),_N5=()=>IN5(N4);var Mz8=L(()=>{h$();u1();l$$();nH8();aH8();HF8();jF8();UZ0();pU1();TF8();s50();F9();wi();R8();H8();By0();kF8();DO1();rK();bF();dz1();kG();f6();e4();az1();WU8();AU8();X21();mU8();B21();z21();A21();gK();fZ0();T21();KN8();Ly0();ew8();XE8();JE8();HE8();EE8();V21();ob0();XZ0();RE8();rb0();XT1();VE8();QT1();CE8();yE8();uE8();lE8();cE8();iE8();nE8();$P8();Aq1();_21();XP8();YT1();rA1();PY0();PP8();Hq1();RJ();ZB0();C80();EN1();f$0();g$0();EO1();zP8();TP8();w21();CP8();Av0();SP8();d50();n70();fO();c5();Qz1();fP8();iP8();U3();Iz();oP8();YF0();xq1();tW();R21();bO();JD1();YF0();_90();l50();lP1();aP8();Iw();eP8();Vs();dz1();gn();Xt();vv0();Ez8=_(cH(),1);VN5=new RN5,CN5=new Set([BG,pW,wD,ED,fj,c2])});var Cz8={};w6(Cz8,{resolveClientDir:()=>uN5,resolveAssetPathWithTraversalCheck:()=>kz8,isPathWithinDirectory:()=>Iz8,createAssetHandler:()=>lN5});import{resolve as GY0,dirname as bN5,join as xN5,extname as fN5,basename as yN5,sep as Vz8}from"path";function gN5($,Z){if($===Z||yN5($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${Vz8}assets${Vz8}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function Iz8($,Z){let Q=GY0(Z),Y=GY0($);return Y===Q||Y.startsWith(Q+"/")}function kz8({requestPath:$,clientDir:Z}){let Q=$.startsWith("/")?$.slice(1):$,Y=GY0(Z,Q);if(!Iz8(Y,Z))return null;return Y}function uN5($,Z="../client"){let Q=new URL($),Y=bN5(Q.pathname);return GY0(Y,Z)}function lN5($={}){let{env:Z="production",clientDir:Q=hN5,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=kz8({requestPath:W,clientDir:Q});if(!K)return null;let H=xN5(K,"index.html"),F=GY0(Q,"index.html"),U=J.headers.get("accept"),B=U?.includes("text/html")||U?.includes("*/*")&&["",".html"].includes(fN5(K))?[H,F]:[];for(let D of[K,...B])try{let O=Bun.file(D);if(await O.exists())return new Response(O,{headers:gN5(D,F)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var hN5="./dist/client";var Sz8=()=>{};var _z8={};w6(_z8,{tryUpgradePreviewWs:()=>aN5,tryHandlePreviewHttp:()=>nN5,previewWebSocketHandler:()=>rN5,parsePreviewBaseDomain:()=>pN5,isPreviewWsData:()=>Lh0,extractHandleFromHost:()=>uq1});function dN5($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function iN5(){return new Response(cN5,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function pN5($){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 uq1($,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 nN5($,Z){let Q=uq1($.headers.get("host"),Z.baseDomain);if(!Q)return null;let{handle:Y,slug:X}=A31(Q),J=await Z.getRunner();if(!J)return KY0(503,"preview proxy not configured");let G=await J.proxyPreviewRequest(Y,X?sN5($,X):$);if(G.headers.get(dp)&&dN5($))return iN5();return G.headers.delete(dp),G}function oN5($){return{protocols:$.upstreamProtocols,headers:{[z31]:$.appSlug}}}function sN5($,Z){let Q=new Headers($.headers);return Q.set(z31,Z),new Request($,{headers:Q})}function KY0($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function Lh0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function aN5($,Z,Q){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let Y=uq1($.headers.get("host"),Q.baseDomain);if(!Y)return null;let{handle:X,slug:J}=A31(Y),G=await Q.getRunner();if(!G)return KY0(503,"preview proxy not configured");let W=await G.resolvePreviewUpstreamUrl(X);if(!W)return KY0(404,"sandbox not found");let K=new URL($.url);if(K.pathname.startsWith("/_sandbox"))return KY0(404,"not found");let H=`${W.replace(/^http/,"ws")}${K.pathname}${K.search}`,F=$.headers.get("sec-websocket-protocol"),U=F?F.split(",").map((D)=>D.trim()).filter(Boolean):[],N={kind:"preview",upstreamUrl:H,upstreamProtocols:U,...J?{appSlug:J}:{},pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:N}))return KY0(426,"upgrade failed");return}function WY0($,Z,Q,Y){if(Z.closed)return;Z.closed=!0;try{$.close(Q,Y)}catch{}try{Z.upstream?.close()}catch{}}var mN5=256,cN5='<!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>',tN5,rN5;var vz8=L(()=>{v60();tN5=WebSocket;rN5={open($){let Z=$.data;if(!Lh0(Z))return;let Q;try{Q=Z.appSlug?new tN5(Z.upstreamUrl,oN5(Z)):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)}`),WY0($,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)=>{WY0($,Z,Y.code||1000,Y.reason||"")}),Q.addEventListener("error",()=>{WY0($,Z,1011,"upstream error")})},message($,Z){let Q=$.data;if(!Lh0(Q))return;let Y=Q.upstream;if(Y&&Y.readyState===WebSocket.OPEN){Y.send(Z);return}if(Q.pending.length>=mN5){WY0($,Q,1011,"preview ws backlog overflow");return}Q.pending.push(Z)},close($){let Z=$.data;if(!Lh0(Z))return;WY0($,Z,1000,"")}}});h$();var eq1="14";function $R1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:eq1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}h$();import az8 from"pg";var ZR1=8314027461559302n,rz8=600000,ez8=500;async function QR1($,Z){let{databaseUrl:Q,lockTimeoutMs:Y=rz8}=$,X=$.log??((K)=>console.log(K)),J=new az8.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",[ZR1.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 G$(ez8)}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)",[ZR1.toString()])}catch{}await J.end().catch(()=>{})}}u1();Mh0();f6();function a28(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function ch0($,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 gR1(){let $=a28();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:ch0($,"--cpu-prof-dir")??process.cwd(),name:ch0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(ch0($,"--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.'}))}ph0();var TY0;function nR1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=n2();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(()=>{}),TY0=setInterval(()=>void Z().catch(()=>{}),$),TY0.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(TY0)clearInterval(TY0)}}import*as $A8 from"bun:jsc";var{startSamplingProfiler:ZA8,samplingProfilerStackTraces:QA8}=$A8;function tR1(){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{ZA8()}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=QA8()?.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 oR1(){gR1();let $=[nR1(),pR1(),tR1()];return()=>{for(let Z of $)Z()}}import{existsSync as GB5}from"fs";var dW=B0();xR1();var{DBOS:HY0,DBOSClient:eN5}=await import("@dbos-inc/dbos-sdk");function pq1($,Z){if(!Z)return $;let Q=new URL($);if(!Q.searchParams.has("sslmode"))Q.searchParams.set("sslmode","verify-full");return Q.toString()}var $B5=[BG,pW,wD,ED,fj,c2,d2],ZB5=dW.dispatchRole==="worker"?$B5:dW.dispatchRole==="api"?[]:void 0;HY0.setConfig($R1({systemDatabaseUrl:pq1(dW.databaseUrl,dW.databasePgSsl),poolSize:dW.dbosPoolSize,executorID:dW.podName,listenQueues:ZB5}));var{createApp:QB5}=await Promise.resolve().then(() => (Mz8(),Rz8)),{isServerPath:YB5}=await Promise.resolve().then(() => (PY0(),wR1)),{createAssetHandler:XB5,resolveClientDir:gz8}=await Promise.resolve().then(() => (Sz8(),Cz8)),JB5=dW.port,bz8=gz8(import.meta.url,"../client"),hz8=GB5(bz8)?bz8:gz8(import.meta.url,"../dist/client"),WB5=XB5({clientDir:hz8,isServerPath:YB5}),KB5={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function HB5($){let Z=new Headers($.headers);for(let[Q,Y]of Object.entries(KB5))Z.set(Q,Y);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:FB5,tryHandlePreviewHttp:UB5,tryUpgradePreviewWs:NB5,previewWebSocketHandler:lq1,isPreviewWsData:mq1}=await Promise.resolve().then(() => (vz8(),_z8)),{getOrInitSharedRunner:uz8}=await Promise.resolve().then(() => (vX(),Rc$)),lz8=FB5(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),xz8={baseDomain:lz8??"",getRunner:uz8};if(process.env.STUDIO_SANDBOX_TENANT_POOLS?.trim())uz8().catch(($)=>{console.warn("[lifecycle] eager sandbox provider init for tenant pools failed:",$ instanceof Error?$.message:String($))});var Oh0=await QB5({clientDir:hz8}),cq1=process.env.DBOS_CONDUCTOR_KEY?.trim(),fz8=process.env.DBOS_CONDUCTOR_URL?.trim();await QR1({databaseUrl:pq1(dW.databaseUrl,dW.databasePgSsl)},()=>HY0.launch({...cq1?{conductorKey:cq1}:{},...cq1&&fz8?{conductorURL:fz8}:{}}));console.log(`[dbos] application version: ${HY0.applicationVersion}`);var dq1=5,iq1=0;await $8(async()=>{iq1++;try{return await Oh0.initDbos()}catch($){let Z=iq1>=dq1?"giving up":"retrying";throw console.warn(`[dbos] initDbos attempt ${iq1}/${dq1} failed, ${Z}`,$),$}},{maxAttempts:dq1,minTimeout:1000,maxTimeout:1e4,jitter:0.5});var BB5=Bun.serve({idleTimeout:0,port:JB5,hostname:"0.0.0.0",fetch:async($,Z)=>{if(lz8){let Y=await NB5($,Z,xz8);if(Y===void 0)return;if(Y)return Y;let X=await UB5($,xz8);if(X)return X}let Q=await WB5($);if(Q)return HB5(Q);return Oh0.fetch($,{server:Z})},websocket:{open($){if(mq1($.data))lq1.open($)},message($,Z){if(mq1($.data))lq1.message($,Z)},close($){if(mq1($.data))lq1.close($)}},development:!1}),DB5=oR1();if(dW.localMode)Promise.resolve().then(() => (hh(),Lv0)).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(() => (hh(),Lv0));Z()}catch{}});var yz8=!1;async function LB5($){let Z;try{Z=await eN5.create({systemDatabaseUrl:pq1(dW.databaseUrl,dW.databasePgSsl),systemDatabaseSchemaName:"dbos"});let Q=await Z.listWorkflows({status:"PENDING",queueName:pW,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:pW}),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 jh0($){if(yz8)return;yz8=!0,console.log(`
|
|
4507
4507
|
[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{DB5(),Oh0.markShuttingDown();let J=YR1(dW.dispatchRole,Q,process.env.SHUTDOWN_DRAIN_MS);await G$(J),await BB5.stop(!0);let G=HY0.executorID;await HY0.shutdown(),await LB5(G),await Oh0.shutdown()}catch(J){console.error("[shutdown] Error during shutdown:",J),X=1}clearTimeout(Y),process.exit(X)}process.on("SIGTERM",()=>jh0("SIGTERM"));process.on("SIGINT",()=>jh0("SIGINT"));process.on("SIGHUP",()=>jh0("SIGHUP"));process.on("unhandledRejection",($)=>{console.error("[process] Unhandled rejection:",$)});process.on("uncaughtException",($)=>{console.error("[process] Uncaught exception:",$),jh0("uncaughtException")});
|