decocms 4.503.1 → 4.503.2

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.
Files changed (377) hide show
  1. package/dist/client/assets/{ActiveShapeUtils-B4zRtCcX.js → ActiveShapeUtils-CBLSJqBl.js} +1 -1
  2. package/dist/client/assets/{AlertCircle-B7FQmH_M.js → AlertCircle-BFUZ4yx0.js} +1 -1
  3. package/dist/client/assets/{AreaChart-80AfW8ak.js → AreaChart-DKrmhkRJ.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-DZes_rvl.js → ArrowLeft-CK2OAC0l.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-DJaSaDSt.js → ArrowUp-U6_gobY2.js} +1 -1
  6. package/dist/client/assets/{BarChart-BpCZ5QGT.js → BarChart-DBqZyJQX.js} +1 -1
  7. package/dist/client/assets/{Building02-C692k1Je.js → Building02-Ddm6hNyu.js} +1 -1
  8. package/dist/client/assets/{CategoricalChart-FZqnb3jh.js → CategoricalChart-DYWjGYq1.js} +1 -1
  9. package/dist/client/assets/{CheckCircle-DTvtIc91.js → CheckCircle-BWW06ZXQ.js} +1 -1
  10. package/dist/client/assets/{ChevronSelectorVertical-CSoDnwYU.js → ChevronSelectorVertical-DKcwgXpF.js} +1 -1
  11. package/dist/client/assets/{ChevronUp-D6SZVzK-.js → ChevronUp-CTrNq9Nk.js} +1 -1
  12. package/dist/client/assets/{Copy01-CRJ909cy.js → Copy01-TJP2zB12.js} +1 -1
  13. package/dist/client/assets/{CreditCard01-DKW3gWt7.js → CreditCard01-Bm6_xB5H.js} +1 -1
  14. package/dist/client/assets/{DotsVertical-DPFiEMJ2.js → DotsVertical-DKl8j3BE.js} +1 -1
  15. package/dist/client/assets/{ErrorBarContext-D5rQXK1V.js → ErrorBarContext-CR5xIaDQ.js} +1 -1
  16. package/dist/client/assets/{Globe04-CCnzVN5c.js → Globe04-ClrCqE7c.js} +1 -1
  17. package/dist/client/assets/{Image01-CoKdj_km.js → Image01-Cf_YxPro.js} +1 -1
  18. package/dist/client/assets/{Key01-CZ56XYyu.js → Key01-55Z6tHcr.js} +1 -1
  19. package/dist/client/assets/{Link01-QYs7ouJl.js → Link01-DNXOSsg9.js} +1 -1
  20. package/dist/client/assets/{LinkBroken01-C8q-hkDW.js → LinkBroken01-Vuoqu_ZW.js} +1 -1
  21. package/dist/client/assets/{Monitor01-DO9PZtsn.js → Monitor01-C-mB2rao.js} +1 -1
  22. package/dist/client/assets/{Play-B8h_fG9j.js → Play-CUFyJJIt.js} +1 -1
  23. package/dist/client/assets/{Plus-CyJJ3XFV.js → Plus-D-GSl2MA.js} +1 -1
  24. package/dist/client/assets/{SearchMd-Yk_yG6_-.js → SearchMd-CkV8MM4H.js} +1 -1
  25. package/dist/client/assets/{Sector-C-MC544L.js → Sector-CNZsIxmG.js} +1 -1
  26. package/dist/client/assets/{ShoppingBag01-Cr7oTzOr.js → ShoppingBag01-dI1cRqeE.js} +1 -1
  27. package/dist/client/assets/{Sun-DM7-cZiQ.js → Sun-BPl8u-yx.js} +1 -1
  28. package/dist/client/assets/{SwitchHorizontal01-Bv6v-_-V.js → SwitchHorizontal01-KDjTaTLX.js} +1 -1
  29. package/dist/client/assets/{Tool01-D_pOnyrM.js → Tool01-CvAlZ6_R.js} +1 -1
  30. package/dist/client/assets/{Trash01-CLvb-vxo.js → Trash01-BzUZQR5Y.js} +1 -1
  31. package/dist/client/assets/{Upload01-DotbRoth.js → Upload01-CdgDB-zC.js} +1 -1
  32. package/dist/client/assets/{User01-DpzyFtdl.js → User01-CinpYulR.js} +1 -1
  33. package/dist/client/assets/{UserSquare-ii6T7SpT.js → UserSquare-0R6kuy9W.js} +1 -1
  34. package/dist/client/assets/{Users01-BEOgMF3y.js → Users01-DFSTtPtZ.js} +1 -1
  35. package/dist/client/assets/{XAxis--67FjR4u.js → XAxis-CMCcO3jI.js} +1 -1
  36. package/dist/client/assets/{XClose-UJ2K7TVC.js → XClose-CXxsMd9c.js} +1 -1
  37. package/dist/client/assets/{ZoomOut-FPIBUWhA.js → ZoomOut-C1rwTYBB.js} +1 -1
  38. package/dist/client/assets/{access-gate-Cj7Rjcug.js → access-gate-BSx5LbNZ.js} +1 -1
  39. package/dist/client/assets/{add-connection-dialog-DVH8e9NI.js → add-connection-dialog-CNB1XZS8.js} +1 -1
  40. package/dist/client/assets/{agent-analytics-Ce-ZWP9P.js → agent-analytics-BKsJAgnt.js} +1 -1
  41. package/dist/client/assets/agent-app-DBSthuoA.js +1 -0
  42. package/dist/client/assets/{agent-assets-ajh1hAY1.js → agent-assets-CvHLRtfR.js} +1 -1
  43. package/dist/client/assets/{agent-automation-Di1n1bbE.js → agent-automation-DG660AlN.js} +1 -1
  44. package/dist/client/assets/{agent-automations-ClchWctF.js → agent-automations-DkNZsDdV.js} +1 -1
  45. package/dist/client/assets/{agent-connect-sources-BA7V6yxc.js → agent-connect-sources-DFGjLsvu.js} +1 -1
  46. package/dist/client/assets/agent-deck-DW69LMk-.js +1 -0
  47. package/dist/client/assets/{agent-e2e-D8djWDNu.js → agent-e2e-CTTKhY1C.js} +1 -1
  48. package/dist/client/assets/{agent-experiments-C1rYkq-c.js → agent-experiments-B23reQrT.js} +1 -1
  49. package/dist/client/assets/{agent-file-BPspUfYw.js → agent-file-CFgK4Fqg.js} +1 -1
  50. package/dist/client/assets/{agent-hosting-X7gvVXAz.js → agent-hosting-BL7RyxMT.js} +1 -1
  51. package/dist/client/assets/{agent-icon-B7cHtLmN.js → agent-icon-Bmu0Xuy8.js} +1 -1
  52. package/dist/client/assets/agent-library-D9aAC92j.js +1 -0
  53. package/dist/client/assets/agent-library-file-Dlq-Vts6.js +1 -0
  54. package/dist/client/assets/{agent-monitor-gDwyBiKw.js → agent-monitor-Dxt5K5x_.js} +1 -1
  55. package/dist/client/assets/{agent-overview-CNjRMR9E.js → agent-overview-CAzScYJD.js} +1 -1
  56. package/dist/client/assets/{agent-releases-BRTteMcu.js → agent-releases-RSbZ96r7.js} +1 -1
  57. package/dist/client/assets/agent-settings-5EOlZJW6.js +1 -0
  58. package/dist/client/assets/{agent-site-editor-DSS1gTUU.js → agent-site-editor-DFWKub_t.js} +1 -1
  59. package/dist/client/assets/agent-site-editor-code-I8N3vaXE.js +2 -0
  60. package/dist/client/assets/agent-site-editor-content-uhd8Bnc-.js +1 -0
  61. package/dist/client/assets/agent-site-editor-preview-CV5DbDBm.js +1 -0
  62. package/dist/client/assets/agent-view-QNUTYcIi.js +1 -0
  63. package/dist/client/assets/{agent-view-guard-CCih3VTe.js → agent-view-guard-BwubZYi8.js} +1 -1
  64. package/dist/client/assets/{agents-list-CZjV8bbN.js → agents-list-L7YgNFph.js} +1 -1
  65. package/dist/client/assets/{ai-providers-B6JeYxX2.js → ai-providers-DEeLkiCM.js} +1 -1
  66. package/dist/client/assets/{alert-8kyzY3mC.js → alert-CnRQ3m-7.js} +1 -1
  67. package/dist/client/assets/{alert-dialog-Dhk9OY33.js → alert-dialog-BaBKldUA.js} +1 -1
  68. package/dist/client/assets/{analytics-sections-FNv48nRX.js → analytics-sections-BIEC86HP.js} +1 -1
  69. package/dist/client/assets/api-keys-BgtInlXe.js +1 -0
  70. package/dist/client/assets/{api-keys-D5flq3KN.js → api-keys-CmpJo1Rr.js} +1 -1
  71. package/dist/client/assets/{app-editor-BhVwxJJK.js → app-editor-BqvAOKlk.js} +1 -1
  72. package/dist/client/assets/{asset-utils-C2Mu9meV.js → asset-utils--N2gsOKr.js} +1 -1
  73. package/dist/client/assets/{auth-D-N_o1pb.js → auth-BeK8rRbB.js} +1 -1
  74. package/dist/client/assets/{auth-catchall-BBvN2Rx7.js → auth-catchall-fFMHk_ps.js} +1 -1
  75. package/dist/client/assets/{auth-entry-DbRCvj9z.js → auth-entry-C1_Znn_c.js} +1 -1
  76. package/dist/client/assets/{auth-split-layout-CtlyXCmE.js → auth-split-layout-CocPnGfp.js} +1 -1
  77. package/dist/client/assets/{authenticate-and-persist-oauth-1LFr51s5.js → authenticate-and-persist-oauth-DJwJCiC8.js} +1 -1
  78. package/dist/client/assets/{automation-list-row-COpQfJ8e.js → automation-list-row-3WI1rtPZ.js} +1 -1
  79. package/dist/client/assets/{automation-runs-DVpJHzv0.js → automation-runs-dkpbdf4I.js} +1 -1
  80. package/dist/client/assets/{automations-C8_YeRwz.js → automations-CaP79ol1.js} +1 -1
  81. package/dist/client/assets/{autosend-BZJ2TdB9.js → autosend-B-VPnrp2.js} +1 -1
  82. package/dist/client/assets/{avatar-nIzU_VyX.js → avatar-yCbsNNbw.js} +1 -1
  83. package/dist/client/assets/{badge-BPqtGuPz.js → badge-Zdi_g359.js} +1 -1
  84. package/dist/client/assets/{block-document-BKQmJN5N.js → block-document-D4x1DRNW.js} +1 -1
  85. package/dist/client/assets/{blocks-preview-workspace-context-k-h3WbAb.js → blocks-preview-workspace-context-CMtVQxL8.js} +1 -1
  86. package/dist/client/assets/{blocks-tab-states-BBN5TI4p.js → blocks-tab-states-B7_Q2Byx.js} +3 -3
  87. package/dist/client/assets/{blog-schema-BUAdNo1n.js → blog-schema-D0r94Mwa.js} +1 -1
  88. package/dist/client/assets/{board-analytics-DwUwOtky.js → board-analytics-DjFw48Ii.js} +1 -1
  89. package/dist/client/assets/{buckets-CvDtgoPk.js → buckets-DmovZm0n.js} +1 -1
  90. package/dist/client/assets/{build-improve-prompt-doc-BG4FSKpV.js → build-improve-prompt-doc-Cd4DLFMv.js} +1 -1
  91. package/dist/client/assets/{calendar-CliY99e4.js → calendar-aMW3a7Qx.js} +1 -1
  92. package/dist/client/assets/{capability-load-error-BWT346oK.js → capability-load-error-xmV40q_-.js} +1 -1
  93. package/dist/client/assets/{category-editor-c-rjHBE2.js → category-editor-BYf-_N2d.js} +1 -1
  94. package/dist/client/assets/{chart-BeOqWxx3.js → chart-D1eqwoYD.js} +1 -1
  95. package/dist/client/assets/{chat-context-Bm126Y9d.js → chat-context-C4pDshj1.js} +1 -1
  96. package/dist/client/assets/{chat-draft-DpsQeTSh.js → chat-draft-D5dlb_sl.js} +1 -1
  97. package/dist/client/assets/{checkbox-BHYLtolO.js → checkbox-C2l5tKo2.js} +1 -1
  98. package/dist/client/assets/{choose-editor-BAVCkM9r.js → choose-editor-C_NzKjq2.js} +1 -1
  99. package/dist/client/assets/{cli-auth-success-NkKi_-yn.js → cli-auth-success-DSx-mAhh.js} +1 -1
  100. package/dist/client/assets/{client-icons-DiOq8lJC.js → client-icons-BasHQFnS.js} +1 -1
  101. package/dist/client/assets/cms-settings-editor-BB3l1bfM.js +1 -0
  102. package/dist/client/assets/{collapsible-Bnza8CXw.js → collapsible-CDZFoOK-.js} +1 -1
  103. package/dist/client/assets/{collection-detail-B-_hN-JC.js → collection-detail-DkNCk0OQ.js} +1 -1
  104. package/dist/client/assets/{collection-display-button-CrvZt97I.js → collection-display-button--eCg5c5n.js} +1 -1
  105. package/dist/client/assets/{collection-search-BJh6F6XQ.js → collection-search-sopr7ssV.js} +1 -1
  106. package/dist/client/assets/{collection-table-wrapper--ez0DBTz.js → collection-table-wrapper-Cy3Cbckv.js} +1 -1
  107. package/dist/client/assets/{collection-tabs-jNi4Jv0Y.js → collection-tabs-DU5QTifc.js} +1 -1
  108. package/dist/client/assets/{column-rules-BS9JY-Oa.js → column-rules-Z54WqqNc.js} +1 -1
  109. package/dist/client/assets/{combobox-CsaU06Jl.js → combobox-C2hXpc1p.js} +1 -1
  110. package/dist/client/assets/{command-DSORHlWH.js → command-BSGZ-TwS.js} +1 -1
  111. package/dist/client/assets/{companion-mcps-section-BBesHoiB.js → companion-mcps-section-d9HGklIc.js} +1 -1
  112. package/dist/client/assets/{config-D3uahd_6.js → config-CddNRjRY.js} +1 -1
  113. package/dist/client/assets/{connect-afghfC6I.js → connect-BGfL3A9r.js} +1 -1
  114. package/dist/client/assets/{connect-layout-CWu2TS6d.js → connect-layout-DoM7vuFX.js} +1 -1
  115. package/dist/client/assets/{connection-VFOGX82d.js → connection-B0eFNfCu.js} +1 -1
  116. package/dist/client/assets/{connection-card-CugVHwbe.js → connection-card-BzTYJa6s.js} +1 -1
  117. package/dist/client/assets/{connection-detail-DOnigZIS.js → connection-detail-Cwz-qT82.js} +1 -1
  118. package/dist/client/assets/{connection-form-helpers-Ht3Y_JTI.js → connection-form-helpers-ChgreO5F.js} +1 -1
  119. package/dist/client/assets/{connections-y4LWYMRk.js → connections-CnirV_66.js} +1 -1
  120. package/dist/client/assets/{content-tab-BbeLE04u.js → content-tab-BIEsoSfa.js} +3 -3
  121. package/dist/client/assets/{context-1CQ99Xh2.js → context-DEuw9CjH.js} +1 -1
  122. package/dist/client/assets/{context-menu-Cf7UvCHV.js → context-menu-CHrxflOD.js} +1 -1
  123. package/dist/client/assets/{core.esm-oiTkWp_q.js → core.esm-CWXW2IWJ.js} +1 -1
  124. package/dist/client/assets/{create-organization-dialog-Chu_8T3p.js → create-organization-dialog-Bci4qKSS.js} +1 -1
  125. package/dist/client/assets/{daily-pulse-D2siiT-N.js → daily-pulse-CRZ8lDnm.js} +1 -1
  126. package/dist/client/assets/{discover-y_xX0Jww.js → discover-C3iLTVFB.js} +1 -1
  127. package/dist/client/assets/{domain-settings-D3fYG_8u.js → domain-settings-DdY9W_8b.js} +1 -1
  128. package/dist/client/assets/{drawer-BaMAsObr.js → drawer-BpEasqMM.js} +1 -1
  129. package/dist/client/assets/{editor-gEAdAF4z.js → editor-DQK8Gbky.js} +1 -1
  130. package/dist/client/assets/{editor-classes-BkgvFYZG.js → editor-classes-wKHzvXkJ.js} +1 -1
  131. package/dist/client/assets/{empty-state-pgELPzRJ.js → empty-state-Ck0Y0zH4.js} +1 -1
  132. package/dist/client/assets/{empty-state-Qh91SokD.js → empty-state-GUv-DLNf.js} +1 -1
  133. package/dist/client/assets/{extract-connection-data-CmhWlbRd.js → extract-connection-data-CyaR6DQN.js} +1 -1
  134. package/dist/client/assets/{feature-gate-D8bbKoJM.js → feature-gate-Cd3TCuYG.js} +1 -1
  135. package/dist/client/assets/{feature-paywall-yY-LJqXW.js → feature-paywall-HnwykYzM.js} +1 -1
  136. package/dist/client/assets/{file-explorer-D61hIry6.js → file-explorer-B8GvovSI.js} +1 -1
  137. package/dist/client/assets/{file-preview-DA9PL3PH.js → file-preview-KNDU2UhF.js} +1 -1
  138. package/dist/client/assets/{file-share-button-Db4oG9-W.js → file-share-button-BX7_JCXp.js} +1 -1
  139. package/dist/client/assets/{file-type-icon-CmCTgogr.js → file-type-icon-C2WSm6EM.js} +1 -1
  140. package/dist/client/assets/flat-project-XWFiDywx.js +1 -0
  141. package/dist/client/assets/{folder-icon-DxKEGodw.js → folder-icon-DOSAeTvE.js} +1 -1
  142. package/dist/client/assets/{form-B2R0FZpl.js → form-Dz-wry37.js} +1 -1
  143. package/dist/client/assets/{general-DGAJ8SIw.js → general-lahSHdvs.js} +1 -1
  144. package/dist/client/assets/{home-DllK7NjJ.js → home-CfslMwmV.js} +1 -1
  145. package/dist/client/assets/{hosted-publish-feedback-C-78qWJE.js → hosted-publish-feedback-D7K1BgAP.js} +1 -1
  146. package/dist/client/assets/{icon-button-BLmb1aFH.js → icon-button-BbQESQAz.js} +1 -1
  147. package/dist/client/assets/{index-Bi4uPXkI.js → index-BFWcpEys.js} +1 -1
  148. package/dist/client/assets/{index-CMSBZHOC.js → index-BX4Ek3Q9.js} +1 -1
  149. package/dist/client/assets/{index-C5kiFY0N.js → index-BhuMySoe.js} +1 -1
  150. package/dist/client/assets/{index-CNnllo6G.js → index-BoB02eW2.js} +2 -2
  151. package/dist/client/assets/{index-DFDhdIkn.js → index-CAsLc9Zw.js} +1 -1
  152. package/dist/client/assets/{index-LQ6JAM7x.js → index-CD1O2KuY.js} +3 -3
  153. package/dist/client/assets/{index-4S552BvA.js → index-COyZFAVd.js} +1 -1
  154. package/dist/client/assets/{index-DlkNBOKp.js → index-CVeMcxNw.js} +1 -1
  155. package/dist/client/assets/{index-D2K6wJdd.js → index-Cdsu1Nw_.js} +1 -1
  156. package/dist/client/assets/{index-JfKaG8r5.js → index-DSuQX-Dj.js} +1 -1
  157. package/dist/client/assets/{index-B8m-k0Po.js → index-DhnL-yRw.js} +1 -1
  158. package/dist/client/assets/{index-BQe9t0ZU.js → index-DuSo48nd.js} +1 -1
  159. package/dist/client/assets/{index-QaFbqB6H.js → index-Fqg3dcpq.js} +1 -1
  160. package/dist/client/assets/{index-k8d57vb2.js → index-mPiuZtAa.js} +1 -1
  161. package/dist/client/assets/{index-cnt3BCfz.js → index-qp2WMoaq.js} +1 -1
  162. package/dist/client/assets/{index-redirect-CDoOQ7Fs.js → index-redirect-LGC8XAQa.js} +1 -1
  163. package/dist/client/assets/{infiniteQueryObserver-CqK1S2-W.js → infiniteQueryObserver-BuOPvaCd.js} +1 -1
  164. package/dist/client/assets/{infra-billing-BD6Y6fAa.js → infra-billing-C7a9CxBG.js} +1 -1
  165. package/dist/client/assets/{input-Bue-yNpK.js → input-CC2XqVda.js} +1 -1
  166. package/dist/client/assets/{input-DnkGG1pQ.js → input-Dx6Yl3YV.js} +3 -3
  167. package/dist/client/assets/{integration-icon-Dl2m6ce3.js → integration-icon-YHEiRLgT.js} +1 -1
  168. package/dist/client/assets/{jira-icon-BN8gmoGK.js → jira-icon-i9apovX2.js} +1 -1
  169. package/dist/client/assets/{label-C2MI3yAw.js → label-CsyEQPG4.js} +1 -1
  170. package/dist/client/assets/{layout-D3qT5OMX.js → layout-BT112QdT.js} +1 -1
  171. package/dist/client/assets/{legacy-agents-deep-Bh_GWt30.js → legacy-agents-deep-HgU3c2Dz.js} +1 -1
  172. package/dist/client/assets/{legacy-main-redirect-DlBO4F0C.js → legacy-main-redirect-jScx_XSf.js} +1 -1
  173. package/dist/client/assets/library-CWV47kSp.js +1 -0
  174. package/dist/client/assets/{library-tab-ChjG-ita.js → library-tab-9158ORpA.js} +1 -1
  175. package/dist/client/assets/{login-BJJfll2X.js → login-OE28YT2s.js} +1 -1
  176. package/dist/client/assets/{markdown-BzeS6Mup.js → markdown-TXCHEe-4.js} +1 -1
  177. package/dist/client/assets/{mcp-app-renderer-BHQg4BC0.js → mcp-app-renderer-BAlCN3Lv.js} +1 -1
  178. package/dist/client/assets/{mcp-oauth-CCgQhJ0H.js → mcp-oauth-BFqNJ-iQ.js} +1 -1
  179. package/dist/client/assets/{mcp-oauth-C9k0QipU.js → mcp-oauth-CuU6LL15.js} +1 -1
  180. package/dist/client/assets/{members-BJ8Q84sj.js → members-CbEEa2ua.js} +1 -1
  181. package/dist/client/assets/{memory-6DQlmI8s.js → memory-malk94i-.js} +1 -1
  182. package/dist/client/assets/{mini-report-page-Dp287JJW.js → mini-report-page-Dhes7qGv.js} +1 -1
  183. package/dist/client/assets/{mock-board-BrRrzkyb.js → mock-board-B4GBU96k.js} +1 -1
  184. package/dist/client/assets/{monaco-editor-Dqlv9Rx3.js → monaco-editor-DIn5LVAo.js} +1 -1
  185. package/dist/client/assets/{monitoring-stats-row-CHv5bry_.js → monitoring-stats-row-CsXWM1-N.js} +1 -1
  186. package/dist/client/assets/{multi-select-CxacBEPt.js → multi-select-jv5l4gKB.js} +1 -1
  187. package/dist/client/assets/{mustache-DewX4fdh.js → mustache-C3mAjW3w.js} +1 -1
  188. package/dist/client/assets/{new-project-dialog-HwZsHJw7.js → new-project-dialog-DCPZVRuS.js} +1 -1
  189. package/dist/client/assets/{oauth-callback-K69Edssh.js → oauth-callback-C7bM7rgT.js} +1 -1
  190. package/dist/client/assets/{oauth-callback-ai-provider-CpEQmEON.js → oauth-callback-ai-provider-maa6Zm5e.js} +1 -1
  191. package/dist/client/assets/{onboarding-CMSxOCHp.js → onboarding-ds1UbiQ9.js} +1 -1
  192. package/dist/client/assets/{openai-conversation-8f12XdbQ.js → openai-conversation-BSvbWT0F.js} +1 -1
  193. package/dist/client/assets/{optimistic-project-sidebar-views-qLHxsO7U.js → optimistic-project-sidebar-views-2rlAyeqj.js} +1 -1
  194. package/dist/client/assets/{order-monitor-day-C2C1WPzt.js → order-monitor-day-CZG8_Uqo.js} +1 -1
  195. package/dist/client/assets/{organization-choice-BlYawX8-.js → organization-choice-CGGV7pYx.js} +1 -1
  196. package/dist/client/assets/{orgs-CGBX8gbU.js → orgs-DSh5ncFV.js} +1 -1
  197. package/dist/client/assets/{page-seo-form-BYVKaWGS.js → page-seo-form-BPMiXtW-.js} +1 -1
  198. package/dist/client/assets/{pair-84suUGZ3.js → pair-C9IKm4JE.js} +1 -1
  199. package/dist/client/assets/{plan-ladder-Ct3CUY0O.js → plan-ladder-DbkDT52b.js} +1 -1
  200. package/dist/client/assets/{popover-Ba56Iai5.js → popover-CzNTcDJM.js} +1 -1
  201. package/dist/client/assets/{post-calendar-RpsbnecM.js → post-calendar-DGIFZvru.js} +1 -1
  202. package/dist/client/assets/{post-editor-C9oD8ESN.js → post-editor-BINaZa6q.js} +1 -1
  203. package/dist/client/assets/{preview-content-DF0BMyfw.js → preview-content-BjX4Mivy.js} +1 -1
  204. package/dist/client/assets/{preview-dialog-DlotDPpC.js → preview-dialog-C8Boj2eR.js} +1 -1
  205. package/dist/client/assets/{preview-panel-BFMr1mkC.js → preview-panel-BTtWNKn9.js} +1 -1
  206. package/dist/client/assets/{preview-tab-AtnwySoZ.js → preview-tab-BYhuHpLV.js} +3 -3
  207. package/dist/client/assets/{product-picker-dialog-JlTB9ihe.js → product-picker-dialog-qxyRXjlS.js} +1 -1
  208. package/dist/client/assets/{profile-NePIrfXd.js → profile-Cgb34CQu.js} +1 -1
  209. package/dist/client/assets/{project-app-view-CZBqblIb.js → project-app-view-B5MD1o9B.js} +1 -1
  210. package/dist/client/assets/{project-feed-Y1MpiHk4.js → project-feed-DnDlefHV.js} +1 -1
  211. package/dist/client/assets/{project-icon-CxJtU18v.js → project-icon-CP0m7tWm.js} +1 -1
  212. package/dist/client/assets/project-reports-8XAuspn6.js +1 -0
  213. package/dist/client/assets/project-tasks-CGbl7DTy.js +1 -0
  214. package/dist/client/assets/{projects-CiRkvKrf.js → projects-DmCmaniu.js} +1 -1
  215. package/dist/client/assets/{projects-empty-state-D7-trQYt.js → projects-empty-state-fIhR2Z5I.js} +1 -1
  216. package/dist/client/assets/{prompts-DNcBfJiD.js → prompts-CW5UUH65.js} +1 -1
  217. package/dist/client/assets/record-editor--8X4AXV_.js +1 -0
  218. package/dist/client/assets/{redirect-editor-CC5Q4Ymt.js → redirect-editor-CxJl2CVJ.js} +1 -1
  219. package/dist/client/assets/{reports-DIGilxrB.js → reports-BXGEiRjn.js} +1 -1
  220. package/dist/client/assets/reports-eZ_It7qc.js +1 -0
  221. package/dist/client/assets/{reports-onboarding-B0pJwCjp.js → reports-onboarding-DNEAbZJV.js} +1 -1
  222. package/dist/client/assets/{reports-tab-BGanWho6.js → reports-tab-CwK-fp7x.js} +2 -2
  223. package/dist/client/assets/{repositories-B2bTWPV9.js → repositories-ClghJilC.js} +1 -1
  224. package/dist/client/assets/{repository-binding-DqlrnpeD.js → repository-binding-BYnKmLVI.js} +1 -1
  225. package/dist/client/assets/{repository-import-picker-BQKO3YmL.js → repository-import-picker-De4qAOck.js} +1 -1
  226. package/dist/client/assets/{repository-picker-1U5-cKDz.js → repository-picker-B7BUYgB7.js} +1 -1
  227. package/dist/client/assets/{require-capability-ojXn93H0.js → require-capability-hn1SreP5.js} +1 -1
  228. package/dist/client/assets/{required-auth-layout-D-YJoBk-.js → required-auth-layout-Mqzz7XgH.js} +1 -1
  229. package/dist/client/assets/{reset-password-BmX8ePKp.js → reset-password-BOpvbCSW.js} +1 -1
  230. package/dist/client/assets/{resizable-CbpZQFpZ.js → resizable-DpCFVPH5.js} +1 -1
  231. package/dist/client/assets/{resolve-tab-icon-D2OV9kBN.js → resolve-tab-icon-8PRTNpAS.js} +1 -1
  232. package/dist/client/assets/{review-settings-DK01glaZ.js → review-settings-Bw0A1sn1.js} +1 -1
  233. package/dist/client/assets/{roles-LZWr7__G.js → roles-BMCtr4MB.js} +1 -1
  234. package/dist/client/assets/{route-Gjmz5E23.js → route-DLSqOpoM.js} +1 -1
  235. package/dist/client/assets/{route-ihwuHnpr.js → route-DnP6JRb8.js} +1 -1
  236. package/dist/client/assets/route-yiouOCXy.js +1 -0
  237. package/dist/client/assets/{sandbox-lifecycle-context-CMe6ziY_.js → sandbox-lifecycle-context-Dg7K5ioC.js} +1 -1
  238. package/dist/client/assets/{schema-DvCj02YW.js → schema-D-qEbXZ-.js} +1 -1
  239. package/dist/client/assets/{schema-j2854AG6.js → schema-zU96PUAb.js} +1 -1
  240. package/dist/client/assets/{scroll-area-DRWJ_F1a.js → scroll-area-D_ro8hTm.js} +1 -1
  241. package/dist/client/assets/{search-input-DqG4kyRF.js → search-input-qNQGHbDh.js} +1 -1
  242. package/dist/client/assets/{search-toggle-CGVfCMLJ.js → search-toggle-Dfh8XGYH.js} +1 -1
  243. package/dist/client/assets/{secret-ciphertext-DXqrbEWb.js → secret-ciphertext-DkD2R7dc.js} +1 -1
  244. package/dist/client/assets/{secret-picker-Diad3aWD.js → secret-picker-CmVVvqgZ.js} +1 -1
  245. package/dist/client/assets/{secrets-_pq8fc-A.js → secrets-BDW-A1kb.js} +1 -1
  246. package/dist/client/assets/{sections-editor-jfQPkYiX.js → sections-editor-BKmXdadO.js} +1 -1
  247. package/dist/client/assets/{select-Jex63p6s.js → select-C4iThYr6.js} +1 -1
  248. package/dist/client/assets/{select-model-BpMhMCHG.js → select-model-BND792Uy.js} +1 -1
  249. package/dist/client/assets/{seo-editor-rID5Th2v.js → seo-editor-ClpJZQda.js} +1 -1
  250. package/dist/client/assets/{separator-laGeAgXV.js → separator-DYHY_XVB.js} +1 -1
  251. package/dist/client/assets/{settings-tab-D4oc-m6U.js → settings-tab-A8T1BHYG.js} +1 -1
  252. package/dist/client/assets/{sheet-BjDciyLt.js → sheet-BXRHJIP3.js} +1 -1
  253. package/dist/client/assets/{shell-layout-ohVxtYQn.js → shell-layout-BhM3Q_22.js} +1 -1
  254. package/dist/client/assets/site-editor-LulM9jUZ.js +1 -0
  255. package/dist/client/assets/{site-editor-toast-Cwor802o.js → site-editor-toast-DPPGE5LH.js} +1 -1
  256. package/dist/client/assets/{skills-BjHMkGI4.js → skills-Kw1j3-7B.js} +1 -1
  257. package/dist/client/assets/{slider-BgVX57Hw.js → slider-CpU4rmfX.js} +1 -1
  258. package/dist/client/assets/{sortable.esm--JfVXwY2.js → sortable.esm-CBSg5QWi.js} +1 -1
  259. package/dist/client/assets/{sso-DtpWrT1m.js → sso-GSEhvAQ2.js} +1 -1
  260. package/dist/client/assets/{suggestion-DmWAjig0.js → suggestion-BPVDnpZj.js} +1 -1
  261. package/dist/client/assets/{switch-BXwkRMsQ.js → switch-63WSXheM.js} +1 -1
  262. package/dist/client/assets/{symbol-DMd_AX9i.js → symbol-rviHpBrN.js} +1 -1
  263. package/dist/client/assets/{synced-repos-DXXyL6dr.js → synced-repos-D3YnOlYC.js} +1 -1
  264. package/dist/client/assets/{tab-icon-glyph-WTogvuRL.js → tab-icon-glyph-Dqe-yN6V.js} +1 -1
  265. package/dist/client/assets/{table-BEoFysnY.js → table-CLaOCONQ.js} +1 -1
  266. package/dist/client/assets/{tabs-BUOCNWab.js → tabs-BQUPeDjf.js} +1 -1
  267. package/dist/client/assets/{task-board-et69go2s.js → task-board-DxxiAR5A.js} +1 -1
  268. package/dist/client/assets/{task-route-DRCZxpHC.js → task-route-Ce6MTE8h.js} +1 -1
  269. package/dist/client/assets/{task-status-Clz_ohkz.js → task-status-CMbp-PaL.js} +1 -1
  270. package/dist/client/assets/taskboard-analytics-_ZvfL2sj.js +1 -0
  271. package/dist/client/assets/{tasks-CI2TSEv1.js → tasks-BarD4hla.js} +1 -1
  272. package/dist/client/assets/tasks-DcunZstc.js +1 -0
  273. package/dist/client/assets/{textarea-BP2sfmUn.js → textarea-CxYAsAPe.js} +1 -1
  274. package/dist/client/assets/{thread-analytics-ClTk6JCf.js → thread-analytics-Cjx1orRq.js} +1 -1
  275. package/dist/client/assets/{thread-intent-B3UX1VYD.js → thread-intent-DikZOwd-.js} +1 -1
  276. package/dist/client/assets/{thread-route-Dj3FHeZv.js → thread-route-CRU_aqN9.js} +1 -1
  277. package/dist/client/assets/{thread-route-C-V5eWkC.js → thread-route-ChugAIRh.js} +1 -1
  278. package/dist/client/assets/{thread-sheet-body-DN2xi_yQ.js → thread-sheet-body-DfFj6DBB.js} +1 -1
  279. package/dist/client/assets/{time-range-picker-BGpEdCr4.js → time-range-picker-Bf6M5ihN.js} +1 -1
  280. package/dist/client/assets/{toggle-group-CElgKi93.js → toggle-group-DbSldXZX.js} +1 -1
  281. package/dist/client/assets/{tool-namespace-CSvvZ9-r.js → tool-namespace-pIFYrei5.js} +1 -1
  282. package/dist/client/assets/{toolbar-icon-button-BHgf03SN.js → toolbar-icon-button-B24Twz-b.js} +1 -1
  283. package/dist/client/assets/{tooltip-D39pwdkl.js → tooltip-Bs0EJaD7.js} +1 -1
  284. package/dist/client/assets/{tooltipContext-v4Ov_BWo.js → tooltipContext-fXkDpiI8.js} +1 -1
  285. package/dist/client/assets/{track-D4y7DnsA.js → track-BzGhLw1A.js} +1 -1
  286. package/dist/client/assets/{types-sLIChj1_.js → types-IpdOmnYx.js} +1 -1
  287. package/dist/client/assets/{url-slug-Ui3mV6vi.js → url-slug-CMCbwnaP.js} +1 -1
  288. package/dist/client/assets/{usage-stats-D62oidTL.js → usage-stats-DuvxTL2m.js} +1 -1
  289. package/dist/client/assets/{use-ai-providers-IcsUWN-K.js → use-ai-providers-Becg3IYt.js} +1 -1
  290. package/dist/client/assets/{use-app-takeover-CIvPyTDt.js → use-app-takeover-DFb1RzQs.js} +1 -1
  291. package/dist/client/assets/{use-automations-D4B7ETWW.js → use-automations-Cp9pysoO.js} +1 -1
  292. package/dist/client/assets/{use-autosave-D9eru9Ze.js → use-autosave-C5CskRdQ.js} +1 -1
  293. package/dist/client/assets/{use-chat-navigation-D_OZ7XLd.js → use-chat-navigation-BJSvg7rH.js} +1 -1
  294. package/dist/client/assets/{use-clock-tick-BEO-m3vD.js → use-clock-tick-B1PaG9d4.js} +1 -1
  295. package/dist/client/assets/{use-connect-companion-Cujc6mJy.js → use-connect-companion-ClLk9Ret.js} +1 -1
  296. package/dist/client/assets/{use-connection-BxJdPGkr.js → use-connection-CLmhN_H7.js} +1 -1
  297. package/dist/client/assets/{use-copy-BlMydeoV.js → use-copy-T3xwaExj.js} +1 -1
  298. package/dist/client/assets/{use-create-virtual-mcp-Bd3ICWl5.js → use-create-virtual-mcp-CVTk_yNo.js} +1 -1
  299. package/dist/client/assets/{use-date-fns-locale-BJ-xFgzl.js → use-date-fns-locale-CYDYn543.js} +1 -1
  300. package/dist/client/assets/{use-debounced-autosave-Dt1irWAn.js → use-debounced-autosave-8fEcHiWI.js} +1 -1
  301. package/dist/client/assets/{use-debounced-value-B_S8lb_4.js → use-debounced-value-d254MtLc.js} +1 -1
  302. package/dist/client/assets/{use-deco-credits-nfiVDn98.js → use-deco-credits-BJdkVUlJ.js} +1 -1
  303. package/dist/client/assets/{use-decopilot-events-qheXoFrz.js → use-decopilot-events-D42PqykU.js} +1 -1
  304. package/dist/client/assets/{use-delete-connection-DJv3D_sh.js → use-delete-connection-Bp41mUbu.js} +1 -1
  305. package/dist/client/assets/{use-deployment-admin-BZx-lcmt.js → use-deployment-admin-Cz36UM7j.js} +1 -1
  306. package/dist/client/assets/{use-ensure-project-folder-568pY7Mx.js → use-ensure-project-folder-DV9pI0pa.js} +1 -1
  307. package/dist/client/assets/{use-fast-preview-draft-url-B5I6D4fe.js → use-fast-preview-draft-url-Dbj9pvCB.js} +1 -1
  308. package/dist/client/assets/{use-file-configs-wZCwveLR.js → use-file-configs-D_kGDRPd.js} +1 -1
  309. package/dist/client/assets/{use-infinite-scroll-yxXaBcmD.js → use-infinite-scroll-C47I-wuH.js} +1 -1
  310. package/dist/client/assets/{use-join-requests-DqmeRmXJ.js → use-join-requests-Cy3hlZv5.js} +1 -1
  311. package/dist/client/assets/{use-main-panel-tabs-CUuCqnlA.js → use-main-panel-tabs-DjhEbRyd.js} +1 -1
  312. package/dist/client/assets/{use-mcp-auth-status-BCDRh6Ej.js → use-mcp-auth-status-5SUSMsp-.js} +1 -1
  313. package/dist/client/assets/{use-mcp-client-cb8e4tvm.js → use-mcp-client-CEKqqblF.js} +1 -1
  314. package/dist/client/assets/{use-mcp-prompts-BfEVPVEx.js → use-mcp-prompts-CwF-bqUg.js} +1 -1
  315. package/dist/client/assets/{use-mcp-tools-DZxb1_zu.js → use-mcp-tools-_07-mu_D.js} +1 -1
  316. package/dist/client/assets/{use-members-D7SiQmGu.js → use-members-CFcpHrvE.js} +1 -1
  317. package/dist/client/assets/{use-mobile-BNQyDf1J.js → use-mobile-CYsZ0F3X.js} +1 -1
  318. package/dist/client/assets/{use-navigate-to-agent-D-kAnKoC.js → use-navigate-to-agent-DNsHLJD8.js} +1 -1
  319. package/dist/client/assets/{use-open-billing-url-CdvtCyZf.js → use-open-billing-url-C1m0KS6b.js} +1 -1
  320. package/dist/client/assets/{use-org-auth-client-D3FbjOmE.js → use-org-auth-client-9ZqTxhaU.js} +1 -1
  321. package/dist/client/assets/{use-org-fs-C9g2s6eE.js → use-org-fs-Wo4_O8nn.js} +1 -1
  322. package/dist/client/assets/{use-org-repo-syncs-U8WqzFiL.js → use-org-repo-syncs-HjlHy8Rb.js} +1 -1
  323. package/dist/client/assets/{use-org-sso-s2tGLzu6.js → use-org-sso-BSkklN8h.js} +1 -1
  324. package/dist/client/assets/{use-organization-roles-Bo-TSZF4.js → use-organization-roles-Dga2ANZJ.js} +1 -1
  325. package/dist/client/assets/{use-organization-settings-CtcFsKQW.js → use-organization-settings-DHSMN_14.js} +1 -1
  326. package/dist/client/assets/{use-panel-navigate-BLgl8f3Y.js → use-panel-navigate-62gIHptt.js} +1 -1
  327. package/dist/client/assets/{use-project-native-view-presence-uvlxs5r_.js → use-project-native-view-presence-D12oGF6A.js} +1 -1
  328. package/dist/client/assets/{use-project-scope-DCmZMFkQ.js → use-project-scope-Dk4Q60O6.js} +1 -1
  329. package/dist/client/assets/{use-recent-apps-DlPuhtE-.js → use-recent-apps-CCwo686W.js} +1 -1
  330. package/dist/client/assets/{use-releases-DtKRf56Y.js → use-releases-wK1mECcA.js} +1 -1
  331. package/dist/client/assets/{use-reports-diagnostic-DYrOUUTZ.js → use-reports-diagnostic-CfPcDRof.js} +1 -1
  332. package/dist/client/assets/{use-secrets-WRKR8ecc.js → use-secrets-Cmhjz2bf.js} +1 -1
  333. package/dist/client/assets/{use-section-preview-base-BNxt4jxu.js → use-section-preview-base-DJFgOhQZ.js} +1 -1
  334. package/dist/client/assets/{use-tags-DiN0kMpJ.js → use-tags-D0LqZNOI.js} +1 -1
  335. package/dist/client/assets/{use-task-board-analytics-1JoUE9AJ.js → use-task-board-analytics-BpQqtB1w.js} +1 -1
  336. package/dist/client/assets/{use-task-board-events-BLTRhUg4.js → use-task-board-events-BrTJpTlj.js} +1 -1
  337. package/dist/client/assets/{use-task-board-item-prs-At19hfLC.js → use-task-board-item-prs-BHRZFWqk.js} +1 -1
  338. package/dist/client/assets/{use-task-board-items-CRXCkQuK.js → use-task-board-items-CZjiF2uB.js} +1 -1
  339. package/dist/client/assets/{use-task-metadata-C3llYFZN.js → use-task-metadata-Bef5UioD.js} +1 -1
  340. package/dist/client/assets/{use-thread-analytics-Co1Kx3t4.js → use-thread-analytics-CiJumHRj.js} +1 -1
  341. package/dist/client/assets/{use-thread-outputs-D5eAX3jD.js → use-thread-outputs-BVEM1vsy.js} +1 -1
  342. package/dist/client/assets/useInfiniteQuery-S3a_-GqY.js +1 -0
  343. package/dist/client/assets/{useQueries-BBbNh9lc.js → useQueries-D52x651p.js} +1 -1
  344. package/dist/client/assets/useSuspenseInfiniteQuery-DiRI5XkI.js +1 -0
  345. package/dist/client/assets/{users-vqq5iPZ9.js → users-DfEzbgjc.js} +1 -1
  346. package/dist/client/assets/{utils-D5Pt5WPE.js → utils-DVs-Bhj-.js} +1 -1
  347. package/dist/client/assets/{variant-calendar-CYUJLh9u.js → variant-calendar-B4damr_G.js} +1 -1
  348. package/dist/client/assets/{variant-draft-pointer-3s80HEa9.js → variant-draft-pointer-BnxZeLy_.js} +1 -1
  349. package/dist/client/assets/{view-mode-toggle-BksAfU6L.js → view-mode-toggle-DKlegHXH.js} +1 -1
  350. package/dist/client/assets/{virtual-mcp-CvKEEaVD.js → virtual-mcp-UT0zZzHO.js} +1 -1
  351. package/dist/client/assets/{watch-sse-pool-BqvFDRe4.js → watch-sse-pool-BdkzrgTO.js} +1 -1
  352. package/dist/client/index.html +1 -1
  353. package/dist/server/server.js +4 -4
  354. package/package.json +1 -1
  355. package/dist/client/assets/agent-app-D7ZbeaeS.js +0 -1
  356. package/dist/client/assets/agent-deck-Bfjkqa9C.js +0 -1
  357. package/dist/client/assets/agent-library-Bi2qzW40.js +0 -1
  358. package/dist/client/assets/agent-library-file-CSltTnVe.js +0 -1
  359. package/dist/client/assets/agent-settings-BLtCRmyO.js +0 -1
  360. package/dist/client/assets/agent-site-editor-code-Od55DzQ1.js +0 -2
  361. package/dist/client/assets/agent-site-editor-content-5qi46g26.js +0 -1
  362. package/dist/client/assets/agent-site-editor-preview-CutGG4Ds.js +0 -1
  363. package/dist/client/assets/agent-view-CEr3hNFJ.js +0 -1
  364. package/dist/client/assets/api-keys-WauVetoj.js +0 -1
  365. package/dist/client/assets/cms-settings-editor-Bo6bMjKH.js +0 -1
  366. package/dist/client/assets/flat-project-CHR1TqE9.js +0 -1
  367. package/dist/client/assets/library-CZ6Ii9aX.js +0 -1
  368. package/dist/client/assets/project-reports-CULNrShG.js +0 -1
  369. package/dist/client/assets/project-tasks-Dvm1hFFM.js +0 -1
  370. package/dist/client/assets/record-editor-B2vAy35C.js +0 -1
  371. package/dist/client/assets/reports-BO8CzHO9.js +0 -1
  372. package/dist/client/assets/route-CVqHXXn6.js +0 -1
  373. package/dist/client/assets/site-editor-CaPr9Ncy.js +0 -1
  374. package/dist/client/assets/taskboard-analytics-Dk7dZzQl.js +0 -1
  375. package/dist/client/assets/tasks-DLgTzQCQ.js +0 -1
  376. package/dist/client/assets/useInfiniteQuery-CfgvSeG1.js +0 -1
  377. package/dist/client/assets/useSuspenseInfiniteQuery-BFK9VyAb.js +0 -1
@@ -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
- `),Ft1=!0}throw new yG0.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:$.logger,tryNextLink:!0})}return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),Bd0($)()},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 yG0.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:$.logger});let{fromSSO:W}=await Promise.resolve().then(() => (qi0(),Ti0));return W($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:Q}=await Promise.resolve().then(() => (Ht1(),Kt1));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:Q}=await Promise.resolve().then(() => (Mp0(),Rp0));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:Q}=await Promise.resolve().then(() => (_p0(),Sp0));return Q($)(Z)},async()=>{return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await Vl1($))()},async()=>{throw new yG0.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:!1,logger:$.logger})}],b54),b54=($)=>$?.expiration!==void 0&&$.expiration.getTime()-Date.now()<300000;var Bt1=L(()=>{Dd0();Il1();yG0=_(o5(),1),Ut1=_(eX(),1)});var Dt1=L(()=>{Bt1()});var Lt1=()=>{};var Oc,x54="AWS_S3_USE_ARN_REGION",f54="s3_use_arn_region",Ot1;var wt1=L(()=>{Oc=_(Sr(),1),Ot1={environmentVariableSelector:($)=>Oc.booleanSelector($,x54,Oc.SelectorType.ENV),configFileSelector:($)=>Oc.booleanSelector($,f54,Oc.SelectorType.CONFIG),default:void 0}});var jt1=()=>{};var Et1=()=>{};var Pt1=L(()=>{Lt1();wt1();Et1();jt1()});class wc{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)zt1(Z);return new wc(Z)}valueOf(){let $=this.bytes.slice(0),Z=$[0]&128;if(Z)zt1($);return parseInt(At1.toHex($),16)*(Z?-1:1)}toString(){return String(this.valueOf())}}function zt1($){for(let Z=0;Z<8;Z++)$[Z]^=255;for(let Z=7;Z>-1;Z--)if($[Z]++,$[Z]!==0)break}var At1;var bp0=L(()=>{At1=_(Gr(),1)});class xp0{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(wc.fromNumber($.value.valueOf()).bytes,1),H;case"uuid":if(!i54.test($.value))throw Error(`Invalid UUID received: ${$.value}`);let F=new Uint8Array(17);return F[0]=9,F.set(tw.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:qt1,value:!0};break;case 1:Z[X]={type:qt1,value:!1};break;case 2:Z[X]={type:y54,value:$.getInt8(Q++)};break;case 3:Z[X]={type:g54,value:$.getInt16(Q,!1)},Q+=2;break;case 4:Z[X]={type:h54,value:$.getInt32(Q,!1)},Q+=4;break;case 5:Z[X]={type:u54,value:new wc(new Uint8Array($.buffer,$.byteOffset+Q,8))},Q+=8;break;case 6:let J=$.getUint16(Q,!1);Q+=2,Z[X]={type:l54,value:new Uint8Array($.buffer,$.byteOffset+Q,J)},Q+=J;break;case 7:let G=$.getUint16(Q,!1);Q+=2,Z[X]={type:c54,value:this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,G))},Q+=G;break;case 8:Z[X]={type:m54,value:new Date(new wc(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:d54,value:`${tw.toHex(W.subarray(0,4))}-${tw.toHex(W.subarray(4,6))}-${tw.toHex(W.subarray(6,8))}-${tw.toHex(W.subarray(8,10))}-${tw.toHex(W.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return Z}}var tw,Tt1,qt1="boolean",y54="byte",g54="short",h54="integer",u54="long",l54="binary",c54="string",m54="timestamp",d54="uuid",i54;var fp0=L(()=>{bp0();tw=_(Gr(),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"})(Tt1||(Tt1={}));i54=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/});function Vt1({byteLength:$,byteOffset:Z,buffer:Q}){if($<p54)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(Mt1,!1),G=Y.getUint32(ow,!1),W=Y.getUint32($-CA,!1),K=new Rt1.Crc32().update(new Uint8Array(Q,Z,ow));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+ow,$-(ow+CA))),W!==K.digest())throw Error(`The message checksum (${K.digest()}) did not match the expected value of ${W}`);return{headers:new DataView(Q,Z+ow+CA,J),body:new Uint8Array(Q,Z+ow+CA+J,X-J-(ow+CA+CA))}}var Rt1,Mt1=4,ow,CA=4,p54;var It1=L(()=>{Rt1=_(s2(),1),ow=Mt1*2,p54=ow+CA*2});class yp0{headerMarshaller;messageBuffer;isEndOfStream;constructor($,Z){this.headerMarshaller=new xp0($,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 kt1.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}=Vt1($);return{headers:this.headerMarshaller.parse(Z),body:Q}}formatHeaders($){return this.headerMarshaller.format($)}}var kt1;var Ct1=L(()=>{fp0();It1();kt1=_(s2(),1)});var St1=()=>{};var gp0;var _t1=L(()=>{gp0=class gp0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.decoder.decode($)}}});var hp0;var vt1=L(()=>{hp0=class hp0{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 up0;var bt1=L(()=>{up0=class up0{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 lp0;var xt1=L(()=>{lp0=class lp0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.serializer($)}}});var ft1=L(()=>{Ct1();fp0();bp0();St1();_t1();vt1();bt1();xt1()});function yt1($){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 gt1($,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 cp0{eventStreamCodec;utfEncoder;constructor({utf8Encoder:$,utf8Decoder:Z}){this.eventStreamCodec=new yp0($,Z),this.utfEncoder=$}deserialize($,Z){let Q=yt1($);return new up0({messageStream:new gp0({inputStream:Q,decoder:this.eventStreamCodec}),deserializer:gt1(Z,this.utfEncoder)})}serialize($,Z){return new hp0({messageStream:new lp0({inputStream:$,serializer:Z}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}var ht1=L(()=>{ft1()});var ut1=()=>{};var lt1=L(()=>{ht1();ut1()});async function*ct1($){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 n54}from"stream";class mp0{universalMarshaller;constructor({utf8Encoder:$,utf8Decoder:Z}){this.universalMarshaller=new cp0({utf8Decoder:Z,utf8Encoder:$})}deserialize($,Z){let Q=typeof $[Symbol.asyncIterator]==="function"?$:ct1($);return this.universalMarshaller.deserialize(Q,Z)}serialize($,Z){return n54.from(this.universalMarshaller.serialize($,Z))}}var dp0=L(()=>{lt1()});var mt1=($)=>new mp0($);var dt1=L(()=>{dp0()});var it1=L(()=>{dp0();dt1()});import{Writable as t54}from"stream";var pt1,ip0;var nt1=L(()=>{pt1=_(oQ(),1);ip0=class ip0 extends t54{hash;constructor($,Z){super(Z);this.hash=$}_write($,Z,Q){try{this.hash.update(pt1.toUint8Array($))}catch(Y){return Q(Y)}Q()}}});var tt1=()=>{};var ot1=($,Z)=>{if(Z.readableFlowing!==null)throw Error("Unable to calculate hash for flowing readable stream");let Q=new $,Y=new ip0(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 st1=L(()=>{nt1()});var rt1=L(()=>{tt1();st1()});var gG0,at1,et1,$o1,Zo1,hG0,uG0,lG0,Qo1=($)=>{return{apiVersion:"2006-03-01",base64Decoder:$?.base64Decoder??hG0.fromBase64,base64Encoder:$?.base64Encoder??hG0.toBase64,disableHostPrefix:$?.disableHostPrefix??!1,endpointProvider:$?.endpointProvider??jJ0,extensions:$?.extensions??[],getAwsChunkedEncodingStream:$?.getAwsChunkedEncodingStream??uG0.getAwsChunkedEncodingStream,httpAuthSchemeProvider:$?.httpAuthSchemeProvider??Jg1,httpAuthSchemes:$?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4"),signer:new gG0.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4a"),signer:new gG0.AwsSdkSigV4ASigner}],logger:$?.logger??new $o1.NoOpLogger,protocol:$?.protocol??at1.S3RestXmlProtocol,protocolSettings:$?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",errorTypeRegistries:Ug1,xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:$?.sdkStreamMixin??uG0.sdkStreamMixin,serviceId:$?.serviceId??"S3",signerConstructor:$?.signerConstructor??et1.SignatureV4MultiRegion,signingEscapePath:$?.signingEscapePath??!1,urlParser:$?.urlParser??Zo1.parseUrl,useArnRegion:$?.useArnRegion??void 0,utf8Decoder:$?.utf8Decoder??lG0.fromUtf8,utf8Encoder:$?.utf8Encoder??lG0.toUtf8}};var Yo1=L(()=>{$d0();em0();F1();gG0=_(mY(),1),at1=_(U$(),1),et1=_(sl(),1),$o1=_(p0(),1),Zo1=_(qU(),1),hG0=_(rJ(),1),uG0=_(Tl(),1),lG0=_(oQ(),1)});var Xo1,mG0,Jo1,dG0,sw,cG0,iG0,w3,pG0,nG0,Go1,Wo1,Ko1,Ho1=($)=>{nG0.emitWarningIfUnsupportedVersion(process.version);let Z=Wo1.resolveDefaultsModeConfig($),Q=()=>Z().then(nG0.loadConfigsForDefaultMode),Y=Qo1($);Xo1.emitWarningIfUnsupportedVersion(process.version);let X={profile:$?.profile,logger:Y.logger};return{...Y,...$,runtime:"node",defaultsMode:Z,authSchemePreference:$?.authSchemePreference??w3.loadConfig(mG0.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,X),bodyLengthChecker:$?.bodyLengthChecker??Go1.calculateBodyLength,credentialDefaultProvider:$?.credentialDefaultProvider??Nt1,defaultUserAgentProvider:$?.defaultUserAgentProvider??dG0.createDefaultUserAgentProvider({serviceId:Y.serviceId,clientVersion:lu1.version}),disableS3ExpressSessionAuth:$?.disableS3ExpressSessionAuth??w3.loadConfig(Jo1.NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,X),eventStreamSerdeProvider:$?.eventStreamSerdeProvider??mt1,maxAttempts:$?.maxAttempts??w3.loadConfig(iG0.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,$),md5:$?.md5??cG0.Hash.bind(null,"md5"),region:$?.region??w3.loadConfig(sw.NODE_REGION_CONFIG_OPTIONS,{...sw.NODE_REGION_CONFIG_FILE_OPTIONS,...X}),requestChecksumCalculation:$?.requestChecksumCalculation??w3.loadConfig(sI1,X),requestHandler:pG0.NodeHttpHandler.create($?.requestHandler??Q),responseChecksumValidation:$?.responseChecksumValidation??w3.loadConfig(aI1,X),retryMode:$?.retryMode??w3.loadConfig({...iG0.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await Q()).retryMode||Ko1.DEFAULT_RETRY_MODE},$),sha1:$?.sha1??cG0.Hash.bind(null,"sha1"),sha256:$?.sha256??cG0.Hash.bind(null,"sha256"),sigv4aSigningRegionSet:$?.sigv4aSigningRegionSet??w3.loadConfig(mG0.NODE_SIGV4A_CONFIG_OPTIONS,X),streamCollector:$?.streamCollector??pG0.streamCollector,streamHasher:$?.streamHasher??ot1,useArnRegion:$?.useArnRegion??w3.loadConfig(Ot1,X),useDualstackEndpoint:$?.useDualstackEndpoint??w3.loadConfig(sw.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,X),useFipsEndpoint:$?.useFipsEndpoint??w3.loadConfig(sw.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,X),userAgentAppId:$?.userAgentAppId??w3.loadConfig(dG0.NODE_APP_ID_CONFIG_OPTIONS,X)}};var Fo1=L(()=>{uu1();Dt1();Pt1();S6();it1();rt1();Yo1();Xo1=_(E9(),1),mG0=_(mY(),1),Jo1=_(U$(),1),dG0=_(Yc(),1),sw=_($G(),1),cG0=_(Xc(),1),iG0=_(bH(),1),w3=_(vH(),1),pG0=_(Vw(),1),nG0=_(p0(),1),Go1=_(Jc(),1),Wo1=_(Gc(),1),Ko1=_(ND(),1)});var Uo1=($)=>{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}}},No1=($)=>{return{httpAuthSchemes:$.httpAuthSchemes(),httpAuthSchemeProvider:$.httpAuthSchemeProvider(),credentials:$.credentials()}};var tG0,oG0,sG0,Bo1=($,Z)=>{let Q=Object.assign(tG0.getAwsRegionExtensionConfiguration($),sG0.getDefaultExtensionConfiguration($),oG0.getHttpHandlerExtensionConfiguration($),Uo1($));return Z.forEach((Y)=>Y.configure(Q)),Object.assign($,tG0.resolveAwsRegionExtensionConfiguration(Q),sG0.resolveDefaultRuntimeConfig(Q),oG0.resolveHttpHandlerRuntimeConfig(Q),No1(Q))};var Do1=L(()=>{tG0=_(BA(),1),oG0=_(t5(),1),sG0=_(p0(),1)});var rG0,Lo1,Oo1,kU,aG0,wo1,jc,jo1,Eo1,Po1,eG0,zo1,ZY;var SA=L(()=>{tI1();S6();ex1();$d0();yJ0();N1();Fo1();Do1();rG0=_(kl(),1),Lo1=_(Cl(),1),Oo1=_(Sl(),1),kU=_(U$(),1),aG0=_(WA(),1),wo1=_($G(),1),jc=_(b7(),1),jo1=_(uY(),1),Eo1=_(pl(),1),Po1=_(G1(),1),eG0=_(bH(),1),zo1=_(p0(),1);ZY=class ZY extends zo1.Client{config;constructor(...[$]){let Z=Ho1($||{});super(Z);this.initConfig=Z;let Q=Wg1(Z),Y=aG0.resolveUserAgentConfig(Q),X=R_1(Y),J=eG0.resolveRetryConfig(X),G=wo1.resolveRegionConfig(J),W=rG0.resolveHostHeaderConfig(G),K=Po1.resolveEndpointConfig(W),H=ax1(K),F=Gg1(H),U=kU.resolveS3Config(F,{session:[()=>this,mr]}),N=Bo1(U,$?.extensions||[]);this.config=N,this.middlewareStack.use(jo1.getSchemaSerdePlugin(this.config)),this.middlewareStack.use(aG0.getUserAgentPlugin(this.config)),this.middlewareStack.use(eG0.getRetryPlugin(this.config)),this.middlewareStack.use(Eo1.getContentLengthPlugin(this.config)),this.middlewareStack.use(rG0.getHostHeaderPlugin(this.config)),this.middlewareStack.use(Lo1.getLoggerPlugin(this.config)),this.middlewareStack.use(Oo1.getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(jc.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Qg1,identityProviderConfigProvider:async(B)=>new jc.DefaultIdentityProviderConfig({"aws.auth#sigv4":B.credentials,"aws.auth#sigv4a":B.credentials})})),this.middlewareStack.use(jc.getHttpSigningPlugin(this.config)),this.middlewareStack.use(kU.getValidateBucketNamePlugin(this.config)),this.middlewareStack.use(nI1(this.config)),this.middlewareStack.use(kU.getRegionRedirectMiddlewarePlugin(this.config)),this.middlewareStack.use(kU.getS3ExpressPlugin(this.config)),this.middlewareStack.use(kU.getS3ExpressHttpSigningPlugin(this.config))}destroy(){super.destroy()}}});var Ao1,To1,qo1,Fa;var pp0=L(()=>{N1();F1();Ao1=_(U$(),1),To1=_(G1(),1),qo1=_(p0(),1);Fa=class Fa extends qo1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[To1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ao1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(gg1).build(){}});function o54($){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(r54(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 r54($,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 s54,MZ=($)=>({applyToStack:(Z)=>{Z.add(o54($),s54)}});var oW=L(()=>{s54={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0}});var Ro1,Mo1,Vo1,Ua;var np0=L(()=>{oW();N1();F1();Ro1=_(U$(),1),Mo1=_(G1(),1),Vo1=_(p0(),1);Ua=class Ua extends Vo1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Mo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ro1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(hg1).build(){}});var Io1,ko1,Co1,tp0;var op0=L(()=>{oW();N1();F1();Io1=_(U$(),1),ko1=_(G1(),1),Co1=_(p0(),1);tp0=class tp0 extends Co1.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[ko1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Io1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","CopyObject",{}).n("S3Client","CopyObjectCommand").sc(ug1).build(){}});function a54($){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 e54,So1=($)=>({applyToStack:(Z)=>{Z.add(a54($),e54)}});var _o1=L(()=>{e54={step:"initialize",tags:["LOCATION_CONSTRAINT","CREATE_BUCKET_CONFIGURATION"],name:"locationConstraintMiddleware",override:!0}});var vo1,bo1,xo1,sp0;var rp0=L(()=>{_o1();N1();F1();vo1=_(U$(),1),bo1=_(G1(),1),xo1=_(p0(),1);sp0=class sp0 extends xo1.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[bo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),vo1.getThrow200ExceptionsPlugin(Q),So1(Q)]}).s("AmazonS3","CreateBucket",{}).n("S3Client","CreateBucketCommand").sc(lg1).build(){}});var fo1,yo1,ap0;var ep0=L(()=>{S6();N1();F1();fo1=_(G1(),1),yo1=_(p0(),1);ap0=class ap0 extends yo1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataConfiguration",{}).n("S3Client","CreateBucketMetadataConfigurationCommand").sc(cg1).build(){}});var go1,ho1,$n0;var Zn0=L(()=>{S6();N1();F1();go1=_(G1(),1),ho1=_(p0(),1);$n0=class $n0 extends ho1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[go1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataTableConfiguration",{}).n("S3Client","CreateBucketMetadataTableConfigurationCommand").sc(mg1).build(){}});var uo1,lo1,co1,Na;var Qn0=L(()=>{oW();N1();F1();uo1=_(U$(),1),lo1=_(G1(),1),co1=_(p0(),1);Na=class Na extends co1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[lo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),uo1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(dg1).build(){}});var mo1,do1,Yn0;var Xn0=L(()=>{N1();F1();mo1=_(G1(),1),do1=_(p0(),1);Yn0=class Yn0 extends do1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[mo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketAnalyticsConfiguration",{}).n("S3Client","DeleteBucketAnalyticsConfigurationCommand").sc(ng1).build(){}});var io1,po1,Jn0;var Gn0=L(()=>{N1();F1();io1=_(G1(),1),po1=_(p0(),1);Jn0=class Jn0 extends po1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[io1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucket",{}).n("S3Client","DeleteBucketCommand").sc(pg1).build(){}});var no1,to1,Wn0;var Kn0=L(()=>{N1();F1();no1=_(G1(),1),to1=_(p0(),1);Wn0=class Wn0 extends to1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[no1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketCors",{}).n("S3Client","DeleteBucketCorsCommand").sc(tg1).build(){}});var oo1,so1,Hn0;var Fn0=L(()=>{N1();F1();oo1=_(G1(),1),so1=_(p0(),1);Hn0=class Hn0 extends so1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[oo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketEncryption",{}).n("S3Client","DeleteBucketEncryptionCommand").sc(og1).build(){}});var ro1,ao1,Un0;var Nn0=L(()=>{N1();F1();ro1=_(G1(),1),ao1=_(p0(),1);Un0=class Un0 extends ao1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ro1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketIntelligentTieringConfiguration",{}).n("S3Client","DeleteBucketIntelligentTieringConfigurationCommand").sc(sg1).build(){}});var eo1,$s1,Bn0;var Dn0=L(()=>{N1();F1();eo1=_(G1(),1),$s1=_(p0(),1);Bn0=class Bn0 extends $s1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[eo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketInventoryConfiguration",{}).n("S3Client","DeleteBucketInventoryConfigurationCommand").sc(rg1).build(){}});var Zs1,Qs1,Ln0;var On0=L(()=>{N1();F1();Zs1=_(G1(),1),Qs1=_(p0(),1);Ln0=class Ln0 extends Qs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Zs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketLifecycle",{}).n("S3Client","DeleteBucketLifecycleCommand").sc(ag1).build(){}});var Ys1,Xs1,wn0;var jn0=L(()=>{N1();F1();Ys1=_(G1(),1),Xs1=_(p0(),1);wn0=class wn0 extends Xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ys1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataConfiguration",{}).n("S3Client","DeleteBucketMetadataConfigurationCommand").sc(eg1).build(){}});var Js1,Gs1,En0;var Pn0=L(()=>{N1();F1();Js1=_(G1(),1),Gs1=_(p0(),1);En0=class En0 extends Gs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Js1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataTableConfiguration",{}).n("S3Client","DeleteBucketMetadataTableConfigurationCommand").sc($h1).build(){}});var Ws1,Ks1,zn0;var An0=L(()=>{N1();F1();Ws1=_(G1(),1),Ks1=_(p0(),1);zn0=class zn0 extends Ks1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ws1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetricsConfiguration",{}).n("S3Client","DeleteBucketMetricsConfigurationCommand").sc(Zh1).build(){}});var Hs1,Fs1,Tn0;var qn0=L(()=>{N1();F1();Hs1=_(G1(),1),Fs1=_(p0(),1);Tn0=class Tn0 extends Fs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Hs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketOwnershipControls",{}).n("S3Client","DeleteBucketOwnershipControlsCommand").sc(Qh1).build(){}});var Us1,Ns1,Rn0;var Mn0=L(()=>{N1();F1();Us1=_(G1(),1),Ns1=_(p0(),1);Rn0=class Rn0 extends Ns1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Us1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketPolicy",{}).n("S3Client","DeleteBucketPolicyCommand").sc(Yh1).build(){}});var Bs1,Ds1,Vn0;var In0=L(()=>{N1();F1();Bs1=_(G1(),1),Ds1=_(p0(),1);Vn0=class Vn0 extends Ds1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Bs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketReplication",{}).n("S3Client","DeleteBucketReplicationCommand").sc(Xh1).build(){}});var Ls1,Os1,kn0;var Cn0=L(()=>{N1();F1();Ls1=_(G1(),1),Os1=_(p0(),1);kn0=class kn0 extends Os1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ls1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketTagging",{}).n("S3Client","DeleteBucketTaggingCommand").sc(Jh1).build(){}});var ws1,js1,Sn0;var _n0=L(()=>{N1();F1();ws1=_(G1(),1),js1=_(p0(),1);Sn0=class Sn0 extends js1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ws1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketWebsite",{}).n("S3Client","DeleteBucketWebsiteCommand").sc(Gh1).build(){}});var Es1,Ps1,zs1,fD;var vn0=L(()=>{N1();F1();Es1=_(U$(),1),Ps1=_(G1(),1),zs1=_(p0(),1);fD=class fD extends zs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Ps1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Es1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(Wh1).build(){}});var As1,Ts1,qs1,bn0;var xn0=L(()=>{S6();N1();F1();As1=_(U$(),1),Ts1=_(G1(),1),qs1=_(p0(),1);bn0=class bn0 extends qs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ts1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),As1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjects",{}).n("S3Client","DeleteObjectsCommand").sc(Kh1).build(){}});var Rs1,Ms1,Vs1,fn0;var yn0=L(()=>{N1();F1();Rs1=_(U$(),1),Ms1=_(G1(),1),Vs1=_(p0(),1);fn0=class fn0 extends Vs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Rs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjectTagging",{}).n("S3Client","DeleteObjectTaggingCommand").sc(Hh1).build(){}});var Is1,ks1,gn0;var hn0=L(()=>{N1();F1();Is1=_(G1(),1),ks1=_(p0(),1);gn0=class gn0 extends ks1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeletePublicAccessBlock",{}).n("S3Client","DeletePublicAccessBlockCommand").sc(Fh1).build(){}});var Cs1,Ss1,_s1,un0;var ln0=L(()=>{N1();F1();Cs1=_(U$(),1),Ss1=_(G1(),1),_s1=_(p0(),1);un0=class un0 extends _s1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ss1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Cs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAbac",{}).n("S3Client","GetBucketAbacCommand").sc(Uh1).build(){}});var vs1,bs1,xs1,cn0;var mn0=L(()=>{N1();F1();vs1=_(U$(),1),bs1=_(G1(),1),xs1=_(p0(),1);cn0=class cn0 extends xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[bs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),vs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAccelerateConfiguration",{}).n("S3Client","GetBucketAccelerateConfigurationCommand").sc(Nh1).build(){}});var fs1,ys1,gs1,dn0;var in0=L(()=>{N1();F1();fs1=_(U$(),1),ys1=_(G1(),1),gs1=_(p0(),1);dn0=class dn0 extends gs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ys1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),fs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAcl",{}).n("S3Client","GetBucketAclCommand").sc(Bh1).build(){}});var hs1,us1,ls1,pn0;var nn0=L(()=>{N1();F1();hs1=_(U$(),1),us1=_(G1(),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()),hs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAnalyticsConfiguration",{}).n("S3Client","GetBucketAnalyticsConfigurationCommand").sc(Dh1).build(){}});var cs1,ms1,ds1,tn0;var on0=L(()=>{N1();F1();cs1=_(U$(),1),ms1=_(G1(),1),ds1=_(p0(),1);tn0=class tn0 extends ds1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),cs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketCors",{}).n("S3Client","GetBucketCorsCommand").sc(Lh1).build(){}});var is1,ps1,ns1,sn0;var rn0=L(()=>{N1();F1();is1=_(U$(),1),ps1=_(G1(),1),ns1=_(p0(),1);sn0=class sn0 extends ns1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ps1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),is1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketEncryption",{}).n("S3Client","GetBucketEncryptionCommand").sc(Oh1).build(){}});var ts1,os1,ss1,an0;var en0=L(()=>{N1();F1();ts1=_(U$(),1),os1=_(G1(),1),ss1=_(p0(),1);an0=class an0 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()),ts1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketIntelligentTieringConfiguration",{}).n("S3Client","GetBucketIntelligentTieringConfigurationCommand").sc(wh1).build(){}});var rs1,as1,es1,$t0;var Zt0=L(()=>{N1();F1();rs1=_(U$(),1),as1=_(G1(),1),es1=_(p0(),1);$t0=class $t0 extends es1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[as1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),rs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketInventoryConfiguration",{}).n("S3Client","GetBucketInventoryConfigurationCommand").sc(jh1).build(){}});var $r1,Zr1,Qr1,Qt0;var Yt0=L(()=>{N1();F1();$r1=_(U$(),1),Zr1=_(G1(),1),Qr1=_(p0(),1);Qt0=class Qt0 extends Qr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Zr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),$r1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLifecycleConfiguration",{}).n("S3Client","GetBucketLifecycleConfigurationCommand").sc(Eh1).build(){}});var Yr1,Xr1,Jr1,Xt0;var Jt0=L(()=>{N1();F1();Yr1=_(U$(),1),Xr1=_(G1(),1),Jr1=_(p0(),1);Xt0=class Xt0 extends Jr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Yr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLocation",{}).n("S3Client","GetBucketLocationCommand").sc(Ph1).build(){}});var Gr1,Wr1,Kr1,Gt0;var Wt0=L(()=>{N1();F1();Gr1=_(U$(),1),Wr1=_(G1(),1),Kr1=_(p0(),1);Gt0=class Gt0 extends Kr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Wr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Gr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLogging",{}).n("S3Client","GetBucketLoggingCommand").sc(zh1).build(){}});var Hr1,Fr1,Ur1,Kt0;var Ht0=L(()=>{N1();F1();Hr1=_(U$(),1),Fr1=_(G1(),1),Ur1=_(p0(),1);Kt0=class Kt0 extends Ur1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Hr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataConfiguration",{}).n("S3Client","GetBucketMetadataConfigurationCommand").sc(Ah1).build(){}});var Nr1,Br1,Dr1,Ft0;var Ut0=L(()=>{N1();F1();Nr1=_(U$(),1),Br1=_(G1(),1),Dr1=_(p0(),1);Ft0=class Ft0 extends Dr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Br1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Nr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataTableConfiguration",{}).n("S3Client","GetBucketMetadataTableConfigurationCommand").sc(Th1).build(){}});var Lr1,Or1,wr1,Nt0;var Bt0=L(()=>{N1();F1();Lr1=_(U$(),1),Or1=_(G1(),1),wr1=_(p0(),1);Nt0=class Nt0 extends wr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Or1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Lr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetricsConfiguration",{}).n("S3Client","GetBucketMetricsConfigurationCommand").sc(qh1).build(){}});var jr1,Er1,Pr1,Dt0;var Lt0=L(()=>{N1();F1();jr1=_(U$(),1),Er1=_(G1(),1),Pr1=_(p0(),1);Dt0=class Dt0 extends Pr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Er1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),jr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketNotificationConfiguration",{}).n("S3Client","GetBucketNotificationConfigurationCommand").sc(Rh1).build(){}});var zr1,Ar1,Tr1,Ot0;var wt0=L(()=>{N1();F1();zr1=_(U$(),1),Ar1=_(G1(),1),Tr1=_(p0(),1);Ot0=class Ot0 extends Tr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ar1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),zr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketOwnershipControls",{}).n("S3Client","GetBucketOwnershipControlsCommand").sc(Mh1).build(){}});var qr1,Rr1,jt0;var Et0=L(()=>{N1();F1();qr1=_(G1(),1),Rr1=_(p0(),1);jt0=class jt0 extends Rr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[qr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetBucketPolicy",{}).n("S3Client","GetBucketPolicyCommand").sc(Vh1).build(){}});var Mr1,Vr1,Ir1,Pt0;var zt0=L(()=>{N1();F1();Mr1=_(U$(),1),Vr1=_(G1(),1),Ir1=_(p0(),1);Pt0=class Pt0 extends Ir1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Vr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Mr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketPolicyStatus",{}).n("S3Client","GetBucketPolicyStatusCommand").sc(Ih1).build(){}});var kr1,Cr1,Sr1,At0;var Tt0=L(()=>{N1();F1();kr1=_(U$(),1),Cr1=_(G1(),1),Sr1=_(p0(),1);At0=class At0 extends Sr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Cr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),kr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketReplication",{}).n("S3Client","GetBucketReplicationCommand").sc(kh1).build(){}});var _r1,vr1,br1,qt0;var Rt0=L(()=>{N1();F1();_r1=_(U$(),1),vr1=_(G1(),1),br1=_(p0(),1);qt0=class qt0 extends br1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[vr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),_r1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketRequestPayment",{}).n("S3Client","GetBucketRequestPaymentCommand").sc(Ch1).build(){}});var xr1,fr1,yr1,Mt0;var Vt0=L(()=>{N1();F1();xr1=_(U$(),1),fr1=_(G1(),1),yr1=_(p0(),1);Mt0=class Mt0 extends yr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),xr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketTagging",{}).n("S3Client","GetBucketTaggingCommand").sc(Sh1).build(){}});var gr1,hr1,ur1,It0;var kt0=L(()=>{N1();F1();gr1=_(U$(),1),hr1=_(G1(),1),ur1=_(p0(),1);It0=class It0 extends ur1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[hr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),gr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketVersioning",{}).n("S3Client","GetBucketVersioningCommand").sc(_h1).build(){}});var lr1,cr1,mr1,Ct0;var St0=L(()=>{N1();F1();lr1=_(U$(),1),cr1=_(G1(),1),mr1=_(p0(),1);Ct0=class Ct0 extends mr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[cr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),lr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketWebsite",{}).n("S3Client","GetBucketWebsiteCommand").sc(vh1).build(){}});var dr1,ir1,pr1,_t0;var vt0=L(()=>{N1();F1();dr1=_(U$(),1),ir1=_(G1(),1),pr1=_(p0(),1);_t0=class _t0 extends pr1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ir1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),dr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectAcl",{}).n("S3Client","GetObjectAclCommand").sc(xh1).build(){}});var nr1,tr1,or1,bt0;var xt0=L(()=>{oW();N1();F1();nr1=_(U$(),1),tr1=_(G1(),1),or1=_(p0(),1);bt0=class bt0 extends or1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[tr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),nr1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","GetObjectAttributes",{}).n("S3Client","GetObjectAttributesCommand").sc(fh1).build(){}});var sr1,rr1,ar1,CU;var ft0=L(()=>{S6();oW();N1();F1();sr1=_(U$(),1),rr1=_(G1(),1),ar1=_(p0(),1);CU=class CU extends ar1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[rr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1","SHA512","MD5","XXHASH64","XXHASH3","XXHASH128"]}),MZ(Q),sr1.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(bh1).build(){}});var er1,$a1,Za1,yt0;var gt0=L(()=>{N1();F1();er1=_(U$(),1),$a1=_(G1(),1),Za1=_(p0(),1);yt0=class yt0 extends Za1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$a1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),er1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLegalHold",{}).n("S3Client","GetObjectLegalHoldCommand").sc(yh1).build(){}});var Qa1,Ya1,Xa1,ht0;var ut0=L(()=>{N1();F1();Qa1=_(U$(),1),Ya1=_(G1(),1),Xa1=_(p0(),1);ht0=class ht0 extends Xa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ya1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Qa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLockConfiguration",{}).n("S3Client","GetObjectLockConfigurationCommand").sc(gh1).build(){}});var Ja1,Ga1,Wa1,lt0;var ct0=L(()=>{N1();F1();Ja1=_(U$(),1),Ga1=_(G1(),1),Wa1=_(p0(),1);lt0=class lt0 extends Wa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ga1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ja1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectRetention",{}).n("S3Client","GetObjectRetentionCommand").sc(hh1).build(){}});var Ka1,Ha1,Fa1,mt0;var dt0=L(()=>{N1();F1();Ka1=_(U$(),1),Ha1=_(G1(),1),Fa1=_(p0(),1);mt0=class mt0 extends Fa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ha1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ka1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectTagging",{}).n("S3Client","GetObjectTaggingCommand").sc(uh1).build(){}});var Ua1,Na1,it0;var pt0=L(()=>{N1();F1();Ua1=_(G1(),1),Na1=_(p0(),1);it0=class it0 extends Na1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ua1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetObjectTorrent",{}).n("S3Client","GetObjectTorrentCommand").sc(lh1).build(){}});var Ba1,Da1,La1,nt0;var tt0=L(()=>{N1();F1();Ba1=_(U$(),1),Da1=_(G1(),1),La1=_(p0(),1);nt0=class nt0 extends La1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Da1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ba1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetPublicAccessBlock",{}).n("S3Client","GetPublicAccessBlockCommand").sc(ch1).build(){}});var Oa1,wa1,ja1,_A;var Ba=L(()=>{N1();F1();Oa1=_(U$(),1),wa1=_(G1(),1),ja1=_(p0(),1);_A=class _A extends ja1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[wa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Oa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","HeadBucket",{}).n("S3Client","HeadBucketCommand").sc(mh1).build(){}});var $30,Ea1,Pa1,SU;var Da=L(()=>{oW();N1();F1();$30=_(U$(),1),Ea1=_(G1(),1),Pa1=_(p0(),1);SU=class SU extends Pa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),$30.getThrow200ExceptionsPlugin(Q),MZ(Q),$30.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(dh1).build(){}});var za1,Aa1,Ta1,ot0;var st0=L(()=>{N1();F1();za1=_(U$(),1),Aa1=_(G1(),1),Ta1=_(p0(),1);ot0=class ot0 extends Ta1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Aa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),za1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketAnalyticsConfigurations",{}).n("S3Client","ListBucketAnalyticsConfigurationsCommand").sc(ih1).build(){}});var qa1,Ra1,Ma1,rt0;var at0=L(()=>{N1();F1();qa1=_(U$(),1),Ra1=_(G1(),1),Ma1=_(p0(),1);rt0=class rt0 extends Ma1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ra1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),qa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketIntelligentTieringConfigurations",{}).n("S3Client","ListBucketIntelligentTieringConfigurationsCommand").sc(ph1).build(){}});var Va1,Ia1,ka1,et0;var $o0=L(()=>{N1();F1();Va1=_(U$(),1),Ia1=_(G1(),1),ka1=_(p0(),1);et0=class et0 extends ka1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ia1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Va1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketInventoryConfigurations",{}).n("S3Client","ListBucketInventoryConfigurationsCommand").sc(nh1).build(){}});var Ca1,Sa1,_a1,Zo0;var Qo0=L(()=>{N1();F1();Ca1=_(U$(),1),Sa1=_(G1(),1),_a1=_(p0(),1);Zo0=class Zo0 extends _a1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Sa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ca1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketMetricsConfigurations",{}).n("S3Client","ListBucketMetricsConfigurationsCommand").sc(th1).build(){}});var va1,ba1,xa1,La;var Z30=L(()=>{N1();F1();va1=_(U$(),1),ba1=_(G1(),1),xa1=_(p0(),1);La=class La extends xa1.Command.classBuilder().ep(L0).m(function($,Z,Q,Y){return[ba1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),va1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBuckets",{}).n("S3Client","ListBucketsCommand").sc(oh1).build(){}});var fa1,ya1,ga1,Oa;var Q30=L(()=>{N1();F1();fa1=_(U$(),1),ya1=_(G1(),1),ga1=_(p0(),1);Oa=class Oa extends ga1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[ya1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),fa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListDirectoryBuckets",{}).n("S3Client","ListDirectoryBucketsCommand").sc(sh1).build(){}});var ha1,ua1,la1,Yo0;var Xo0=L(()=>{N1();F1();ha1=_(U$(),1),ua1=_(G1(),1),la1=_(p0(),1);Yo0=class Yo0 extends la1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ua1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ha1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListMultipartUploads",{}).n("S3Client","ListMultipartUploadsCommand").sc(rh1).build(){}});var ca1,ma1,da1,Jo0;var Go0=L(()=>{N1();F1();ca1=_(U$(),1),ma1=_(G1(),1),da1=_(p0(),1);Jo0=class Jo0 extends da1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ma1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ca1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjects",{}).n("S3Client","ListObjectsCommand").sc(ah1).build(){}});var ia1,pa1,na1,sW;var Y30=L(()=>{N1();F1();ia1=_(U$(),1),pa1=_(G1(),1),na1=_(p0(),1);sW=class sW extends na1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[pa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ia1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(eh1).build(){}});var ta1,oa1,sa1,Wo0;var Ko0=L(()=>{N1();F1();ta1=_(U$(),1),oa1=_(G1(),1),sa1=_(p0(),1);Wo0=class Wo0 extends sa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[oa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ta1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectVersions",{}).n("S3Client","ListObjectVersionsCommand").sc($u1).build(){}});var ra1,aa1,ea1,wa;var X30=L(()=>{oW();N1();F1();ra1=_(U$(),1),aa1=_(G1(),1),ea1=_(p0(),1);wa=class wa extends ea1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[aa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ra1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","ListParts",{}).n("S3Client","ListPartsCommand").sc(Zu1).build(){}});var $e1,Ze1,Ho0;var Fo0=L(()=>{S6();N1();F1();$e1=_(G1(),1),Ze1=_(p0(),1);Ho0=class Ho0 extends Ze1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$e1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAbac",{}).n("S3Client","PutBucketAbacCommand").sc(Qu1).build(){}});var Qe1,Ye1,Uo0;var No0=L(()=>{S6();N1();F1();Qe1=_(G1(),1),Ye1=_(p0(),1);Uo0=class Uo0 extends Ye1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Qe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAccelerateConfiguration",{}).n("S3Client","PutBucketAccelerateConfigurationCommand").sc(Yu1).build(){}});var Xe1,Je1,Bo0;var Do0=L(()=>{S6();N1();F1();Xe1=_(G1(),1),Je1=_(p0(),1);Bo0=class Bo0 extends Je1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketAcl",{}).n("S3Client","PutBucketAclCommand").sc(Xu1).build(){}});var Ge1,We1,Lo0;var Oo0=L(()=>{N1();F1();Ge1=_(G1(),1),We1=_(p0(),1);Lo0=class Lo0 extends We1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ge1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketAnalyticsConfiguration",{}).n("S3Client","PutBucketAnalyticsConfigurationCommand").sc(Ju1).build(){}});var Ke1,He1,wo0;var jo0=L(()=>{S6();N1();F1();Ke1=_(G1(),1),He1=_(p0(),1);wo0=class wo0 extends He1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketCors",{}).n("S3Client","PutBucketCorsCommand").sc(Gu1).build(){}});var Fe1,Ue1,Eo0;var Po0=L(()=>{S6();N1();F1();Fe1=_(G1(),1),Ue1=_(p0(),1);Eo0=class Eo0 extends Ue1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketEncryption",{}).n("S3Client","PutBucketEncryptionCommand").sc(Wu1).build(){}});var Ne1,Be1,zo0;var Ao0=L(()=>{N1();F1();Ne1=_(G1(),1),Be1=_(p0(),1);zo0=class zo0 extends Be1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ne1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketIntelligentTieringConfiguration",{}).n("S3Client","PutBucketIntelligentTieringConfigurationCommand").sc(Ku1).build(){}});var De1,Le1,To0;var qo0=L(()=>{N1();F1();De1=_(G1(),1),Le1=_(p0(),1);To0=class To0 extends Le1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[De1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketInventoryConfiguration",{}).n("S3Client","PutBucketInventoryConfigurationCommand").sc(Hu1).build(){}});var Oe1,we1,je1,Ro0;var Mo0=L(()=>{S6();N1();F1();Oe1=_(U$(),1),we1=_(G1(),1),je1=_(p0(),1);Ro0=class Ro0 extends je1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[we1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),Oe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutBucketLifecycleConfiguration",{}).n("S3Client","PutBucketLifecycleConfigurationCommand").sc(Fu1).build(){}});var Ee1,Pe1,Vo0;var Io0=L(()=>{S6();N1();F1();Ee1=_(G1(),1),Pe1=_(p0(),1);Vo0=class Vo0 extends Pe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ee1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketLogging",{}).n("S3Client","PutBucketLoggingCommand").sc(Uu1).build(){}});var ze1,Ae1,ko0;var Co0=L(()=>{N1();F1();ze1=_(G1(),1),Ae1=_(p0(),1);ko0=class ko0 extends Ae1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketMetricsConfiguration",{}).n("S3Client","PutBucketMetricsConfigurationCommand").sc(Nu1).build(){}});var Te1,qe1,So0;var _o0=L(()=>{N1();F1();Te1=_(G1(),1),qe1=_(p0(),1);So0=class So0 extends qe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketNotificationConfiguration",{}).n("S3Client","PutBucketNotificationConfigurationCommand").sc(Bu1).build(){}});var Re1,Me1,vo0;var bo0=L(()=>{S6();N1();F1();Re1=_(G1(),1),Me1=_(p0(),1);vo0=class vo0 extends Me1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Re1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketOwnershipControls",{}).n("S3Client","PutBucketOwnershipControlsCommand").sc(Du1).build(){}});var Ve1,Ie1,xo0;var fo0=L(()=>{S6();N1();F1();Ve1=_(G1(),1),Ie1=_(p0(),1);xo0=class xo0 extends Ie1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketPolicy",{}).n("S3Client","PutBucketPolicyCommand").sc(Lu1).build(){}});var ke1,Ce1,yo0;var go0=L(()=>{S6();N1();F1();ke1=_(G1(),1),Ce1=_(p0(),1);yo0=class yo0 extends Ce1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketReplication",{}).n("S3Client","PutBucketReplicationCommand").sc(Ou1).build(){}});var Se1,_e1,ho0;var uo0=L(()=>{S6();N1();F1();Se1=_(G1(),1),_e1=_(p0(),1);ho0=class ho0 extends _e1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketRequestPayment",{}).n("S3Client","PutBucketRequestPaymentCommand").sc(wu1).build(){}});var ve1,be1,lo0;var co0=L(()=>{S6();N1();F1();ve1=_(G1(),1),be1=_(p0(),1);lo0=class lo0 extends be1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketTagging",{}).n("S3Client","PutBucketTaggingCommand").sc(ju1).build(){}});var xe1,fe1,mo0;var do0=L(()=>{S6();N1();F1();xe1=_(G1(),1),fe1=_(p0(),1);mo0=class mo0 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()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketVersioning",{}).n("S3Client","PutBucketVersioningCommand").sc(Eu1).build(){}});var ye1,ge1,io0;var po0=L(()=>{S6();N1();F1();ye1=_(G1(),1),ge1=_(p0(),1);io0=class io0 extends ge1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ye1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketWebsite",{}).n("S3Client","PutBucketWebsiteCommand").sc(Pu1).build(){}});var he1,ue1,le1,no0;var to0=L(()=>{S6();N1();F1();he1=_(U$(),1),ue1=_(G1(),1),le1=_(p0(),1);no0=class no0 extends le1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ue1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),he1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectAcl",{}).n("S3Client","PutObjectAclCommand").sc(Au1).build(){}});var J30,ce1,me1,j3;var oo0=L(()=>{S6();oW();N1();F1();J30=_(U$(),1),ce1=_(G1(),1),me1=_(p0(),1);j3=class j3 extends me1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ce1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),J30.getCheckContentLengthHeaderPlugin(Q),J30.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(zu1).build(){}});var de1,ie1,pe1,so0;var ro0=L(()=>{S6();N1();F1();de1=_(U$(),1),ie1=_(G1(),1),pe1=_(p0(),1);so0=class so0 extends pe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ie1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),de1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLegalHold",{}).n("S3Client","PutObjectLegalHoldCommand").sc(Tu1).build(){}});var ne1,te1,oe1,ao0;var eo0=L(()=>{S6();N1();F1();ne1=_(U$(),1),te1=_(G1(),1),oe1=_(p0(),1);ao0=class ao0 extends oe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ne1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLockConfiguration",{}).n("S3Client","PutObjectLockConfigurationCommand").sc(qu1).build(){}});var se1,re1,ae1,$s0;var Zs0=L(()=>{S6();N1();F1();se1=_(U$(),1),re1=_(G1(),1),ae1=_(p0(),1);$s0=class $s0 extends ae1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[re1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),se1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectRetention",{}).n("S3Client","PutObjectRetentionCommand").sc(Ru1).build(){}});var ee1,$0$,Z0$,ja;var Qs0=L(()=>{S6();N1();F1();ee1=_(U$(),1),$0$=_(G1(),1),Z0$=_(p0(),1);ja=class ja extends Z0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ee1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(Mu1).build(){}});var Q0$,Y0$,Ys0;var Xs0=L(()=>{S6();N1();F1();Q0$=_(G1(),1),Y0$=_(p0(),1);Ys0=class Ys0 extends Y0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutPublicAccessBlock",{}).n("S3Client","PutPublicAccessBlockCommand").sc(Vu1).build(){}});var X0$,J0$,G0$,Js0;var Gs0=L(()=>{N1();F1();X0$=_(U$(),1),J0$=_(G1(),1),G0$=_(p0(),1);Js0=class Js0 extends G0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[J0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),X0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RenameObject",{}).n("S3Client","RenameObjectCommand").sc(Iu1).build(){}});var W0$,K0$,H0$,Ws0;var Ks0=L(()=>{S6();N1();F1();W0$=_(U$(),1),K0$=_(G1(),1),H0$=_(p0(),1);Ws0=class Ws0 extends H0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[K0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),W0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RestoreObject",{}).n("S3Client","RestoreObjectCommand").sc(ku1).build(){}});var F0$,U0$,Hs0;var Fs0=L(()=>{oW();N1();F1();F0$=_(G1(),1),U0$=_(p0(),1);Hs0=class Hs0 extends U0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[F0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),MZ(Q)]}).s("AmazonS3","SelectObjectContent",{eventStream:{output:!0}}).n("S3Client","SelectObjectContentCommand").sc(Cu1).build(){}});var N0$,B0$,Us0;var Ns0=L(()=>{S6();N1();F1();N0$=_(G1(),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()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataInventoryTableConfiguration",{}).n("S3Client","UpdateBucketMetadataInventoryTableConfigurationCommand").sc(Su1).build(){}});var D0$,L0$,Bs0;var Ds0=L(()=>{S6();N1();F1();D0$=_(G1(),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()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataJournalTableConfiguration",{}).n("S3Client","UpdateBucketMetadataJournalTableConfigurationCommand").sc(_u1).build(){}});var O0$,w0$,j0$,Ls0;var Os0=L(()=>{S6();N1();F1();O0$=_(U$(),1),w0$=_(G1(),1),j0$=_(p0(),1);Ls0=class Ls0 extends j0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[w0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),O0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","UpdateObjectEncryption",{}).n("S3Client","UpdateObjectEncryptionCommand").sc(vu1).build(){}});var E0$,P0$,z0$,Ea;var ws0=L(()=>{S6();oW();N1();F1();E0$=_(U$(),1),P0$=_(G1(),1),z0$=_(p0(),1);Ea=class Ea extends z0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[P0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),E0$.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(bu1).build(){}});var A0$,T0$,q0$,js0;var Es0=L(()=>{oW();N1();F1();A0$=_(U$(),1),T0$=_(G1(),1),q0$=_(p0(),1);js0=class js0 extends q0$.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[T0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),A0$.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","UploadPartCopy",{}).n("S3Client","UploadPartCopyCommand").sc(xu1).build(){}});var R0$,M0$,Ps0;var zs0=L(()=>{N1();F1();R0$=_(G1(),1),M0$=_(p0(),1);Ps0=class Ps0 extends M0$.Command.classBuilder().ep({...L0,UseObjectLambdaEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[R0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","WriteGetObjectResponse",{}).n("S3Client","WriteGetObjectResponseCommand").sc(fu1).build(){}});var V0$,I0$;var As0=L(()=>{Z30();SA();V0$=_(b7(),1),I0$=V0$.createPaginator(ZY,La,"ContinuationToken","ContinuationToken","MaxBuckets")});var k0$,C0$;var Ts0=L(()=>{Q30();SA();k0$=_(b7(),1),C0$=k0$.createPaginator(ZY,Oa,"ContinuationToken","ContinuationToken","MaxDirectoryBuckets")});var S0$,_0$;var qs0=L(()=>{Y30();SA();S0$=_(b7(),1),_0$=S0$.createPaginator(ZY,sW,"ContinuationToken","NextContinuationToken","MaxKeys")});var v0$,b0$;var Rs0=L(()=>{X30();SA();v0$=_(b7(),1),b0$=v0$.createPaginator(ZY,wa,"PartNumberMarker","NextPartNumberMarker","MaxParts")});var Ec=()=>{let $=new WeakSet;return(Z,Q)=>{if(typeof Q==="object"&&Q!==null){if($.has(Q))return"[Circular]";$.add(Q)}return Q}};var x0$=($)=>{return new Promise((Z)=>setTimeout(Z,$*1000))};var f0$,P9,rw=($)=>{if($.state===P9.ABORTED){let Z=Error(`${JSON.stringify({...$,reason:"Request was aborted"},Ec())}`);throw Z.name="AbortError",Z}else if($.state===P9.TIMEOUT){let Z=Error(`${JSON.stringify({...$,reason:"Waiter has timed out"},Ec())}`);throw Z.name="TimeoutError",Z}else if($.state!==P9.SUCCESS)throw Error(`${JSON.stringify($,Ec())}`);return $};var G30=L(()=>{f0$={minDelay:2,maxDelay:120};(function($){$.ABORTED="ABORTED",$.FAILURE="FAILURE",$.SUCCESS="SUCCESS",$.RETRY="RETRY",$.TIMEOUT="TIMEOUT"})(P9||(P9={}))});var y0$=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 j=Q94(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()+j>N)return{state:P9.TIMEOUT,observedResponses:K};await x0$(j/1000)}let{state:O,reason:w}=await W(X,G);if(w){let j=Z94(w);K[j]|=0,K[j]+=1}if(O!==P9.RETRY)return{state:O,reason:w,final:w,observedResponses:K};if(U+=1,!D&&Date.now()>=B)$94(K,X),D=!0}},$94=($={},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.")},Z94=($)=>{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($,Ec())??"Unknown")},Q94=($,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=Y94($,G);if(Date.now()+W>Y){let K=Y-Date.now();return Math.max(0,K-500)}return W},Y94=($,Z)=>$+Math.random()*(Z-$);var g0$=L(()=>{G30()});var h0$=($)=>{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 u0$=()=>{};var l0$=($)=>{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}},aw=async($,Z,Q)=>{let Y={...f0$,...$};h0$(Y);let X=[y0$(Y,Z,Q)],J=[];if($.abortSignal){let{aborted:G,clearListener:W}=l0$($.abortSignal);J.push(W),X.push(G)}if($.abortController?.signal){let{aborted:G,clearListener:W}=l0$($.abortController.signal);J.push(W),X.push(G)}return Promise.race(X).then((G)=>{for(let W of J)W();return G})};var c0$=L(()=>{g0$();u0$();G30()});var Pa=L(()=>{c0$();G30()});var X94=async($,Z)=>{let Q;try{return Q=await $.send(new _A(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}},m0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,X94);return rw(Y)};var Ms0=L(()=>{Pa();Ba()});var J94=async($,Z)=>{let Q;try{Q=await $.send(new _A(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},d0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,J94);return rw(Y)};var Vs0=L(()=>{Pa();Ba()});var G94=async($,Z)=>{let Q;try{return Q=await $.send(new SU(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}},i0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,G94);return rw(Y)};var Is0=L(()=>{Pa();Da()});var W94=async($,Z)=>{let Q;try{Q=await $.send(new SU(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},p0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,W94);return rw(Y)};var ks0=L(()=>{Pa();Da()});var n0$,K94,H94,F94,t0$;var o0$=L(()=>{pp0();np0();op0();rp0();ep0();Zn0();Qn0();yJ0();Xn0();Gn0();Kn0();Fn0();Nn0();Dn0();On0();jn0();Pn0();An0();qn0();Mn0();In0();Cn0();_n0();vn0();xn0();yn0();hn0();ln0();mn0();in0();nn0();on0();rn0();en0();Zt0();Yt0();Jt0();Wt0();Ht0();Ut0();Bt0();Lt0();wt0();Et0();zt0();Tt0();Rt0();Vt0();kt0();St0();vt0();xt0();ft0();gt0();ut0();ct0();dt0();pt0();tt0();Ba();Da();st0();at0();$o0();Qo0();Z30();Q30();Xo0();Go0();Y30();Ko0();X30();Fo0();No0();Do0();Oo0();jo0();Po0();Ao0();qo0();Mo0();Io0();Co0();_o0();bo0();fo0();go0();uo0();co0();do0();po0();to0();oo0();ro0();eo0();Zs0();Qs0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Es0();zs0();As0();Ts0();qs0();Rs0();SA();Ms0();Vs0();Is0();ks0();n0$=_(p0(),1),K94={AbortMultipartUploadCommand:Fa,CompleteMultipartUploadCommand:Ua,CopyObjectCommand:tp0,CreateBucketCommand:sp0,CreateBucketMetadataConfigurationCommand:ap0,CreateBucketMetadataTableConfigurationCommand:$n0,CreateMultipartUploadCommand:Na,CreateSessionCommand:mr,DeleteBucketCommand:Jn0,DeleteBucketAnalyticsConfigurationCommand:Yn0,DeleteBucketCorsCommand:Wn0,DeleteBucketEncryptionCommand:Hn0,DeleteBucketIntelligentTieringConfigurationCommand:Un0,DeleteBucketInventoryConfigurationCommand:Bn0,DeleteBucketLifecycleCommand:Ln0,DeleteBucketMetadataConfigurationCommand:wn0,DeleteBucketMetadataTableConfigurationCommand:En0,DeleteBucketMetricsConfigurationCommand:zn0,DeleteBucketOwnershipControlsCommand:Tn0,DeleteBucketPolicyCommand:Rn0,DeleteBucketReplicationCommand:Vn0,DeleteBucketTaggingCommand:kn0,DeleteBucketWebsiteCommand:Sn0,DeleteObjectCommand:fD,DeleteObjectsCommand:bn0,DeleteObjectTaggingCommand:fn0,DeletePublicAccessBlockCommand:gn0,GetBucketAbacCommand:un0,GetBucketAccelerateConfigurationCommand:cn0,GetBucketAclCommand:dn0,GetBucketAnalyticsConfigurationCommand:pn0,GetBucketCorsCommand:tn0,GetBucketEncryptionCommand:sn0,GetBucketIntelligentTieringConfigurationCommand:an0,GetBucketInventoryConfigurationCommand:$t0,GetBucketLifecycleConfigurationCommand:Qt0,GetBucketLocationCommand:Xt0,GetBucketLoggingCommand:Gt0,GetBucketMetadataConfigurationCommand:Kt0,GetBucketMetadataTableConfigurationCommand:Ft0,GetBucketMetricsConfigurationCommand:Nt0,GetBucketNotificationConfigurationCommand:Dt0,GetBucketOwnershipControlsCommand:Ot0,GetBucketPolicyCommand:jt0,GetBucketPolicyStatusCommand:Pt0,GetBucketReplicationCommand:At0,GetBucketRequestPaymentCommand:qt0,GetBucketTaggingCommand:Mt0,GetBucketVersioningCommand:It0,GetBucketWebsiteCommand:Ct0,GetObjectCommand:CU,GetObjectAclCommand:_t0,GetObjectAttributesCommand:bt0,GetObjectLegalHoldCommand:yt0,GetObjectLockConfigurationCommand:ht0,GetObjectRetentionCommand:lt0,GetObjectTaggingCommand:mt0,GetObjectTorrentCommand:it0,GetPublicAccessBlockCommand:nt0,HeadBucketCommand:_A,HeadObjectCommand:SU,ListBucketAnalyticsConfigurationsCommand:ot0,ListBucketIntelligentTieringConfigurationsCommand:rt0,ListBucketInventoryConfigurationsCommand:et0,ListBucketMetricsConfigurationsCommand:Zo0,ListBucketsCommand:La,ListDirectoryBucketsCommand:Oa,ListMultipartUploadsCommand:Yo0,ListObjectsCommand:Jo0,ListObjectsV2Command:sW,ListObjectVersionsCommand:Wo0,ListPartsCommand:wa,PutBucketAbacCommand:Ho0,PutBucketAccelerateConfigurationCommand:Uo0,PutBucketAclCommand:Bo0,PutBucketAnalyticsConfigurationCommand:Lo0,PutBucketCorsCommand:wo0,PutBucketEncryptionCommand:Eo0,PutBucketIntelligentTieringConfigurationCommand:zo0,PutBucketInventoryConfigurationCommand:To0,PutBucketLifecycleConfigurationCommand:Ro0,PutBucketLoggingCommand:Vo0,PutBucketMetricsConfigurationCommand:ko0,PutBucketNotificationConfigurationCommand:So0,PutBucketOwnershipControlsCommand:vo0,PutBucketPolicyCommand:xo0,PutBucketReplicationCommand:yo0,PutBucketRequestPaymentCommand:ho0,PutBucketTaggingCommand:lo0,PutBucketVersioningCommand:mo0,PutBucketWebsiteCommand:io0,PutObjectCommand:j3,PutObjectAclCommand:no0,PutObjectLegalHoldCommand:so0,PutObjectLockConfigurationCommand:ao0,PutObjectRetentionCommand:$s0,PutObjectTaggingCommand:ja,PutPublicAccessBlockCommand:Ys0,RenameObjectCommand:Js0,RestoreObjectCommand:Ws0,SelectObjectContentCommand:Hs0,UpdateBucketMetadataInventoryTableConfigurationCommand:Us0,UpdateBucketMetadataJournalTableConfigurationCommand:Bs0,UpdateObjectEncryptionCommand:Ls0,UploadPartCommand:Ea,UploadPartCopyCommand:js0,WriteGetObjectResponseCommand:Ps0},H94={paginateListBuckets:I0$,paginateListDirectoryBuckets:C0$,paginateListObjectsV2:_0$,paginateListParts:b0$},F94={waitUntilBucketExists:m0$,waitUntilBucketNotExists:d0$,waitUntilObjectExists:i0$,waitUntilObjectNotExists:p0$};t0$=class t0$ extends ZY{};n0$.createAggregatedClient(K94,t0$,{paginators:H94,waiters:F94})});var s0$=L(()=>{pp0();np0();op0();rp0();ep0();Zn0();Qn0();yJ0();Xn0();Gn0();Kn0();Fn0();Nn0();Dn0();On0();jn0();Pn0();An0();qn0();Mn0();In0();Cn0();_n0();vn0();yn0();xn0();hn0();ln0();mn0();in0();nn0();on0();rn0();en0();Zt0();Yt0();Jt0();Wt0();Ht0();Ut0();Bt0();Lt0();wt0();Et0();zt0();Tt0();Rt0();Vt0();kt0();St0();vt0();xt0();ft0();gt0();ut0();ct0();dt0();pt0();tt0();Ba();Da();st0();at0();$o0();Qo0();Z30();Q30();Xo0();Ko0();Go0();Y30();X30();Fo0();No0();Do0();Oo0();jo0();Po0();Ao0();qo0();Mo0();Io0();Co0();_o0();bo0();fo0();go0();uo0();co0();do0();po0();to0();oo0();ro0();eo0();Zs0();Qs0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Es0();zs0()});var r0$=()=>{};var a0$=L(()=>{r0$();As0();Ts0();qs0();Rs0()});var e0$=L(()=>{Ms0();Vs0();Is0();ks0()});var $1$;var Z1$=L(()=>{$1$={CRC32:"CRC32",CRC32C:"CRC32C",CRC64NVME:"CRC64NVME",MD5:"MD5",SHA1:"SHA1",SHA256:"SHA256",SHA512:"SHA512",XXHASH128:"XXHASH128",XXHASH3:"XXHASH3",XXHASH64:"XXHASH64"}});var Q1$=()=>{};var Y1$=()=>{};var za=L(()=>{SA();o0$();s0$();F1();a0$();e0$();Z1$();Qd0();Q1$();Y1$()});function J1$($){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?X1$.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 X1$;var G1$=L(()=>{X1$=_(cY0(),1)});var W1$="UNSIGNED-PAYLOAD",K1$="X-Amz-Content-Sha256";class W30{signer;constructor($){let Z={service:$.signingName||$.service||"s3",uriEscapePath:$.uriEscapePath||!1,applyChecksum:$.applyChecksum||!1,...$};this.signer=new H1$.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[K1$]=W1$;let X=$.headers.host,J=$.port,G=`${$.hostname}${$.port!=null?":"+J:""}`;if(!X||X===$.hostname&&$.port!=null)$.headers.host=G}}var H1$;var Cs0=L(()=>{H1$=_(sl(),1)});var F1$,U1$,K30=async($,Z,Q={})=>{let Y,X;if(typeof $.config.endpointProvider==="function"){let N=(await F1$.getEndpointFromInstructions(Z.input,Z.constructor,$.config)).properties?.authSchemes?.[0];if(N?.name==="sigv4a")X=N?.signingRegionSet?.join(",");else X=N?.signingRegion;Y=new W30({...$.config,signingName:N?.signingName,region:async()=>X})}else Y=new W30($.config);let J=(U,N)=>async(B)=>{let{request:D}=B;if(!U1$.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,w={...Q,signingRegion:Q.signingRegion??N.signing_region??X,signingService:Q.signingService??N.signing_service};if(N.s3ExpressIdentity)O=await Y.presignWithCredentials(D,N.s3ExpressIdentity,w);else O=await Y.presign(D,w);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 J1$(F)};var N1$=L(()=>{G1$();Cs0();F1$=_(G1(),1),U1$=_(t5(),1)});var B1$=L(()=>{N1$();Cs0()});import{extname as U94}from"path";function E3($){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 ew($,Z){let Q=E3(Z);if(!Q)throw Error("Key is empty after sanitization");return`${$}/${Q}`}function D1$($,Z){if(!Z)return`${$}/`;let Q=E3(Z);return`${$}/${Q}${Q.endsWith("/")?"":"/"}`}function Pc($,Z,Q){let Y=Q.split("/").map(encodeURIComponent).join("/");return`${$}/api/${encodeURIComponent(Z)}/files/${Y}`}function Ss0($,Z){let Q=`${$}/`;if(Z.startsWith(Q))return Z.slice(Q.length);return Z}function f7($){let Z=U94($).toLowerCase();return N94[Z]??"application/octet-stream"}function H30($){let Z=$.split(";")[0].trim();if(B94.has(Z))return!0;if(Z.startsWith("text/"))return!0;return!1}var N94,B94;var cH=L(()=>{N94={".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"};B94=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 _s0{client;bucket;constructor($){this.bucket=$.bucket,this.client=new ZY({endpoint:$.endpoint,region:$.region,credentials:{accessKeyId:$.accessKeyId,secretAccessKey:$.secretAccessKey},forcePathStyle:$.forcePathStyle})}async getBytesOrPresign($,Z,Q){let Y=ew($,Z),X=await this.client.send(new SU({Bucket:this.bucket,Key:Y})),J=X.ContentLength??0,G=X.ContentType??f7(Z);if(J>Q.presignWhenLargerThan){let F=await K30(this.client,new CU({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 CU({Bucket:this.bucket,Key:Y}))).Body.transformToByteArray(),H=H30(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=ew($,Z);return(await this.client.send(new CU({Bucket:this.bucket,Key:Q}))).Body.transformToByteArray()}async put($,Z,Q,Y){let X=ew($,Z),J=Y?.contentType??f7(Z);return{etag:(await this.client.send(new j3({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=D1$($,Z?.prefix),Y=await this.client.send(new sW({Bucket:this.bucket,Prefix:Q,MaxKeys:Z?.maxKeys??1000,ContinuationToken:Z?.continuationToken,Delimiter:Z?.delimiter})),X=Y.CommonPrefixes?.map((J)=>Ss0($,J.Prefix??"")).filter(Boolean);return{objects:(Y.Contents??[]).map((J)=>({key:Ss0($,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=ew($,Z);await this.client.send(new fD({Bucket:this.bucket,Key:Q}))}async head($,Z){let Q=ew($,Z),Y=await this.client.send(new SU({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=ew($,Z);return K30(this.client,new CU({Bucket:this.bucket,Key:X}),{expiresIn:Q})}async presignedPutUrl($,Z,Q=3600,Y){let X=ew($,Z);return K30(this.client,new j3({Bucket:this.bucket,Key:X,ContentType:Y}),{expiresIn:Q})}}var L1$=L(()=>{za();B1$();cH()});function D94(){let $=B0();return!!($.s3Endpoint&&$.s3Bucket&&$.s3AccessKeyId&&$.s3SecretAccessKey)}function QJ(){if(Aa!==void 0)return Aa;if(!D94())return Aa=null,null;let $=B0();return Aa=new _s0({endpoint:$.s3Endpoint,bucket:$.s3Bucket,region:$.s3Region,accessKeyId:$.s3AccessKeyId,secretAccessKey:$.s3SecretAccessKey,forcePathStyle:$.s3ForcePathStyle}),Aa}var Aa;var $j=L(()=>{u1();L1$()});function P3($,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 L94,readdir as O94,readFile as vs0,stat as F30,unlink as w94,writeFile as j94}from"fs/promises";import{createHmac as E94}from"crypto";import{dirname as P94,join as Ta}from"path";function bs0($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return Ta(z94,Z)}function zc($,Z){return Ta(bs0($),E3(Z))}class rW{orgId;baseUrl;constructor($,Z){this.orgId=$;this.baseUrl=Z}async getBytesOrPresign($,Z){let Q=zc(this.orgId,$),Y=await F30(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 vs0(Q),G=H30(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 vs0(zc(this.orgId,$));return new Uint8Array(Z)}async put($,Z,Q){let Y=zc(this.orgId,$);return await L94(P94(Y),{recursive:!0}),await j94(Y,typeof Z==="string"?Buffer.from(Z,"utf-8"):Z),{key:$}}async list($){let Z=$?.prefix?Ta(bs0(this.orgId),E3($.prefix)):bs0(this.orgId),Q;try{Q=await O94(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 F30(Ta(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 F30(Ta(Z,W.name));return{key:X?`${X}/${W.name}`:W.name,size:K.size,lastModified:K.mtime}})),isTruncated:J.length>Y}}async delete($){await w94(zc(this.orgId,$))}async head($){let Z=await F30(zc(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=zc(this.orgId,$),X=await vs0(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=E3($),Y=Math.floor(Date.now()/1000)+Z,X=B0().encryptionKey||"dev-secret",J=`${this.orgId}:${Q}:${Y}:PUT`,G=E94("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 z94="./data/assets";var Ac=L(()=>{cH();u1()});function aW($){return A94.test($)&&$!=="."&&$!==".."}function y7($){if(!aW($))throw Error(`Invalid org-fs volume name: ${JSON.stringify($)}`)}function N5($){return E3($)}function Tc($){let Z=$.lastIndexOf("/");return Z===-1?"":$.slice(0,Z)}function Zj($){let Z=Tc($);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 eW($,Z){return`${xs0}/${$}/${Z}`}function _U($){let[Z,Q="",...Y]=E3($).split("/");return Z===xs0?{volume:Q,path:Y.join("/")}:null}function U30($){return`${xs0}/${$}/`}var A94,xs0="_fs";var QY=L(()=>{cH();A94=/^[A-Za-z0-9_.-]{1,128}$/});import{createHmac as fs0,randomBytes as ys0,scrypt as T94,timingSafeEqual as O1$}from"crypto";import{promisify as q94}from"util";async function j1$($){let Z=ys0(16),Q=await w1$($,Z,R94);return`scrypt$${Z.toString("hex")}$${Q.toString("hex")}`}async function E1$($,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 w1$($,Y,X.length)}catch{return!1}return X.length===J.length&&O1$(X,J)}function P1$(){return ys0(16).toString("hex")}function z1$(){if(N30)return N30;let $;try{let Z=B0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return N30=$?Buffer.from($):ys0(32),N30}function A1$($){let Z=Buffer.from(JSON.stringify($)).toString("base64url"),Q=fs0("sha256",z1$()).update(Z).digest("base64url");return`${Z}.${Q}`}function T1$($,Z){let Q=$.indexOf(".");if(Q<0)return null;let Y=$.slice(0,Q),X=Buffer.from($.slice(Q+1)),J=Buffer.from(fs0("sha256",z1$()).update(Y).digest("base64url"));if(X.length!==J.length||!O1$(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 gs0($,Z,Q){return`fsu_${fs0("sha256","fsunlock-name").update(`${$}:${Z}:${Q}`).digest("hex").slice(0,16)}`}var R94=64,w1$,N30=null;var hs0=L(()=>{u1();w1$=q94(T94)});import{createHash as M94}from"crypto";function S94($){if(typeof $!=="object"||$===null)return!1;let Z=$;return Z.name==="NoSuchKey"||Z.Code==="NoSuchKey"||Z.code==="ENOENT"||Z.$metadata?.httpStatusCode===404}function q1$($){return M94("sha256").update($).digest("hex")}class $K{storage;manifest;organizationId;maxFileBytes;volumeQuotaBytes;constructor($,Z,Q,Y={}){this.storage=$;this.manifest=Z;this.organizationId=Q;this.maxFileBytes=Y.maxFileBytes??k94,this.volumeQuotaBytes=Y.volumeQuotaBytes??C94}async usage($){return y7($),this.manifest.usage(this.organizationId,$)}async stat($,Z){return y7($),this.manifest.get(this.organizationId,$,N5(Z))}async listVolumeFiles($){return y7($),this.manifest.listVolumeFiles(this.organizationId,$)}async listDir($,Z){return y7($),this.manifest.listDir(this.organizationId,$,N5(Z))}async read($,Z){let Q=await this.requireFile($,Z);try{return await this.storage.getBytes(eW($,Q.path))}catch(Y){if(S94(Y))throw new YJ(`No such file: ${Q.path}`);throw Y}}async setShareMode($,Z,Q,Y){y7($);let X=N5(Z),J=await this.manifest.get(this.organizationId,$,X);if(!J)throw new YJ(`No such path: ${X}`);let G=null,W=null;if(Q==="password"){if(!Y.password)throw new z3("A password is required to set password mode");G=await j1$(Y.password),W=P1$()}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 YJ(`No such path: ${J.path}`);return K}async setReadPublic($,Z,Q,Y){return this.setShareMode($,Z,Q?"public":"private",{actor:Y.actor})}async resolveReadAccess($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return{access:"private"};let X=await this.manifest.resolveGoverningShare({organizationId:this.organizationId,volume:$,candidatePaths:[Q,...Zj(Q)]});if(!X)return{access:"private"};if(!X.passwordHash)return{access:"public"};return{access:"password",govPath:X.path,secret:X.secret??"",passwordHash:X.passwordHash}}async isPubliclyReadable($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return!1;if(Y.readPublic)return!0;return this.manifest.hasPublicAncestorDir(this.organizationId,$,Zj(Q))}async inheritsPublic($,Z){return y7($),this.manifest.hasPublicAncestorDir(this.organizationId,$,Zj(N5(Z)))}async childrenInheritPublic($,Z){y7($);let Q=N5(Z);if(Q==="")return!1;return this.manifest.hasPublicAncestorDir(this.organizationId,$,[...Zj(Q),Q])}async recentWithEffectivePublic($){return this.withEffectivePublic(await this.recent($))}async searchWithEffectivePublic($,Z,Q,Y,X){return this.withEffectivePublic(await this.manifest.searchFiles({organizationId:this.organizationId,query:$,limit:Z,volumes:Q,pathPrefix:Y?N5(Y):void 0,beforeSeq:X}))}async withEffectivePublic($){let Z=new Map;for(let Y of $){let X=Z.get(Y.volume);if(!X)X=new Set,Z.set(Y.volume,X);for(let J of Zj(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&&Zj(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(eW($,Y.path),Q)}async write($,Z,Q,Y){y7($);let X=N5(Z);if(X==="")throw new z3("Cannot write to the volume root");let J=typeof Q==="string"?new TextEncoder().encode(Q):Q;if(J.byteLength>this.maxFileBytes)throw new vA(`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 z3(`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 qc(`${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 vA(`Write would exceed the volume quota of ${this.volumeQuotaBytes} bytes`)}await this.ensureDirs($,X,Y.actor),await this.storage.put(eW($,X),J,{contentType:Y.contentType??f7(X)});try{return await L8(()=>this.manifest.putFile({organizationId:this.organizationId,volume:$,path:X,parent:Tc(X),contentHash:q1$(J),size:J.byteLength,actor:Y.actor,threadId:Y.threadId??null}))}catch(K){throw console.error("org-fs manifest write lost after object put",{organizationId:this.organizationId,volume:$,path:X,size:J.byteLength,error:K instanceof Error?K.message:String(K)}),K}}async mkdir($,Z,Q){y7($);let Y=N5(Z);if(Y==="")return;if((await this.manifest.get(this.organizationId,$,Y))?.kind==="file")throw new z3(`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:Tc(Y),actor:Q.actor})}async delete($,Z,Q){y7($);let Y=N5(Z);if(Y==="")throw new z3("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(eW($,G.path)))),await this.manifest.tombstoneSubtree(this.organizationId,$,Y,Q.actor);return}await this.storage.delete(eW($,Y)),await this.manifest.tombstone(this.organizationId,$,Y,Q.actor)}async move($,Z,Q,Y){y7($);let X=N5(Z),J=N5(Q);if(X===""||J==="")throw new z3("Cannot move the volume root");if(J===X||J.startsWith(`${X}/`))throw new z3(`Cannot move ${X} onto itself or into its own subtree`);let G=await this.manifest.get(this.organizationId,$,X);if(!G)throw new YJ(`No such path: ${X}`);if(G.kind==="file"){let H=await this.storage.getBytes(eW($,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(eW($,H.path));await this.write($,`${J}/${F}`,U,{...Y,skipVolumeQuota:!0})}for(let H of K){let F=H.path.slice(X.length+1);await this.mkdir($,`${J}/${F}`,Y)}await this.delete($,X,Y)}async filesExist($,Z){y7($);let Q=await this.manifest.liveFilePaths({organizationId:this.organizationId,volume:$,paths:Z.map((Y)=>N5(Y))});return new Set(Q)}async recent($){return this.manifest.recentFiles({organizationId:this.organizationId,limit:$})}async changes($,Z,Q=V94){y7($);let Y=Z||"0";if(!/^\d+$/.test(Y))throw new z3(`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=U30($),Y,X=0;do{let J=await this.storage.list({prefix:Q,maxKeys:I94,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:Tc(W),contentHash:q1$(K),size:K.byteLength,actor:Z.actor}),X++}Y=J.isTruncated?J.nextContinuationToken:void 0}while(Y);return X}async requireFile($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")throw new YJ(`No such file: ${Q}`);return Y}async ensureDirs($,Z,Q){for(let Y of Zj(Z))await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:Tc(Y),actor:Q})}}var V94=500,I94=1000,k94=524288000,C94=10737418240,vA,z3,qc,YJ;var vU=L(()=>{n$();cH();QY();hs0();vA=class vA extends Error{constructor($){super($);this.name="OrgFsQuotaError"}};z3=class z3 extends Error{constructor($){super($);this.name="OrgFsValidationError"}};qc=class qc extends Error{constructor($){super($);this.name="OrgFsConflictError"}};YJ=class YJ extends Error{constructor($){super($);this.name="OrgFsNotFoundError"}}});import{existsSync as _94}from"fs";import{join as M1$}from"path";import{z as bU}from"zod";function ZK($){return $.startsWith(V1$)}function Qj($){return`${V1$}${$}`}function f94($){let Z=new Map(I1$.map((Q)=>[Q.set,Q]));if($)try{for(let Q of x94.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 QK(){let $=B0(),Z=f94($.orgFsPublicSetsJson);if($.nodeEnv==="production")return Z;return Z.map((Q)=>Q===I1$[0]&&_94(M1$(R1$,Q.paths[0].from))?{...Q,dir:R1$}:Q)}function Ra($){let Z=QJ(),Q=Z?P3(Z,qa):new rW(qa,$.baseUrl);return new $K(Q,$.storage.orgFsEntries,qa)}var qa="org_orgfs_public_skills",V1$="public-",v94,b94,I1$,x94,R1$;var Yj=L(()=>{u1();$j();Ac();vU();v94=bU.object({from:bU.string(),to:bU.string().optional()}),b94=bU.object({set:bU.string().regex(/^[a-z0-9][a-z0-9-]{0,40}$/),repo:bU.string().regex(/^[\w.-]+\/[\w.-]+$/),ref:bU.string().min(1),paths:bU.array(v94).min(1),dir:bU.string().optional()}),I1$=[{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"}]}],x94=bU.array(b94).refine(($)=>new Set($.map((Z)=>Z.set)).size===$.length,{message:"duplicate set names"});R1$=M1$(import.meta.dir,"../../../..")});function yD($){if(typeof $==="string")return $.length>0?[$]:[];if(Array.isArray($))return $.flatMap(yD);if($!==null&&typeof $==="object")return Object.values($).flatMap(yD);return[]}var y0;var S5=L(()=>{y0=class y0 extends Error{provider;status;retryAfterMs;constructor($){super($.message,{cause:$.cause});this.name="GitProviderError",this.provider=$.provider,this.status=$.status,this.retryAfterMs=$.retryAfterMs??null}get isRateLimited(){return this.status===429||this.retryAfterMs!==null}get isAuthFailure(){return this.status===401||this.status===403}}});import{sql as Xj}from"kysely";function us0($){if($===null)return null;return $ instanceof Date?$.toISOString():String($)}function mH($){return{organizationId:$.organization_id,volume:$.volume,path:$.path,parent:$.parent,kind:$.kind,contentHash:$.content_hash,size:Number($.size),seq:String($.seq),deletedAt:us0($.deleted_at),createdBy:$.created_by,createdAt:us0($.created_at)??"",updatedBy:$.updated_by,updatedAt:us0($.updated_at)??"",threadId:$.thread_id,readPublic:$.read_public,shareMode:!$.read_public?"private":$.share_password_hash?"password":"public"}}class Va{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:B30,read_public:Xj`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`,thread_id:Xj`coalesce(cast(${Q} as text), org_fs_entry.thread_id)`})).returning(dH).executeTakeFirstOrThrow();return mH(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:B30,read_public:Xj`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(dH).executeTakeFirst();return Y?mH(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(dH).orderBy("path","asc").execute()).map((X)=>mH(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(dH).execute()).map((Y)=>mH(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(dH).execute()).map((Y)=>mH(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",`${Ma(Q)}/%`).select(dH).execute()).map((X)=>mH(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",`${Ma(Q)}/%`).select(dH).execute()).map((X)=>mH(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:B30}).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:B30}).where("organization_id","=",$).where("volume","=",Z).where("deleted_at","is",null).where((X)=>X.or([X("path","=",Q),X("path","like",`${Ma(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(dH).executeTakeFirst();return Q?mH(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"),Xj`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(dH).orderBy("seq","desc").limit($.limit).execute()).map((Q)=>mH(Q))}async searchFiles($){if($.volumes&&$.volumes.length===0)return[];let Z=Ma($.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",`${Ma($.pathPrefix)}/%`);if($.beforeSeq)Q=Q.where("seq","<",Xj`cast(${$.beforeSeq} as bigint)`);return(await Q.select(dH).orderBy("seq","desc").limit($.limit).execute()).map((X)=>mH(X))}async changesSince($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("seq",">",Xj`cast(${$.sinceSeq} as bigint)`).select(dH).orderBy("seq","asc").limit($.limit).execute()).map((Q)=>mH(Q))}async latestSeq($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).select(Xj`max(seq)`.as("seq")).executeTakeFirst())?.seq??"0"}}function Ma($){return $.replace(/[\\%_]/g,"\\$&")}var dH,B30;var ls0=L(()=>{dH=["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"],B30=Xj`nextval('org_fs_entry_seq')`});import{createHash as y94}from"crypto";import{readdir as g94,readFile as h94,stat as u94}from"fs/promises";import{join as k1$}from"path";import{gunzipSync as l94}from"zlib";function ms0($,Z,Q){let Y=Z,X=Z+Q;while(Y<X&&$[Y]!==0)Y++;return new TextDecoder().decode($.subarray(Z,Y))}function m94($,Z,Q){let Y=ms0($,Z,Q).trim();return Y===""?0:Number.parseInt(Y,8)}function d94($){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=ms0(J,0,100),W=ms0(J,345,155);if(W)G=`${W}/${G}`;let K=m94(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 i94($,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 C1$($,Z){if($.length>Rc)throw Error(`tarball for ${Z} exceeds ${Rc} bytes`);let Q=d94(new Uint8Array(l94($,{maxOutputLength:c94}))),Y=new Map;for(let[X,J]of Q){let G=X.indexOf("/");if(G===-1)continue;let W=X.slice(G+1);if(W)Y.set(W,J)}return Y}function S1$($,Z,Q){if($>Z)throw Error(`tarball for ${Q} exceeds ${Z} bytes`)}async function p94($,Z){let Q=[],Y=0,X=$.getReader();try{while(!0){let{done:W,value:K}=await X.read();if(W)break;Y+=K.length,S1$(Y,Rc,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 _1$($){if($ instanceof ds0)return $.status>=500||$.status===429;if($ instanceof y0)return $.status===0||$.status>=500||$.status===429;if($ instanceof Error&&/declares .* bytes|exceeds .* bytes/.test($.message))return!1;return!0}async function n94($,Z,Q){let{url:Y,headers:X}=i94($,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 ds0(W.status,`tarball fetch failed for ${J}: HTTP ${W.status}`);let K=Number(W.headers.get("content-length")??0);if(K>Rc)throw Error(`tarball for ${J} declares ${K} bytes (cap ${Rc})`);let H=new Uint8Array(await W.arrayBuffer());return S1$(H.length,Rc,J),H};try{let W=await L8(G,{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:_1$});return C1$(W,J)}catch(W){if(W instanceof e6)throw W.cause instanceof Error?W.cause:W;throw W}}async function t94($,Z){let Q=new Map;for(let{from:Y}of Z){let X=k1$($,Y);for(let J of await g94(X,{recursive:!0})){let G=k1$(X,J);if(!(await u94(G)).isFile())continue;Q.set(Y?`${Y}/${J}`:J,new Uint8Array(await h94(G)))}}return Q}async function o94($,Z){if($.dir)return t94($.dir,$.paths);if(!Z.tarball)return n94($.repo,$.ref,Z.authToken);let Q=Z.tarball,Y=`${$.repo}@${$.ref}`,X;try{X=await L8(()=>Q(),{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:_1$})}catch(J){throw J instanceof e6&&J.cause instanceof Error?J.cause:J}if(!X)throw Error(`tarball not found for ${Y}`);return C1$(await p94(X,Y),Y)}function s94($,Z){let Q=new Map;for(let{from:Y,to:X}of Z){let J=Y===""?"":`${Y.replace(/\/+$/,"")}/`;for(let[G,W]of $){if(!G.startsWith(J))continue;let K=G.slice(J.length);if(!K)continue;let H=N5(X?`${X}/${K}`:K);if(H)Q.set(H,W)}}return Q}function r94($,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 a94($){return y94("sha256").update($).digest("hex")}function e94($){return $.manifestHash===$.hash&&$.storedPaths.has($.path)}async function $Z4($,Z){let Q=U30(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 is0($,Z){let{orgId:Q,volume:Y,source:X}=Z,J=QJ(),G=J?P3(J,Q):new rW(Q,Z.baseUrl),W=new Va($),K=new $K(G,W,Q),H=s94(await o94(X,Z),X.paths),F=new Map((await W.listVolumeFiles(Q,Y)).map((w)=>[w.path,w.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 w of F.keys()){if(H.has(w))continue;await K.delete(Y,w,{actor:cs0}),U++}let N=await W.listVolumeDirs(Q,Y);for(let w of r94(H.keys(),N.map((j)=>j.path)))await K.delete(Y,w,{actor:cs0});let B=0,D=0,O=await $Z4(G,Y);for(let[w,j]of H){if(e94({hash:a94(j),manifestHash:F.get(w),storedPaths:O,path:w})){D++;continue}await K.write(Y,w,j,{actor:cs0,contentType:f7(w),skipVolumeQuota:Z.skipVolumeQuota}),B++}return{written:B,deleted:U,unchanged:D}}async function ZZ4($,Z,Q){let Y=await is0($,{orgId:qa,baseUrl:Q.baseUrl,volume:Qj(Z.set),source:Z,skipVolumeQuota:!0});return{set:Z.set,...Y}}async function ps0($,Z,Q){try{return await ZZ4($,Z,Q)}catch(Y){return{set:Z.set,error:Y instanceof Error?Y.message:String(Y)}}}async function v1$($,Z){let Q=[];for(let Y of QK())Q.push(await ps0($,Y,Z));return Q}var cs0="system:skill-set-sync",Rc=209715200,c94=1073741824,ds0;var D30=L(()=>{n$();S5();ls0();Ac();$j();cH();vU();QY();Yj();ds0=class ds0 extends Error{status;constructor($,Z){super(Z);this.status=$;this.name="TarballHttpError"}}});import{DBOS as L30,SchedulerMode as QZ4}from"@dbos-inc/dbos-sdk";function b1$($){ns0=$}function XZ4(){if(!ns0)throw Error("[org-fs] public-sets sync runtime not initialized \u2014 setPublicSetsSyncRuntime() must run before the workflow fires");return ns0}async function JZ4($,Z){for(let Q of QK()){let Y=await L30.runStep(()=>{let X=XZ4();return ps0(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 x1$(){if(Ia)return;Ia=L30.registerWorkflow(JZ4,{name:"publicSetsSyncWorkflow"}),L30.registerScheduled(Ia,{name:"publicSetsSyncWorkflow",crontab:YZ4,mode:QZ4.ExactlyOncePerIntervalWhenActive})}async function f1$(){if(QK().length===0||!Ia)return;let $=new Date,Z=`public-sets-sync-boot:${$.toISOString().slice(0,13)}`;await L30.startWorkflow(Ia,{workflowID:Z})($,$)}var YZ4="4-59/10 * * * *",ns0=null,Ia=null;var y1$=L(()=>{Yj();D30()});import{createHash as g1$}from"crypto";class ts0{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:g1$("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:g1$("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 h1$=()=>{};import{jwtVerify as GZ4,SignJWT as u1$}from"jose";import{randomBytes as WZ4}from"crypto";function l1$(){if(ka)return ka;let $=B0(),Z=$.studioJwtSecret??$.betterAuthSecret;if(Z)ka=new TextEncoder().encode(Z);else console.warn("STUDIO_JWT_SECRET not set - generating random secret (not persistent)"),ka=new Uint8Array(WZ4(32));return ka}async function c1$($,Z="5m"){let Q=l1$();return await new u1$($).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Z).sign(Q)}async function os0($){try{let Z=l1$(),{payload:Q}=await GZ4($,Z);return Q}catch{return}}async function BQ($,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 u1$({iss:"mesh",sub:$,...Z&&{email:Z}}).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Math.floor(Date.now()/1000)+Q).sign(J)}var ka=null;var iH=L(()=>{u1()});import{createCipheriv as KZ4,createDecipheriv as HZ4,createHash as FZ4,randomBytes as m1$}from"crypto";class XJ{key;constructor($){if(Buffer.from($,"base64").length===p1$)this.key=Buffer.from($,"base64");else this.key=FZ4("sha256").update($).digest()}async encrypt($){let Z=m1$(Ca),Q=KZ4(d1$,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,Ca),Y=Z.subarray(Ca,Ca+i1$),X=Z.subarray(Ca+i1$),J=HZ4(d1$,this.key,Q);J.setAuthTag(Y);let G=J.update(X);return G=Buffer.concat([G,J.final()]),G.toString("utf8")}static generateKey(){return m1$(p1$).toString("base64")}}var d1$="aes-256-gcm",Ca=16,i1$=16,p1$=32;var Jj=()=>{};function h9(){let $=B0();if($.baseUrl)return $.baseUrl;return`http://localhost:${$.port??3000}`}function n1$(){return`http://localhost:${B0().port??3000}`}function B5(){return B0().publicUrl??h9()}var H9=L(()=>{u1()});function Mc($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}import{z as UZ4}from"zod";function _a($){return bA.safeParse($).success}function va($,Z){let Q=Mc($??"").slice(0,Sa).replace(/-+$/,"");return _a(Q)?Q:Z}function ss0($,Z){if(Z<=1)return $;let Q=`-${Z}`;return`${$.slice(0,Sa-Q.length).replace(/-+$/,"")}${Q}`}var NZ4=2,Sa=64,BZ4,DZ4,bA;var Gj=L(()=>{BZ4=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,DZ4=new Set(["new","edit","settings","apps","projects","connections"]),bA=UZ4.string().min(NZ4).max(Sa).regex(BZ4,"Use lowercase letters, digits, and single hyphens between them").refine(($)=>!$.includes("--"),"Use single hyphens").refine(($)=>!DZ4.has($),"This slug is reserved")});import{z as v0}from"zod";function es0($){let Z=$?.homeTiles;if(Array.isArray(Z)&&Z.length>0)return Z;let Q=$?.homeTile;return Q?[Q]:[]}function gD($){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]=$r0.parse(X)}catch{}}return Q}function Zr0($){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=gD(G);if(Object.keys(W).length>0)X[J]=W}if(Object.keys(X).length>0)Z[Q]=X}return Z}var s1$,rs0=500,r1$=200,LZ4=200,OZ4=20,wZ4=50,jZ4=100,EZ4=20,PZ4=100,a1$=300,zZ4=100,AZ4=8192,e1$,TZ4,$$$,as0,qZ4,RZ4,Z$$,t1$,MZ4,O30,o1$,VZ4,IZ4,w30,kZ4,CZ4,$r0,Q$$,SZ4,_Z4,vZ4,bZ4,xZ4,fZ4,yZ4,Y$$,gZ4,Qr0,nY,Yr0,j30,E30;var Xr0=L(()=>{Gj();s1$=v0.object({connection_id:v0.string().describe("Connection ID"),selected_tools:v0.array(v0.string()).nullable().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).nullable().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),e1$=s1$.extend({selected_tools:v0.array(v0.string()).max(rs0).nullable().optional().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).max(rs0).nullable().optional().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).max(rs0).nullable().optional().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),TZ4=v0.object({connectionId:v0.string(),toolName:v0.string(),label:v0.string(),icon:v0.string().nullable().optional()}),$$$=v0.object({id:v0.string().describe("Stable id; used as React key and ?tab= value"),title:v0.string().describe("Tab label"),icon:v0.string().optional().describe("Optional lucide icon name"),view:v0.object({type:v0.literal("ext-app"),appId:v0.string(),args:v0.record(v0.string(),v0.unknown()).optional()})}),as0=v0.enum(["overview","reports","board","site-editor","assets","releases","hosting","e2e","analytics","cdn","automations","experiments"]),qZ4=v0.enum(["on","off"]),RZ4=v0.enum(["on","off","manual","auto"]),Z$$=v0.object({defaultMainView:v0.object({type:v0.string(),id:v0.string().optional(),toolName:v0.string().optional()}).nullable().optional(),chatDefaultOpen:v0.boolean().nullable().optional(),cmsDefaultOpen:v0.boolean().nullable().optional(),cms:RZ4.nullable().optional().describe("How this agent offers content editing. Absent means on; the retired `manual` / `auto` read as on too."),sidebarViews:v0.array(as0).max(10).nullable().optional().describe("Deprecated layout-scoped sidebar selections. Read only as a fallback when metadata.sidebarViews is absent."),tabs:v0.array($$$).max(EZ4).optional()}),t1$=v0.object({tileId:v0.string().optional(),connectionId:v0.string().optional().describe("Connection that owns the resource \u2014 the host opens a direct MCP client to this connection so the iframe can call tools by their bare names."),resourceUri:v0.string().describe("ui:// resource URI exposed by `connectionId`. Read on the home page and rendered via MCPAppRenderer."),toolName:v0.string().optional().describe("Tool name \u2014 identifies which tool's inputSchema to display when editing tile props."),toolInput:v0.record(v0.string(),v0.unknown()).optional().describe("User-configured input props passed to MCPAppRenderer when rendering the tile."),minHeight:v0.number().int().positive().optional(),maxHeight:v0.number().int().positive().optional()}),MZ4=v0.object({banner:v0.string().nullable().optional(),bannerColor:v0.string().nullable().optional(),icon:v0.string().nullable().optional(),themeColor:v0.string().nullable().optional(),pinnedViews:v0.array(TZ4).max(jZ4).nullable().optional(),layout:Z$$.nullable().optional(),homeTile:t1$.nullable().optional(),homeTiles:v0.array(t1$).max(OZ4).nullable().optional(),homePrompts:v0.array(v0.string()).max(wZ4).nullable().optional()});O30=/^[A-Za-z_][A-Za-z0-9_]*$/,o1$=v0.string().min(1).regex(O30,{message:"Env var key must start with a letter or underscore and contain only letters, digits, and underscores."}),VZ4=v0.discriminatedUnion("kind",[v0.object({key:o1$,kind:v0.literal("literal"),value:v0.string().max(AZ4)}),v0.object({key:o1$,kind:v0.literal("secret"),secretId:v0.string().min(1)})]),IZ4=v0.object({selected:v0.string().nullable().optional().describe("User-selected package manager (npm | pnpm | yarn | bun | deno). Null/absent means autodetect on next SANDBOX_START."),port:v0.string().nullable().optional().describe("User-selected dev server port as a string (allows '' / null for unset). Null/absent means autodetect."),path:v0.string().nullable().optional().describe("Optional path (relative to repo root) to the directory containing package.json. Null/absent means repo root. Forwarded as `application.packageManager.path` to the daemon config."),env:v0.array(VZ4).max(zZ4).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.")}),w30=v0.object({url:v0.string().describe("Repository URL, including its provider host"),owner:v0.string().describe("Repository owner"),name:v0.string().describe("Repository name"),installationId:v0.number().optional().describe("GitHub App installation ID. Absent when the repo was linked without a GitHub connection (public-clone mode)."),connectionId:v0.string().optional().describe("ID of the mcp-github connection used for authentication. Absent for public repos cloned without credentials."),repositoryId:v0.string().optional().describe("First-class repository (REPOSITORY_LINK) backing this binding. When set, credentials come from the repository's git provider account rather than connectionId.")}),kZ4=v0.enum(["agent-sandbox","local-api"]),CZ4={sandboxHandle:v0.string().describe("Provider-specific handle"),previewUrl:v0.string().nullable().describe("URL where the sandbox's iframe-proxied UI is served, or null when the sandbox has no dev server (blank / tool sandboxes)."),sandboxApiUrl:v0.string().nullable().optional().describe("Direct sandbox API URL for runtimes that expose one. Equal to previewUrl for local-api; null/absent for AgentSandbox, which routes control traffic through hosted Studio."),createdAt:v0.number().optional().describe("Epoch ms the entry was first written by SANDBOX_START. Used by the booting overlay to show a stable elapsed timer that survives browser reloads. Optional for backward compatibility with entries written before this field existed."),startedWith:v0.object({packageManager:v0.string().nullable().optional().describe("metadata.runtime.selected at the time of SANDBOX_START"),port:v0.string().nullable().optional().describe("metadata.runtime.port at the time of SANDBOX_START"),path:v0.string().nullable().optional().describe("metadata.runtime.path at the time of SANDBOX_START")}).optional().describe("Snapshot of metadata.runtime fields (selected/port/path) used at SANDBOX_START. The Preview tab compares the live metadata.runtime against this to decide if a restart is required to apply changes.")},$r0=v0.object(CZ4);Q$$=v0.record(v0.string().describe("userId"),v0.record(v0.string().describe("branch"),v0.partialRecord(kZ4,$r0)));SZ4=v0.object({id:v0.string().describe("Stable identifier for this knowledge file"),name:v0.string().describe("File name shown in the UI"),kind:v0.enum(["file","skill"]).optional().describe("'file' (a single document) or 'skill' (a Claude Code skill folder containing SKILL.md). Defaults to 'file'."),volume:v0.string().describe("Org filesystem (Library) volume the file lives in"),path:v0.string().describe("Path within the volume"),url:v0.string().describe("Same-origin URL to read the file (display/download)"),contentType:v0.string().nullable().optional().describe("MIME type, used to decide whether to inline the content"),size:v0.number().nullable().optional().describe("File size in bytes"),addedAt:v0.string().describe("ISO timestamp when the file was attached")}),_Z4=v0.array(SZ4).max(PZ4).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."),vZ4=v0.enum(["smart","code-review","open"]),bZ4=vZ4.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."),xZ4=v0.boolean().nullable().optional().describe("Enable Fast Preview (sandbox-less): render the draft instantly on the preview server's own page via a ?__draft pointer, with reads/writes served by the decofile API against GitHub. Requires previewServerUrl (or legacy productionUrl) to be set to take effect."),fZ4=v0.boolean().nullable().optional().describe("EXPERIMENTAL: with Fast Preview on, refresh content edits via an in-place /live/previews render (no commit, no reload) instead of a commit + re-navigation. Deco-runtime preview targets only. Requires fastPreview."),yZ4=v0.string().nullable().optional().describe("Preview server URL \u2014 the deployment the CMS preview renders against (often the live site, e.g. https://acme.com). Painted in the preview iframe, and the render target for Fast Preview drafts. Supersedes the legacy productionUrl key."),Y$$=v0.object({branch:v0.string().describe("Git branch backing this release"),name:v0.string().describe('User-facing name, e.g. "Black Friday 2026"'),color:v0.string().describe("Dot color token shown in the version switcher"),createdBy:v0.string().optional().describe("User ID who created the release"),createdAt:v0.string().optional().describe("ISO 8601 creation timestamp")}),gZ4=v0.array(Y$$).max(a1$).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."),Qr0={instructions:v0.string().nullable().optional().describe("Instructions also used as system prompt"),subAgents:v0.array(v0.string()).max(LZ4).nullable().optional().describe("Allowlist of Virtual MCP (agent) or concrete MCP connection IDs this agent may delegate to via subtask. Concrete connections create ephemeral subagents. null/absent = all active org targets; empty array = itself only."),liveAgentId:v0.string().nullable().optional().describe("ID of the live agent this (dev) agent develops. Set only on dev agents; powers the Develop/Live toggle. A dev agent is hidden from the sidebar (reached via the toggle on its live counterpart)."),ui:MZ4.nullable().optional().describe("UI customization settings"),sidebarViews:v0.array(as0).max(10).nullable().optional().describe("Project views selected for the sidebar. Interpret as an exact list when sidebarViewsVersion is 1; unversioned values use legacy native-only semantics. Runtime presence gates still apply."),sidebarViewsVersion:v0.literal(1).optional().describe("Version 1 marks metadata.sidebarViews as an exact list that can disable legacy default rows."),repository:w30.nullable().optional().describe("Linked repository"),runtime:IZ4.nullable().optional().describe("User-pinned runtime config (package manager, dev port). Empty fields = autodetect."),knowledge:_Z4,siteSlug:v0.string().nullable().optional().describe("The project's site id (asset tenancy, CDN paths, site tokens). Set once when the site is created or imported; any write that would change it is refused."),publishPolicy:bZ4,previewServerUrl:yZ4,productionUrl:v0.string().nullable().optional().describe("Legacy key for previewServerUrl \u2014 still read as a fallback. New writes use previewServerUrl."),fieldDescriptionTooltips:v0.boolean().nullable().optional().describe("Blocks form: opt in to showing a field's schema description as a hover tooltip on its title, instead of the default inline text below the title."),fastPreview:xZ4,releases:gZ4,fastPreviewInPlace:fZ4},nY=v0.object({id:v0.string().describe("Unique identifier"),title:v0.string().describe("Human-readable name"),url_slug:v0.string().nullable().optional().describe("Name of the project in Studio URLs, unique in the organization"),description:v0.string().nullable().describe("Description"),icon:v0.string().nullable().describe("Icon URL"),created_at:v0.string().describe("Creation timestamp"),updated_at:v0.string().describe("Last update timestamp"),created_by:v0.string().describe("User ID who created this item"),updated_by:v0.string().optional().describe("User ID who last updated this item"),organization_id:v0.string().describe("Organization ID this item belongs to"),status:v0.enum(["active","inactive"]).describe("Current status"),pinned:v0.boolean().describe("Whether this space is pinned to the sidebar"),metadata:v0.object(Qr0).extend({instructions:v0.string().nullable().describe("Instructions also used as system prompt"),sandboxMap:Q$$.optional().describe("Per-user, per-branch sandbox mapping: sandboxMap[userId][branch] -> { sandboxHandle, previewUrl }")}).loose().describe("Metadata"),connections:v0.array(s1$).describe("Connections with their selected tools, resources, and prompts")}),Yr0=v0.object({title:v0.string().min(1).max(120).describe("Short label shown on the chip"),description:v0.string().max(280).optional().describe("One-line subtitle shown under the title"),text:v0.string().min(1).max(4000).describe("The message sent to the agent when the prompt is clicked")}),j30=v0.object({title:v0.string().min(1).max(255).describe("Name for the virtual MCP"),description:v0.string().max(500).nullable().optional().describe("Optional description"),icon:v0.string().nullish().describe("Optional icon URL"),status:v0.enum(["active","inactive"]).optional().default("active").describe("Initial status"),pinned:v0.boolean().optional().default(!1).describe("Pin to sidebar"),metadata:v0.object(Qr0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(e1$).max(r1$).describe("Connections to include/exclude (can be empty for exclusion mode)"),prompts:v0.array(Yr0).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.")}),E30=v0.object({title:v0.string().min(1).max(255).optional().describe("New name"),url_slug:bA.nullish().describe("New URL slug. The old one keeps redirecting. Renaming does not change it. null keeps the current slug."),description:v0.string().max(500).nullable().optional().describe("New description (null to clear)"),icon:v0.string().nullish().describe("New icon URL"),status:v0.enum(["active","inactive"]).optional().describe("New status"),pinned:v0.boolean().optional().describe("Pin/unpin from sidebar"),metadata:v0.object(Qr0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(e1$).max(r1$).optional().describe("New connections (replaces existing)"),prompts:v0.array(Yr0).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 J$$($){return $==="repository"||$==="additionalRepositories"?Gr0[$]:$}function G$$($){return $!==null&&typeof $==="object"&&!Array.isArray($)?$:null}function X$$($){let Z=G$$($),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=w30.safeParse(Q?{...Z,url:Q}:$);if(!Y.success)return null;try{return Jr0(Y.data)??null}catch{return null}}function pH($){let Z=G$$($);if(!Z)return null;let Q={...Z};for(let[Y,X]of Object.entries(Gr0)){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=X$$(J);else Q.additionalRepositories=J===null?null:Array.isArray(J)?J.map(X$$).filter((G)=>G!==null):[]}return Q}function Jr0($){if($===null||$===void 0)return $;let Z=w30.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 xU($){if(!$)return null;let Z={...$};for(let[Q,Y]of Object.entries(Gr0)){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]=Jr0(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)=>Jr0(J))}}return Z}var Gr0;var ba=L(()=>{Xr0();Gr0={repository:"githubRepo",additionalRepositories:"githubRepos"}});import*as g from"zod/v4";function A$$($){if($.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${$.params.ref.type}`)}function T$$($){if($.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${$.params.ref.type}`)}var Wj="2025-11-25",W$$="2025-03-26",Kj,Hj="io.modelcontextprotocol/related-task",z30="2.0",g7,K$$,H$$,Hg5,hZ4,uZ4,Wr0,A3,xa,F$$=($)=>xa.safeParse($).success,YY,YK,XK,XY,A30,U$$,fU=($)=>U$$.safeParse($).success,N$$,B$$=($)=>N$$.safeParse($).success,Kr0,nH=($)=>Kr0.safeParse($).success,l1,Hr0,Ic=($)=>Hr0.safeParse($).success,T3,Fg5,hD,lZ4,T30,cZ4,fa,Vc,D$$,mZ4,dZ4,iZ4,pZ4,nZ4,tZ4,q30,Fr0=($)=>q30.safeParse($).success,oZ4,Ur0,R30,L$$=($)=>R30.safeParse($).success,M30,sZ4,rZ4,V30,aZ4,ya,ga,eZ4,ha,uD,$74,ua,I30,k30,C30,Ug5,S30,_30,v30,O$$,w$$,j$$,Nr0,E$$,la,kc,P$$,Z74,Fj,Br0,Uj,Dr0,Lr0,Q74,Cc,Or0,wr0,Y74,X74,J74,G74,W74,K74,H74,F74,Nj,jr0,U74,Sc,Er0,Pr0,zr0,N74,B74,D74,Ar0,L74,Tr0,qr0,O74,w74,b30,_c,ca,yU,Ng5,j74,Bj,Rr0,z$$,ma,E74,Mr0,P74,z74,A74,T74,q74,R74,M74,P30,V74,I74,Vr0,xA,da,k74,C74,S74,_74,v74,b74,x74,f74,y74,g74,h74,u74,l74,c74,m74,Ir0,d74,i74,Dj,p74,n74,t74,x30,kr0,o74,s74,Cr0,r74,Bg5,Dg5,Lg5,Og5,wg5,jg5,x1,q$$;var VZ=L(()=>{Kj=[Wj,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],g7=g.custom(($)=>$!==null&&(typeof $==="object"||typeof $==="function")),K$$=g.union([g.string(),g.number().int()]),H$$=g.string(),Hg5=g.looseObject({ttl:g.number().optional(),pollInterval:g.number().optional()}),hZ4=g.object({ttl:g.number().optional()}),uZ4=g.object({taskId:g.string()}),Wr0=g.looseObject({progressToken:K$$.optional(),[Hj]:uZ4.optional()}),A3=g.object({_meta:Wr0.optional()}),xa=A3.extend({task:hZ4.optional()}),YY=g.object({method:g.string(),params:A3.loose().optional()}),YK=g.object({_meta:Wr0.optional()}),XK=g.object({method:g.string(),params:YK.loose().optional()}),XY=g.looseObject({_meta:Wr0.optional()}),A30=g.union([g.string(),g.number().int()]),U$$=g.object({jsonrpc:g.literal(z30),id:A30,...YY.shape}).strict(),N$$=g.object({jsonrpc:g.literal(z30),...XK.shape}).strict(),Kr0=g.object({jsonrpc:g.literal(z30),id:A30,result:XY}).strict();(function($){$[$.ConnectionClosed=-32000]="ConnectionClosed",$[$.RequestTimeout=-32001]="RequestTimeout",$[$.ParseError=-32700]="ParseError",$[$.InvalidRequest=-32600]="InvalidRequest",$[$.MethodNotFound=-32601]="MethodNotFound",$[$.InvalidParams=-32602]="InvalidParams",$[$.InternalError=-32603]="InternalError",$[$.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(l1||(l1={}));Hr0=g.object({jsonrpc:g.literal(z30),id:A30.optional(),error:g.object({code:g.number().int(),message:g.string(),data:g.unknown().optional()})}).strict(),T3=g.union([U$$,N$$,Kr0,Hr0]),Fg5=g.union([Kr0,Hr0]),hD=XY.strict(),lZ4=YK.extend({requestId:A30.optional(),reason:g.string().optional()}),T30=XK.extend({method:g.literal("notifications/cancelled"),params:lZ4}),cZ4=g.object({src:g.string(),mimeType:g.string().optional(),sizes:g.array(g.string()).optional(),theme:g.enum(["light","dark"]).optional()}),fa=g.object({icons:g.array(cZ4).optional()}),Vc=g.object({name:g.string(),title:g.string().optional()}),D$$=Vc.extend({...Vc.shape,...fa.shape,version:g.string(),websiteUrl:g.string().optional(),description:g.string().optional()}),mZ4=g.intersection(g.object({applyDefaults:g.boolean().optional()}),g.record(g.string(),g.unknown())),dZ4=g.preprocess(($)=>{if($&&typeof $==="object"&&!Array.isArray($)){if(Object.keys($).length===0)return{form:{}}}return $},g.intersection(g.object({form:mZ4.optional(),url:g7.optional()}),g.record(g.string(),g.unknown()).optional())),iZ4=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({sampling:g.looseObject({createMessage:g7.optional()}).optional(),elicitation:g.looseObject({create:g7.optional()}).optional()}).optional()}),pZ4=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({tools:g.looseObject({call:g7.optional()}).optional()}).optional()}),nZ4=g.object({experimental:g.record(g.string(),g7).optional(),sampling:g.object({context:g7.optional(),tools:g7.optional()}).optional(),elicitation:dZ4.optional(),roots:g.object({listChanged:g.boolean().optional()}).optional(),tasks:iZ4.optional(),extensions:g.record(g.string(),g7).optional()}),tZ4=A3.extend({protocolVersion:g.string(),capabilities:nZ4,clientInfo:D$$}),q30=YY.extend({method:g.literal("initialize"),params:tZ4}),oZ4=g.object({experimental:g.record(g.string(),g7).optional(),logging:g7.optional(),completions:g7.optional(),prompts:g.object({listChanged:g.boolean().optional()}).optional(),resources:g.object({subscribe:g.boolean().optional(),listChanged:g.boolean().optional()}).optional(),tools:g.object({listChanged:g.boolean().optional()}).optional(),tasks:pZ4.optional(),extensions:g.record(g.string(),g7).optional()}),Ur0=XY.extend({protocolVersion:g.string(),capabilities:oZ4,serverInfo:D$$,instructions:g.string().optional()}),R30=XK.extend({method:g.literal("notifications/initialized"),params:YK.optional()}),M30=YY.extend({method:g.literal("ping"),params:A3.optional()}),sZ4=g.object({progress:g.number(),total:g.optional(g.number()),message:g.optional(g.string())}),rZ4=g.object({...YK.shape,...sZ4.shape,progressToken:K$$}),V30=XK.extend({method:g.literal("notifications/progress"),params:rZ4}),aZ4=A3.extend({cursor:H$$.optional()}),ya=YY.extend({params:aZ4.optional()}),ga=XY.extend({nextCursor:H$$.optional()}),eZ4=g.enum(["working","input_required","completed","failed","cancelled"]),ha=g.object({taskId:g.string(),status:eZ4,ttl:g.union([g.number(),g.null()]),createdAt:g.string(),lastUpdatedAt:g.string(),pollInterval:g.optional(g.number()),statusMessage:g.optional(g.string())}),uD=XY.extend({task:ha}),$74=YK.merge(ha),ua=XK.extend({method:g.literal("notifications/tasks/status"),params:$74}),I30=YY.extend({method:g.literal("tasks/get"),params:A3.extend({taskId:g.string()})}),k30=XY.merge(ha),C30=YY.extend({method:g.literal("tasks/result"),params:A3.extend({taskId:g.string()})}),Ug5=XY.loose(),S30=ya.extend({method:g.literal("tasks/list")}),_30=ga.extend({tasks:g.array(ha)}),v30=YY.extend({method:g.literal("tasks/cancel"),params:A3.extend({taskId:g.string()})}),O$$=XY.merge(ha),w$$=g.object({uri:g.string(),mimeType:g.optional(g.string()),_meta:g.record(g.string(),g.unknown()).optional()}),j$$=w$$.extend({text:g.string()}),Nr0=g.string().refine(($)=>{try{return atob($),!0}catch{return!1}},{message:"Invalid Base64 string"}),E$$=w$$.extend({blob:Nr0}),la=g.enum(["user","assistant"]),kc=g.object({audience:g.array(la).optional(),priority:g.number().min(0).max(1).optional(),lastModified:g.iso.datetime({offset:!0}).optional()}),P$$=g.object({...Vc.shape,...fa.shape,uri:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),size:g.optional(g.number()),annotations:kc.optional(),_meta:g.optional(g.looseObject({}))}),Z74=g.object({...Vc.shape,...fa.shape,uriTemplate:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),annotations:kc.optional(),_meta:g.optional(g.looseObject({}))}),Fj=ya.extend({method:g.literal("resources/list")}),Br0=ga.extend({resources:g.array(P$$)}),Uj=ya.extend({method:g.literal("resources/templates/list")}),Dr0=ga.extend({resourceTemplates:g.array(Z74)}),Lr0=A3.extend({uri:g.string()}),Q74=Lr0,Cc=YY.extend({method:g.literal("resources/read"),params:Q74}),Or0=XY.extend({contents:g.array(g.union([j$$,E$$]))}),wr0=XK.extend({method:g.literal("notifications/resources/list_changed"),params:YK.optional()}),Y74=Lr0,X74=YY.extend({method:g.literal("resources/subscribe"),params:Y74}),J74=Lr0,G74=YY.extend({method:g.literal("resources/unsubscribe"),params:J74}),W74=YK.extend({uri:g.string()}),K74=XK.extend({method:g.literal("notifications/resources/updated"),params:W74}),H74=g.object({name:g.string(),description:g.optional(g.string()),required:g.optional(g.boolean())}),F74=g.object({...Vc.shape,...fa.shape,description:g.optional(g.string()),arguments:g.optional(g.array(H74)),_meta:g.optional(g.looseObject({}))}),Nj=ya.extend({method:g.literal("prompts/list")}),jr0=ga.extend({prompts:g.array(F74)}),U74=A3.extend({name:g.string(),arguments:g.record(g.string(),g.string()).optional()}),Sc=YY.extend({method:g.literal("prompts/get"),params:U74}),Er0=g.object({type:g.literal("text"),text:g.string(),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Pr0=g.object({type:g.literal("image"),data:Nr0,mimeType:g.string(),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),zr0=g.object({type:g.literal("audio"),data:Nr0,mimeType:g.string(),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),N74=g.object({type:g.literal("tool_use"),name:g.string(),id:g.string(),input:g.record(g.string(),g.unknown()),_meta:g.record(g.string(),g.unknown()).optional()}),B74=g.object({type:g.literal("resource"),resource:g.union([j$$,E$$]),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),D74=P$$.extend({type:g.literal("resource_link")}),Ar0=g.union([Er0,Pr0,zr0,D74,B74]),L74=g.object({role:la,content:Ar0}),Tr0=XY.extend({description:g.string().optional(),messages:g.array(L74)}),qr0=XK.extend({method:g.literal("notifications/prompts/list_changed"),params:YK.optional()}),O74=g.object({title:g.string().optional(),readOnlyHint:g.boolean().optional(),destructiveHint:g.boolean().optional(),idempotentHint:g.boolean().optional(),openWorldHint:g.boolean().optional()}),w74=g.object({taskSupport:g.enum(["required","optional","forbidden"]).optional()}),b30=g.object({...Vc.shape,...fa.shape,description:g.string().optional(),inputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()),outputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()).optional(),annotations:O74.optional(),execution:w74.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),_c=ya.extend({method:g.literal("tools/list")}),ca=ga.extend({tools:g.array(b30)}),yU=XY.extend({content:g.array(Ar0).default([]),structuredContent:g.record(g.string(),g.unknown()).optional(),isError:g.boolean().optional()}),Ng5=yU.or(XY.extend({toolResult:g.unknown()})),j74=xa.extend({name:g.string(),arguments:g.record(g.string(),g.unknown()).optional()}),Bj=YY.extend({method:g.literal("tools/call"),params:j74}),Rr0=XK.extend({method:g.literal("notifications/tools/list_changed"),params:YK.optional()}),z$$=g.object({autoRefresh:g.boolean().default(!0),debounceMs:g.number().int().nonnegative().default(300)}),ma=g.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),E74=A3.extend({level:ma}),Mr0=YY.extend({method:g.literal("logging/setLevel"),params:E74}),P74=YK.extend({level:ma,logger:g.string().optional(),data:g.unknown()}),z74=XK.extend({method:g.literal("notifications/message"),params:P74}),A74=g.object({name:g.string().optional()}),T74=g.object({hints:g.array(A74).optional(),costPriority:g.number().min(0).max(1).optional(),speedPriority:g.number().min(0).max(1).optional(),intelligencePriority:g.number().min(0).max(1).optional()}),q74=g.object({mode:g.enum(["auto","required","none"]).optional()}),R74=g.object({type:g.literal("tool_result"),toolUseId:g.string().describe("The unique identifier for the corresponding tool call."),content:g.array(Ar0).default([]),structuredContent:g.object({}).loose().optional(),isError:g.boolean().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),M74=g.discriminatedUnion("type",[Er0,Pr0,zr0]),P30=g.discriminatedUnion("type",[Er0,Pr0,zr0,N74,R74]),V74=g.object({role:la,content:g.union([P30,g.array(P30)]),_meta:g.record(g.string(),g.unknown()).optional()}),I74=xa.extend({messages:g.array(V74),modelPreferences:T74.optional(),systemPrompt:g.string().optional(),includeContext:g.enum(["none","thisServer","allServers"]).optional(),temperature:g.number().optional(),maxTokens:g.number().int(),stopSequences:g.array(g.string()).optional(),metadata:g7.optional(),tools:g.array(b30).optional(),toolChoice:q74.optional()}),Vr0=YY.extend({method:g.literal("sampling/createMessage"),params:I74}),xA=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens"]).or(g.string())),role:la,content:M74}),da=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(g.string())),role:la,content:g.union([P30,g.array(P30)])}),k74=g.object({type:g.literal("boolean"),title:g.string().optional(),description:g.string().optional(),default:g.boolean().optional()}),C74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),minLength:g.number().optional(),maxLength:g.number().optional(),format:g.enum(["email","uri","date","date-time"]).optional(),default:g.string().optional()}),S74=g.object({type:g.enum(["number","integer"]),title:g.string().optional(),description:g.string().optional(),minimum:g.number().optional(),maximum:g.number().optional(),default:g.number().optional()}),_74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),default:g.string().optional()}),v74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),oneOf:g.array(g.object({const:g.string(),title:g.string()})),default:g.string().optional()}),b74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),enumNames:g.array(g.string()).optional(),default:g.string().optional()}),x74=g.union([_74,v74]),f74=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({type:g.literal("string"),enum:g.array(g.string())}),default:g.array(g.string()).optional()}),y74=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({anyOf:g.array(g.object({const:g.string(),title:g.string()}))}),default:g.array(g.string()).optional()}),g74=g.union([f74,y74]),h74=g.union([b74,x74,g74]),u74=g.union([h74,k74,C74,S74]),l74=xa.extend({mode:g.literal("form").optional(),message:g.string(),requestedSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),u74),required:g.array(g.string()).optional()})}),c74=xa.extend({mode:g.literal("url"),message:g.string(),elicitationId:g.string(),url:g.string().url()}),m74=g.union([l74,c74]),Ir0=YY.extend({method:g.literal("elicitation/create"),params:m74}),d74=YK.extend({elicitationId:g.string()}),i74=XK.extend({method:g.literal("notifications/elicitation/complete"),params:d74}),Dj=XY.extend({action:g.enum(["accept","decline","cancel"]),content:g.preprocess(($)=>$===null?void 0:$,g.record(g.string(),g.union([g.string(),g.number(),g.boolean(),g.array(g.string())])).optional())}),p74=g.object({type:g.literal("ref/resource"),uri:g.string()}),n74=g.object({type:g.literal("ref/prompt"),name:g.string()}),t74=A3.extend({ref:g.union([n74,p74]),argument:g.object({name:g.string(),value:g.string()}),context:g.object({arguments:g.record(g.string(),g.string()).optional()}).optional()}),x30=YY.extend({method:g.literal("completion/complete"),params:t74});kr0=XY.extend({completion:g.looseObject({values:g.array(g.string()).max(100),total:g.optional(g.number().int()),hasMore:g.optional(g.boolean())})}),o74=g.object({uri:g.string().startsWith("file://"),name:g.string().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),s74=YY.extend({method:g.literal("roots/list"),params:A3.optional()}),Cr0=XY.extend({roots:g.array(o74)}),r74=XK.extend({method:g.literal("notifications/roots/list_changed"),params:YK.optional()}),Bg5=g.union([M30,q30,x30,Mr0,Sc,Nj,Fj,Uj,Cc,X74,G74,Bj,_c,I30,C30,S30,v30]),Dg5=g.union([T30,V30,R30,r74,ua]),Lg5=g.union([hD,xA,da,Dj,Cr0,k30,_30,uD]),Og5=g.union([M30,Vr0,Ir0,s74,I30,C30,S30,v30]),wg5=g.union([T30,V30,z74,K74,wr0,Rr0,qr0,ua,i74]),jg5=g.union([hD,Ur0,kr0,Tr0,jr0,Br0,Dr0,Or0,yU,ca,k30,_30,uD]);x1=class x1 extends Error{constructor($,Z,Q){super(`MCP error ${$}: ${Z}`);this.code=$,this.data=Q,this.name="McpError"}static fromError($,Z,Q){if($===l1.UrlElicitationRequired&&Q){let Y=Q;if(Y.elicitations)return new q$$(Y.elicitations,Z)}return new x1($,Z,Q)}};q$$=class q$$ extends x1{constructor($,Z=`URL elicitation${$.length>1?"s":""} required`){super(l1.UrlElicitationRequired,Z,{elicitations:$})}get elicitations(){return this.data?.elicitations??[]}}});import{z as e$}from"zod";function V$$($){return e$.record(e$.string(),e$.unknown()).nullable().refine((Z)=>Z===null||JSON.stringify(Z).length<=M$$,{message:`${$} must serialize to at most ${M$$} bytes`})}function gU($){return $!==null&&$!==void 0&&"command"in $}function vc($){if(!$||!$.startsWith("virtual://"))return null;return $.replace("virtual://","")}function bc($){return`virtual://${$}`}var I$$,R$$,a74,e74,$Q4,M$$=262144,tY,f30,y30;var k$$=L(()=>{Gj();VZ();I$$=e$.object({authorizationEndpoint:e$.string().url(),tokenEndpoint:e$.string().url(),introspectionEndpoint:e$.string().url().optional(),clientId:e$.string(),clientSecret:e$.string().optional(),scopes:e$.array(e$.string()),grantType:e$.enum(["authorization_code","client_credentials"])}),R$$=e$.object({type:e$.literal("object"),properties:e$.record(e$.string(),e$.unknown()).optional(),required:e$.array(e$.string()).optional()}).catchall(e$.unknown()),a74=b30.extend({inputSchema:R$$,outputSchema:R$$.optional()}),e74=e$.object({headers:e$.record(e$.string(),e$.string()).optional()}),$Q4=e$.object({command:e$.string().describe("Command to run (e.g., 'npx', 'node')"),args:e$.array(e$.string()).optional().describe("Command arguments"),cwd:e$.string().optional().describe("Working directory"),envVars:e$.record(e$.string(),e$.string()).optional().describe("Environment variables (encrypted in storage)")});tY=e$.object({id:e$.string().describe("Unique identifier for the connection"),title:e$.string().describe("Human-readable name for the connection"),created_at:e$.string().describe("When the connection was created"),updated_at:e$.string().describe("When the connection was last updated"),created_by:e$.string().describe("User ID who created the connection"),updated_by:e$.string().optional().describe("User ID who last updated the connection"),organization_id:e$.string().describe("Organization ID this connection belongs to"),description:e$.string().nullable().describe("Description of the connection"),icon:e$.string().nullable().describe("Icon URL for the connection"),app_name:e$.string().nullable().describe("Associated app name"),app_id:e$.string().nullable().describe("Associated app ID"),slug:e$.string().nullable().optional().describe("URL-safe slug derived from app_name, connection_url, or title"),url_slug:e$.string().nullable().optional().describe("Name of the connection in Studio URLs, unique in the organization. Set it to rename the URL; the old one keeps redirecting."),connection_type:e$.enum(["HTTP","SSE","Websocket","STDIO","VIRTUAL"]).describe("Type of connection"),connection_url:e$.string().nullable().describe("URL for HTTP/SSE/WebSocket connections. virtual://$id for VIRTUAL. Null for STDIO."),connection_token:e$.string().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:e$.union([$Q4,e74]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:I$$.nullable().describe("OAuth configuration"),configuration_state:V$$("configuration_state").describe("Configuration state (decrypted)"),configuration_scopes:e$.array(e$.string()).nullable().optional().describe("Configuration scopes"),metadata:V$$("metadata").describe("Additional metadata (includes repository info)"),tools:e$.array(a74).nullable().describe("Discovered tools from MCP"),bindings:e$.array(e$.string()).nullable().describe("Detected bindings"),status:e$.enum(["active","inactive","error"]).describe("Current status")}),f30=tY.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0}).extend({icon:e$.string().nullish()}),y30=tY.partial().extend({url_slug:bA.nullish()})});function fA($){return ZQ4.has($)}function C$$($){return QQ4.has($)}var tZ,ZQ4,QQ4,g30;var Sr0=L(()=>{tZ=["deco","anthropic","openrouter","llmapi","google","openai-compatible"],ZQ4=new Set(tZ);QQ4=new Set(["anthropic","openrouter","deco"]);g30=[...tZ,"claude-code","codex"]});function _r0($,Z){return{id:crypto.randomUUID(),type:ia.STEP,source:"decopilot",subject:$,data:{stepCount:Z},time:new Date().toISOString()}}function h30($,Z){return{id:crypto.randomUUID(),type:ia.FINISH,source:"decopilot",subject:$,data:{status:Z},time:new Date().toISOString()}}function hU($,Z,Q){return{id:crypto.randomUUID(),type:ia.THREAD_STATUS,source:"decopilot",subject:$,data:{status:Z,...Q?.messageId!==void 0&&{message_id:Q.messageId},...Q?.virtualMcpId!==void 0&&{virtual_mcp_id:Q.virtualMcpId},...Q?.createdBy!==void 0&&{created_by:Q.createdBy},...Q?.triggerId!==void 0&&{trigger_id:Q.triggerId},...Q?.title!==void 0&&{title:Q.title},...Q?.branch!==void 0&&{branch:Q.branch},...Q?.harnessId!==void 0&&{harness_id:Q.harnessId},...Q?.createdAt!==void 0&&{created_at:Q.createdAt},...Q?.updatedAt!==void 0&&{updated_at:Q.updatedAt},...Q?.metadata!==void 0&&{metadata:Q.metadata}},time:new Date().toISOString()}}var S$$,YQ4,ia,XQ4;var _$$=L(()=>{S$$=["in_progress","requires_action","failed","completed"],YQ4=[...S$$,"expired"],ia={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},XQ4=Object.values(ia)});var u30=L(()=>{k$$();Xr0();Sr0();_$$()});var uU=L(()=>{u30()});import{lookup as JQ4}from"dns/promises";function pa($,Z){if($===10)return!0;if($===172&&Z!==void 0&&Z>=16&&Z<=31)return!0;if($===192&&Z===168)return!0;if($===127)return!0;if($===169&&Z===254)return!0;if($===0)return!0;if($===100&&Z!==void 0&&Z>=64&&Z<=127)return!0;return!1}function vr0($){let Z=Number.parseInt($.padStart(4,"0"),16);return[Z>>8,Z&255]}function v$$($){let Z=$.split(":").filter((Q)=>Q.length>0);if($.startsWith("2002:")&&Z.length>=2){let[Q,Y]=vr0(Z[1]);if(pa(Q,Y))return!0}if($.startsWith("64:ff9b::")&&Z.length>=4){let[Q,Y]=vr0(Z[Z.length-2]);if(pa(Q,Y))return!0}if($.startsWith("::")&&Z.length===2){let[Q,Y]=vr0(Z[0]);if(pa(Q,Y))return!0}return!1}function l30($){try{let Q=new URL($).hostname.toLowerCase();if(Q==="localhost"||Q==="0.0.0.0"||Q.endsWith(".local")||Q.endsWith(".internal")||Q.endsWith(".localhost"))return!0;let Y=Q.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Y){let[,X,J]=Y.map(Number);if(pa(X,J))return!0}if(Q.startsWith("[")&&Q.endsWith("]")){let X=Q.slice(1,-1).toLowerCase();if(X==="::1"||X==="::")return!0;if(X.startsWith("::ffff:"))return!0;if(X.startsWith("fc")||X.startsWith("fd"))return!0;if(X.startsWith("fe80"))return!0;if(X.startsWith("100:"))return!0;if(X.startsWith("::1"))return!0;if(v$$(X))return!0}return!1}catch{return!0}}function GQ4($){let Z=$.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Z){let[,Y,X]=Z.map(Number);return pa(Y,X)}let Q=$.toLowerCase();if(Q==="::1"||Q==="::")return!0;if(Q.startsWith("::ffff:"))return!0;if(Q.startsWith("fc")||Q.startsWith("fd"))return!0;if(Q.startsWith("fe80"))return!0;if(Q.startsWith("100:"))return!0;return v$$(Q)}async function WQ4($,Z=async(Q)=>(await JQ4(Q,{all:!0})).map((Y)=>Y.address)){try{let Q=await Z($);return Q.length===0||Q.some(GQ4)}catch{return!0}}async function lD($){if(l30($))return"URLs targeting private networks are not allowed";let Q=new URL($).hostname;if(/^\d+\.\d+\.\d+\.\d+$/.test(Q)||Q.startsWith("[")&&Q.endsWith("]"))return null;try{return await br0(WQ4(Q),5000,"DNS resolution timeout")?"URLs targeting private networks are not allowed":null}catch{return"URLs targeting private networks are not allowed"}}function br0($,Z,Q){let Y,X=new Promise((J,G)=>{Y=setTimeout(()=>G(Error(Q)),Z)});return Promise.race([$,X]).finally(()=>clearTimeout(Y))}function cD($=fetch){return async(Z,Q)=>{let Y=await $(Z,{...Q,redirect:"manual"});if(Y.status>=300&&Y.status<400)throw Error("Refusing to follow a redirect from the remote server");return Y}}var xc=()=>{};var b$$="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";import{webcrypto as x$$}from"crypto";function HQ4($){if(!yA||yA.length<$)yA=Buffer.allocUnsafe($*KQ4),x$$.getRandomValues(yA),fc=0;else if(fc+$>yA.length)x$$.getRandomValues(yA),fc=0;fc+=$}function c30($=21){HQ4($|=0);let Z="";for(let Q=fc-$;Q<fc;Q++)Z+=b$$[yA[Q]&63];return Z}var KQ4=128,yA,fc;var xr0=()=>{};function c8($){return`${$}_${c30()}`}var JY=L(()=>{xr0()});function y$$($,Z){return{id:s8.SELF(Z),title:"Deco CMS",description:"The MCP for the CMS API",connection_type:"HTTP",connection_url:`${$}/mcp/self`,icon:"https://assets.decocache.com/mcp/09e44283-f47d-4046-955f-816d227c626f/app.png",app_name:"@deco/management-mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"self"}}}function g$$($,Z){return{id:s8.DEV_ASSETS(Z),title:"Local Files",description:"Local file storage for development. Files are stored in /data/assets/.",connection_type:"HTTP",connection_url:`${$}/mcp/dev-assets`,icon:"https://api.iconify.design/lucide:folder.svg?color=%23888",app_name:"@deco/dev-assets-mcp",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isFixed:!0,devOnly:!0,type:"dev-assets"}}}function lU($){return{is(Z){if(!Z)return null;if(!Z.startsWith($))return null;return Z.slice($.length)||null},get(Z){return`${$}${Z}`}}}function FQ4($){return{id:$.id,organization_id:$.organizationId,title:$.title,description:$.description,icon:$.icon,status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:$.instructions??null,...$.ui?{ui:$.ui}:{}},pinned:!1,connections:[]}}function Lj($){if(!$)return!1;try{return UQ4.has(new URL($).hostname)}catch{return!1}}function yr0($){return FQ4({id:q3($),organizationId:$,title:"Super Agent",description:"Default agent that aggregates all organization connections",icon:NQ4,ui:{layout:{defaultMainView:{type:"overview"},chatDefaultOpen:!0}}})}function d$$($,Z,Q="https://reports.decocms.com/api/v2/mcp"){return{id:s8.REPORTS($),title:"Deco Score",description:"Your store's Deco Score",connection_type:"HTTP",connection_url:Q,icon:"https://github.com/decocms.png",app_name:"commerce-discovery",app_id:null,connection_token:Z,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!1,type:"commerce-discovery"}}}function i$$($,Z=s8.REPORTS($)){return{title:"Deco Score Agent",description:"Ask anything about your store's Deco Score",icon:"https://github.com/decocms.png",status:"active",pinned:!0,metadata:{type:"commerce-discovery",isDefault:!1,ui:{pinnedViews:[{connectionId:Z,toolName:"get_my_diagnostic",label:"Deco Score",icon:"https://github.com/decocms.png"}],layout:{defaultMainView:{type:"ext-apps",id:Z,toolName:"get_my_diagnostic"},chatDefaultOpen:!0}}},connections:[{connection_id:Z,selected_tools:null,selected_resources:null,selected_prompts:null}]}}function gr0($){if(!$)return!1;return Object.values(yc).some((Z)=>Z.is($)!==null)}function LQ4($){if(!$)return!1;return DQ4.some((Z)=>Z.is($)!==null)}function d30($){let Z=$.metadata?.liveAgentId;return!(typeof Z==="string"&&Z)&&!DQ($.id)&&!gr0($.id)&&!LQ4($.id)}function p$$($){let Z=yr0($);return{...Z,id:Z.id,connection_type:"VIRTUAL",connection_url:`virtual://${Z.id}`,app_name:"decopilot",app_id:"decopilot",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"decopilot"},tools:[],bindings:[]}}var s8,f$$="https://reports.decocms.com/api/v2/mcp",m30="get_my_diagnostic",h$$,DQ,q3,UQ4,u$$,l$$,fr0,NQ4="https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png",BQ4="#6366f1",dg5,c$$,ig5,pg5,m$$,ng5,gc,yc,cU,hr0,DQ4;var n$$=L(()=>{s8={SELF:($)=>`${$}_self`,REGISTRY:($)=>`${$}_registry`,COMMUNITY_REGISTRY:($)=>`${$}_community-registry`,DEV_ASSETS:($)=>`${$}_dev-assets`,SITE_DIAGNOSTICS:($)=>`site-diagnostics_${$}`,REPORTS:($)=>`${$}_commerce-discovery`};h$$=lU("decopilot_"),DQ=h$$.is,q3=h$$.get,UQ4=new Set(["mcp.figma.com"]);u$$=lU("dev_"),l$$=u$$.get,fr0=u$$.is,dg5=`https://api.iconify.design/lucide:file-search.svg?color=${encodeURIComponent(BQ4)}`;c$$=lU("site-diagnostics_"),ig5=c$$.is,pg5=c$$.get,m$$=lU("commerce-discovery_"),ng5=m$$.is,gc=m$$.get;yc={AUTOMATION_MANAGER:lU("studio-automation-manager_"),CONNECTION_MANAGER:lU("studio-connection-manager_"),API_KEY_MANAGER:lU("studio-api-key-manager_"),STORE_MANAGER:lU("studio-store-manager_"),USAGE_MANAGER:lU("studio-usage-manager_")},cU={AUTOMATION_MANAGER:yc.AUTOMATION_MANAGER.get,CONNECTION_MANAGER:yc.CONNECTION_MANAGER.get,API_KEY_MANAGER:yc.API_KEY_MANAGER.get,STORE_MANAGER:yc.STORE_MANAGER.get,USAGE_MANAGER:yc.USAGE_MANAGER.get};hr0=["studio-agent-manager_","studio-task-manager_","studio-brand-manager_"],DQ4=hr0.map(lU)});function OQ4($){return $.capabilities?.includes("decisions")===!0}function t$$($){return $.toLowerCase().replace(/[^a-z0-9]/g,"")}function TQ4($){return t$$($).includes("deepresearch")}function o$$($){let Z=t$$($);if(Z.includes("deepresearch"))return!1;return qQ4.some((Q)=>Z.includes(Q))}function RQ4($){return $.asyncResearch!==!0&&o$$($.modelId)}function MQ4($){return $.asyncResearch===!0||TQ4($.modelId)||o$$($.modelId)}function hc($,Z,Q,Y){for(let X of Q){let J=$.find((G)=>G.modelId===X);if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}for(let X of Q){let J=$.find((G)=>G.modelId.includes(X));if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}if(Y){let X=$.find(Y);if(X)return{keyId:Z,modelId:X.modelId,title:X.title}}return null}function s$$($,Z){let Q={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(let Y of $){let X=(Z[Y.id]??[]).filter((G)=>!OQ4(G)),J=Y.providerId;if(!Q.chat.fast)Q.chat.fast=hc(X,Y.id,wQ4[J]??[]);if(!Q.chat.smart)Q.chat.smart=hc(X,Y.id,jQ4[J]??[]);if(!Q.chat.thinking)Q.chat.thinking=hc(X,Y.id,EQ4[J]??[]);if(!Q.image)Q.image=hc(X,Y.id,PQ4[J]??[],(G)=>G.capabilities?.includes("image")===!0&&!G.modelId.startsWith("openrouter/auto"));if(!Q.webSearch)Q.webSearch=hc(X,Y.id,zQ4[J]??[],RQ4);if(!Q.deepResearch)Q.deepResearch=hc(X,Y.id,AQ4[J]??[],MQ4)}return Q}var wQ4,jQ4,EQ4,PQ4,zQ4,AQ4,qQ4;var r$$=L(()=>{wQ4={anthropic:["claude-haiku-4-5","claude-haiku"],openrouter:["qwen/qwen3.5-flash","anthropic/claude-haiku-4.5","anthropic/claude-haiku","google/gemini-3-flash"],deco:["qwen/qwen3.5-flash","anthropic/claude-haiku"],llmapi:["claude-haiku-4-5","claude-haiku","gpt-4o-mini"],google:["gemini-2.5-flash","gemini-3-flash"]},jQ4={anthropic:["claude-sonnet-5","claude-sonnet"],openrouter:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude-opus-4.8","google/gemini-3-pro"],deco:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude"],llmapi:["claude-sonnet-4-6","claude-sonnet"],google:["gemini-3-pro","gemini-3-flash"]},EQ4={anthropic:["claude-opus-4-8","claude-sonnet-5","claude-sonnet","claude-fable-5"],openrouter:["anthropic/claude-opus-4.8:extended","anthropic/claude-opus-4.8","anthropic/claude-sonnet-5:extended","anthropic/claude-sonnet-5","google/gemini-3-pro","anthropic/claude-fable-5"],deco:["anthropic/claude-opus","anthropic/claude-sonnet-4.6","anthropic/claude-sonnet","anthropic/claude-fable"],llmapi:["claude-opus-4-8","claude-opus","claude-sonnet-4-6"],google:["gemini-3-pro"]},PQ4={openrouter:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],deco:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],llmapi:["gemini-2.5-flash-image","gpt-image-1"],google:["gemini-2.0-flash-image"]},zQ4={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},AQ4={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};qQ4=["sonar","searchpreview","online"]});function i30($){if(!$)return;let Z={};for(let Q in $){let Y=$[Q];if(typeof Y==="object"&&Y!==null){let X={};for(let J of VQ4)if(J in Y)X[J]=Y[J];Z[Q]=X}}return Object.keys(Z).length>0?Z:void 0}var VQ4;var a$$=L(()=>{VQ4=["usage","cost","model"]});var q8=L(()=>{u30();n$$();r$$();a$$()});function gA($){if($.app_name)return $.app_name;if($.connection_url)try{let Z=new URL($.connection_url),Y=((Z.port?`${Z.hostname}-${Z.port}`:Z.hostname)+Z.pathname).replace(/\/+$/,"");return Mc(Y)}catch{return Mc($.connection_url)}if($.title)return Mc($.title);return $.id??"unknown"}var p30=()=>{};var uc=300000,Oj=5000,n30=1e4,ur0=3,lr0=30000,e$$=65000,t30=1000,lc=3,$8$=5,Z8$=60000,Q8$=300000,cr0=60000;function Y8$(){if(mD.size<t30)return;let $=null,Z=1/0;for(let[Q,Y]of mD)if(Y.lastFailureAt<Z)Z=Y.lastFailureAt,$=Q;if($)mD.delete($)}function X8$($){let Z=mD.get($);if(!Z)return Y8$(),mD.set($,{consecutiveFailures:1,disabled:!1,lastFailureAt:Date.now()}),{consecutiveFailures:1,thresholdCrossed:1>=lc};return Z.consecutiveFailures++,Z.lastFailureAt=Date.now(),{consecutiveFailures:Z.consecutiveFailures,thresholdCrossed:Z.consecutiveFailures>=lc}}function mr0($){let Z=mD.get($);if(Z){Z.disabled=!0;return}Y8$(),mD.set($,{consecutiveFailures:lc,disabled:!0,lastFailureAt:Date.now()})}function J8$($){return mD.get($)?.disabled??!1}function G8$($){mD.delete($)}var mD;var W8$=L(()=>{mD=new Map});function dr0($){try{let Z=new URL($.url);if(Z.protocol!=="https:"&&Z.protocol!=="http:")return null;let Q=Z.pathname.replace(/\/+$/,"").replace(/\.git$/i,"");return Q?{host:Z.host.toLowerCase(),path:Q.slice(1)}:null}catch{return null}}function na($){let Z=dr0($);return Z?`${Z.host}/${Z.path}`.toLowerCase():null}function dD($,Z){if($.repositoryId&&Z.repositoryId)return $.repositoryId===Z.repositoryId;let Q=na($);return Q!==null&&Q===na(Z)}function wj($){let Z=$.startsWith("./")?$.slice(2):$;for(let Q of["/app/org/","org/"]){if(!Z.startsWith(Q))continue;let Y=Z.slice(Q.length);return Y.split("/").includes("..")?null:Y}return null}var oY="/app/org",sY="home";var YG=()=>{};var jj="New chat";function H8$(){return`<platform>
79
+ `),Ft1=!0}throw new yG0.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:$.logger,tryNextLink:!0})}return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),Bd0($)()},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 yG0.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:$.logger});let{fromSSO:W}=await Promise.resolve().then(() => (qi0(),Ti0));return W($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:Q}=await Promise.resolve().then(() => (Ht1(),Kt1));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:Q}=await Promise.resolve().then(() => (Mp0(),Rp0));return Q($)(Z)},async(Z)=>{$.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:Q}=await Promise.resolve().then(() => (_p0(),Sp0));return Q($)(Z)},async()=>{return $.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await Vl1($))()},async()=>{throw new yG0.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:!1,logger:$.logger})}],b54),b54=($)=>$?.expiration!==void 0&&$.expiration.getTime()-Date.now()<300000;var Bt1=L(()=>{Dd0();Il1();yG0=_(o5(),1),Ut1=_(eX(),1)});var Dt1=L(()=>{Bt1()});var Lt1=()=>{};var Oc,x54="AWS_S3_USE_ARN_REGION",f54="s3_use_arn_region",Ot1;var wt1=L(()=>{Oc=_(Sr(),1),Ot1={environmentVariableSelector:($)=>Oc.booleanSelector($,x54,Oc.SelectorType.ENV),configFileSelector:($)=>Oc.booleanSelector($,f54,Oc.SelectorType.CONFIG),default:void 0}});var jt1=()=>{};var Et1=()=>{};var Pt1=L(()=>{Lt1();wt1();Et1();jt1()});class wc{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)zt1(Z);return new wc(Z)}valueOf(){let $=this.bytes.slice(0),Z=$[0]&128;if(Z)zt1($);return parseInt(At1.toHex($),16)*(Z?-1:1)}toString(){return String(this.valueOf())}}function zt1($){for(let Z=0;Z<8;Z++)$[Z]^=255;for(let Z=7;Z>-1;Z--)if($[Z]++,$[Z]!==0)break}var At1;var bp0=L(()=>{At1=_(Gr(),1)});class xp0{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(wc.fromNumber($.value.valueOf()).bytes,1),H;case"uuid":if(!i54.test($.value))throw Error(`Invalid UUID received: ${$.value}`);let F=new Uint8Array(17);return F[0]=9,F.set(tw.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:qt1,value:!0};break;case 1:Z[X]={type:qt1,value:!1};break;case 2:Z[X]={type:y54,value:$.getInt8(Q++)};break;case 3:Z[X]={type:g54,value:$.getInt16(Q,!1)},Q+=2;break;case 4:Z[X]={type:h54,value:$.getInt32(Q,!1)},Q+=4;break;case 5:Z[X]={type:u54,value:new wc(new Uint8Array($.buffer,$.byteOffset+Q,8))},Q+=8;break;case 6:let J=$.getUint16(Q,!1);Q+=2,Z[X]={type:l54,value:new Uint8Array($.buffer,$.byteOffset+Q,J)},Q+=J;break;case 7:let G=$.getUint16(Q,!1);Q+=2,Z[X]={type:c54,value:this.toUtf8(new Uint8Array($.buffer,$.byteOffset+Q,G))},Q+=G;break;case 8:Z[X]={type:m54,value:new Date(new wc(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:d54,value:`${tw.toHex(W.subarray(0,4))}-${tw.toHex(W.subarray(4,6))}-${tw.toHex(W.subarray(6,8))}-${tw.toHex(W.subarray(8,10))}-${tw.toHex(W.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return Z}}var tw,Tt1,qt1="boolean",y54="byte",g54="short",h54="integer",u54="long",l54="binary",c54="string",m54="timestamp",d54="uuid",i54;var fp0=L(()=>{bp0();tw=_(Gr(),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"})(Tt1||(Tt1={}));i54=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/});function Vt1({byteLength:$,byteOffset:Z,buffer:Q}){if($<p54)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(Mt1,!1),G=Y.getUint32(ow,!1),W=Y.getUint32($-CA,!1),K=new Rt1.Crc32().update(new Uint8Array(Q,Z,ow));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+ow,$-(ow+CA))),W!==K.digest())throw Error(`The message checksum (${K.digest()}) did not match the expected value of ${W}`);return{headers:new DataView(Q,Z+ow+CA,J),body:new Uint8Array(Q,Z+ow+CA+J,X-J-(ow+CA+CA))}}var Rt1,Mt1=4,ow,CA=4,p54;var It1=L(()=>{Rt1=_(s2(),1),ow=Mt1*2,p54=ow+CA*2});class yp0{headerMarshaller;messageBuffer;isEndOfStream;constructor($,Z){this.headerMarshaller=new xp0($,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 kt1.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}=Vt1($);return{headers:this.headerMarshaller.parse(Z),body:Q}}formatHeaders($){return this.headerMarshaller.format($)}}var kt1;var Ct1=L(()=>{fp0();It1();kt1=_(s2(),1)});var St1=()=>{};var gp0;var _t1=L(()=>{gp0=class gp0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.decoder.decode($)}}});var hp0;var vt1=L(()=>{hp0=class hp0{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 up0;var bt1=L(()=>{up0=class up0{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 lp0;var xt1=L(()=>{lp0=class lp0{options;constructor($){this.options=$}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let $ of this.options.inputStream)yield this.options.serializer($)}}});var ft1=L(()=>{Ct1();fp0();bp0();St1();_t1();vt1();bt1();xt1()});function yt1($){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 gt1($,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 cp0{eventStreamCodec;utfEncoder;constructor({utf8Encoder:$,utf8Decoder:Z}){this.eventStreamCodec=new yp0($,Z),this.utfEncoder=$}deserialize($,Z){let Q=yt1($);return new up0({messageStream:new gp0({inputStream:Q,decoder:this.eventStreamCodec}),deserializer:gt1(Z,this.utfEncoder)})}serialize($,Z){return new hp0({messageStream:new lp0({inputStream:$,serializer:Z}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}var ht1=L(()=>{ft1()});var ut1=()=>{};var lt1=L(()=>{ht1();ut1()});async function*ct1($){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 n54}from"stream";class mp0{universalMarshaller;constructor({utf8Encoder:$,utf8Decoder:Z}){this.universalMarshaller=new cp0({utf8Decoder:Z,utf8Encoder:$})}deserialize($,Z){let Q=typeof $[Symbol.asyncIterator]==="function"?$:ct1($);return this.universalMarshaller.deserialize(Q,Z)}serialize($,Z){return n54.from(this.universalMarshaller.serialize($,Z))}}var dp0=L(()=>{lt1()});var mt1=($)=>new mp0($);var dt1=L(()=>{dp0()});var it1=L(()=>{dp0();dt1()});import{Writable as t54}from"stream";var pt1,ip0;var nt1=L(()=>{pt1=_(oQ(),1);ip0=class ip0 extends t54{hash;constructor($,Z){super(Z);this.hash=$}_write($,Z,Q){try{this.hash.update(pt1.toUint8Array($))}catch(Y){return Q(Y)}Q()}}});var tt1=()=>{};var ot1=($,Z)=>{if(Z.readableFlowing!==null)throw Error("Unable to calculate hash for flowing readable stream");let Q=new $,Y=new ip0(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 st1=L(()=>{nt1()});var rt1=L(()=>{tt1();st1()});var gG0,at1,et1,$o1,Zo1,hG0,uG0,lG0,Qo1=($)=>{return{apiVersion:"2006-03-01",base64Decoder:$?.base64Decoder??hG0.fromBase64,base64Encoder:$?.base64Encoder??hG0.toBase64,disableHostPrefix:$?.disableHostPrefix??!1,endpointProvider:$?.endpointProvider??jJ0,extensions:$?.extensions??[],getAwsChunkedEncodingStream:$?.getAwsChunkedEncodingStream??uG0.getAwsChunkedEncodingStream,httpAuthSchemeProvider:$?.httpAuthSchemeProvider??Jg1,httpAuthSchemes:$?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4"),signer:new gG0.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(Z)=>Z.getIdentityProvider("aws.auth#sigv4a"),signer:new gG0.AwsSdkSigV4ASigner}],logger:$?.logger??new $o1.NoOpLogger,protocol:$?.protocol??at1.S3RestXmlProtocol,protocolSettings:$?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",errorTypeRegistries:Ug1,xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:$?.sdkStreamMixin??uG0.sdkStreamMixin,serviceId:$?.serviceId??"S3",signerConstructor:$?.signerConstructor??et1.SignatureV4MultiRegion,signingEscapePath:$?.signingEscapePath??!1,urlParser:$?.urlParser??Zo1.parseUrl,useArnRegion:$?.useArnRegion??void 0,utf8Decoder:$?.utf8Decoder??lG0.fromUtf8,utf8Encoder:$?.utf8Encoder??lG0.toUtf8}};var Yo1=L(()=>{$d0();em0();F1();gG0=_(mY(),1),at1=_(U$(),1),et1=_(sl(),1),$o1=_(p0(),1),Zo1=_(qU(),1),hG0=_(rJ(),1),uG0=_(Tl(),1),lG0=_(oQ(),1)});var Xo1,mG0,Jo1,dG0,sw,cG0,iG0,w3,pG0,nG0,Go1,Wo1,Ko1,Ho1=($)=>{nG0.emitWarningIfUnsupportedVersion(process.version);let Z=Wo1.resolveDefaultsModeConfig($),Q=()=>Z().then(nG0.loadConfigsForDefaultMode),Y=Qo1($);Xo1.emitWarningIfUnsupportedVersion(process.version);let X={profile:$?.profile,logger:Y.logger};return{...Y,...$,runtime:"node",defaultsMode:Z,authSchemePreference:$?.authSchemePreference??w3.loadConfig(mG0.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,X),bodyLengthChecker:$?.bodyLengthChecker??Go1.calculateBodyLength,credentialDefaultProvider:$?.credentialDefaultProvider??Nt1,defaultUserAgentProvider:$?.defaultUserAgentProvider??dG0.createDefaultUserAgentProvider({serviceId:Y.serviceId,clientVersion:lu1.version}),disableS3ExpressSessionAuth:$?.disableS3ExpressSessionAuth??w3.loadConfig(Jo1.NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,X),eventStreamSerdeProvider:$?.eventStreamSerdeProvider??mt1,maxAttempts:$?.maxAttempts??w3.loadConfig(iG0.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,$),md5:$?.md5??cG0.Hash.bind(null,"md5"),region:$?.region??w3.loadConfig(sw.NODE_REGION_CONFIG_OPTIONS,{...sw.NODE_REGION_CONFIG_FILE_OPTIONS,...X}),requestChecksumCalculation:$?.requestChecksumCalculation??w3.loadConfig(sI1,X),requestHandler:pG0.NodeHttpHandler.create($?.requestHandler??Q),responseChecksumValidation:$?.responseChecksumValidation??w3.loadConfig(aI1,X),retryMode:$?.retryMode??w3.loadConfig({...iG0.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await Q()).retryMode||Ko1.DEFAULT_RETRY_MODE},$),sha1:$?.sha1??cG0.Hash.bind(null,"sha1"),sha256:$?.sha256??cG0.Hash.bind(null,"sha256"),sigv4aSigningRegionSet:$?.sigv4aSigningRegionSet??w3.loadConfig(mG0.NODE_SIGV4A_CONFIG_OPTIONS,X),streamCollector:$?.streamCollector??pG0.streamCollector,streamHasher:$?.streamHasher??ot1,useArnRegion:$?.useArnRegion??w3.loadConfig(Ot1,X),useDualstackEndpoint:$?.useDualstackEndpoint??w3.loadConfig(sw.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,X),useFipsEndpoint:$?.useFipsEndpoint??w3.loadConfig(sw.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,X),userAgentAppId:$?.userAgentAppId??w3.loadConfig(dG0.NODE_APP_ID_CONFIG_OPTIONS,X)}};var Fo1=L(()=>{uu1();Dt1();Pt1();S6();it1();rt1();Yo1();Xo1=_(E9(),1),mG0=_(mY(),1),Jo1=_(U$(),1),dG0=_(Yc(),1),sw=_($G(),1),cG0=_(Xc(),1),iG0=_(bH(),1),w3=_(vH(),1),pG0=_(Vw(),1),nG0=_(p0(),1),Go1=_(Jc(),1),Wo1=_(Gc(),1),Ko1=_(ND(),1)});var Uo1=($)=>{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}}},No1=($)=>{return{httpAuthSchemes:$.httpAuthSchemes(),httpAuthSchemeProvider:$.httpAuthSchemeProvider(),credentials:$.credentials()}};var tG0,oG0,sG0,Bo1=($,Z)=>{let Q=Object.assign(tG0.getAwsRegionExtensionConfiguration($),sG0.getDefaultExtensionConfiguration($),oG0.getHttpHandlerExtensionConfiguration($),Uo1($));return Z.forEach((Y)=>Y.configure(Q)),Object.assign($,tG0.resolveAwsRegionExtensionConfiguration(Q),sG0.resolveDefaultRuntimeConfig(Q),oG0.resolveHttpHandlerRuntimeConfig(Q),No1(Q))};var Do1=L(()=>{tG0=_(BA(),1),oG0=_(t5(),1),sG0=_(p0(),1)});var rG0,Lo1,Oo1,kU,aG0,wo1,jc,jo1,Eo1,Po1,eG0,zo1,ZY;var SA=L(()=>{tI1();S6();ex1();$d0();yJ0();N1();Fo1();Do1();rG0=_(kl(),1),Lo1=_(Cl(),1),Oo1=_(Sl(),1),kU=_(U$(),1),aG0=_(WA(),1),wo1=_($G(),1),jc=_(b7(),1),jo1=_(uY(),1),Eo1=_(pl(),1),Po1=_(G1(),1),eG0=_(bH(),1),zo1=_(p0(),1);ZY=class ZY extends zo1.Client{config;constructor(...[$]){let Z=Ho1($||{});super(Z);this.initConfig=Z;let Q=Wg1(Z),Y=aG0.resolveUserAgentConfig(Q),X=R_1(Y),J=eG0.resolveRetryConfig(X),G=wo1.resolveRegionConfig(J),W=rG0.resolveHostHeaderConfig(G),K=Po1.resolveEndpointConfig(W),H=ax1(K),F=Gg1(H),U=kU.resolveS3Config(F,{session:[()=>this,mr]}),N=Bo1(U,$?.extensions||[]);this.config=N,this.middlewareStack.use(jo1.getSchemaSerdePlugin(this.config)),this.middlewareStack.use(aG0.getUserAgentPlugin(this.config)),this.middlewareStack.use(eG0.getRetryPlugin(this.config)),this.middlewareStack.use(Eo1.getContentLengthPlugin(this.config)),this.middlewareStack.use(rG0.getHostHeaderPlugin(this.config)),this.middlewareStack.use(Lo1.getLoggerPlugin(this.config)),this.middlewareStack.use(Oo1.getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(jc.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Qg1,identityProviderConfigProvider:async(B)=>new jc.DefaultIdentityProviderConfig({"aws.auth#sigv4":B.credentials,"aws.auth#sigv4a":B.credentials})})),this.middlewareStack.use(jc.getHttpSigningPlugin(this.config)),this.middlewareStack.use(kU.getValidateBucketNamePlugin(this.config)),this.middlewareStack.use(nI1(this.config)),this.middlewareStack.use(kU.getRegionRedirectMiddlewarePlugin(this.config)),this.middlewareStack.use(kU.getS3ExpressPlugin(this.config)),this.middlewareStack.use(kU.getS3ExpressHttpSigningPlugin(this.config))}destroy(){super.destroy()}}});var Ao1,To1,qo1,Fa;var pp0=L(()=>{N1();F1();Ao1=_(U$(),1),To1=_(G1(),1),qo1=_(p0(),1);Fa=class Fa extends qo1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[To1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ao1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(gg1).build(){}});function o54($){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(r54(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 r54($,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 s54,MZ=($)=>({applyToStack:(Z)=>{Z.add(o54($),s54)}});var oW=L(()=>{s54={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0}});var Ro1,Mo1,Vo1,Ua;var np0=L(()=>{oW();N1();F1();Ro1=_(U$(),1),Mo1=_(G1(),1),Vo1=_(p0(),1);Ua=class Ua extends Vo1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Mo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ro1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(hg1).build(){}});var Io1,ko1,Co1,tp0;var op0=L(()=>{oW();N1();F1();Io1=_(U$(),1),ko1=_(G1(),1),Co1=_(p0(),1);tp0=class tp0 extends Co1.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[ko1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Io1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","CopyObject",{}).n("S3Client","CopyObjectCommand").sc(ug1).build(){}});function a54($){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 e54,So1=($)=>({applyToStack:(Z)=>{Z.add(a54($),e54)}});var _o1=L(()=>{e54={step:"initialize",tags:["LOCATION_CONSTRAINT","CREATE_BUCKET_CONFIGURATION"],name:"locationConstraintMiddleware",override:!0}});var vo1,bo1,xo1,sp0;var rp0=L(()=>{_o1();N1();F1();vo1=_(U$(),1),bo1=_(G1(),1),xo1=_(p0(),1);sp0=class sp0 extends xo1.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[bo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),vo1.getThrow200ExceptionsPlugin(Q),So1(Q)]}).s("AmazonS3","CreateBucket",{}).n("S3Client","CreateBucketCommand").sc(lg1).build(){}});var fo1,yo1,ap0;var ep0=L(()=>{S6();N1();F1();fo1=_(G1(),1),yo1=_(p0(),1);ap0=class ap0 extends yo1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataConfiguration",{}).n("S3Client","CreateBucketMetadataConfigurationCommand").sc(cg1).build(){}});var go1,ho1,$n0;var Zn0=L(()=>{S6();N1();F1();go1=_(G1(),1),ho1=_(p0(),1);$n0=class $n0 extends ho1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[go1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","CreateBucketMetadataTableConfiguration",{}).n("S3Client","CreateBucketMetadataTableConfigurationCommand").sc(mg1).build(){}});var uo1,lo1,co1,Na;var Qn0=L(()=>{oW();N1();F1();uo1=_(U$(),1),lo1=_(G1(),1),co1=_(p0(),1);Na=class Na extends co1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[lo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),uo1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(dg1).build(){}});var mo1,do1,Yn0;var Xn0=L(()=>{N1();F1();mo1=_(G1(),1),do1=_(p0(),1);Yn0=class Yn0 extends do1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[mo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketAnalyticsConfiguration",{}).n("S3Client","DeleteBucketAnalyticsConfigurationCommand").sc(ng1).build(){}});var io1,po1,Jn0;var Gn0=L(()=>{N1();F1();io1=_(G1(),1),po1=_(p0(),1);Jn0=class Jn0 extends po1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[io1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucket",{}).n("S3Client","DeleteBucketCommand").sc(pg1).build(){}});var no1,to1,Wn0;var Kn0=L(()=>{N1();F1();no1=_(G1(),1),to1=_(p0(),1);Wn0=class Wn0 extends to1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[no1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketCors",{}).n("S3Client","DeleteBucketCorsCommand").sc(tg1).build(){}});var oo1,so1,Hn0;var Fn0=L(()=>{N1();F1();oo1=_(G1(),1),so1=_(p0(),1);Hn0=class Hn0 extends so1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[oo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketEncryption",{}).n("S3Client","DeleteBucketEncryptionCommand").sc(og1).build(){}});var ro1,ao1,Un0;var Nn0=L(()=>{N1();F1();ro1=_(G1(),1),ao1=_(p0(),1);Un0=class Un0 extends ao1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ro1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketIntelligentTieringConfiguration",{}).n("S3Client","DeleteBucketIntelligentTieringConfigurationCommand").sc(sg1).build(){}});var eo1,$s1,Bn0;var Dn0=L(()=>{N1();F1();eo1=_(G1(),1),$s1=_(p0(),1);Bn0=class Bn0 extends $s1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[eo1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketInventoryConfiguration",{}).n("S3Client","DeleteBucketInventoryConfigurationCommand").sc(rg1).build(){}});var Zs1,Qs1,Ln0;var On0=L(()=>{N1();F1();Zs1=_(G1(),1),Qs1=_(p0(),1);Ln0=class Ln0 extends Qs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Zs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketLifecycle",{}).n("S3Client","DeleteBucketLifecycleCommand").sc(ag1).build(){}});var Ys1,Xs1,wn0;var jn0=L(()=>{N1();F1();Ys1=_(G1(),1),Xs1=_(p0(),1);wn0=class wn0 extends Xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ys1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataConfiguration",{}).n("S3Client","DeleteBucketMetadataConfigurationCommand").sc(eg1).build(){}});var Js1,Gs1,En0;var Pn0=L(()=>{N1();F1();Js1=_(G1(),1),Gs1=_(p0(),1);En0=class En0 extends Gs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Js1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetadataTableConfiguration",{}).n("S3Client","DeleteBucketMetadataTableConfigurationCommand").sc($h1).build(){}});var Ws1,Ks1,zn0;var An0=L(()=>{N1();F1();Ws1=_(G1(),1),Ks1=_(p0(),1);zn0=class zn0 extends Ks1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ws1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketMetricsConfiguration",{}).n("S3Client","DeleteBucketMetricsConfigurationCommand").sc(Zh1).build(){}});var Hs1,Fs1,Tn0;var qn0=L(()=>{N1();F1();Hs1=_(G1(),1),Fs1=_(p0(),1);Tn0=class Tn0 extends Fs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Hs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketOwnershipControls",{}).n("S3Client","DeleteBucketOwnershipControlsCommand").sc(Qh1).build(){}});var Us1,Ns1,Rn0;var Mn0=L(()=>{N1();F1();Us1=_(G1(),1),Ns1=_(p0(),1);Rn0=class Rn0 extends Ns1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Us1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketPolicy",{}).n("S3Client","DeleteBucketPolicyCommand").sc(Yh1).build(){}});var Bs1,Ds1,Vn0;var In0=L(()=>{N1();F1();Bs1=_(G1(),1),Ds1=_(p0(),1);Vn0=class Vn0 extends Ds1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Bs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketReplication",{}).n("S3Client","DeleteBucketReplicationCommand").sc(Xh1).build(){}});var Ls1,Os1,kn0;var Cn0=L(()=>{N1();F1();Ls1=_(G1(),1),Os1=_(p0(),1);kn0=class kn0 extends Os1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ls1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketTagging",{}).n("S3Client","DeleteBucketTaggingCommand").sc(Jh1).build(){}});var ws1,js1,Sn0;var _n0=L(()=>{N1();F1();ws1=_(G1(),1),js1=_(p0(),1);Sn0=class Sn0 extends js1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ws1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeleteBucketWebsite",{}).n("S3Client","DeleteBucketWebsiteCommand").sc(Gh1).build(){}});var Es1,Ps1,zs1,fD;var vn0=L(()=>{N1();F1();Es1=_(U$(),1),Ps1=_(G1(),1),zs1=_(p0(),1);fD=class fD extends zs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Ps1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Es1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(Wh1).build(){}});var As1,Ts1,qs1,bn0;var xn0=L(()=>{S6();N1();F1();As1=_(U$(),1),Ts1=_(G1(),1),qs1=_(p0(),1);bn0=class bn0 extends qs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ts1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),As1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjects",{}).n("S3Client","DeleteObjectsCommand").sc(Kh1).build(){}});var Rs1,Ms1,Vs1,fn0;var yn0=L(()=>{N1();F1();Rs1=_(U$(),1),Ms1=_(G1(),1),Vs1=_(p0(),1);fn0=class fn0 extends Vs1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Rs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","DeleteObjectTagging",{}).n("S3Client","DeleteObjectTaggingCommand").sc(Hh1).build(){}});var Is1,ks1,gn0;var hn0=L(()=>{N1();F1();Is1=_(G1(),1),ks1=_(p0(),1);gn0=class gn0 extends ks1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Is1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","DeletePublicAccessBlock",{}).n("S3Client","DeletePublicAccessBlockCommand").sc(Fh1).build(){}});var Cs1,Ss1,_s1,un0;var ln0=L(()=>{N1();F1();Cs1=_(U$(),1),Ss1=_(G1(),1),_s1=_(p0(),1);un0=class un0 extends _s1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ss1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Cs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAbac",{}).n("S3Client","GetBucketAbacCommand").sc(Uh1).build(){}});var vs1,bs1,xs1,cn0;var mn0=L(()=>{N1();F1();vs1=_(U$(),1),bs1=_(G1(),1),xs1=_(p0(),1);cn0=class cn0 extends xs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[bs1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),vs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAccelerateConfiguration",{}).n("S3Client","GetBucketAccelerateConfigurationCommand").sc(Nh1).build(){}});var fs1,ys1,gs1,dn0;var in0=L(()=>{N1();F1();fs1=_(U$(),1),ys1=_(G1(),1),gs1=_(p0(),1);dn0=class dn0 extends gs1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ys1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),fs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAcl",{}).n("S3Client","GetBucketAclCommand").sc(Bh1).build(){}});var hs1,us1,ls1,pn0;var nn0=L(()=>{N1();F1();hs1=_(U$(),1),us1=_(G1(),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()),hs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketAnalyticsConfiguration",{}).n("S3Client","GetBucketAnalyticsConfigurationCommand").sc(Dh1).build(){}});var cs1,ms1,ds1,tn0;var on0=L(()=>{N1();F1();cs1=_(U$(),1),ms1=_(G1(),1),ds1=_(p0(),1);tn0=class tn0 extends ds1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ms1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),cs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketCors",{}).n("S3Client","GetBucketCorsCommand").sc(Lh1).build(){}});var is1,ps1,ns1,sn0;var rn0=L(()=>{N1();F1();is1=_(U$(),1),ps1=_(G1(),1),ns1=_(p0(),1);sn0=class sn0 extends ns1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ps1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),is1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketEncryption",{}).n("S3Client","GetBucketEncryptionCommand").sc(Oh1).build(){}});var ts1,os1,ss1,an0;var en0=L(()=>{N1();F1();ts1=_(U$(),1),os1=_(G1(),1),ss1=_(p0(),1);an0=class an0 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()),ts1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketIntelligentTieringConfiguration",{}).n("S3Client","GetBucketIntelligentTieringConfigurationCommand").sc(wh1).build(){}});var rs1,as1,es1,$t0;var Zt0=L(()=>{N1();F1();rs1=_(U$(),1),as1=_(G1(),1),es1=_(p0(),1);$t0=class $t0 extends es1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[as1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),rs1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketInventoryConfiguration",{}).n("S3Client","GetBucketInventoryConfigurationCommand").sc(jh1).build(){}});var $r1,Zr1,Qr1,Qt0;var Yt0=L(()=>{N1();F1();$r1=_(U$(),1),Zr1=_(G1(),1),Qr1=_(p0(),1);Qt0=class Qt0 extends Qr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Zr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),$r1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLifecycleConfiguration",{}).n("S3Client","GetBucketLifecycleConfigurationCommand").sc(Eh1).build(){}});var Yr1,Xr1,Jr1,Xt0;var Jt0=L(()=>{N1();F1();Yr1=_(U$(),1),Xr1=_(G1(),1),Jr1=_(p0(),1);Xt0=class Xt0 extends Jr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Yr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLocation",{}).n("S3Client","GetBucketLocationCommand").sc(Ph1).build(){}});var Gr1,Wr1,Kr1,Gt0;var Wt0=L(()=>{N1();F1();Gr1=_(U$(),1),Wr1=_(G1(),1),Kr1=_(p0(),1);Gt0=class Gt0 extends Kr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Wr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Gr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketLogging",{}).n("S3Client","GetBucketLoggingCommand").sc(zh1).build(){}});var Hr1,Fr1,Ur1,Kt0;var Ht0=L(()=>{N1();F1();Hr1=_(U$(),1),Fr1=_(G1(),1),Ur1=_(p0(),1);Kt0=class Kt0 extends Ur1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Hr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataConfiguration",{}).n("S3Client","GetBucketMetadataConfigurationCommand").sc(Ah1).build(){}});var Nr1,Br1,Dr1,Ft0;var Ut0=L(()=>{N1();F1();Nr1=_(U$(),1),Br1=_(G1(),1),Dr1=_(p0(),1);Ft0=class Ft0 extends Dr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Br1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Nr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetadataTableConfiguration",{}).n("S3Client","GetBucketMetadataTableConfigurationCommand").sc(Th1).build(){}});var Lr1,Or1,wr1,Nt0;var Bt0=L(()=>{N1();F1();Lr1=_(U$(),1),Or1=_(G1(),1),wr1=_(p0(),1);Nt0=class Nt0 extends wr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Or1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Lr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketMetricsConfiguration",{}).n("S3Client","GetBucketMetricsConfigurationCommand").sc(qh1).build(){}});var jr1,Er1,Pr1,Dt0;var Lt0=L(()=>{N1();F1();jr1=_(U$(),1),Er1=_(G1(),1),Pr1=_(p0(),1);Dt0=class Dt0 extends Pr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Er1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),jr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketNotificationConfiguration",{}).n("S3Client","GetBucketNotificationConfigurationCommand").sc(Rh1).build(){}});var zr1,Ar1,Tr1,Ot0;var wt0=L(()=>{N1();F1();zr1=_(U$(),1),Ar1=_(G1(),1),Tr1=_(p0(),1);Ot0=class Ot0 extends Tr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ar1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),zr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketOwnershipControls",{}).n("S3Client","GetBucketOwnershipControlsCommand").sc(Mh1).build(){}});var qr1,Rr1,jt0;var Et0=L(()=>{N1();F1();qr1=_(G1(),1),Rr1=_(p0(),1);jt0=class jt0 extends Rr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[qr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetBucketPolicy",{}).n("S3Client","GetBucketPolicyCommand").sc(Vh1).build(){}});var Mr1,Vr1,Ir1,Pt0;var zt0=L(()=>{N1();F1();Mr1=_(U$(),1),Vr1=_(G1(),1),Ir1=_(p0(),1);Pt0=class Pt0 extends Ir1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Vr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Mr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketPolicyStatus",{}).n("S3Client","GetBucketPolicyStatusCommand").sc(Ih1).build(){}});var kr1,Cr1,Sr1,At0;var Tt0=L(()=>{N1();F1();kr1=_(U$(),1),Cr1=_(G1(),1),Sr1=_(p0(),1);At0=class At0 extends Sr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Cr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),kr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketReplication",{}).n("S3Client","GetBucketReplicationCommand").sc(kh1).build(){}});var _r1,vr1,br1,qt0;var Rt0=L(()=>{N1();F1();_r1=_(U$(),1),vr1=_(G1(),1),br1=_(p0(),1);qt0=class qt0 extends br1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[vr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),_r1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketRequestPayment",{}).n("S3Client","GetBucketRequestPaymentCommand").sc(Ch1).build(){}});var xr1,fr1,yr1,Mt0;var Vt0=L(()=>{N1();F1();xr1=_(U$(),1),fr1=_(G1(),1),yr1=_(p0(),1);Mt0=class Mt0 extends yr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[fr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),xr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketTagging",{}).n("S3Client","GetBucketTaggingCommand").sc(Sh1).build(){}});var gr1,hr1,ur1,It0;var kt0=L(()=>{N1();F1();gr1=_(U$(),1),hr1=_(G1(),1),ur1=_(p0(),1);It0=class It0 extends ur1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[hr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),gr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketVersioning",{}).n("S3Client","GetBucketVersioningCommand").sc(_h1).build(){}});var lr1,cr1,mr1,Ct0;var St0=L(()=>{N1();F1();lr1=_(U$(),1),cr1=_(G1(),1),mr1=_(p0(),1);Ct0=class Ct0 extends mr1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[cr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),lr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetBucketWebsite",{}).n("S3Client","GetBucketWebsiteCommand").sc(vh1).build(){}});var dr1,ir1,pr1,_t0;var vt0=L(()=>{N1();F1();dr1=_(U$(),1),ir1=_(G1(),1),pr1=_(p0(),1);_t0=class _t0 extends pr1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ir1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),dr1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectAcl",{}).n("S3Client","GetObjectAclCommand").sc(xh1).build(){}});var nr1,tr1,or1,bt0;var xt0=L(()=>{oW();N1();F1();nr1=_(U$(),1),tr1=_(G1(),1),or1=_(p0(),1);bt0=class bt0 extends or1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[tr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),nr1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","GetObjectAttributes",{}).n("S3Client","GetObjectAttributesCommand").sc(fh1).build(){}});var sr1,rr1,ar1,CU;var ft0=L(()=>{S6();oW();N1();F1();sr1=_(U$(),1),rr1=_(G1(),1),ar1=_(p0(),1);CU=class CU extends ar1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[rr1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1","SHA512","MD5","XXHASH64","XXHASH3","XXHASH128"]}),MZ(Q),sr1.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(bh1).build(){}});var er1,$a1,Za1,yt0;var gt0=L(()=>{N1();F1();er1=_(U$(),1),$a1=_(G1(),1),Za1=_(p0(),1);yt0=class yt0 extends Za1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$a1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),er1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLegalHold",{}).n("S3Client","GetObjectLegalHoldCommand").sc(yh1).build(){}});var Qa1,Ya1,Xa1,ht0;var ut0=L(()=>{N1();F1();Qa1=_(U$(),1),Ya1=_(G1(),1),Xa1=_(p0(),1);ht0=class ht0 extends Xa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ya1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Qa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectLockConfiguration",{}).n("S3Client","GetObjectLockConfigurationCommand").sc(gh1).build(){}});var Ja1,Ga1,Wa1,lt0;var ct0=L(()=>{N1();F1();Ja1=_(U$(),1),Ga1=_(G1(),1),Wa1=_(p0(),1);lt0=class lt0 extends Wa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ga1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ja1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectRetention",{}).n("S3Client","GetObjectRetentionCommand").sc(hh1).build(){}});var Ka1,Ha1,Fa1,mt0;var dt0=L(()=>{N1();F1();Ka1=_(U$(),1),Ha1=_(G1(),1),Fa1=_(p0(),1);mt0=class mt0 extends Fa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ha1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ka1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetObjectTagging",{}).n("S3Client","GetObjectTaggingCommand").sc(uh1).build(){}});var Ua1,Na1,it0;var pt0=L(()=>{N1();F1();Ua1=_(G1(),1),Na1=_(p0(),1);it0=class it0 extends Na1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ua1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","GetObjectTorrent",{}).n("S3Client","GetObjectTorrentCommand").sc(lh1).build(){}});var Ba1,Da1,La1,nt0;var tt0=L(()=>{N1();F1();Ba1=_(U$(),1),Da1=_(G1(),1),La1=_(p0(),1);nt0=class nt0 extends La1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Da1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ba1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","GetPublicAccessBlock",{}).n("S3Client","GetPublicAccessBlockCommand").sc(ch1).build(){}});var Oa1,wa1,ja1,_A;var Ba=L(()=>{N1();F1();Oa1=_(U$(),1),wa1=_(G1(),1),ja1=_(p0(),1);_A=class _A extends ja1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[wa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Oa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","HeadBucket",{}).n("S3Client","HeadBucketCommand").sc(mh1).build(){}});var $30,Ea1,Pa1,SU;var Da=L(()=>{oW();N1();F1();$30=_(U$(),1),Ea1=_(G1(),1),Pa1=_(p0(),1);SU=class SU extends Pa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[Ea1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),$30.getThrow200ExceptionsPlugin(Q),MZ(Q),$30.getS3ExpiresMiddlewarePlugin(Q)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(dh1).build(){}});var za1,Aa1,Ta1,ot0;var st0=L(()=>{N1();F1();za1=_(U$(),1),Aa1=_(G1(),1),Ta1=_(p0(),1);ot0=class ot0 extends Ta1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Aa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),za1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketAnalyticsConfigurations",{}).n("S3Client","ListBucketAnalyticsConfigurationsCommand").sc(ih1).build(){}});var qa1,Ra1,Ma1,rt0;var at0=L(()=>{N1();F1();qa1=_(U$(),1),Ra1=_(G1(),1),Ma1=_(p0(),1);rt0=class rt0 extends Ma1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ra1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),qa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketIntelligentTieringConfigurations",{}).n("S3Client","ListBucketIntelligentTieringConfigurationsCommand").sc(ph1).build(){}});var Va1,Ia1,ka1,et0;var $o0=L(()=>{N1();F1();Va1=_(U$(),1),Ia1=_(G1(),1),ka1=_(p0(),1);et0=class et0 extends ka1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ia1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Va1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketInventoryConfigurations",{}).n("S3Client","ListBucketInventoryConfigurationsCommand").sc(nh1).build(){}});var Ca1,Sa1,_a1,Zo0;var Qo0=L(()=>{N1();F1();Ca1=_(U$(),1),Sa1=_(G1(),1),_a1=_(p0(),1);Zo0=class Zo0 extends _a1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Sa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),Ca1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBucketMetricsConfigurations",{}).n("S3Client","ListBucketMetricsConfigurationsCommand").sc(th1).build(){}});var va1,ba1,xa1,La;var Z30=L(()=>{N1();F1();va1=_(U$(),1),ba1=_(G1(),1),xa1=_(p0(),1);La=class La extends xa1.Command.classBuilder().ep(L0).m(function($,Z,Q,Y){return[ba1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),va1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListBuckets",{}).n("S3Client","ListBucketsCommand").sc(oh1).build(){}});var fa1,ya1,ga1,Oa;var Q30=L(()=>{N1();F1();fa1=_(U$(),1),ya1=_(G1(),1),ga1=_(p0(),1);Oa=class Oa extends ga1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[ya1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),fa1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListDirectoryBuckets",{}).n("S3Client","ListDirectoryBucketsCommand").sc(sh1).build(){}});var ha1,ua1,la1,Yo0;var Xo0=L(()=>{N1();F1();ha1=_(U$(),1),ua1=_(G1(),1),la1=_(p0(),1);Yo0=class Yo0 extends la1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ua1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ha1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListMultipartUploads",{}).n("S3Client","ListMultipartUploadsCommand").sc(rh1).build(){}});var ca1,ma1,da1,Jo0;var Go0=L(()=>{N1();F1();ca1=_(U$(),1),ma1=_(G1(),1),da1=_(p0(),1);Jo0=class Jo0 extends da1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[ma1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ca1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjects",{}).n("S3Client","ListObjectsCommand").sc(ah1).build(){}});var ia1,pa1,na1,sW;var Y30=L(()=>{N1();F1();ia1=_(U$(),1),pa1=_(G1(),1),na1=_(p0(),1);sW=class sW extends na1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[pa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ia1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(eh1).build(){}});var ta1,oa1,sa1,Wo0;var Ko0=L(()=>{N1();F1();ta1=_(U$(),1),oa1=_(G1(),1),sa1=_(p0(),1);Wo0=class Wo0 extends sa1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function($,Z,Q,Y){return[oa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ta1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","ListObjectVersions",{}).n("S3Client","ListObjectVersionsCommand").sc($u1).build(){}});var ra1,aa1,ea1,wa;var X30=L(()=>{oW();N1();F1();ra1=_(U$(),1),aa1=_(G1(),1),ea1=_(p0(),1);wa=class wa extends ea1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[aa1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),ra1.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","ListParts",{}).n("S3Client","ListPartsCommand").sc(Zu1).build(){}});var $e1,Ze1,Ho0;var Fo0=L(()=>{S6();N1();F1();$e1=_(G1(),1),Ze1=_(p0(),1);Ho0=class Ho0 extends Ze1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$e1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAbac",{}).n("S3Client","PutBucketAbacCommand").sc(Qu1).build(){}});var Qe1,Ye1,Uo0;var No0=L(()=>{S6();N1();F1();Qe1=_(G1(),1),Ye1=_(p0(),1);Uo0=class Uo0 extends Ye1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Qe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1})]}).s("AmazonS3","PutBucketAccelerateConfiguration",{}).n("S3Client","PutBucketAccelerateConfigurationCommand").sc(Yu1).build(){}});var Xe1,Je1,Bo0;var Do0=L(()=>{S6();N1();F1();Xe1=_(G1(),1),Je1=_(p0(),1);Bo0=class Bo0 extends Je1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Xe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketAcl",{}).n("S3Client","PutBucketAclCommand").sc(Xu1).build(){}});var Ge1,We1,Lo0;var Oo0=L(()=>{N1();F1();Ge1=_(G1(),1),We1=_(p0(),1);Lo0=class Lo0 extends We1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ge1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketAnalyticsConfiguration",{}).n("S3Client","PutBucketAnalyticsConfigurationCommand").sc(Ju1).build(){}});var Ke1,He1,wo0;var jo0=L(()=>{S6();N1();F1();Ke1=_(G1(),1),He1=_(p0(),1);wo0=class wo0 extends He1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketCors",{}).n("S3Client","PutBucketCorsCommand").sc(Gu1).build(){}});var Fe1,Ue1,Eo0;var Po0=L(()=>{S6();N1();F1();Fe1=_(G1(),1),Ue1=_(p0(),1);Eo0=class Eo0 extends Ue1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Fe1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketEncryption",{}).n("S3Client","PutBucketEncryptionCommand").sc(Wu1).build(){}});var Ne1,Be1,zo0;var Ao0=L(()=>{N1();F1();Ne1=_(G1(),1),Be1=_(p0(),1);zo0=class zo0 extends Be1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ne1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketIntelligentTieringConfiguration",{}).n("S3Client","PutBucketIntelligentTieringConfigurationCommand").sc(Ku1).build(){}});var De1,Le1,To0;var qo0=L(()=>{N1();F1();De1=_(G1(),1),Le1=_(p0(),1);To0=class To0 extends Le1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[De1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketInventoryConfiguration",{}).n("S3Client","PutBucketInventoryConfigurationCommand").sc(Hu1).build(){}});var Oe1,we1,je1,Ro0;var Mo0=L(()=>{S6();N1();F1();Oe1=_(U$(),1),we1=_(G1(),1),je1=_(p0(),1);Ro0=class Ro0 extends je1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[we1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),Oe1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutBucketLifecycleConfiguration",{}).n("S3Client","PutBucketLifecycleConfigurationCommand").sc(Fu1).build(){}});var Ee1,Pe1,Vo0;var Io0=L(()=>{S6();N1();F1();Ee1=_(G1(),1),Pe1=_(p0(),1);Vo0=class Vo0 extends Pe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ee1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketLogging",{}).n("S3Client","PutBucketLoggingCommand").sc(Uu1).build(){}});var ze1,Ae1,ko0;var Co0=L(()=>{N1();F1();ze1=_(G1(),1),Ae1=_(p0(),1);ko0=class ko0 extends Ae1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ze1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketMetricsConfiguration",{}).n("S3Client","PutBucketMetricsConfigurationCommand").sc(Nu1).build(){}});var Te1,qe1,So0;var _o0=L(()=>{N1();F1();Te1=_(G1(),1),qe1=_(p0(),1);So0=class So0 extends qe1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","PutBucketNotificationConfiguration",{}).n("S3Client","PutBucketNotificationConfigurationCommand").sc(Bu1).build(){}});var Re1,Me1,vo0;var bo0=L(()=>{S6();N1();F1();Re1=_(G1(),1),Me1=_(p0(),1);vo0=class vo0 extends Me1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Re1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketOwnershipControls",{}).n("S3Client","PutBucketOwnershipControlsCommand").sc(Du1).build(){}});var Ve1,Ie1,xo0;var fo0=L(()=>{S6();N1();F1();Ve1=_(G1(),1),Ie1=_(p0(),1);xo0=class xo0 extends Ie1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketPolicy",{}).n("S3Client","PutBucketPolicyCommand").sc(Lu1).build(){}});var ke1,Ce1,yo0;var go0=L(()=>{S6();N1();F1();ke1=_(G1(),1),Ce1=_(p0(),1);yo0=class yo0 extends Ce1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ke1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketReplication",{}).n("S3Client","PutBucketReplicationCommand").sc(Ou1).build(){}});var Se1,_e1,ho0;var uo0=L(()=>{S6();N1();F1();Se1=_(G1(),1),_e1=_(p0(),1);ho0=class ho0 extends _e1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Se1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketRequestPayment",{}).n("S3Client","PutBucketRequestPaymentCommand").sc(wu1).build(){}});var ve1,be1,lo0;var co0=L(()=>{S6();N1();F1();ve1=_(G1(),1),be1=_(p0(),1);lo0=class lo0 extends be1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ve1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketTagging",{}).n("S3Client","PutBucketTaggingCommand").sc(ju1).build(){}});var xe1,fe1,mo0;var do0=L(()=>{S6();N1();F1();xe1=_(G1(),1),fe1=_(p0(),1);mo0=class mo0 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()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketVersioning",{}).n("S3Client","PutBucketVersioningCommand").sc(Eu1).build(){}});var ye1,ge1,io0;var po0=L(()=>{S6();N1();F1();ye1=_(G1(),1),ge1=_(p0(),1);io0=class io0 extends ge1.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ye1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutBucketWebsite",{}).n("S3Client","PutBucketWebsiteCommand").sc(Pu1).build(){}});var he1,ue1,le1,no0;var to0=L(()=>{S6();N1();F1();he1=_(U$(),1),ue1=_(G1(),1),le1=_(p0(),1);no0=class no0 extends le1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ue1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),he1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectAcl",{}).n("S3Client","PutObjectAclCommand").sc(Au1).build(){}});var J30,ce1,me1,j3;var oo0=L(()=>{S6();oW();N1();F1();J30=_(U$(),1),ce1=_(G1(),1),me1=_(p0(),1);j3=class j3 extends me1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[ce1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),J30.getCheckContentLengthHeaderPlugin(Q),J30.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(zu1).build(){}});var de1,ie1,pe1,so0;var ro0=L(()=>{S6();N1();F1();de1=_(U$(),1),ie1=_(G1(),1),pe1=_(p0(),1);so0=class so0 extends pe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[ie1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),de1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLegalHold",{}).n("S3Client","PutObjectLegalHoldCommand").sc(Tu1).build(){}});var ne1,te1,oe1,ao0;var eo0=L(()=>{S6();N1();F1();ne1=_(U$(),1),te1=_(G1(),1),oe1=_(p0(),1);ao0=class ao0 extends oe1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[te1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ne1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectLockConfiguration",{}).n("S3Client","PutObjectLockConfigurationCommand").sc(qu1).build(){}});var se1,re1,ae1,$s0;var Zs0=L(()=>{S6();N1();F1();se1=_(U$(),1),re1=_(G1(),1),ae1=_(p0(),1);$s0=class $s0 extends ae1.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[re1.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),se1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectRetention",{}).n("S3Client","PutObjectRetentionCommand").sc(Ru1).build(){}});var ee1,$0$,Z0$,ja;var Qs0=L(()=>{S6();N1();F1();ee1=_(U$(),1),$0$=_(G1(),1),Z0$=_(p0(),1);ja=class ja extends Z0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[$0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ee1.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(Mu1).build(){}});var Q0$,Y0$,Ys0;var Xs0=L(()=>{S6();N1();F1();Q0$=_(G1(),1),Y0$=_(p0(),1);Ys0=class Ys0 extends Y0$.Command.classBuilder().ep({...L0,UseS3ExpressControlEndpoint:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[Q0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","PutPublicAccessBlock",{}).n("S3Client","PutPublicAccessBlockCommand").sc(Vu1).build(){}});var X0$,J0$,G0$,Js0;var Gs0=L(()=>{N1();F1();X0$=_(U$(),1),J0$=_(G1(),1),G0$=_(p0(),1);Js0=class Js0 extends G0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[J0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),X0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RenameObject",{}).n("S3Client","RenameObjectCommand").sc(Iu1).build(){}});var W0$,K0$,H0$,Ws0;var Ks0=L(()=>{S6();N1();F1();W0$=_(U$(),1),K0$=_(G1(),1),H0$=_(p0(),1);Ws0=class Ws0 extends H0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[K0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),W0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","RestoreObject",{}).n("S3Client","RestoreObjectCommand").sc(ku1).build(){}});var F0$,U0$,Hs0;var Fs0=L(()=>{oW();N1();F1();F0$=_(G1(),1),U0$=_(p0(),1);Hs0=class Hs0 extends U0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[F0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),MZ(Q)]}).s("AmazonS3","SelectObjectContent",{eventStream:{output:!0}}).n("S3Client","SelectObjectContentCommand").sc(Cu1).build(){}});var N0$,B0$,Us0;var Ns0=L(()=>{S6();N1();F1();N0$=_(G1(),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()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataInventoryTableConfiguration",{}).n("S3Client","UpdateBucketMetadataInventoryTableConfigurationCommand").sc(Su1).build(){}});var D0$,L0$,Bs0;var Ds0=L(()=>{S6();N1();F1();D0$=_(G1(),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()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0})]}).s("AmazonS3","UpdateBucketMetadataJournalTableConfiguration",{}).n("S3Client","UpdateBucketMetadataJournalTableConfigurationCommand").sc(_u1).build(){}});var O0$,w0$,j0$,Ls0;var Os0=L(()=>{S6();N1();F1();O0$=_(U$(),1),w0$=_(G1(),1),j0$=_(p0(),1);Ls0=class Ls0 extends j0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[w0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),O0$.getThrow200ExceptionsPlugin(Q)]}).s("AmazonS3","UpdateObjectEncryption",{}).n("S3Client","UpdateObjectEncryptionCommand").sc(vu1).build(){}});var E0$,P0$,z0$,Ea;var ws0=L(()=>{S6();oW();N1();F1();E0$=_(U$(),1),P0$=_(G1(),1),z0$=_(p0(),1);Ea=class Ea extends z0$.Command.classBuilder().ep({...L0,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function($,Z,Q,Y){return[P0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),d$(Q,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),E0$.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(bu1).build(){}});var A0$,T0$,q0$,js0;var Es0=L(()=>{oW();N1();F1();A0$=_(U$(),1),T0$=_(G1(),1),q0$=_(p0(),1);js0=class js0 extends q0$.Command.classBuilder().ep({...L0,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function($,Z,Q,Y){return[T0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions()),A0$.getThrow200ExceptionsPlugin(Q),MZ(Q)]}).s("AmazonS3","UploadPartCopy",{}).n("S3Client","UploadPartCopyCommand").sc(xu1).build(){}});var R0$,M0$,Ps0;var zs0=L(()=>{N1();F1();R0$=_(G1(),1),M0$=_(p0(),1);Ps0=class Ps0 extends M0$.Command.classBuilder().ep({...L0,UseObjectLambdaEndpoint:{type:"staticContextParams",value:!0}}).m(function($,Z,Q,Y){return[R0$.getEndpointPlugin(Q,$.getEndpointParameterInstructions())]}).s("AmazonS3","WriteGetObjectResponse",{}).n("S3Client","WriteGetObjectResponseCommand").sc(fu1).build(){}});var V0$,I0$;var As0=L(()=>{Z30();SA();V0$=_(b7(),1),I0$=V0$.createPaginator(ZY,La,"ContinuationToken","ContinuationToken","MaxBuckets")});var k0$,C0$;var Ts0=L(()=>{Q30();SA();k0$=_(b7(),1),C0$=k0$.createPaginator(ZY,Oa,"ContinuationToken","ContinuationToken","MaxDirectoryBuckets")});var S0$,_0$;var qs0=L(()=>{Y30();SA();S0$=_(b7(),1),_0$=S0$.createPaginator(ZY,sW,"ContinuationToken","NextContinuationToken","MaxKeys")});var v0$,b0$;var Rs0=L(()=>{X30();SA();v0$=_(b7(),1),b0$=v0$.createPaginator(ZY,wa,"PartNumberMarker","NextPartNumberMarker","MaxParts")});var Ec=()=>{let $=new WeakSet;return(Z,Q)=>{if(typeof Q==="object"&&Q!==null){if($.has(Q))return"[Circular]";$.add(Q)}return Q}};var x0$=($)=>{return new Promise((Z)=>setTimeout(Z,$*1000))};var f0$,P9,rw=($)=>{if($.state===P9.ABORTED){let Z=Error(`${JSON.stringify({...$,reason:"Request was aborted"},Ec())}`);throw Z.name="AbortError",Z}else if($.state===P9.TIMEOUT){let Z=Error(`${JSON.stringify({...$,reason:"Waiter has timed out"},Ec())}`);throw Z.name="TimeoutError",Z}else if($.state!==P9.SUCCESS)throw Error(`${JSON.stringify($,Ec())}`);return $};var G30=L(()=>{f0$={minDelay:2,maxDelay:120};(function($){$.ABORTED="ABORTED",$.FAILURE="FAILURE",$.SUCCESS="SUCCESS",$.RETRY="RETRY",$.TIMEOUT="TIMEOUT"})(P9||(P9={}))});var y0$=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 j=Q94(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()+j>N)return{state:P9.TIMEOUT,observedResponses:K};await x0$(j/1000)}let{state:O,reason:w}=await W(X,G);if(w){let j=Z94(w);K[j]|=0,K[j]+=1}if(O!==P9.RETRY)return{state:O,reason:w,final:w,observedResponses:K};if(U+=1,!D&&Date.now()>=B)$94(K,X),D=!0}},$94=($={},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.")},Z94=($)=>{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($,Ec())??"Unknown")},Q94=($,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=Y94($,G);if(Date.now()+W>Y){let K=Y-Date.now();return Math.max(0,K-500)}return W},Y94=($,Z)=>$+Math.random()*(Z-$);var g0$=L(()=>{G30()});var h0$=($)=>{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 u0$=()=>{};var l0$=($)=>{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}},aw=async($,Z,Q)=>{let Y={...f0$,...$};h0$(Y);let X=[y0$(Y,Z,Q)],J=[];if($.abortSignal){let{aborted:G,clearListener:W}=l0$($.abortSignal);J.push(W),X.push(G)}if($.abortController?.signal){let{aborted:G,clearListener:W}=l0$($.abortController.signal);J.push(W),X.push(G)}return Promise.race(X).then((G)=>{for(let W of J)W();return G})};var c0$=L(()=>{g0$();u0$();G30()});var Pa=L(()=>{c0$();G30()});var X94=async($,Z)=>{let Q;try{return Q=await $.send(new _A(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}},m0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,X94);return rw(Y)};var Ms0=L(()=>{Pa();Ba()});var J94=async($,Z)=>{let Q;try{Q=await $.send(new _A(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},d0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,J94);return rw(Y)};var Vs0=L(()=>{Pa();Ba()});var G94=async($,Z)=>{let Q;try{return Q=await $.send(new SU(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}},i0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,G94);return rw(Y)};var Is0=L(()=>{Pa();Da()});var W94=async($,Z)=>{let Q;try{Q=await $.send(new SU(Z))}catch(Y){if(Q=Y,Y.name==="NotFound")return{state:P9.SUCCESS,reason:Q}}return{state:P9.RETRY,reason:Q}},p0$=async($,Z)=>{let Y=await aw({...{minDelay:5,maxDelay:120},...$},Z,W94);return rw(Y)};var ks0=L(()=>{Pa();Da()});var n0$,K94,H94,F94,t0$;var o0$=L(()=>{pp0();np0();op0();rp0();ep0();Zn0();Qn0();yJ0();Xn0();Gn0();Kn0();Fn0();Nn0();Dn0();On0();jn0();Pn0();An0();qn0();Mn0();In0();Cn0();_n0();vn0();xn0();yn0();hn0();ln0();mn0();in0();nn0();on0();rn0();en0();Zt0();Yt0();Jt0();Wt0();Ht0();Ut0();Bt0();Lt0();wt0();Et0();zt0();Tt0();Rt0();Vt0();kt0();St0();vt0();xt0();ft0();gt0();ut0();ct0();dt0();pt0();tt0();Ba();Da();st0();at0();$o0();Qo0();Z30();Q30();Xo0();Go0();Y30();Ko0();X30();Fo0();No0();Do0();Oo0();jo0();Po0();Ao0();qo0();Mo0();Io0();Co0();_o0();bo0();fo0();go0();uo0();co0();do0();po0();to0();oo0();ro0();eo0();Zs0();Qs0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Es0();zs0();As0();Ts0();qs0();Rs0();SA();Ms0();Vs0();Is0();ks0();n0$=_(p0(),1),K94={AbortMultipartUploadCommand:Fa,CompleteMultipartUploadCommand:Ua,CopyObjectCommand:tp0,CreateBucketCommand:sp0,CreateBucketMetadataConfigurationCommand:ap0,CreateBucketMetadataTableConfigurationCommand:$n0,CreateMultipartUploadCommand:Na,CreateSessionCommand:mr,DeleteBucketCommand:Jn0,DeleteBucketAnalyticsConfigurationCommand:Yn0,DeleteBucketCorsCommand:Wn0,DeleteBucketEncryptionCommand:Hn0,DeleteBucketIntelligentTieringConfigurationCommand:Un0,DeleteBucketInventoryConfigurationCommand:Bn0,DeleteBucketLifecycleCommand:Ln0,DeleteBucketMetadataConfigurationCommand:wn0,DeleteBucketMetadataTableConfigurationCommand:En0,DeleteBucketMetricsConfigurationCommand:zn0,DeleteBucketOwnershipControlsCommand:Tn0,DeleteBucketPolicyCommand:Rn0,DeleteBucketReplicationCommand:Vn0,DeleteBucketTaggingCommand:kn0,DeleteBucketWebsiteCommand:Sn0,DeleteObjectCommand:fD,DeleteObjectsCommand:bn0,DeleteObjectTaggingCommand:fn0,DeletePublicAccessBlockCommand:gn0,GetBucketAbacCommand:un0,GetBucketAccelerateConfigurationCommand:cn0,GetBucketAclCommand:dn0,GetBucketAnalyticsConfigurationCommand:pn0,GetBucketCorsCommand:tn0,GetBucketEncryptionCommand:sn0,GetBucketIntelligentTieringConfigurationCommand:an0,GetBucketInventoryConfigurationCommand:$t0,GetBucketLifecycleConfigurationCommand:Qt0,GetBucketLocationCommand:Xt0,GetBucketLoggingCommand:Gt0,GetBucketMetadataConfigurationCommand:Kt0,GetBucketMetadataTableConfigurationCommand:Ft0,GetBucketMetricsConfigurationCommand:Nt0,GetBucketNotificationConfigurationCommand:Dt0,GetBucketOwnershipControlsCommand:Ot0,GetBucketPolicyCommand:jt0,GetBucketPolicyStatusCommand:Pt0,GetBucketReplicationCommand:At0,GetBucketRequestPaymentCommand:qt0,GetBucketTaggingCommand:Mt0,GetBucketVersioningCommand:It0,GetBucketWebsiteCommand:Ct0,GetObjectCommand:CU,GetObjectAclCommand:_t0,GetObjectAttributesCommand:bt0,GetObjectLegalHoldCommand:yt0,GetObjectLockConfigurationCommand:ht0,GetObjectRetentionCommand:lt0,GetObjectTaggingCommand:mt0,GetObjectTorrentCommand:it0,GetPublicAccessBlockCommand:nt0,HeadBucketCommand:_A,HeadObjectCommand:SU,ListBucketAnalyticsConfigurationsCommand:ot0,ListBucketIntelligentTieringConfigurationsCommand:rt0,ListBucketInventoryConfigurationsCommand:et0,ListBucketMetricsConfigurationsCommand:Zo0,ListBucketsCommand:La,ListDirectoryBucketsCommand:Oa,ListMultipartUploadsCommand:Yo0,ListObjectsCommand:Jo0,ListObjectsV2Command:sW,ListObjectVersionsCommand:Wo0,ListPartsCommand:wa,PutBucketAbacCommand:Ho0,PutBucketAccelerateConfigurationCommand:Uo0,PutBucketAclCommand:Bo0,PutBucketAnalyticsConfigurationCommand:Lo0,PutBucketCorsCommand:wo0,PutBucketEncryptionCommand:Eo0,PutBucketIntelligentTieringConfigurationCommand:zo0,PutBucketInventoryConfigurationCommand:To0,PutBucketLifecycleConfigurationCommand:Ro0,PutBucketLoggingCommand:Vo0,PutBucketMetricsConfigurationCommand:ko0,PutBucketNotificationConfigurationCommand:So0,PutBucketOwnershipControlsCommand:vo0,PutBucketPolicyCommand:xo0,PutBucketReplicationCommand:yo0,PutBucketRequestPaymentCommand:ho0,PutBucketTaggingCommand:lo0,PutBucketVersioningCommand:mo0,PutBucketWebsiteCommand:io0,PutObjectCommand:j3,PutObjectAclCommand:no0,PutObjectLegalHoldCommand:so0,PutObjectLockConfigurationCommand:ao0,PutObjectRetentionCommand:$s0,PutObjectTaggingCommand:ja,PutPublicAccessBlockCommand:Ys0,RenameObjectCommand:Js0,RestoreObjectCommand:Ws0,SelectObjectContentCommand:Hs0,UpdateBucketMetadataInventoryTableConfigurationCommand:Us0,UpdateBucketMetadataJournalTableConfigurationCommand:Bs0,UpdateObjectEncryptionCommand:Ls0,UploadPartCommand:Ea,UploadPartCopyCommand:js0,WriteGetObjectResponseCommand:Ps0},H94={paginateListBuckets:I0$,paginateListDirectoryBuckets:C0$,paginateListObjectsV2:_0$,paginateListParts:b0$},F94={waitUntilBucketExists:m0$,waitUntilBucketNotExists:d0$,waitUntilObjectExists:i0$,waitUntilObjectNotExists:p0$};t0$=class t0$ extends ZY{};n0$.createAggregatedClient(K94,t0$,{paginators:H94,waiters:F94})});var s0$=L(()=>{pp0();np0();op0();rp0();ep0();Zn0();Qn0();yJ0();Xn0();Gn0();Kn0();Fn0();Nn0();Dn0();On0();jn0();Pn0();An0();qn0();Mn0();In0();Cn0();_n0();vn0();yn0();xn0();hn0();ln0();mn0();in0();nn0();on0();rn0();en0();Zt0();Yt0();Jt0();Wt0();Ht0();Ut0();Bt0();Lt0();wt0();Et0();zt0();Tt0();Rt0();Vt0();kt0();St0();vt0();xt0();ft0();gt0();ut0();ct0();dt0();pt0();tt0();Ba();Da();st0();at0();$o0();Qo0();Z30();Q30();Xo0();Ko0();Go0();Y30();X30();Fo0();No0();Do0();Oo0();jo0();Po0();Ao0();qo0();Mo0();Io0();Co0();_o0();bo0();fo0();go0();uo0();co0();do0();po0();to0();oo0();ro0();eo0();Zs0();Qs0();Xs0();Gs0();Ks0();Fs0();Ns0();Ds0();Os0();ws0();Es0();zs0()});var r0$=()=>{};var a0$=L(()=>{r0$();As0();Ts0();qs0();Rs0()});var e0$=L(()=>{Ms0();Vs0();Is0();ks0()});var $1$;var Z1$=L(()=>{$1$={CRC32:"CRC32",CRC32C:"CRC32C",CRC64NVME:"CRC64NVME",MD5:"MD5",SHA1:"SHA1",SHA256:"SHA256",SHA512:"SHA512",XXHASH128:"XXHASH128",XXHASH3:"XXHASH3",XXHASH64:"XXHASH64"}});var Q1$=()=>{};var Y1$=()=>{};var za=L(()=>{SA();o0$();s0$();F1();a0$();e0$();Z1$();Qd0();Q1$();Y1$()});function J1$($){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?X1$.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 X1$;var G1$=L(()=>{X1$=_(cY0(),1)});var W1$="UNSIGNED-PAYLOAD",K1$="X-Amz-Content-Sha256";class W30{signer;constructor($){let Z={service:$.signingName||$.service||"s3",uriEscapePath:$.uriEscapePath||!1,applyChecksum:$.applyChecksum||!1,...$};this.signer=new H1$.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[K1$]=W1$;let X=$.headers.host,J=$.port,G=`${$.hostname}${$.port!=null?":"+J:""}`;if(!X||X===$.hostname&&$.port!=null)$.headers.host=G}}var H1$;var Cs0=L(()=>{H1$=_(sl(),1)});var F1$,U1$,K30=async($,Z,Q={})=>{let Y,X;if(typeof $.config.endpointProvider==="function"){let N=(await F1$.getEndpointFromInstructions(Z.input,Z.constructor,$.config)).properties?.authSchemes?.[0];if(N?.name==="sigv4a")X=N?.signingRegionSet?.join(",");else X=N?.signingRegion;Y=new W30({...$.config,signingName:N?.signingName,region:async()=>X})}else Y=new W30($.config);let J=(U,N)=>async(B)=>{let{request:D}=B;if(!U1$.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,w={...Q,signingRegion:Q.signingRegion??N.signing_region??X,signingService:Q.signingService??N.signing_service};if(N.s3ExpressIdentity)O=await Y.presignWithCredentials(D,N.s3ExpressIdentity,w);else O=await Y.presign(D,w);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 J1$(F)};var N1$=L(()=>{G1$();Cs0();F1$=_(G1(),1),U1$=_(t5(),1)});var B1$=L(()=>{N1$();Cs0()});import{extname as U94}from"path";function E3($){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 ew($,Z){let Q=E3(Z);if(!Q)throw Error("Key is empty after sanitization");return`${$}/${Q}`}function D1$($,Z){if(!Z)return`${$}/`;let Q=E3(Z);return`${$}/${Q}${Q.endsWith("/")?"":"/"}`}function Pc($,Z,Q){let Y=Q.split("/").map(encodeURIComponent).join("/");return`${$}/api/${encodeURIComponent(Z)}/files/${Y}`}function Ss0($,Z){let Q=`${$}/`;if(Z.startsWith(Q))return Z.slice(Q.length);return Z}function f7($){let Z=U94($).toLowerCase();return N94[Z]??"application/octet-stream"}function H30($){let Z=$.split(";")[0].trim();if(B94.has(Z))return!0;if(Z.startsWith("text/"))return!0;return!1}var N94,B94;var cH=L(()=>{N94={".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"};B94=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 _s0{client;bucket;constructor($){this.bucket=$.bucket,this.client=new ZY({endpoint:$.endpoint,region:$.region,credentials:{accessKeyId:$.accessKeyId,secretAccessKey:$.secretAccessKey},forcePathStyle:$.forcePathStyle})}async getBytesOrPresign($,Z,Q){let Y=ew($,Z),X=await this.client.send(new SU({Bucket:this.bucket,Key:Y})),J=X.ContentLength??0,G=X.ContentType??f7(Z);if(J>Q.presignWhenLargerThan){let F=await K30(this.client,new CU({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 CU({Bucket:this.bucket,Key:Y}))).Body.transformToByteArray(),H=H30(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=ew($,Z);return(await this.client.send(new CU({Bucket:this.bucket,Key:Q}))).Body.transformToByteArray()}async put($,Z,Q,Y){let X=ew($,Z),J=Y?.contentType??f7(Z);return{etag:(await this.client.send(new j3({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=D1$($,Z?.prefix),Y=await this.client.send(new sW({Bucket:this.bucket,Prefix:Q,MaxKeys:Z?.maxKeys??1000,ContinuationToken:Z?.continuationToken,Delimiter:Z?.delimiter})),X=Y.CommonPrefixes?.map((J)=>Ss0($,J.Prefix??"")).filter(Boolean);return{objects:(Y.Contents??[]).map((J)=>({key:Ss0($,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=ew($,Z);await this.client.send(new fD({Bucket:this.bucket,Key:Q}))}async head($,Z){let Q=ew($,Z),Y=await this.client.send(new SU({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=ew($,Z);return K30(this.client,new CU({Bucket:this.bucket,Key:X}),{expiresIn:Q})}async presignedPutUrl($,Z,Q=3600,Y){let X=ew($,Z);return K30(this.client,new j3({Bucket:this.bucket,Key:X,ContentType:Y}),{expiresIn:Q})}}var L1$=L(()=>{za();B1$();cH()});function D94(){let $=B0();return!!($.s3Endpoint&&$.s3Bucket&&$.s3AccessKeyId&&$.s3SecretAccessKey)}function QJ(){if(Aa!==void 0)return Aa;if(!D94())return Aa=null,null;let $=B0();return Aa=new _s0({endpoint:$.s3Endpoint,bucket:$.s3Bucket,region:$.s3Region,accessKeyId:$.s3AccessKeyId,secretAccessKey:$.s3SecretAccessKey,forcePathStyle:$.s3ForcePathStyle}),Aa}var Aa;var $j=L(()=>{u1();L1$()});function P3($,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 L94,readdir as O94,readFile as vs0,stat as F30,unlink as w94,writeFile as j94}from"fs/promises";import{createHmac as E94}from"crypto";import{dirname as P94,join as Ta}from"path";function bs0($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return Ta(z94,Z)}function zc($,Z){return Ta(bs0($),E3(Z))}class rW{orgId;baseUrl;constructor($,Z){this.orgId=$;this.baseUrl=Z}async getBytesOrPresign($,Z){let Q=zc(this.orgId,$),Y=await F30(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 vs0(Q),G=H30(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 vs0(zc(this.orgId,$));return new Uint8Array(Z)}async put($,Z,Q){let Y=zc(this.orgId,$);return await L94(P94(Y),{recursive:!0}),await j94(Y,typeof Z==="string"?Buffer.from(Z,"utf-8"):Z),{key:$}}async list($){let Z=$?.prefix?Ta(bs0(this.orgId),E3($.prefix)):bs0(this.orgId),Q;try{Q=await O94(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 F30(Ta(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 F30(Ta(Z,W.name));return{key:X?`${X}/${W.name}`:W.name,size:K.size,lastModified:K.mtime}})),isTruncated:J.length>Y}}async delete($){await w94(zc(this.orgId,$))}async head($){let Z=await F30(zc(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=zc(this.orgId,$),X=await vs0(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=E3($),Y=Math.floor(Date.now()/1000)+Z,X=B0().encryptionKey||"dev-secret",J=`${this.orgId}:${Q}:${Y}:PUT`,G=E94("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 z94="./data/assets";var Ac=L(()=>{cH();u1()});function aW($){return A94.test($)&&$!=="."&&$!==".."}function y7($){if(!aW($))throw Error(`Invalid org-fs volume name: ${JSON.stringify($)}`)}function N5($){return E3($)}function Tc($){let Z=$.lastIndexOf("/");return Z===-1?"":$.slice(0,Z)}function Zj($){let Z=Tc($);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 eW($,Z){return`${xs0}/${$}/${Z}`}function _U($){let[Z,Q="",...Y]=E3($).split("/");return Z===xs0?{volume:Q,path:Y.join("/")}:null}function U30($){return`${xs0}/${$}/`}var A94,xs0="_fs";var QY=L(()=>{cH();A94=/^[A-Za-z0-9_.-]{1,128}$/});import{createHmac as fs0,randomBytes as ys0,scrypt as T94,timingSafeEqual as O1$}from"crypto";import{promisify as q94}from"util";async function j1$($){let Z=ys0(16),Q=await w1$($,Z,R94);return`scrypt$${Z.toString("hex")}$${Q.toString("hex")}`}async function E1$($,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 w1$($,Y,X.length)}catch{return!1}return X.length===J.length&&O1$(X,J)}function P1$(){return ys0(16).toString("hex")}function z1$(){if(N30)return N30;let $;try{let Z=B0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return N30=$?Buffer.from($):ys0(32),N30}function A1$($){let Z=Buffer.from(JSON.stringify($)).toString("base64url"),Q=fs0("sha256",z1$()).update(Z).digest("base64url");return`${Z}.${Q}`}function T1$($,Z){let Q=$.indexOf(".");if(Q<0)return null;let Y=$.slice(0,Q),X=Buffer.from($.slice(Q+1)),J=Buffer.from(fs0("sha256",z1$()).update(Y).digest("base64url"));if(X.length!==J.length||!O1$(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 gs0($,Z,Q){return`fsu_${fs0("sha256","fsunlock-name").update(`${$}:${Z}:${Q}`).digest("hex").slice(0,16)}`}var R94=64,w1$,N30=null;var hs0=L(()=>{u1();w1$=q94(T94)});import{createHash as M94}from"crypto";function S94($){if(typeof $!=="object"||$===null)return!1;let Z=$;return Z.name==="NoSuchKey"||Z.Code==="NoSuchKey"||Z.code==="ENOENT"||Z.$metadata?.httpStatusCode===404}function q1$($){return M94("sha256").update($).digest("hex")}class $K{storage;manifest;organizationId;maxFileBytes;volumeQuotaBytes;constructor($,Z,Q,Y={}){this.storage=$;this.manifest=Z;this.organizationId=Q;this.maxFileBytes=Y.maxFileBytes??k94,this.volumeQuotaBytes=Y.volumeQuotaBytes??C94}async usage($){return y7($),this.manifest.usage(this.organizationId,$)}async stat($,Z){return y7($),this.manifest.get(this.organizationId,$,N5(Z))}async listVolumeFiles($){return y7($),this.manifest.listVolumeFiles(this.organizationId,$)}async listDir($,Z){return y7($),this.manifest.listDir(this.organizationId,$,N5(Z))}async read($,Z){let Q=await this.requireFile($,Z);try{return await this.storage.getBytes(eW($,Q.path))}catch(Y){if(S94(Y))throw new YJ(`No such file: ${Q.path}`);throw Y}}async setShareMode($,Z,Q,Y){y7($);let X=N5(Z),J=await this.manifest.get(this.organizationId,$,X);if(!J)throw new YJ(`No such path: ${X}`);let G=null,W=null;if(Q==="password"){if(!Y.password)throw new z3("A password is required to set password mode");G=await j1$(Y.password),W=P1$()}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 YJ(`No such path: ${J.path}`);return K}async setReadPublic($,Z,Q,Y){return this.setShareMode($,Z,Q?"public":"private",{actor:Y.actor})}async resolveReadAccess($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return{access:"private"};let X=await this.manifest.resolveGoverningShare({organizationId:this.organizationId,volume:$,candidatePaths:[Q,...Zj(Q)]});if(!X)return{access:"private"};if(!X.passwordHash)return{access:"public"};return{access:"password",govPath:X.path,secret:X.secret??"",passwordHash:X.passwordHash}}async isPubliclyReadable($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")return!1;if(Y.readPublic)return!0;return this.manifest.hasPublicAncestorDir(this.organizationId,$,Zj(Q))}async inheritsPublic($,Z){return y7($),this.manifest.hasPublicAncestorDir(this.organizationId,$,Zj(N5(Z)))}async childrenInheritPublic($,Z){y7($);let Q=N5(Z);if(Q==="")return!1;return this.manifest.hasPublicAncestorDir(this.organizationId,$,[...Zj(Q),Q])}async recentWithEffectivePublic($){return this.withEffectivePublic(await this.recent($))}async searchWithEffectivePublic($,Z,Q,Y,X){return this.withEffectivePublic(await this.manifest.searchFiles({organizationId:this.organizationId,query:$,limit:Z,volumes:Q,pathPrefix:Y?N5(Y):void 0,beforeSeq:X}))}async withEffectivePublic($){let Z=new Map;for(let Y of $){let X=Z.get(Y.volume);if(!X)X=new Set,Z.set(Y.volume,X);for(let J of Zj(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&&Zj(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(eW($,Y.path),Q)}async write($,Z,Q,Y){y7($);let X=N5(Z);if(X==="")throw new z3("Cannot write to the volume root");let J=typeof Q==="string"?new TextEncoder().encode(Q):Q;if(J.byteLength>this.maxFileBytes)throw new vA(`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 z3(`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 qc(`${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 vA(`Write would exceed the volume quota of ${this.volumeQuotaBytes} bytes`)}await this.ensureDirs($,X,Y.actor),await this.storage.put(eW($,X),J,{contentType:Y.contentType??f7(X)});try{return await L8(()=>this.manifest.putFile({organizationId:this.organizationId,volume:$,path:X,parent:Tc(X),contentHash:q1$(J),size:J.byteLength,actor:Y.actor,threadId:Y.threadId??null}))}catch(K){throw console.error("org-fs manifest write lost after object put",{organizationId:this.organizationId,volume:$,path:X,size:J.byteLength,error:K instanceof Error?K.message:String(K)}),K}}async mkdir($,Z,Q){y7($);let Y=N5(Z);if(Y==="")return;if((await this.manifest.get(this.organizationId,$,Y))?.kind==="file")throw new z3(`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:Tc(Y),actor:Q.actor})}async delete($,Z,Q){y7($);let Y=N5(Z);if(Y==="")throw new z3("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(eW($,G.path)))),await this.manifest.tombstoneSubtree(this.organizationId,$,Y,Q.actor);return}await this.storage.delete(eW($,Y)),await this.manifest.tombstone(this.organizationId,$,Y,Q.actor)}async move($,Z,Q,Y){y7($);let X=N5(Z),J=N5(Q);if(X===""||J==="")throw new z3("Cannot move the volume root");if(J===X||J.startsWith(`${X}/`))throw new z3(`Cannot move ${X} onto itself or into its own subtree`);let G=await this.manifest.get(this.organizationId,$,X);if(!G)throw new YJ(`No such path: ${X}`);if(G.kind==="file"){let H=await this.storage.getBytes(eW($,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(eW($,H.path));await this.write($,`${J}/${F}`,U,{...Y,skipVolumeQuota:!0})}for(let H of K){let F=H.path.slice(X.length+1);await this.mkdir($,`${J}/${F}`,Y)}await this.delete($,X,Y)}async filesExist($,Z){y7($);let Q=await this.manifest.liveFilePaths({organizationId:this.organizationId,volume:$,paths:Z.map((Y)=>N5(Y))});return new Set(Q)}async recent($){return this.manifest.recentFiles({organizationId:this.organizationId,limit:$})}async changes($,Z,Q=V94){y7($);let Y=Z||"0";if(!/^\d+$/.test(Y))throw new z3(`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=U30($),Y,X=0;do{let J=await this.storage.list({prefix:Q,maxKeys:I94,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:Tc(W),contentHash:q1$(K),size:K.byteLength,actor:Z.actor}),X++}Y=J.isTruncated?J.nextContinuationToken:void 0}while(Y);return X}async requireFile($,Z){y7($);let Q=N5(Z),Y=await this.manifest.get(this.organizationId,$,Q);if(!Y||Y.kind!=="file")throw new YJ(`No such file: ${Q}`);return Y}async ensureDirs($,Z,Q){for(let Y of Zj(Z))await this.manifest.putDir({organizationId:this.organizationId,volume:$,path:Y,parent:Tc(Y),actor:Q})}}var V94=500,I94=1000,k94=524288000,C94=10737418240,vA,z3,qc,YJ;var vU=L(()=>{n$();cH();QY();hs0();vA=class vA extends Error{constructor($){super($);this.name="OrgFsQuotaError"}};z3=class z3 extends Error{constructor($){super($);this.name="OrgFsValidationError"}};qc=class qc extends Error{constructor($){super($);this.name="OrgFsConflictError"}};YJ=class YJ extends Error{constructor($){super($);this.name="OrgFsNotFoundError"}}});import{existsSync as _94}from"fs";import{join as M1$}from"path";import{z as bU}from"zod";function ZK($){return $.startsWith(V1$)}function Qj($){return`${V1$}${$}`}function f94($){let Z=new Map(I1$.map((Q)=>[Q.set,Q]));if($)try{for(let Q of x94.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 QK(){let $=B0(),Z=f94($.orgFsPublicSetsJson);if($.nodeEnv==="production")return Z;return Z.map((Q)=>Q===I1$[0]&&_94(M1$(R1$,Q.paths[0].from))?{...Q,dir:R1$}:Q)}function Ra($){let Z=QJ(),Q=Z?P3(Z,qa):new rW(qa,$.baseUrl);return new $K(Q,$.storage.orgFsEntries,qa)}var qa="org_orgfs_public_skills",V1$="public-",v94,b94,I1$,x94,R1$;var Yj=L(()=>{u1();$j();Ac();vU();v94=bU.object({from:bU.string(),to:bU.string().optional()}),b94=bU.object({set:bU.string().regex(/^[a-z0-9][a-z0-9-]{0,40}$/),repo:bU.string().regex(/^[\w.-]+\/[\w.-]+$/),ref:bU.string().min(1),paths:bU.array(v94).min(1),dir:bU.string().optional()}),I1$=[{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"}]}],x94=bU.array(b94).refine(($)=>new Set($.map((Z)=>Z.set)).size===$.length,{message:"duplicate set names"});R1$=M1$(import.meta.dir,"../../../..")});function yD($){if(typeof $==="string")return $.length>0?[$]:[];if(Array.isArray($))return $.flatMap(yD);if($!==null&&typeof $==="object")return Object.values($).flatMap(yD);return[]}var y0;var S5=L(()=>{y0=class y0 extends Error{provider;status;retryAfterMs;constructor($){super($.message,{cause:$.cause});this.name="GitProviderError",this.provider=$.provider,this.status=$.status,this.retryAfterMs=$.retryAfterMs??null}get isRateLimited(){return this.status===429||this.retryAfterMs!==null}get isAuthFailure(){return this.status===401||this.status===403}}});import{sql as Xj}from"kysely";function us0($){if($===null)return null;return $ instanceof Date?$.toISOString():String($)}function mH($){return{organizationId:$.organization_id,volume:$.volume,path:$.path,parent:$.parent,kind:$.kind,contentHash:$.content_hash,size:Number($.size),seq:String($.seq),deletedAt:us0($.deleted_at),createdBy:$.created_by,createdAt:us0($.created_at)??"",updatedBy:$.updated_by,updatedAt:us0($.updated_at)??"",threadId:$.thread_id,readPublic:$.read_public,shareMode:!$.read_public?"private":$.share_password_hash?"password":"public"}}class Va{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:B30,read_public:Xj`case when org_fs_entry.deleted_at is not null then false else org_fs_entry.read_public end`,thread_id:Xj`coalesce(cast(${Q} as text), org_fs_entry.thread_id)`})).returning(dH).executeTakeFirstOrThrow();return mH(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:B30,read_public:Xj`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(dH).executeTakeFirst();return Y?mH(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(dH).orderBy("path","asc").execute()).map((X)=>mH(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(dH).execute()).map((Y)=>mH(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(dH).execute()).map((Y)=>mH(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",`${Ma(Q)}/%`).select(dH).execute()).map((X)=>mH(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",`${Ma(Q)}/%`).select(dH).execute()).map((X)=>mH(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:B30}).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:B30}).where("organization_id","=",$).where("volume","=",Z).where("deleted_at","is",null).where((X)=>X.or([X("path","=",Q),X("path","like",`${Ma(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(dH).executeTakeFirst();return Q?mH(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"),Xj`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(dH).orderBy("seq","desc").limit($.limit).execute()).map((Q)=>mH(Q))}async searchFiles($){if($.volumes&&$.volumes.length===0)return[];let Z=Ma($.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",`${Ma($.pathPrefix)}/%`);if($.beforeSeq)Q=Q.where("seq","<",Xj`cast(${$.beforeSeq} as bigint)`);return(await Q.select(dH).orderBy("seq","desc").limit($.limit).execute()).map((X)=>mH(X))}async changesSince($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).where("seq",">",Xj`cast(${$.sinceSeq} as bigint)`).select(dH).orderBy("seq","asc").limit($.limit).execute()).map((Q)=>mH(Q))}async latestSeq($){return(await this.db.selectFrom("org_fs_entry").where("organization_id","=",$.organizationId).where("volume","=",$.volume).select(Xj`max(seq)`.as("seq")).executeTakeFirst())?.seq??"0"}}function Ma($){return $.replace(/[\\%_]/g,"\\$&")}var dH,B30;var ls0=L(()=>{dH=["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"],B30=Xj`nextval('org_fs_entry_seq')`});import{createHash as y94}from"crypto";import{readdir as g94,readFile as h94,stat as u94}from"fs/promises";import{join as k1$}from"path";import{gunzipSync as l94}from"zlib";function ms0($,Z,Q){let Y=Z,X=Z+Q;while(Y<X&&$[Y]!==0)Y++;return new TextDecoder().decode($.subarray(Z,Y))}function m94($,Z,Q){let Y=ms0($,Z,Q).trim();return Y===""?0:Number.parseInt(Y,8)}function d94($){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=ms0(J,0,100),W=ms0(J,345,155);if(W)G=`${W}/${G}`;let K=m94(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 i94($,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 C1$($,Z){if($.length>Rc)throw Error(`tarball for ${Z} exceeds ${Rc} bytes`);let Q=d94(new Uint8Array(l94($,{maxOutputLength:c94}))),Y=new Map;for(let[X,J]of Q){let G=X.indexOf("/");if(G===-1)continue;let W=X.slice(G+1);if(W)Y.set(W,J)}return Y}function S1$($,Z,Q){if($>Z)throw Error(`tarball for ${Q} exceeds ${Z} bytes`)}async function p94($,Z){let Q=[],Y=0,X=$.getReader();try{while(!0){let{done:W,value:K}=await X.read();if(W)break;Y+=K.length,S1$(Y,Rc,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 _1$($){if($ instanceof ds0)return $.status>=500||$.status===429;if($ instanceof y0)return $.status===0||$.status>=500||$.status===429;if($ instanceof Error&&/declares .* bytes|exceeds .* bytes/.test($.message))return!1;return!0}async function n94($,Z,Q){let{url:Y,headers:X}=i94($,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 ds0(W.status,`tarball fetch failed for ${J}: HTTP ${W.status}`);let K=Number(W.headers.get("content-length")??0);if(K>Rc)throw Error(`tarball for ${J} declares ${K} bytes (cap ${Rc})`);let H=new Uint8Array(await W.arrayBuffer());return S1$(H.length,Rc,J),H};try{let W=await L8(G,{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:_1$});return C1$(W,J)}catch(W){if(W instanceof e6)throw W.cause instanceof Error?W.cause:W;throw W}}async function t94($,Z){let Q=new Map;for(let{from:Y}of Z){let X=k1$($,Y);for(let J of await g94(X,{recursive:!0})){let G=k1$(X,J);if(!(await u94(G)).isFile())continue;Q.set(Y?`${Y}/${J}`:J,new Uint8Array(await h94(G)))}}return Q}async function o94($,Z){if($.dir)return t94($.dir,$.paths);if(!Z.tarball)return n94($.repo,$.ref,Z.authToken);let Q=Z.tarball,Y=`${$.repo}@${$.ref}`,X;try{X=await L8(()=>Q(),{maxAttempts:3,minTimeout:500,maxTimeout:4000,jitter:0.5,isRetriable:_1$})}catch(J){throw J instanceof e6&&J.cause instanceof Error?J.cause:J}if(!X)throw Error(`tarball not found for ${Y}`);return C1$(await p94(X,Y),Y)}function s94($,Z){let Q=new Map;for(let{from:Y,to:X}of Z){let J=Y===""?"":`${Y.replace(/\/+$/,"")}/`;for(let[G,W]of $){if(!G.startsWith(J))continue;let K=G.slice(J.length);if(!K)continue;let H=N5(X?`${X}/${K}`:K);if(H)Q.set(H,W)}}return Q}function r94($,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 a94($){return y94("sha256").update($).digest("hex")}function e94($){return $.manifestHash===$.hash&&$.storedPaths.has($.path)}async function $Z4($,Z){let Q=U30(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 is0($,Z){let{orgId:Q,volume:Y,source:X}=Z,J=QJ(),G=J?P3(J,Q):new rW(Q,Z.baseUrl),W=new Va($),K=new $K(G,W,Q),H=s94(await o94(X,Z),X.paths),F=new Map((await W.listVolumeFiles(Q,Y)).map((w)=>[w.path,w.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 w of F.keys()){if(H.has(w))continue;await K.delete(Y,w,{actor:cs0}),U++}let N=await W.listVolumeDirs(Q,Y);for(let w of r94(H.keys(),N.map((j)=>j.path)))await K.delete(Y,w,{actor:cs0});let B=0,D=0,O=await $Z4(G,Y);for(let[w,j]of H){if(e94({hash:a94(j),manifestHash:F.get(w),storedPaths:O,path:w})){D++;continue}await K.write(Y,w,j,{actor:cs0,contentType:f7(w),skipVolumeQuota:Z.skipVolumeQuota}),B++}return{written:B,deleted:U,unchanged:D}}async function ZZ4($,Z,Q){let Y=await is0($,{orgId:qa,baseUrl:Q.baseUrl,volume:Qj(Z.set),source:Z,skipVolumeQuota:!0});return{set:Z.set,...Y}}async function ps0($,Z,Q){try{return await ZZ4($,Z,Q)}catch(Y){return{set:Z.set,error:Y instanceof Error?Y.message:String(Y)}}}async function v1$($,Z){let Q=[];for(let Y of QK())Q.push(await ps0($,Y,Z));return Q}var cs0="system:skill-set-sync",Rc=209715200,c94=1073741824,ds0;var D30=L(()=>{n$();S5();ls0();Ac();$j();cH();vU();QY();Yj();ds0=class ds0 extends Error{status;constructor($,Z){super(Z);this.status=$;this.name="TarballHttpError"}}});import{DBOS as L30,SchedulerMode as QZ4}from"@dbos-inc/dbos-sdk";function b1$($){ns0=$}function XZ4(){if(!ns0)throw Error("[org-fs] public-sets sync runtime not initialized \u2014 setPublicSetsSyncRuntime() must run before the workflow fires");return ns0}async function JZ4($,Z){for(let Q of QK()){let Y=await L30.runStep(()=>{let X=XZ4();return ps0(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 x1$(){if(Ia)return;Ia=L30.registerWorkflow(JZ4,{name:"publicSetsSyncWorkflow"}),L30.registerScheduled(Ia,{name:"publicSetsSyncWorkflow",crontab:YZ4,mode:QZ4.ExactlyOncePerIntervalWhenActive})}async function f1$(){if(QK().length===0||!Ia)return;let $=new Date,Z=`public-sets-sync-boot:${$.toISOString().slice(0,13)}`;await L30.startWorkflow(Ia,{workflowID:Z})($,$)}var YZ4="4,14,24,34,44,54 * * * *",ns0=null,Ia=null;var y1$=L(()=>{Yj();D30()});import{createHash as g1$}from"crypto";class ts0{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:g1$("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:g1$("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 h1$=()=>{};import{jwtVerify as GZ4,SignJWT as u1$}from"jose";import{randomBytes as WZ4}from"crypto";function l1$(){if(ka)return ka;let $=B0(),Z=$.studioJwtSecret??$.betterAuthSecret;if(Z)ka=new TextEncoder().encode(Z);else console.warn("STUDIO_JWT_SECRET not set - generating random secret (not persistent)"),ka=new Uint8Array(WZ4(32));return ka}async function c1$($,Z="5m"){let Q=l1$();return await new u1$($).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Z).sign(Q)}async function os0($){try{let Z=l1$(),{payload:Q}=await GZ4($,Z);return Q}catch{return}}async function BQ($,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 u1$({iss:"mesh",sub:$,...Z&&{email:Z}}).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Math.floor(Date.now()/1000)+Q).sign(J)}var ka=null;var iH=L(()=>{u1()});import{createCipheriv as KZ4,createDecipheriv as HZ4,createHash as FZ4,randomBytes as m1$}from"crypto";class XJ{key;constructor($){if(Buffer.from($,"base64").length===p1$)this.key=Buffer.from($,"base64");else this.key=FZ4("sha256").update($).digest()}async encrypt($){let Z=m1$(Ca),Q=KZ4(d1$,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,Ca),Y=Z.subarray(Ca,Ca+i1$),X=Z.subarray(Ca+i1$),J=HZ4(d1$,this.key,Q);J.setAuthTag(Y);let G=J.update(X);return G=Buffer.concat([G,J.final()]),G.toString("utf8")}static generateKey(){return m1$(p1$).toString("base64")}}var d1$="aes-256-gcm",Ca=16,i1$=16,p1$=32;var Jj=()=>{};function h9(){let $=B0();if($.baseUrl)return $.baseUrl;return`http://localhost:${$.port??3000}`}function n1$(){return`http://localhost:${B0().port??3000}`}function B5(){return B0().publicUrl??h9()}var H9=L(()=>{u1()});function Mc($){return $.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}import{z as UZ4}from"zod";function _a($){return bA.safeParse($).success}function va($,Z){let Q=Mc($??"").slice(0,Sa).replace(/-+$/,"");return _a(Q)?Q:Z}function ss0($,Z){if(Z<=1)return $;let Q=`-${Z}`;return`${$.slice(0,Sa-Q.length).replace(/-+$/,"")}${Q}`}var NZ4=2,Sa=64,BZ4,DZ4,bA;var Gj=L(()=>{BZ4=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,DZ4=new Set(["new","edit","settings","apps","projects","connections"]),bA=UZ4.string().min(NZ4).max(Sa).regex(BZ4,"Use lowercase letters, digits, and single hyphens between them").refine(($)=>!$.includes("--"),"Use single hyphens").refine(($)=>!DZ4.has($),"This slug is reserved")});import{z as v0}from"zod";function es0($){let Z=$?.homeTiles;if(Array.isArray(Z)&&Z.length>0)return Z;let Q=$?.homeTile;return Q?[Q]:[]}function gD($){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]=$r0.parse(X)}catch{}}return Q}function Zr0($){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=gD(G);if(Object.keys(W).length>0)X[J]=W}if(Object.keys(X).length>0)Z[Q]=X}return Z}var s1$,rs0=500,r1$=200,LZ4=200,OZ4=20,wZ4=50,jZ4=100,EZ4=20,PZ4=100,a1$=300,zZ4=100,AZ4=8192,e1$,TZ4,$$$,as0,qZ4,RZ4,Z$$,t1$,MZ4,O30,o1$,VZ4,IZ4,w30,kZ4,CZ4,$r0,Q$$,SZ4,_Z4,vZ4,bZ4,xZ4,fZ4,yZ4,Y$$,gZ4,Qr0,nY,Yr0,j30,E30;var Xr0=L(()=>{Gj();s1$=v0.object({connection_id:v0.string().describe("Connection ID"),selected_tools:v0.array(v0.string()).nullable().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).nullable().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),e1$=s1$.extend({selected_tools:v0.array(v0.string()).max(rs0).nullable().optional().describe("Selected tool names. null = all tools included, array = only these tools included"),selected_resources:v0.array(v0.string()).max(rs0).nullable().optional().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. null = all resources included, array = only these resources included"),selected_prompts:v0.array(v0.string()).max(rs0).nullable().optional().describe("Selected prompt names. null = all prompts included, array = only these prompts included")}),TZ4=v0.object({connectionId:v0.string(),toolName:v0.string(),label:v0.string(),icon:v0.string().nullable().optional()}),$$$=v0.object({id:v0.string().describe("Stable id; used as React key and ?tab= value"),title:v0.string().describe("Tab label"),icon:v0.string().optional().describe("Optional lucide icon name"),view:v0.object({type:v0.literal("ext-app"),appId:v0.string(),args:v0.record(v0.string(),v0.unknown()).optional()})}),as0=v0.enum(["overview","reports","board","site-editor","assets","releases","hosting","e2e","analytics","cdn","automations","experiments"]),qZ4=v0.enum(["on","off"]),RZ4=v0.enum(["on","off","manual","auto"]),Z$$=v0.object({defaultMainView:v0.object({type:v0.string(),id:v0.string().optional(),toolName:v0.string().optional()}).nullable().optional(),chatDefaultOpen:v0.boolean().nullable().optional(),cmsDefaultOpen:v0.boolean().nullable().optional(),cms:RZ4.nullable().optional().describe("How this agent offers content editing. Absent means on; the retired `manual` / `auto` read as on too."),sidebarViews:v0.array(as0).max(10).nullable().optional().describe("Deprecated layout-scoped sidebar selections. Read only as a fallback when metadata.sidebarViews is absent."),tabs:v0.array($$$).max(EZ4).optional()}),t1$=v0.object({tileId:v0.string().optional(),connectionId:v0.string().optional().describe("Connection that owns the resource \u2014 the host opens a direct MCP client to this connection so the iframe can call tools by their bare names."),resourceUri:v0.string().describe("ui:// resource URI exposed by `connectionId`. Read on the home page and rendered via MCPAppRenderer."),toolName:v0.string().optional().describe("Tool name \u2014 identifies which tool's inputSchema to display when editing tile props."),toolInput:v0.record(v0.string(),v0.unknown()).optional().describe("User-configured input props passed to MCPAppRenderer when rendering the tile."),minHeight:v0.number().int().positive().optional(),maxHeight:v0.number().int().positive().optional()}),MZ4=v0.object({banner:v0.string().nullable().optional(),bannerColor:v0.string().nullable().optional(),icon:v0.string().nullable().optional(),themeColor:v0.string().nullable().optional(),pinnedViews:v0.array(TZ4).max(jZ4).nullable().optional(),layout:Z$$.nullable().optional(),homeTile:t1$.nullable().optional(),homeTiles:v0.array(t1$).max(OZ4).nullable().optional(),homePrompts:v0.array(v0.string()).max(wZ4).nullable().optional()});O30=/^[A-Za-z_][A-Za-z0-9_]*$/,o1$=v0.string().min(1).regex(O30,{message:"Env var key must start with a letter or underscore and contain only letters, digits, and underscores."}),VZ4=v0.discriminatedUnion("kind",[v0.object({key:o1$,kind:v0.literal("literal"),value:v0.string().max(AZ4)}),v0.object({key:o1$,kind:v0.literal("secret"),secretId:v0.string().min(1)})]),IZ4=v0.object({selected:v0.string().nullable().optional().describe("User-selected package manager (npm | pnpm | yarn | bun | deno). Null/absent means autodetect on next SANDBOX_START."),port:v0.string().nullable().optional().describe("User-selected dev server port as a string (allows '' / null for unset). Null/absent means autodetect."),path:v0.string().nullable().optional().describe("Optional path (relative to repo root) to the directory containing package.json. Null/absent means repo root. Forwarded as `application.packageManager.path` to the daemon config."),env:v0.array(VZ4).max(zZ4).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.")}),w30=v0.object({url:v0.string().describe("Repository URL, including its provider host"),owner:v0.string().describe("Repository owner"),name:v0.string().describe("Repository name"),installationId:v0.number().optional().describe("GitHub App installation ID. Absent when the repo was linked without a GitHub connection (public-clone mode)."),connectionId:v0.string().optional().describe("ID of the mcp-github connection used for authentication. Absent for public repos cloned without credentials."),repositoryId:v0.string().optional().describe("First-class repository (REPOSITORY_LINK) backing this binding. When set, credentials come from the repository's git provider account rather than connectionId.")}),kZ4=v0.enum(["agent-sandbox","local-api"]),CZ4={sandboxHandle:v0.string().describe("Provider-specific handle"),previewUrl:v0.string().nullable().describe("URL where the sandbox's iframe-proxied UI is served, or null when the sandbox has no dev server (blank / tool sandboxes)."),sandboxApiUrl:v0.string().nullable().optional().describe("Direct sandbox API URL for runtimes that expose one. Equal to previewUrl for local-api; null/absent for AgentSandbox, which routes control traffic through hosted Studio."),createdAt:v0.number().optional().describe("Epoch ms the entry was first written by SANDBOX_START. Used by the booting overlay to show a stable elapsed timer that survives browser reloads. Optional for backward compatibility with entries written before this field existed."),startedWith:v0.object({packageManager:v0.string().nullable().optional().describe("metadata.runtime.selected at the time of SANDBOX_START"),port:v0.string().nullable().optional().describe("metadata.runtime.port at the time of SANDBOX_START"),path:v0.string().nullable().optional().describe("metadata.runtime.path at the time of SANDBOX_START")}).optional().describe("Snapshot of metadata.runtime fields (selected/port/path) used at SANDBOX_START. The Preview tab compares the live metadata.runtime against this to decide if a restart is required to apply changes.")},$r0=v0.object(CZ4);Q$$=v0.record(v0.string().describe("userId"),v0.record(v0.string().describe("branch"),v0.partialRecord(kZ4,$r0)));SZ4=v0.object({id:v0.string().describe("Stable identifier for this knowledge file"),name:v0.string().describe("File name shown in the UI"),kind:v0.enum(["file","skill"]).optional().describe("'file' (a single document) or 'skill' (a Claude Code skill folder containing SKILL.md). Defaults to 'file'."),volume:v0.string().describe("Org filesystem (Library) volume the file lives in"),path:v0.string().describe("Path within the volume"),url:v0.string().describe("Same-origin URL to read the file (display/download)"),contentType:v0.string().nullable().optional().describe("MIME type, used to decide whether to inline the content"),size:v0.number().nullable().optional().describe("File size in bytes"),addedAt:v0.string().describe("ISO timestamp when the file was attached")}),_Z4=v0.array(SZ4).max(PZ4).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."),vZ4=v0.enum(["smart","code-review","open"]),bZ4=vZ4.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."),xZ4=v0.boolean().nullable().optional().describe("Enable Fast Preview (sandbox-less): render the draft instantly on the preview server's own page via a ?__draft pointer, with reads/writes served by the decofile API against GitHub. Requires previewServerUrl (or legacy productionUrl) to be set to take effect."),fZ4=v0.boolean().nullable().optional().describe("EXPERIMENTAL: with Fast Preview on, refresh content edits via an in-place /live/previews render (no commit, no reload) instead of a commit + re-navigation. Deco-runtime preview targets only. Requires fastPreview."),yZ4=v0.string().nullable().optional().describe("Preview server URL \u2014 the deployment the CMS preview renders against (often the live site, e.g. https://acme.com). Painted in the preview iframe, and the render target for Fast Preview drafts. Supersedes the legacy productionUrl key."),Y$$=v0.object({branch:v0.string().describe("Git branch backing this release"),name:v0.string().describe('User-facing name, e.g. "Black Friday 2026"'),color:v0.string().describe("Dot color token shown in the version switcher"),createdBy:v0.string().optional().describe("User ID who created the release"),createdAt:v0.string().optional().describe("ISO 8601 creation timestamp")}),gZ4=v0.array(Y$$).max(a1$).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."),Qr0={instructions:v0.string().nullable().optional().describe("Instructions also used as system prompt"),subAgents:v0.array(v0.string()).max(LZ4).nullable().optional().describe("Allowlist of Virtual MCP (agent) or concrete MCP connection IDs this agent may delegate to via subtask. Concrete connections create ephemeral subagents. null/absent = all active org targets; empty array = itself only."),liveAgentId:v0.string().nullable().optional().describe("ID of the live agent this (dev) agent develops. Set only on dev agents; powers the Develop/Live toggle. A dev agent is hidden from the sidebar (reached via the toggle on its live counterpart)."),ui:MZ4.nullable().optional().describe("UI customization settings"),sidebarViews:v0.array(as0).max(10).nullable().optional().describe("Project views selected for the sidebar. Interpret as an exact list when sidebarViewsVersion is 1; unversioned values use legacy native-only semantics. Runtime presence gates still apply."),sidebarViewsVersion:v0.literal(1).optional().describe("Version 1 marks metadata.sidebarViews as an exact list that can disable legacy default rows."),repository:w30.nullable().optional().describe("Linked repository"),runtime:IZ4.nullable().optional().describe("User-pinned runtime config (package manager, dev port). Empty fields = autodetect."),knowledge:_Z4,siteSlug:v0.string().nullable().optional().describe("The project's site id (asset tenancy, CDN paths, site tokens). Set once when the site is created or imported; any write that would change it is refused."),publishPolicy:bZ4,previewServerUrl:yZ4,productionUrl:v0.string().nullable().optional().describe("Legacy key for previewServerUrl \u2014 still read as a fallback. New writes use previewServerUrl."),fieldDescriptionTooltips:v0.boolean().nullable().optional().describe("Blocks form: opt in to showing a field's schema description as a hover tooltip on its title, instead of the default inline text below the title."),fastPreview:xZ4,releases:gZ4,fastPreviewInPlace:fZ4},nY=v0.object({id:v0.string().describe("Unique identifier"),title:v0.string().describe("Human-readable name"),url_slug:v0.string().nullable().optional().describe("Name of the project in Studio URLs, unique in the organization"),description:v0.string().nullable().describe("Description"),icon:v0.string().nullable().describe("Icon URL"),created_at:v0.string().describe("Creation timestamp"),updated_at:v0.string().describe("Last update timestamp"),created_by:v0.string().describe("User ID who created this item"),updated_by:v0.string().optional().describe("User ID who last updated this item"),organization_id:v0.string().describe("Organization ID this item belongs to"),status:v0.enum(["active","inactive"]).describe("Current status"),pinned:v0.boolean().describe("Whether this space is pinned to the sidebar"),metadata:v0.object(Qr0).extend({instructions:v0.string().nullable().describe("Instructions also used as system prompt"),sandboxMap:Q$$.optional().describe("Per-user, per-branch sandbox mapping: sandboxMap[userId][branch] -> { sandboxHandle, previewUrl }")}).loose().describe("Metadata"),connections:v0.array(s1$).describe("Connections with their selected tools, resources, and prompts")}),Yr0=v0.object({title:v0.string().min(1).max(120).describe("Short label shown on the chip"),description:v0.string().max(280).optional().describe("One-line subtitle shown under the title"),text:v0.string().min(1).max(4000).describe("The message sent to the agent when the prompt is clicked")}),j30=v0.object({title:v0.string().min(1).max(255).describe("Name for the virtual MCP"),description:v0.string().max(500).nullable().optional().describe("Optional description"),icon:v0.string().nullish().describe("Optional icon URL"),status:v0.enum(["active","inactive"]).optional().default("active").describe("Initial status"),pinned:v0.boolean().optional().default(!1).describe("Pin to sidebar"),metadata:v0.object(Qr0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(e1$).max(r1$).describe("Connections to include/exclude (can be empty for exclusion mode)"),prompts:v0.array(Yr0).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.")}),E30=v0.object({title:v0.string().min(1).max(255).optional().describe("New name"),url_slug:bA.nullish().describe("New URL slug. The old one keeps redirecting. Renaming does not change it. null keeps the current slug."),description:v0.string().max(500).nullable().optional().describe("New description (null to clear)"),icon:v0.string().nullish().describe("New icon URL"),status:v0.enum(["active","inactive"]).optional().describe("New status"),pinned:v0.boolean().optional().describe("Pin/unpin from sidebar"),metadata:v0.object(Qr0).loose().superRefine(($,Z)=>{if("sandboxMap"in $)Z.addIssue({code:"custom",path:["sandboxMap"],message:"sandboxMap is managed by the sandbox lifecycle"})}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:v0.array(e1$).max(r1$).optional().describe("New connections (replaces existing)"),prompts:v0.array(Yr0).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 J$$($){return $==="repository"||$==="additionalRepositories"?Gr0[$]:$}function G$$($){return $!==null&&typeof $==="object"&&!Array.isArray($)?$:null}function X$$($){let Z=G$$($),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=w30.safeParse(Q?{...Z,url:Q}:$);if(!Y.success)return null;try{return Jr0(Y.data)??null}catch{return null}}function pH($){let Z=G$$($);if(!Z)return null;let Q={...Z};for(let[Y,X]of Object.entries(Gr0)){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=X$$(J);else Q.additionalRepositories=J===null?null:Array.isArray(J)?J.map(X$$).filter((G)=>G!==null):[]}return Q}function Jr0($){if($===null||$===void 0)return $;let Z=w30.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 xU($){if(!$)return null;let Z={...$};for(let[Q,Y]of Object.entries(Gr0)){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]=Jr0(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)=>Jr0(J))}}return Z}var Gr0;var ba=L(()=>{Xr0();Gr0={repository:"githubRepo",additionalRepositories:"githubRepos"}});import*as g from"zod/v4";function A$$($){if($.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${$.params.ref.type}`)}function T$$($){if($.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${$.params.ref.type}`)}var Wj="2025-11-25",W$$="2025-03-26",Kj,Hj="io.modelcontextprotocol/related-task",z30="2.0",g7,K$$,H$$,Hg5,hZ4,uZ4,Wr0,A3,xa,F$$=($)=>xa.safeParse($).success,YY,YK,XK,XY,A30,U$$,fU=($)=>U$$.safeParse($).success,N$$,B$$=($)=>N$$.safeParse($).success,Kr0,nH=($)=>Kr0.safeParse($).success,l1,Hr0,Ic=($)=>Hr0.safeParse($).success,T3,Fg5,hD,lZ4,T30,cZ4,fa,Vc,D$$,mZ4,dZ4,iZ4,pZ4,nZ4,tZ4,q30,Fr0=($)=>q30.safeParse($).success,oZ4,Ur0,R30,L$$=($)=>R30.safeParse($).success,M30,sZ4,rZ4,V30,aZ4,ya,ga,eZ4,ha,uD,$74,ua,I30,k30,C30,Ug5,S30,_30,v30,O$$,w$$,j$$,Nr0,E$$,la,kc,P$$,Z74,Fj,Br0,Uj,Dr0,Lr0,Q74,Cc,Or0,wr0,Y74,X74,J74,G74,W74,K74,H74,F74,Nj,jr0,U74,Sc,Er0,Pr0,zr0,N74,B74,D74,Ar0,L74,Tr0,qr0,O74,w74,b30,_c,ca,yU,Ng5,j74,Bj,Rr0,z$$,ma,E74,Mr0,P74,z74,A74,T74,q74,R74,M74,P30,V74,I74,Vr0,xA,da,k74,C74,S74,_74,v74,b74,x74,f74,y74,g74,h74,u74,l74,c74,m74,Ir0,d74,i74,Dj,p74,n74,t74,x30,kr0,o74,s74,Cr0,r74,Bg5,Dg5,Lg5,Og5,wg5,jg5,x1,q$$;var VZ=L(()=>{Kj=[Wj,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],g7=g.custom(($)=>$!==null&&(typeof $==="object"||typeof $==="function")),K$$=g.union([g.string(),g.number().int()]),H$$=g.string(),Hg5=g.looseObject({ttl:g.number().optional(),pollInterval:g.number().optional()}),hZ4=g.object({ttl:g.number().optional()}),uZ4=g.object({taskId:g.string()}),Wr0=g.looseObject({progressToken:K$$.optional(),[Hj]:uZ4.optional()}),A3=g.object({_meta:Wr0.optional()}),xa=A3.extend({task:hZ4.optional()}),YY=g.object({method:g.string(),params:A3.loose().optional()}),YK=g.object({_meta:Wr0.optional()}),XK=g.object({method:g.string(),params:YK.loose().optional()}),XY=g.looseObject({_meta:Wr0.optional()}),A30=g.union([g.string(),g.number().int()]),U$$=g.object({jsonrpc:g.literal(z30),id:A30,...YY.shape}).strict(),N$$=g.object({jsonrpc:g.literal(z30),...XK.shape}).strict(),Kr0=g.object({jsonrpc:g.literal(z30),id:A30,result:XY}).strict();(function($){$[$.ConnectionClosed=-32000]="ConnectionClosed",$[$.RequestTimeout=-32001]="RequestTimeout",$[$.ParseError=-32700]="ParseError",$[$.InvalidRequest=-32600]="InvalidRequest",$[$.MethodNotFound=-32601]="MethodNotFound",$[$.InvalidParams=-32602]="InvalidParams",$[$.InternalError=-32603]="InternalError",$[$.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(l1||(l1={}));Hr0=g.object({jsonrpc:g.literal(z30),id:A30.optional(),error:g.object({code:g.number().int(),message:g.string(),data:g.unknown().optional()})}).strict(),T3=g.union([U$$,N$$,Kr0,Hr0]),Fg5=g.union([Kr0,Hr0]),hD=XY.strict(),lZ4=YK.extend({requestId:A30.optional(),reason:g.string().optional()}),T30=XK.extend({method:g.literal("notifications/cancelled"),params:lZ4}),cZ4=g.object({src:g.string(),mimeType:g.string().optional(),sizes:g.array(g.string()).optional(),theme:g.enum(["light","dark"]).optional()}),fa=g.object({icons:g.array(cZ4).optional()}),Vc=g.object({name:g.string(),title:g.string().optional()}),D$$=Vc.extend({...Vc.shape,...fa.shape,version:g.string(),websiteUrl:g.string().optional(),description:g.string().optional()}),mZ4=g.intersection(g.object({applyDefaults:g.boolean().optional()}),g.record(g.string(),g.unknown())),dZ4=g.preprocess(($)=>{if($&&typeof $==="object"&&!Array.isArray($)){if(Object.keys($).length===0)return{form:{}}}return $},g.intersection(g.object({form:mZ4.optional(),url:g7.optional()}),g.record(g.string(),g.unknown()).optional())),iZ4=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({sampling:g.looseObject({createMessage:g7.optional()}).optional(),elicitation:g.looseObject({create:g7.optional()}).optional()}).optional()}),pZ4=g.looseObject({list:g7.optional(),cancel:g7.optional(),requests:g.looseObject({tools:g.looseObject({call:g7.optional()}).optional()}).optional()}),nZ4=g.object({experimental:g.record(g.string(),g7).optional(),sampling:g.object({context:g7.optional(),tools:g7.optional()}).optional(),elicitation:dZ4.optional(),roots:g.object({listChanged:g.boolean().optional()}).optional(),tasks:iZ4.optional(),extensions:g.record(g.string(),g7).optional()}),tZ4=A3.extend({protocolVersion:g.string(),capabilities:nZ4,clientInfo:D$$}),q30=YY.extend({method:g.literal("initialize"),params:tZ4}),oZ4=g.object({experimental:g.record(g.string(),g7).optional(),logging:g7.optional(),completions:g7.optional(),prompts:g.object({listChanged:g.boolean().optional()}).optional(),resources:g.object({subscribe:g.boolean().optional(),listChanged:g.boolean().optional()}).optional(),tools:g.object({listChanged:g.boolean().optional()}).optional(),tasks:pZ4.optional(),extensions:g.record(g.string(),g7).optional()}),Ur0=XY.extend({protocolVersion:g.string(),capabilities:oZ4,serverInfo:D$$,instructions:g.string().optional()}),R30=XK.extend({method:g.literal("notifications/initialized"),params:YK.optional()}),M30=YY.extend({method:g.literal("ping"),params:A3.optional()}),sZ4=g.object({progress:g.number(),total:g.optional(g.number()),message:g.optional(g.string())}),rZ4=g.object({...YK.shape,...sZ4.shape,progressToken:K$$}),V30=XK.extend({method:g.literal("notifications/progress"),params:rZ4}),aZ4=A3.extend({cursor:H$$.optional()}),ya=YY.extend({params:aZ4.optional()}),ga=XY.extend({nextCursor:H$$.optional()}),eZ4=g.enum(["working","input_required","completed","failed","cancelled"]),ha=g.object({taskId:g.string(),status:eZ4,ttl:g.union([g.number(),g.null()]),createdAt:g.string(),lastUpdatedAt:g.string(),pollInterval:g.optional(g.number()),statusMessage:g.optional(g.string())}),uD=XY.extend({task:ha}),$74=YK.merge(ha),ua=XK.extend({method:g.literal("notifications/tasks/status"),params:$74}),I30=YY.extend({method:g.literal("tasks/get"),params:A3.extend({taskId:g.string()})}),k30=XY.merge(ha),C30=YY.extend({method:g.literal("tasks/result"),params:A3.extend({taskId:g.string()})}),Ug5=XY.loose(),S30=ya.extend({method:g.literal("tasks/list")}),_30=ga.extend({tasks:g.array(ha)}),v30=YY.extend({method:g.literal("tasks/cancel"),params:A3.extend({taskId:g.string()})}),O$$=XY.merge(ha),w$$=g.object({uri:g.string(),mimeType:g.optional(g.string()),_meta:g.record(g.string(),g.unknown()).optional()}),j$$=w$$.extend({text:g.string()}),Nr0=g.string().refine(($)=>{try{return atob($),!0}catch{return!1}},{message:"Invalid Base64 string"}),E$$=w$$.extend({blob:Nr0}),la=g.enum(["user","assistant"]),kc=g.object({audience:g.array(la).optional(),priority:g.number().min(0).max(1).optional(),lastModified:g.iso.datetime({offset:!0}).optional()}),P$$=g.object({...Vc.shape,...fa.shape,uri:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),size:g.optional(g.number()),annotations:kc.optional(),_meta:g.optional(g.looseObject({}))}),Z74=g.object({...Vc.shape,...fa.shape,uriTemplate:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),annotations:kc.optional(),_meta:g.optional(g.looseObject({}))}),Fj=ya.extend({method:g.literal("resources/list")}),Br0=ga.extend({resources:g.array(P$$)}),Uj=ya.extend({method:g.literal("resources/templates/list")}),Dr0=ga.extend({resourceTemplates:g.array(Z74)}),Lr0=A3.extend({uri:g.string()}),Q74=Lr0,Cc=YY.extend({method:g.literal("resources/read"),params:Q74}),Or0=XY.extend({contents:g.array(g.union([j$$,E$$]))}),wr0=XK.extend({method:g.literal("notifications/resources/list_changed"),params:YK.optional()}),Y74=Lr0,X74=YY.extend({method:g.literal("resources/subscribe"),params:Y74}),J74=Lr0,G74=YY.extend({method:g.literal("resources/unsubscribe"),params:J74}),W74=YK.extend({uri:g.string()}),K74=XK.extend({method:g.literal("notifications/resources/updated"),params:W74}),H74=g.object({name:g.string(),description:g.optional(g.string()),required:g.optional(g.boolean())}),F74=g.object({...Vc.shape,...fa.shape,description:g.optional(g.string()),arguments:g.optional(g.array(H74)),_meta:g.optional(g.looseObject({}))}),Nj=ya.extend({method:g.literal("prompts/list")}),jr0=ga.extend({prompts:g.array(F74)}),U74=A3.extend({name:g.string(),arguments:g.record(g.string(),g.string()).optional()}),Sc=YY.extend({method:g.literal("prompts/get"),params:U74}),Er0=g.object({type:g.literal("text"),text:g.string(),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Pr0=g.object({type:g.literal("image"),data:Nr0,mimeType:g.string(),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),zr0=g.object({type:g.literal("audio"),data:Nr0,mimeType:g.string(),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),N74=g.object({type:g.literal("tool_use"),name:g.string(),id:g.string(),input:g.record(g.string(),g.unknown()),_meta:g.record(g.string(),g.unknown()).optional()}),B74=g.object({type:g.literal("resource"),resource:g.union([j$$,E$$]),annotations:kc.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),D74=P$$.extend({type:g.literal("resource_link")}),Ar0=g.union([Er0,Pr0,zr0,D74,B74]),L74=g.object({role:la,content:Ar0}),Tr0=XY.extend({description:g.string().optional(),messages:g.array(L74)}),qr0=XK.extend({method:g.literal("notifications/prompts/list_changed"),params:YK.optional()}),O74=g.object({title:g.string().optional(),readOnlyHint:g.boolean().optional(),destructiveHint:g.boolean().optional(),idempotentHint:g.boolean().optional(),openWorldHint:g.boolean().optional()}),w74=g.object({taskSupport:g.enum(["required","optional","forbidden"]).optional()}),b30=g.object({...Vc.shape,...fa.shape,description:g.string().optional(),inputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()),outputSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),g7).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()).optional(),annotations:O74.optional(),execution:w74.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),_c=ya.extend({method:g.literal("tools/list")}),ca=ga.extend({tools:g.array(b30)}),yU=XY.extend({content:g.array(Ar0).default([]),structuredContent:g.record(g.string(),g.unknown()).optional(),isError:g.boolean().optional()}),Ng5=yU.or(XY.extend({toolResult:g.unknown()})),j74=xa.extend({name:g.string(),arguments:g.record(g.string(),g.unknown()).optional()}),Bj=YY.extend({method:g.literal("tools/call"),params:j74}),Rr0=XK.extend({method:g.literal("notifications/tools/list_changed"),params:YK.optional()}),z$$=g.object({autoRefresh:g.boolean().default(!0),debounceMs:g.number().int().nonnegative().default(300)}),ma=g.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),E74=A3.extend({level:ma}),Mr0=YY.extend({method:g.literal("logging/setLevel"),params:E74}),P74=YK.extend({level:ma,logger:g.string().optional(),data:g.unknown()}),z74=XK.extend({method:g.literal("notifications/message"),params:P74}),A74=g.object({name:g.string().optional()}),T74=g.object({hints:g.array(A74).optional(),costPriority:g.number().min(0).max(1).optional(),speedPriority:g.number().min(0).max(1).optional(),intelligencePriority:g.number().min(0).max(1).optional()}),q74=g.object({mode:g.enum(["auto","required","none"]).optional()}),R74=g.object({type:g.literal("tool_result"),toolUseId:g.string().describe("The unique identifier for the corresponding tool call."),content:g.array(Ar0).default([]),structuredContent:g.object({}).loose().optional(),isError:g.boolean().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),M74=g.discriminatedUnion("type",[Er0,Pr0,zr0]),P30=g.discriminatedUnion("type",[Er0,Pr0,zr0,N74,R74]),V74=g.object({role:la,content:g.union([P30,g.array(P30)]),_meta:g.record(g.string(),g.unknown()).optional()}),I74=xa.extend({messages:g.array(V74),modelPreferences:T74.optional(),systemPrompt:g.string().optional(),includeContext:g.enum(["none","thisServer","allServers"]).optional(),temperature:g.number().optional(),maxTokens:g.number().int(),stopSequences:g.array(g.string()).optional(),metadata:g7.optional(),tools:g.array(b30).optional(),toolChoice:q74.optional()}),Vr0=YY.extend({method:g.literal("sampling/createMessage"),params:I74}),xA=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens"]).or(g.string())),role:la,content:M74}),da=XY.extend({model:g.string(),stopReason:g.optional(g.enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(g.string())),role:la,content:g.union([P30,g.array(P30)])}),k74=g.object({type:g.literal("boolean"),title:g.string().optional(),description:g.string().optional(),default:g.boolean().optional()}),C74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),minLength:g.number().optional(),maxLength:g.number().optional(),format:g.enum(["email","uri","date","date-time"]).optional(),default:g.string().optional()}),S74=g.object({type:g.enum(["number","integer"]),title:g.string().optional(),description:g.string().optional(),minimum:g.number().optional(),maximum:g.number().optional(),default:g.number().optional()}),_74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),default:g.string().optional()}),v74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),oneOf:g.array(g.object({const:g.string(),title:g.string()})),default:g.string().optional()}),b74=g.object({type:g.literal("string"),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),enumNames:g.array(g.string()).optional(),default:g.string().optional()}),x74=g.union([_74,v74]),f74=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({type:g.literal("string"),enum:g.array(g.string())}),default:g.array(g.string()).optional()}),y74=g.object({type:g.literal("array"),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({anyOf:g.array(g.object({const:g.string(),title:g.string()}))}),default:g.array(g.string()).optional()}),g74=g.union([f74,y74]),h74=g.union([b74,x74,g74]),u74=g.union([h74,k74,C74,S74]),l74=xa.extend({mode:g.literal("form").optional(),message:g.string(),requestedSchema:g.object({type:g.literal("object"),properties:g.record(g.string(),u74),required:g.array(g.string()).optional()})}),c74=xa.extend({mode:g.literal("url"),message:g.string(),elicitationId:g.string(),url:g.string().url()}),m74=g.union([l74,c74]),Ir0=YY.extend({method:g.literal("elicitation/create"),params:m74}),d74=YK.extend({elicitationId:g.string()}),i74=XK.extend({method:g.literal("notifications/elicitation/complete"),params:d74}),Dj=XY.extend({action:g.enum(["accept","decline","cancel"]),content:g.preprocess(($)=>$===null?void 0:$,g.record(g.string(),g.union([g.string(),g.number(),g.boolean(),g.array(g.string())])).optional())}),p74=g.object({type:g.literal("ref/resource"),uri:g.string()}),n74=g.object({type:g.literal("ref/prompt"),name:g.string()}),t74=A3.extend({ref:g.union([n74,p74]),argument:g.object({name:g.string(),value:g.string()}),context:g.object({arguments:g.record(g.string(),g.string()).optional()}).optional()}),x30=YY.extend({method:g.literal("completion/complete"),params:t74});kr0=XY.extend({completion:g.looseObject({values:g.array(g.string()).max(100),total:g.optional(g.number().int()),hasMore:g.optional(g.boolean())})}),o74=g.object({uri:g.string().startsWith("file://"),name:g.string().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),s74=YY.extend({method:g.literal("roots/list"),params:A3.optional()}),Cr0=XY.extend({roots:g.array(o74)}),r74=XK.extend({method:g.literal("notifications/roots/list_changed"),params:YK.optional()}),Bg5=g.union([M30,q30,x30,Mr0,Sc,Nj,Fj,Uj,Cc,X74,G74,Bj,_c,I30,C30,S30,v30]),Dg5=g.union([T30,V30,R30,r74,ua]),Lg5=g.union([hD,xA,da,Dj,Cr0,k30,_30,uD]),Og5=g.union([M30,Vr0,Ir0,s74,I30,C30,S30,v30]),wg5=g.union([T30,V30,z74,K74,wr0,Rr0,qr0,ua,i74]),jg5=g.union([hD,Ur0,kr0,Tr0,jr0,Br0,Dr0,Or0,yU,ca,k30,_30,uD]);x1=class x1 extends Error{constructor($,Z,Q){super(`MCP error ${$}: ${Z}`);this.code=$,this.data=Q,this.name="McpError"}static fromError($,Z,Q){if($===l1.UrlElicitationRequired&&Q){let Y=Q;if(Y.elicitations)return new q$$(Y.elicitations,Z)}return new x1($,Z,Q)}};q$$=class q$$ extends x1{constructor($,Z=`URL elicitation${$.length>1?"s":""} required`){super(l1.UrlElicitationRequired,Z,{elicitations:$})}get elicitations(){return this.data?.elicitations??[]}}});import{z as e$}from"zod";function V$$($){return e$.record(e$.string(),e$.unknown()).nullable().refine((Z)=>Z===null||JSON.stringify(Z).length<=M$$,{message:`${$} must serialize to at most ${M$$} bytes`})}function gU($){return $!==null&&$!==void 0&&"command"in $}function vc($){if(!$||!$.startsWith("virtual://"))return null;return $.replace("virtual://","")}function bc($){return`virtual://${$}`}var I$$,R$$,a74,e74,$Q4,M$$=262144,tY,f30,y30;var k$$=L(()=>{Gj();VZ();I$$=e$.object({authorizationEndpoint:e$.string().url(),tokenEndpoint:e$.string().url(),introspectionEndpoint:e$.string().url().optional(),clientId:e$.string(),clientSecret:e$.string().optional(),scopes:e$.array(e$.string()),grantType:e$.enum(["authorization_code","client_credentials"])}),R$$=e$.object({type:e$.literal("object"),properties:e$.record(e$.string(),e$.unknown()).optional(),required:e$.array(e$.string()).optional()}).catchall(e$.unknown()),a74=b30.extend({inputSchema:R$$,outputSchema:R$$.optional()}),e74=e$.object({headers:e$.record(e$.string(),e$.string()).optional()}),$Q4=e$.object({command:e$.string().describe("Command to run (e.g., 'npx', 'node')"),args:e$.array(e$.string()).optional().describe("Command arguments"),cwd:e$.string().optional().describe("Working directory"),envVars:e$.record(e$.string(),e$.string()).optional().describe("Environment variables (encrypted in storage)")});tY=e$.object({id:e$.string().describe("Unique identifier for the connection"),title:e$.string().describe("Human-readable name for the connection"),created_at:e$.string().describe("When the connection was created"),updated_at:e$.string().describe("When the connection was last updated"),created_by:e$.string().describe("User ID who created the connection"),updated_by:e$.string().optional().describe("User ID who last updated the connection"),organization_id:e$.string().describe("Organization ID this connection belongs to"),description:e$.string().nullable().describe("Description of the connection"),icon:e$.string().nullable().describe("Icon URL for the connection"),app_name:e$.string().nullable().describe("Associated app name"),app_id:e$.string().nullable().describe("Associated app ID"),slug:e$.string().nullable().optional().describe("URL-safe slug derived from app_name, connection_url, or title"),url_slug:e$.string().nullable().optional().describe("Name of the connection in Studio URLs, unique in the organization. Set it to rename the URL; the old one keeps redirecting."),connection_type:e$.enum(["HTTP","SSE","Websocket","STDIO","VIRTUAL"]).describe("Type of connection"),connection_url:e$.string().nullable().describe("URL for HTTP/SSE/WebSocket connections. virtual://$id for VIRTUAL. Null for STDIO."),connection_token:e$.string().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:e$.union([$Q4,e74]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:I$$.nullable().describe("OAuth configuration"),configuration_state:V$$("configuration_state").describe("Configuration state (decrypted)"),configuration_scopes:e$.array(e$.string()).nullable().optional().describe("Configuration scopes"),metadata:V$$("metadata").describe("Additional metadata (includes repository info)"),tools:e$.array(a74).nullable().describe("Discovered tools from MCP"),bindings:e$.array(e$.string()).nullable().describe("Detected bindings"),status:e$.enum(["active","inactive","error"]).describe("Current status")}),f30=tY.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0}).extend({icon:e$.string().nullish()}),y30=tY.partial().extend({url_slug:bA.nullish()})});function fA($){return ZQ4.has($)}function C$$($){return QQ4.has($)}var tZ,ZQ4,QQ4,g30;var Sr0=L(()=>{tZ=["deco","anthropic","openrouter","llmapi","google","openai-compatible"],ZQ4=new Set(tZ);QQ4=new Set(["anthropic","openrouter","deco"]);g30=[...tZ,"claude-code","codex"]});function _r0($,Z){return{id:crypto.randomUUID(),type:ia.STEP,source:"decopilot",subject:$,data:{stepCount:Z},time:new Date().toISOString()}}function h30($,Z){return{id:crypto.randomUUID(),type:ia.FINISH,source:"decopilot",subject:$,data:{status:Z},time:new Date().toISOString()}}function hU($,Z,Q){return{id:crypto.randomUUID(),type:ia.THREAD_STATUS,source:"decopilot",subject:$,data:{status:Z,...Q?.messageId!==void 0&&{message_id:Q.messageId},...Q?.virtualMcpId!==void 0&&{virtual_mcp_id:Q.virtualMcpId},...Q?.createdBy!==void 0&&{created_by:Q.createdBy},...Q?.triggerId!==void 0&&{trigger_id:Q.triggerId},...Q?.title!==void 0&&{title:Q.title},...Q?.branch!==void 0&&{branch:Q.branch},...Q?.harnessId!==void 0&&{harness_id:Q.harnessId},...Q?.createdAt!==void 0&&{created_at:Q.createdAt},...Q?.updatedAt!==void 0&&{updated_at:Q.updatedAt},...Q?.metadata!==void 0&&{metadata:Q.metadata}},time:new Date().toISOString()}}var S$$,YQ4,ia,XQ4;var _$$=L(()=>{S$$=["in_progress","requires_action","failed","completed"],YQ4=[...S$$,"expired"],ia={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},XQ4=Object.values(ia)});var u30=L(()=>{k$$();Xr0();Sr0();_$$()});var uU=L(()=>{u30()});import{lookup as JQ4}from"dns/promises";function pa($,Z){if($===10)return!0;if($===172&&Z!==void 0&&Z>=16&&Z<=31)return!0;if($===192&&Z===168)return!0;if($===127)return!0;if($===169&&Z===254)return!0;if($===0)return!0;if($===100&&Z!==void 0&&Z>=64&&Z<=127)return!0;return!1}function vr0($){let Z=Number.parseInt($.padStart(4,"0"),16);return[Z>>8,Z&255]}function v$$($){let Z=$.split(":").filter((Q)=>Q.length>0);if($.startsWith("2002:")&&Z.length>=2){let[Q,Y]=vr0(Z[1]);if(pa(Q,Y))return!0}if($.startsWith("64:ff9b::")&&Z.length>=4){let[Q,Y]=vr0(Z[Z.length-2]);if(pa(Q,Y))return!0}if($.startsWith("::")&&Z.length===2){let[Q,Y]=vr0(Z[0]);if(pa(Q,Y))return!0}return!1}function l30($){try{let Q=new URL($).hostname.toLowerCase();if(Q==="localhost"||Q==="0.0.0.0"||Q.endsWith(".local")||Q.endsWith(".internal")||Q.endsWith(".localhost"))return!0;let Y=Q.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Y){let[,X,J]=Y.map(Number);if(pa(X,J))return!0}if(Q.startsWith("[")&&Q.endsWith("]")){let X=Q.slice(1,-1).toLowerCase();if(X==="::1"||X==="::")return!0;if(X.startsWith("::ffff:"))return!0;if(X.startsWith("fc")||X.startsWith("fd"))return!0;if(X.startsWith("fe80"))return!0;if(X.startsWith("100:"))return!0;if(X.startsWith("::1"))return!0;if(v$$(X))return!0}return!1}catch{return!0}}function GQ4($){let Z=$.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(Z){let[,Y,X]=Z.map(Number);return pa(Y,X)}let Q=$.toLowerCase();if(Q==="::1"||Q==="::")return!0;if(Q.startsWith("::ffff:"))return!0;if(Q.startsWith("fc")||Q.startsWith("fd"))return!0;if(Q.startsWith("fe80"))return!0;if(Q.startsWith("100:"))return!0;return v$$(Q)}async function WQ4($,Z=async(Q)=>(await JQ4(Q,{all:!0})).map((Y)=>Y.address)){try{let Q=await Z($);return Q.length===0||Q.some(GQ4)}catch{return!0}}async function lD($){if(l30($))return"URLs targeting private networks are not allowed";let Q=new URL($).hostname;if(/^\d+\.\d+\.\d+\.\d+$/.test(Q)||Q.startsWith("[")&&Q.endsWith("]"))return null;try{return await br0(WQ4(Q),5000,"DNS resolution timeout")?"URLs targeting private networks are not allowed":null}catch{return"URLs targeting private networks are not allowed"}}function br0($,Z,Q){let Y,X=new Promise((J,G)=>{Y=setTimeout(()=>G(Error(Q)),Z)});return Promise.race([$,X]).finally(()=>clearTimeout(Y))}function cD($=fetch){return async(Z,Q)=>{let Y=await $(Z,{...Q,redirect:"manual"});if(Y.status>=300&&Y.status<400)throw Error("Refusing to follow a redirect from the remote server");return Y}}var xc=()=>{};var b$$="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";import{webcrypto as x$$}from"crypto";function HQ4($){if(!yA||yA.length<$)yA=Buffer.allocUnsafe($*KQ4),x$$.getRandomValues(yA),fc=0;else if(fc+$>yA.length)x$$.getRandomValues(yA),fc=0;fc+=$}function c30($=21){HQ4($|=0);let Z="";for(let Q=fc-$;Q<fc;Q++)Z+=b$$[yA[Q]&63];return Z}var KQ4=128,yA,fc;var xr0=()=>{};function c8($){return`${$}_${c30()}`}var JY=L(()=>{xr0()});function y$$($,Z){return{id:s8.SELF(Z),title:"Deco CMS",description:"The MCP for the CMS API",connection_type:"HTTP",connection_url:`${$}/mcp/self`,icon:"https://assets.decocache.com/mcp/09e44283-f47d-4046-955f-816d227c626f/app.png",app_name:"@deco/management-mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"self"}}}function g$$($,Z){return{id:s8.DEV_ASSETS(Z),title:"Local Files",description:"Local file storage for development. Files are stored in /data/assets/.",connection_type:"HTTP",connection_url:`${$}/mcp/dev-assets`,icon:"https://api.iconify.design/lucide:folder.svg?color=%23888",app_name:"@deco/dev-assets-mcp",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isFixed:!0,devOnly:!0,type:"dev-assets"}}}function lU($){return{is(Z){if(!Z)return null;if(!Z.startsWith($))return null;return Z.slice($.length)||null},get(Z){return`${$}${Z}`}}}function FQ4($){return{id:$.id,organization_id:$.organizationId,title:$.title,description:$.description,icon:$.icon,status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:$.instructions??null,...$.ui?{ui:$.ui}:{}},pinned:!1,connections:[]}}function Lj($){if(!$)return!1;try{return UQ4.has(new URL($).hostname)}catch{return!1}}function yr0($){return FQ4({id:q3($),organizationId:$,title:"Super Agent",description:"Default agent that aggregates all organization connections",icon:NQ4,ui:{layout:{defaultMainView:{type:"overview"},chatDefaultOpen:!0}}})}function d$$($,Z,Q="https://reports.decocms.com/api/v2/mcp"){return{id:s8.REPORTS($),title:"Deco Score",description:"Your store's Deco Score",connection_type:"HTTP",connection_url:Q,icon:"https://github.com/decocms.png",app_name:"commerce-discovery",app_id:null,connection_token:Z,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!1,type:"commerce-discovery"}}}function i$$($,Z=s8.REPORTS($)){return{title:"Deco Score Agent",description:"Ask anything about your store's Deco Score",icon:"https://github.com/decocms.png",status:"active",pinned:!0,metadata:{type:"commerce-discovery",isDefault:!1,ui:{pinnedViews:[{connectionId:Z,toolName:"get_my_diagnostic",label:"Deco Score",icon:"https://github.com/decocms.png"}],layout:{defaultMainView:{type:"ext-apps",id:Z,toolName:"get_my_diagnostic"},chatDefaultOpen:!0}}},connections:[{connection_id:Z,selected_tools:null,selected_resources:null,selected_prompts:null}]}}function gr0($){if(!$)return!1;return Object.values(yc).some((Z)=>Z.is($)!==null)}function LQ4($){if(!$)return!1;return DQ4.some((Z)=>Z.is($)!==null)}function d30($){let Z=$.metadata?.liveAgentId;return!(typeof Z==="string"&&Z)&&!DQ($.id)&&!gr0($.id)&&!LQ4($.id)}function p$$($){let Z=yr0($);return{...Z,id:Z.id,connection_type:"VIRTUAL",connection_url:`virtual://${Z.id}`,app_name:"decopilot",app_id:"decopilot",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"decopilot"},tools:[],bindings:[]}}var s8,f$$="https://reports.decocms.com/api/v2/mcp",m30="get_my_diagnostic",h$$,DQ,q3,UQ4,u$$,l$$,fr0,NQ4="https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png",BQ4="#6366f1",dg5,c$$,ig5,pg5,m$$,ng5,gc,yc,cU,hr0,DQ4;var n$$=L(()=>{s8={SELF:($)=>`${$}_self`,REGISTRY:($)=>`${$}_registry`,COMMUNITY_REGISTRY:($)=>`${$}_community-registry`,DEV_ASSETS:($)=>`${$}_dev-assets`,SITE_DIAGNOSTICS:($)=>`site-diagnostics_${$}`,REPORTS:($)=>`${$}_commerce-discovery`};h$$=lU("decopilot_"),DQ=h$$.is,q3=h$$.get,UQ4=new Set(["mcp.figma.com"]);u$$=lU("dev_"),l$$=u$$.get,fr0=u$$.is,dg5=`https://api.iconify.design/lucide:file-search.svg?color=${encodeURIComponent(BQ4)}`;c$$=lU("site-diagnostics_"),ig5=c$$.is,pg5=c$$.get,m$$=lU("commerce-discovery_"),ng5=m$$.is,gc=m$$.get;yc={AUTOMATION_MANAGER:lU("studio-automation-manager_"),CONNECTION_MANAGER:lU("studio-connection-manager_"),API_KEY_MANAGER:lU("studio-api-key-manager_"),STORE_MANAGER:lU("studio-store-manager_"),USAGE_MANAGER:lU("studio-usage-manager_")},cU={AUTOMATION_MANAGER:yc.AUTOMATION_MANAGER.get,CONNECTION_MANAGER:yc.CONNECTION_MANAGER.get,API_KEY_MANAGER:yc.API_KEY_MANAGER.get,STORE_MANAGER:yc.STORE_MANAGER.get,USAGE_MANAGER:yc.USAGE_MANAGER.get};hr0=["studio-agent-manager_","studio-task-manager_","studio-brand-manager_"],DQ4=hr0.map(lU)});function OQ4($){return $.capabilities?.includes("decisions")===!0}function t$$($){return $.toLowerCase().replace(/[^a-z0-9]/g,"")}function TQ4($){return t$$($).includes("deepresearch")}function o$$($){let Z=t$$($);if(Z.includes("deepresearch"))return!1;return qQ4.some((Q)=>Z.includes(Q))}function RQ4($){return $.asyncResearch!==!0&&o$$($.modelId)}function MQ4($){return $.asyncResearch===!0||TQ4($.modelId)||o$$($.modelId)}function hc($,Z,Q,Y){for(let X of Q){let J=$.find((G)=>G.modelId===X);if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}for(let X of Q){let J=$.find((G)=>G.modelId.includes(X));if(J)return{keyId:Z,modelId:J.modelId,title:J.title}}if(Y){let X=$.find(Y);if(X)return{keyId:Z,modelId:X.modelId,title:X.title}}return null}function s$$($,Z){let Q={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(let Y of $){let X=(Z[Y.id]??[]).filter((G)=>!OQ4(G)),J=Y.providerId;if(!Q.chat.fast)Q.chat.fast=hc(X,Y.id,wQ4[J]??[]);if(!Q.chat.smart)Q.chat.smart=hc(X,Y.id,jQ4[J]??[]);if(!Q.chat.thinking)Q.chat.thinking=hc(X,Y.id,EQ4[J]??[]);if(!Q.image)Q.image=hc(X,Y.id,PQ4[J]??[],(G)=>G.capabilities?.includes("image")===!0&&!G.modelId.startsWith("openrouter/auto"));if(!Q.webSearch)Q.webSearch=hc(X,Y.id,zQ4[J]??[],RQ4);if(!Q.deepResearch)Q.deepResearch=hc(X,Y.id,AQ4[J]??[],MQ4)}return Q}var wQ4,jQ4,EQ4,PQ4,zQ4,AQ4,qQ4;var r$$=L(()=>{wQ4={anthropic:["claude-haiku-4-5","claude-haiku"],openrouter:["qwen/qwen3.5-flash","anthropic/claude-haiku-4.5","anthropic/claude-haiku","google/gemini-3-flash"],deco:["qwen/qwen3.5-flash","anthropic/claude-haiku"],llmapi:["claude-haiku-4-5","claude-haiku","gpt-4o-mini"],google:["gemini-2.5-flash","gemini-3-flash"]},jQ4={anthropic:["claude-sonnet-5","claude-sonnet"],openrouter:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude-opus-4.8","google/gemini-3-pro"],deco:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude"],llmapi:["claude-sonnet-4-6","claude-sonnet"],google:["gemini-3-pro","gemini-3-flash"]},EQ4={anthropic:["claude-opus-4-8","claude-sonnet-5","claude-sonnet","claude-fable-5"],openrouter:["anthropic/claude-opus-4.8:extended","anthropic/claude-opus-4.8","anthropic/claude-sonnet-5:extended","anthropic/claude-sonnet-5","google/gemini-3-pro","anthropic/claude-fable-5"],deco:["anthropic/claude-opus","anthropic/claude-sonnet-4.6","anthropic/claude-sonnet","anthropic/claude-fable"],llmapi:["claude-opus-4-8","claude-opus","claude-sonnet-4-6"],google:["gemini-3-pro"]},PQ4={openrouter:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],deco:["google/gemini-3-pro-image","openai/gpt-5-image","google/gemini-2.5-flash-image"],llmapi:["gemini-2.5-flash-image","gpt-image-1"],google:["gemini-2.0-flash-image"]},zQ4={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},AQ4={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};qQ4=["sonar","searchpreview","online"]});function i30($){if(!$)return;let Z={};for(let Q in $){let Y=$[Q];if(typeof Y==="object"&&Y!==null){let X={};for(let J of VQ4)if(J in Y)X[J]=Y[J];Z[Q]=X}}return Object.keys(Z).length>0?Z:void 0}var VQ4;var a$$=L(()=>{VQ4=["usage","cost","model"]});var q8=L(()=>{u30();n$$();r$$();a$$()});function gA($){if($.app_name)return $.app_name;if($.connection_url)try{let Z=new URL($.connection_url),Y=((Z.port?`${Z.hostname}-${Z.port}`:Z.hostname)+Z.pathname).replace(/\/+$/,"");return Mc(Y)}catch{return Mc($.connection_url)}if($.title)return Mc($.title);return $.id??"unknown"}var p30=()=>{};var uc=300000,Oj=5000,n30=1e4,ur0=3,lr0=30000,e$$=65000,t30=1000,lc=3,$8$=5,Z8$=60000,Q8$=300000,cr0=60000;function Y8$(){if(mD.size<t30)return;let $=null,Z=1/0;for(let[Q,Y]of mD)if(Y.lastFailureAt<Z)Z=Y.lastFailureAt,$=Q;if($)mD.delete($)}function X8$($){let Z=mD.get($);if(!Z)return Y8$(),mD.set($,{consecutiveFailures:1,disabled:!1,lastFailureAt:Date.now()}),{consecutiveFailures:1,thresholdCrossed:1>=lc};return Z.consecutiveFailures++,Z.lastFailureAt=Date.now(),{consecutiveFailures:Z.consecutiveFailures,thresholdCrossed:Z.consecutiveFailures>=lc}}function mr0($){let Z=mD.get($);if(Z){Z.disabled=!0;return}Y8$(),mD.set($,{consecutiveFailures:lc,disabled:!0,lastFailureAt:Date.now()})}function J8$($){return mD.get($)?.disabled??!1}function G8$($){mD.delete($)}var mD;var W8$=L(()=>{mD=new Map});function dr0($){try{let Z=new URL($.url);if(Z.protocol!=="https:"&&Z.protocol!=="http:")return null;let Q=Z.pathname.replace(/\/+$/,"").replace(/\.git$/i,"");return Q?{host:Z.host.toLowerCase(),path:Q.slice(1)}:null}catch{return null}}function na($){let Z=dr0($);return Z?`${Z.host}/${Z.path}`.toLowerCase():null}function dD($,Z){if($.repositoryId&&Z.repositoryId)return $.repositoryId===Z.repositoryId;let Q=na($);return Q!==null&&Q===na(Z)}function wj($){let Z=$.startsWith("./")?$.slice(2):$;for(let Q of["/app/org/","org/"]){if(!Z.startsWith(Q))continue;let Y=Z.slice(Q.length);return Y.split("/").includes("..")?null:Y}return null}var oY="/app/org",sY="home";var YG=()=>{};var jj="New chat";function H8$(){return`<platform>
80
80
  You are an AI agent running on Deco CMS \u2014 a control plane for connecting
81
81
  AI agents to external services via the Model Context Protocol (MCP).
82
82
 
@@ -4130,7 +4130,7 @@ ${Z}`}:Y)}}var SW8=L(()=>{VZ()});async function qe6($,Z,Q){if(!$)return!1;let Y=
4130
4130
  (SELECT created_at, id FROM notifications
4131
4131
  WHERE id = ${Q.cursor}
4132
4132
  AND user_id = ${$}
4133
- AND organization_id = ${Z})`);let G=await J.execute(),W=G.slice(0,Y),K=await this.db.selectFrom("notifications").select((F)=>F.fn.countAll().as("count")).where("user_id","=",$).where("organization_id","=",Z).where("read_at","is",null).executeTakeFirst(),H=W[W.length-1];return{nextCursor:G.length>Y&&H?H.id:null,notifications:W.map((F)=>({id:F.id,taskBoardItemId:F.task_board_item_id,type:F.type,data:Ot.parse(F.data),createdAt:ve6(F.created_at)})),unreadCount:Number(K?.count??0)}}async anchorExists($,Z,Q){return!!await this.db.selectFrom("notifications").select("id").where("id","=",$).where("user_id","=",Z).where("organization_id","=",Q).executeTakeFirst()}async markRead($,Z,Q){if(Q&&Q.length===0)return 0;let Y=this.db.updateTable("notifications").set({read_at:new Date}).where("user_id","=",$).where("organization_id","=",Z).where("read_at","is",null);if(Q)Y=Y.where("id","in",Q);let X=await Y.executeTakeFirst();return Number(X.numUpdatedRows??0n)}async setSubscribed($,Z,Q){await this.db.insertInto("notification_subscriptions").values({id:c8("nsub"),user_id:$,task_board_item_id:Z,subscribed:Q}).onConflict((Y)=>Y.columns(["user_id","task_board_item_id"]).doUpdateSet({subscribed:Q,updated_at:new Date})).execute()}async notify($){await gz({...$,db:this.db})}async notifyMentions($){await iW8({...$,db:this.db})}async listSubscribers($){return(await this.db.selectFrom("notification_subscriptions").select("user_id").where("task_board_item_id","=",$).where("subscribed","=",!0).execute()).map((Q)=>Q.user_id)}}var Se6=20,_e6=50,ve6=($)=>$ instanceof Date?$.toISOString():$;var nW8=L(()=>{JY();c_0();b90();pW8()});class aE1{db;constructor($){this.db=$}async create($,Z,Q){await this.deleteExpired(Z);let Y=crypto.randomUUID(),X=new Date(Date.now()+600000);return await this.db.insertInto("oauth_pkce_states").values({id:Y,organization_id:Z,user_id:Q,code_verifier:$,expires_at:X,created_at:new Date}).execute(),Y}async deleteExpired($){await this.db.deleteFrom("oauth_pkce_states").where("organization_id","=",$).where("expires_at","<",new Date).execute()}async consume($,Z,Q){let Y=await this.db.deleteFrom("oauth_pkce_states").where("id","=",$).where("organization_id","=",Z).where("user_id","=",Q).returningAll().executeTakeFirst();if(!Y)throw Error("Invalid or expired OAuth state token");if((Y.expires_at instanceof Date?Y.expires_at:new Date(Y.expires_at))<new Date)throw Error("OAuth state token has expired");return Y.code_verifier}}class Kf0{db;vault;table;constructor($,Z,Q="claude_subscriptions"){this.db=$;this.vault=Z;this.table=Q}async upsert($){let Z=await this.vault.encrypt($.accessToken),Q=$.expiresAt??null,Y=new Date;return await this.db.insertInto(this.table).values({user_id:$.userId,encrypted_access_token:Z,expires_at:Q,created_at:Y}).onConflict((X)=>X.column("user_id").doUpdateSet({encrypted_access_token:Z,expires_at:Q,created_at:Y})).execute(),{linkedAt:Y.toISOString(),expiresAt:Q?.toISOString()??null}}async find($){let Z=await this.db.selectFrom(this.table).select(["created_at","expires_at"]).where("user_id","=",$).executeTakeFirst();if(!Z)return null;return{linkedAt:new Date(Z.created_at).toISOString(),expiresAt:Z.expires_at?new Date(Z.expires_at).toISOString():null}}async findLiveToken($){let Z=await this.db.selectFrom(this.table).select(["encrypted_access_token","expires_at"]).where("user_id","=",$).executeTakeFirst();if(!Z)return null;if(Z.expires_at&&new Date(Z.expires_at).getTime()<=Date.now())return null;return this.vault.decrypt(Z.encrypted_access_token)}async delete($){await this.db.deleteFrom(this.table).where("user_id","=",$).execute()}}class eE1{db;constructor($){this.db=$}async share($,Z,Q){await this.db.insertInto("org_shared_plans").values({organization_id:$,provider_id:Z,user_id:Q,created_at:new Date}).onConflict((Y)=>Y.columns(["organization_id","provider_id","user_id"]).doNothing()).execute()}async unshare($,Z,Q){await this.db.deleteFrom("org_shared_plans").where("organization_id","=",$).where("provider_id","=",Z).where("user_id","=",Q).execute()}async unshareEverywhere($,Z){await this.db.deleteFrom("org_shared_plans").where("provider_id","=",$).where("user_id","=",Z).execute()}async list($){return(await this.db.selectFrom("org_shared_plans as s").innerJoin("member as m",(Q)=>Q.onRef("m.userId","=","s.user_id").onRef("m.organizationId","=","s.organization_id")).leftJoin("user as u","u.id","s.user_id").select(["s.provider_id as providerId","s.user_id as userId","u.name as userName","s.created_at as sharedAt"]).where("s.organization_id","=",$).orderBy("s.created_at","asc").execute()).map((Q)=>({...Q,userName:Q.userName??null,sharedAt:new Date(Q.sharedAt).toISOString()}))}}function be6($){return $.includes("/")?$.split("/").slice(1).join("/"):$}function xe6($){return typeof $.id==="string"&&!!$.architecture&&Array.isArray($.architecture.input_modalities)&&Array.isArray($.architecture.output_modalities)&&!!$.top_provider&&!!$.pricing}function fe6($){return{providerId:"openrouter",modelId:be6($.id),title:$.name,description:$.description||null,logo:null,capabilities:yd($.architecture.input_modalities,$.architecture.output_modalities,$.supported_parameters,$.supported_parameters?.includes("reasoning")?["reasoning"]:[]),limits:{contextWindow:$.context_length,maxOutputTokens:$.top_provider.max_completion_tokens||null},costs:{input:Number($.pricing.prompt)||0,output:Number($.pricing.completion)||0}}}function oW8($){let Z=new Map;for(let Q of $){let Y={description:Q.description,capabilities:Q.capabilities,limits:Q.limits,costs:Q.costs};Z.set(Q.modelId,Y);let X=Q.modelId.replace(/\./g,"-");if(X!==Q.modelId)Z.set(X,Y)}return Z}async function ye6($){if($){let Z=await $.get(tW8,"openrouter");if(Z)return oW8(Z)}try{let Z=await HN("OpenRouter enrichment index","https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!Z.ok)await JX("OpenRouter enrichment index",Z);let{data:Q}=await Z.json(),Y=Q.filter(xe6).map(fe6);if($)await $.set(tW8,"openrouter",Y);return oW8(Y)}catch{return new Map}}function ge6($){let Z=$.replace(/\./g,"-"),Q=$.replace(/-\d{8}$/,""),Y=Q.replace(/\./g,"-");return[...new Set([$,Z,Q,Y])]}function he6($){return $.providerId==="anthropic"||$.modelId.startsWith("anthropic/")}function rW8($,Z){if(he6(Z)&&$.includes("vision")&&!$.includes("file"))return[...$,"file"];return $}function ue6($,Z){return $.map((Q)=>{let X=ge6(Q.modelId).map((W)=>Z.get(W)).find(Boolean),J=Q.capabilities.length?Q.capabilities:X?.capabilities??[],G=rW8(J,Q);if(!X)return G===J?Q:{...Q,capabilities:G};return{...Q,description:Q.description??X.description??null,capabilities:G,limits:Q.limits??X.limits??null,costs:Q.costs??X.costs??null}})}class $P1{storage;cache;constructor($,Z){this.storage=$;this.cache=Z}async activate($,Z){let{keyInfo:Q,apiKey:Y}=await this.storage.resolve($,Z),X=R9()[Q.providerId];if(!X)throw Error(`Unknown provider: ${Q.providerId}`);return X.create(Y)}async listDecisionModels($,Z){let Q=await this.activate($,Z);if(!Q.decisions?.listModels)throw Error("Provider does not support decision model discovery");let Y=`${Q.info.id}:decisions`,X=await this.cache?.get(Z,Y);if(X)return X;let J=new Set,G=(await Q.decisions.listModels()).filter((W)=>{if(W.deprecated||!W.capabilities.includes("decisions")||J.has(W.modelId))return!1;return J.add(W.modelId),!0}).map((W)=>({...W,providerId:Q.info.id}));return await this.cache?.set(Z,Y,G),G}async listModels($,Z){let{keyInfo:Q,apiKey:Y}=await this.storage.resolve($,Z),X=Q.providerId,J=R9()[X];if(!J)throw Error(`Unknown provider: ${X}`);if(this.cache){let U=await this.cache.get(Z,X);if(U)return sW8(U,J.create(Y))}let G=J.create(Y),W=await G.listModels(),K=new Set,H=W.filter((U)=>{if(U.deprecated)return!1;if(K.has(U.modelId))return!1;return K.add(U.modelId),!0});if(X!=="openrouter"&&X!=="deco"){let U=await ye6(this.cache);H=ue6(H,U)}else H=H.map((U)=>({...U,capabilities:rW8(U.capabilities,U)}));let F=H.map((U)=>({...U,providerId:X}));if(this.cache)await this.cache.set(Z,X,F);return sW8(F,G)}}function sW8($,Z){let Q=Z.asyncResearch;if(!Q)return $;return $.map((Y)=>Q.canHandle(Y.modelId)?{...Y,asyncResearch:!0}:Y)}var tW8="_global";var aW8=L(()=>{VK();iT()});import{SpanStatusCode as eW8}from"@opentelemetry/api";function ce6($){if(!$)return;try{let Z=JSON.parse($);if(typeof Z!=="object"||Z===null||Array.isArray(Z))return;let Q={};for(let[Y,X]of Object.entries(Z)){if(Object.keys(Q).length>=le6)break;if(typeof X==="string"&&Y.length<=$K8&&X.length<=$K8)Q[Y]=X}return Object.keys(Q).length>0?Q:void 0}catch{return}}function me6($,Z){return Z?.connectionId??$?.headers.get("x-caller-id")??void 0}function de6($){try{let Z=new URL($.url).pathname.split("/").filter(Boolean);if(Z[0]==="api"&&Z[1])return decodeURIComponent(Z[1])}catch{}return}function YP1($){let{auth:Z,headers:Q,role:Y,permissions:X,userId:J,apiKeyId:G,organizationId:W,authMethod:K,db:H}=$,F=!!G,U=K==="mcpOAuth"||K==="studioJwt",N=Z.api.hasPermission;return{isApiKeyPrincipal:F,hasPermission:async(B,D)=>{if(F)return Yf0(X??{},B);let O=!!D?.organizationId&&!!W&&D.organizationId!==W,w=D?D.role:Y;if(kZ(w))return!0;if(X&&!O)return Yf0(X,B);let j=M38(D?.role,B,FE1());if(j!=="fallback")return j==="grant";if(H&&D?.role&&D.organizationId)try{return(await ie6(H,D.organizationId,D.role)).some((T)=>bW8(T,B))}catch(P){return console.error("[Auth] Role permission lookup failed:",P instanceof Error?P.message:String(P)),!1}if(!N)return console.error("[Auth] hasPermission API not available"),!1;let E=D?.organizationId?{organizationId:D.organizationId}:{};try{if((await N({headers:Q,body:{permission:B,...E}}))?.success===!0)return!0;let T=xZ$(B);return(await N({headers:Q,body:{permission:T,...E}}))?.success===!0}catch(P){let T=P?.statusCode;if(T!==401&&T!==403)console.error("[Auth] Permission check failed:",P instanceof Error?P.message:String(P));return!1}},organization:{create:async(B)=>{return Z.api.createOrganization({body:B})},update:async(B)=>{return Z.api.updateOrganization({headers:Q,body:B})},delete:async(B)=>{await Z.api.deleteOrganization({headers:Q,body:{organizationId:B}})},get:async(B)=>{if(U){let D=B??W;return D&&J?vZ$(Z,J,D):null}return Z.api.getFullOrganization({headers:Q,query:B?{organizationId:B}:void 0})},list:async()=>{return(U?J?await _Z$(Z,J):[]:await Z.api.listOrganizations({headers:Q})).filter((D)=>!l9(D))},addMember:async(B)=>{return Z.api.addMember({body:B})},removeMember:async(B)=>{return Z.api.removeMember({headers:Q,body:B})},updateMemberRole:async(B)=>{return Z.api.updateMemberRole({headers:Q,body:B})}},apiKey:{create:async(B)=>{return Z.api.createApiKey({body:{...B,userId:J}})},list:async()=>{return Z.api.listApiKeys({headers:Q})},update:async(B)=>{return Z.api.updateApiKey({body:{...B,userId:J}})},delete:async(B)=>{await Z.api.deleteApiKey({headers:Q,body:{keyId:B}})}}}}async function UP($,Z,Q){if(jT.includes(Q))return;let Y=await $.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",Z).where("role","=",Q).executeTakeFirst();if(!Y?.permission)return;try{return JSON.parse(Y.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${Q}`);return}}async function ie6($,Z,Q){let Y=FE1();return Promise.all(oj(Q).map(async(X)=>{if(jT.includes(X))return Y[X]??{};return await UP($,Z,X)??{}}))}function ne6($,Z,Q){rj($,Z,Q)}function te6($,Z,Q){aj($,Z,Q)}async function QK8($,Z,Q,Y){let X=ZP1.get(Q);if(X&&Date.now()-X.at<ZK8)return X.value;let J=await Z.measure(Y,()=>$.selectFrom("organization").select(["metadata"]).where("id","=",Q).executeTakeFirst()),G=l9(J);return ne6(ZP1,Q,G),te6(ZP1,pe6,ZK8),G}async function QP1($,Z,Q,Y,X){let J=X?.get(Q,Y);if(J)return J;let W=(await Z.measure("auth_query_membership",()=>$.selectFrom("member").select(["member.role"]).where("member.userId","=",Q).where("member.organizationId","=",Y).executeTakeFirst()))?.role;if(W)X?.set(Q,Y,W);return W}function oe6($,Z){if(!$)return!0;return Z===$}async function se6($,Z,Q,Y,X){let J=FK0($.headers,"token");if(!J)return;let G=await Q.measure("auth_verify_onbehalf_studio_jwt",()=>os0(J));if(!G?.sub)return;let W=G.metadata?.organizationId;if(!oe6(Y,W))return;let K=Y?await QP1(Z,Q,G.sub,Y,X):G.user?.role??void 0;return{id:G.sub,email:G.user?.email,name:G.user?.name,role:K}}async function re6($,Z,Q,Y=XK8,X){let J=$.headers.get("Authorization");try{let G=new Headers($.headers);G.set("X-MCP-Session-Auth","true");let W=await Y.measure("auth_get_mcp_session",()=>Z.api.getMcpSession({headers:G}));if(W){let K=W.userId,H=$.headers.get("x-org-id"),F=$.headers.get("x-org-slug"),U=de6($),N=await Y.measure("auth_query_membership",()=>{let w=Q.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","member.organizationId","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",K);if(U)return w.where("organization.slug","=",U).executeTakeFirst();if(H)return w.where("organization.id","=",H).executeTakeFirst();if(F)return w.where("organization.slug","=",F).executeTakeFirst();return w.orderBy("member.createdAt","asc").limit(2).execute().then((j)=>j.length===1?j[0]:void 0)});if(l9({metadata:N?.orgMetadata}))throw Error(WK0);let B=N?.role,D=N?{id:N.orgId,slug:N.orgSlug,name:N.orgName}:void 0;if(N&&B)X?.set(K,N.organizationId,B);let O;if(N&&B)O=await Y.measure("auth_fetch_role_permissions",()=>UP(Q,N.organizationId,B));return{method:"mcpOAuth",user:{id:K,role:B},role:B,permissions:O,organization:D}}}catch(G){console.error("[Auth] OAuth session check failed:",G)}if(J?.startsWith("Bearer ")){let G=J.replace("Bearer ","").trim();try{let W=await Y.measure("auth_verify_studio_token",()=>os0(G));if(W){let K,H=W.metadata?.organizationId;if(W.sub&&H)K=await QP1(Q,Y,W.sub,H,X);let F,U=W.metadata?.organizationId;if(U){let N=W.metadata?.organizationName,B=W.metadata?.organizationSlug;if(N||B){if(await QK8(Q,Y,U,"auth_query_org_archived_for_studio_token"))return{user:void 0};F={id:U,name:N,slug:B}}else{let D=await Y.measure("auth_query_org_for_studio_token",()=>Q.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",U).executeTakeFirst());if(l9(D))return{user:void 0};F=D?{id:D.id,slug:D.slug,name:D.name}:{id:U}}}return{method:"studioJwt",user:{id:W.sub,connectionId:W.metadata?.connectionId,role:K},role:K,permissions:W.permissions,tokenOrganizationId:H,organization:F}}}catch{}try{let W=await Y.measure("auth_verify_api_key",()=>Z.api.verifyApiKey({body:{key:G}}));if(W?.valid&&W.key){let K=W.key.metadata?.organization;if(K?.id&&await QK8(Q,Y,K.id,"auth_query_org_for_api_key"))return{user:void 0};let H=W.key.permissions,F,U=W.key.userId;if(U&&K?.id)F=await QP1(Q,Y,U,K.id,X);let N=await se6($,Q,Y,K?.id,X);return{method:"apiKey",apiKeyId:W.key.id,user:N??{id:W.key.userId,role:F},role:N?N.role:F,permissions:H,apiKey:{id:W.key.id,name:W.key.name??"",userId:W.key.userId,metadata:W.key.metadata},tokenOrganizationId:K?.id,organization:K?{id:K.id,slug:K.slug,name:K.name}:void 0}}}catch(W){let K=W;if(K.body?.code==="INVALID_API_KEY"||K.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL($.url).pathname,method:$.method,ua:$.headers.get("user-agent")??void 0,ip:$.headers.get("x-forwarded-for")??$.headers.get("x-real-ip")??void 0,tokenPrefix:G.slice(0,8)});else console.error("[Auth] API key check failed:",K)}}try{let G=new Headers($.headers);G.delete("Authorization");let W=await Y.measure("auth_get_session",()=>Z.api.getSession({headers:G}));if(W){let K,H,F=$.headers.get("x-org-id"),U=$.headers.get("x-org-slug");if(!F&&!U&&$.method.toUpperCase()==="GET")try{let N=new URL($.url).searchParams;F=N.get("x-org-id"),U=N.get("x-org-slug")}catch{}if(F||U){let N=await Y.measure("auth_query_membership_from_header",()=>{let B=Q.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",W.user.id);if(F)B=B.where("organization.id","=",F);else if(U)B=B.where("organization.slug","=",U);return B.executeTakeFirst()});if(l9({metadata:N?.orgMetadata}))throw Error(WK0);if(N)K={id:N.orgId,slug:N.orgSlug,name:N.orgName},H=N.role}else if(W.session.activeOrganizationId){let N=await Y.measure("auth_get_full_organization",()=>Z.api.getFullOrganization({headers:G}).catch(()=>null));if(N&&!l9(N))K={id:N.id,slug:N.slug,name:N.name},H=N.members?.find((D)=>D.userId===W.user.id)?.role;else if(!N)K={id:W.session.activeOrganizationId,slug:"",name:""}}return{method:"session",user:{id:W.user.id,email:W.user.email,emailVerified:!!W.user.emailVerified,name:W.user.name,image:W.user.image??void 0,role:H},role:H,organization:K}}}catch(G){let W=G;if(W.message===WK0)throw G;console.error("[Auth] Session check failed:",JSON.stringify({message:W.message,body:W.body,stack:W.stack},null,2))}return{user:void 0}}async function JK8($){let Z=new XJ($.encryption.key),Q=B0(),Y=Q.clickhouseUrl,X=!!Y,J=!X&&!!Q.monitoringS3Bucket,G=X?"clickhouse":"duckdb",{resolve:W}=await import("path"),K=W(qH()),H=W(JD()),F=(z)=>`read_ndjson('${K}/${z}/**/*.ndjson', auto_detect=true)`,U=(z)=>`read_ndjson('${H}/${z}/**/*.ndjson', auto_detect=true)`,N,B,D,O,w=!1;if($.monitoringEngines)N=$.monitoringEngines.monitoringEngine,B=$.monitoringEngines.metricEngine,D=F,O=U;else if(X){let z=Q.clickhouseMaxMemoryUsage?{maxMemoryUsage:String(Q.clickhouseMaxMemoryUsage)}:void 0;N=new F00(Y,z),B=new F00(Y,z),D=(A)=>"studio_monitoring_logs",O=(A)=>"studio_monitoring_logs"}else if(J){let z=Q.monitoringS3AccessKeyId??Q.s3AccessKeyId,A=Q.monitoringS3SecretAccessKey??Q.s3SecretAccessKey,R=Q.duckdbExtensionDirectory;if(!z||!A||!R)throw Error("MONITORING_S3_BUCKET is set but the GCS monitoring path is misconfigured: MONITORING_S3_ACCESS_KEY_ID/S3_ACCESS_KEY_ID, MONITORING_S3_SECRET_ACCESS_KEY/S3_SECRET_ACCESS_KEY, and DUCKDB_EXTENSION_DIRECTORY are all required.");let f={endpoint:Q.monitoringS3Endpoint??Q.s3Endpoint??"storage.googleapis.com",region:Q.monitoringS3Region??Q.s3Region,accessKeyId:z,secretAccessKey:A,extensionDirectory:R},S=new H00(f,{memoryLimit:Q.duckdbMemoryLimit,threads:Q.duckdbThreads});N=S,B=S;let V=Q.monitoringS3Bucket,v=Q.monitoringS3Prefix??"",b=(h,l)=>HZ$({bucket:V,prefix:v,range:l});D=b,O=b,w=!0}else{let{engine:z}=await de0({basePath:qH()}),{engine:A}=await de0({basePath:JD()});N=z,B=A,D=F,O=U}let j=new mc($.db),E=new O70($.db),P=new D00($.db),T={connections:new sa($.db,Z),connectionCredentialVault:new Ya0($.db),organizationSettings:new DT($.db),userModelPreferences:new pe0($.db),monitoring:new Ba0(N,D,B,O,G,w),virtualMcps:new tH($.db),users:new J01($.db),tags:new L00($.db),sprints:new $01($.db),projectSidebar:new Q01($.db),experiments:new Y01($.db),organizationBilling:new V3($.db),aiProviderKeys:new y10($.db,Z,$.providerKeyCache),subsidizedGatewayKeys:new cE1($.db,Z),secrets:new hH1($.db,Z),orgFileConfigs:new mE1($.db,Z),orgSites:new mU($.db),orgRepoSyncs:new fR($.db),gitProviderAccounts:new lq($.db),gitProviderAccountCredentials:new K40($.db,Z),gitProviderOAuthStates:new nE1($.db),githubConnectFlows:new iE1($.db),repositories:new H40($.db),jiraIntegrations:new pO($.db,Z),taskBoard:new DW($.db),taskBoardPrompts:new oE1($.db),taskBoardAnalytics:new dB1($.db),threadAnalytics:new AO1($.db),notifications:new rE1($.db),orgFsEntries:new Va($.db),oauthPkceStates:new aE1($.db),codexSubscriptions:new ts0($.db,Z),claudeSubscriptions:new Kf0($.db,Z),githubCopilotSubscriptions:new Kf0($.db,Z,"github_copilot_subscriptions"),orgSharedPlans:new eE1($.db),automations:nj($.db),triggerCallbackTokens:new B00($.db),orgSsoConfig:new se0($.db,Z),orgSsoSessions:new re0($.db),organizationDomains:new M3($.db),organizationJoinRequests:new cm($.db),kv:P,interests:new oe0(P)};return async(z,A)=>{let R=A?.timings??XK8,f=ex0(),S=z?await $.observability.tracer.startActiveSpan("studio.auth",async(r)=>{try{let $0=await re6(z,$.auth,$.db,R,$.memberRoleCache);return r.setStatus({code:eW8.OK}),$0}catch($0){throw r.setStatus({code:eW8.ERROR,message:$0.message}),r.recordException($0),$0}finally{r.end()}}):{user:void 0},V=me6(z,S.user),v=YP1({auth:$.auth,db:$.db,authMethod:S.method,headers:z?.headers??new Headers,role:S.role,permissions:S.permissions,userId:S.user?.id,apiKeyId:S.apiKeyId,organizationId:S.organization?.id}),b={user:S.user,tokenOrganizationId:S.tokenOrganizationId,permissions:S.permissions,permissionsOrganizationId:S.permissions?S.organization?.id:void 0};if(S.apiKey)b.apiKey=S.apiKey;let h=S.organization,l=z?B0().baseUrl??`${new URL(z.url).origin}`:h9(),d=new ET(b.user?.id,void 0,v,S.role,"self",void 0,h?.id),W0={...T,virtualMcps:M8$(T.virtualMcps),threads:new sr0(j,h?.id),asyncResearchJobs:new uE1(E,h?.id)},I0=new $P1(W0.aiProviderKeys,$.modelListCache),J0=QJ(),U0=!h?null:J0?P3(J0,h.id):new rW(h.id,l),o=h&&U0?new $K(U0,W0.orgFsEntries,h.id):null;JE1(W0,{objectStorage:U0,baseUrl:l,orgSlug:h?.slug});let t={timings:R,auth:b,connectionId:V,organization:h,storage:W0,vault:Z,authInstance:$.auth,boundAuth:v,access:d,db:$.db,tracer:$.observability.tracer,meter:$.observability.meter,baseUrl:l,objectStorage:U0,orgFs:o,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(ae6.map((r)=>[r,z?.headers.get(r)??null]).filter(([,r])=>r!==null)),userAgent:(z?FK0(z.headers,"client"):null)||z?.headers.get("User-Agent")||void 0,ipAddress:(z?.headers.get("CF-Connecting-IP")||z?.headers.get("X-Forwarded-For"))??void 0,properties:ce6(z?FK0(z.headers,"properties"):null)},aiProviders:I0,createMCPProxy:async(r)=>{return await _W8(r,t)},invalidateMemberRole:$.memberRoleCache?(r,$0)=>$.memberRoleCache.invalidate(r,$0):void 0,getOrCreateClient:f,pendingRevalidations:[]};return t}}function lz($,Z){$.storage.threads.setOrganizationId(Z.id),$.storage.asyncResearchJobs.setOrganizationId(Z.id);let Q=QJ();$.objectStorage=Q?P3(Q,Z.id):new rW(Z.id,$.baseUrl),$.orgFs=new $K($.objectStorage,$.storage.orgFsEntries,Z.id),JE1($.storage,{objectStorage:$.objectStorage,baseUrl:$.baseUrl,orgSlug:Z.slug??void 0})}var le6=50,$K8=500,ZK8=60000,pe6=1e4,ZP1,YK8,_Y,XK8,ae6;var dN=L(()=>{h1$();iH();Jj();u1();H9();$a0();ZW0();QW0();_8$();FZ$();uW();ie0();N00();ne0();ae0();TZ$();kZ$();CZ$();w00();GJ();bZ$();K01();cO1();ZX();xW8();UE1();oa();lE1();vE1();G41();x50();yW8();dc();MB0();Zp();pE1();mW8();Av0();TO1();TO();nW8();ls0();vU();aW8();$j();Ac();GE1();ZP1=new Map;_Y={set:($)=>{YK8=$},create:async($,Z)=>{return await YK8($,Z)}},XK8={measure:async($,Z)=>{return await Z()}},ae6=["x-hub-signature-256"]});import{DBOS as Hf0,SchedulerMode as ee6}from"@dbos-inc/dbos-sdk";function GK8($){JP1=$}function WK8(){if(!JP1)throw Error("[org-fs] org-repo-sync runtime not initialized \u2014 setOrgRepoSyncRuntime() must run before the workflow fires");return JP1}async function Z05($,Z){let Q=await $.selectFrom("organization").select(["id","slug","name"]).where("id","=",Z).executeTakeFirst();if(!Q)return null;let Y=await _Y.create();return Y.organization={id:Q.id,slug:Q.slug,name:Q.name},lz(Y,{id:Q.id,slug:Q.slug}),Y}async function Q05($){try{let{db:Z}=WK8(),Q=await Z05(Z,$.organizationId);if(!Q)return{id:$.id,volume:$.volume,error:"organization no longer exists"};let Y=await $w0(Q,$);return"error"in Y?{id:Y.id,volume:Y.volume,error:Y.error}:{id:Y.id,volume:Y.volume}}catch(Z){return{id:$.id,volume:$.volume,error:Z instanceof Error?Z.message:String(Z)}}}async function Y05($,Z){let Q=await Hf0.runStep(()=>new fR(WK8().db).listEnabled(),{name:"loadOrgRepoSyncConfigs"});for(let Y of Q){let X=await Hf0.runStep(()=>Q05(Y),{name:`syncOrgRepo:${Y.id}`});if(X.error)console.warn(`[org-fs] org repo sync ${X.id} (${X.volume}) failed: ${X.error}`)}}function KK8(){if(XP1)return;XP1=Hf0.registerWorkflow(Y05,{name:"orgRepoSyncWorkflow"}),Hf0.registerScheduled(XP1,{name:"orgRepoSyncWorkflow",crontab:$05,mode:ee6.ExactlyOncePerIntervalWhenActive})}var $05="7-59/10 * * * *",JP1=null,XP1=null;var HK8=L(()=>{dN();Zw0()});import{DBOS as Ff0,SchedulerMode as X05}from"@dbos-inc/dbos-sdk";function FK8($){WP1=$}function UK8(){if(!WP1)throw Error("[task-board-archive] runtime not initialized \u2014 setTaskBoardArchiveSweepRuntime() must run before the workflow fires");return WP1}async function K05($,Z){try{let Q=await hJ(UK8().db,$);if(!Q)return{organizationId:$,archived:0};let{archived:Y}=await Z88(Q,$,Z);return{organizationId:$,archived:Y}}catch(Q){return{organizationId:$,archived:0,error:Q instanceof Error?Q.message:String(Q)}}}async function H05($,Z){let Q=new Date($.getTime()-G05),Y=await Ff0.runStep(()=>new DW(UK8().db).listItemsAwaitingArchive(Q,W05),{name:"loadArchiveCandidates"});if(Y.length===0)return;let X=await Promise.all(n_0(Y).map(({organizationId:G,itemIds:W})=>Ff0.runStep(()=>K05(G,W),{name:`archiveMergedForOrg:${G}`})));for(let G of X)if(G.error)console.warn(`[task-board-archive] org ${G.organizationId} failed: ${G.error}`);let J=X.reduce((G,W)=>G+W.archived,0);if(J>0)console.log(`[task-board-archive] archived ${J} of ${Y.length} candidates`)}function NK8(){if(GP1)return;GP1=Ff0.registerWorkflow(H05,{name:"taskBoardArchiveSweepWorkflow"}),Ff0.registerScheduled(GP1,{name:"taskBoardArchiveSweepWorkflow",crontab:J05,mode:X05.ExactlyOncePerIntervalWhenActive})}var J05="23 * * * *",G05=432000000,W05=200,WP1=null,GP1=null;var BK8=L(()=>{TO();Et();uz()});import{sql as F05}from"kysely";class Ru{db;constructor($){this.db=$}async listIngestInstalls($){return(await this.db.selectFrom("connections").select(["id","organization_id","created_by"]).where("connection_url","=",$).where("status","=","active").orderBy("id").execute()).map((Q)=>({organizationId:Q.organization_id,connectionId:Q.id,createdBy:Q.created_by}))}async listOrgStores($,Z){return(await this.db.selectFrom("connections").select(["id","title"]).where("organization_id","=",$).where("connection_url","=",Z).where("status","=","active").orderBy("title").execute()).map((Y)=>({connectionId:Y.id,title:Y.title}))}async listStates($,Z){let Q=this.db.selectFrom("order_monitor_state as s").leftJoin("task_board_items as t",(X)=>X.onRef("t.id","=","s.task_board_item_id").onRef("t.organization_id","=","s.organization_id")).select(["s.connection_id","s.rule","s.status","s.since","s.evaluated_at","s.verdict","s.prev_status","t.id as task_id","t.key_seq as task_key_seq"]).where("s.organization_id","=",$);if(Z)Q=Q.where("s.connection_id","=",Z);return(await Q.execute()).map((X)=>({connectionId:X.connection_id,rule:X.rule,status:X.status,since:X.since,evaluatedAt:X.evaluated_at,verdict:X.verdict,prevStatus:X.prev_status,task:X.task_id&&X.task_key_seq!==null?{id:X.task_id,keySeq:X.task_key_seq}:null}))}async upsertStates($,Z,Q){if(Q.length===0)return;await this.db.insertInto("order_monitor_state").values(Q.map((Y)=>({organization_id:$,connection_id:Z,rule:Y.rule,status:Y.status,since:Y.since,evaluated_at:Y.evaluatedAt,verdict:JSON.stringify(Y.verdict),prev_status:Y.prevStatus??null}))).onConflict((Y)=>Y.columns(["organization_id","connection_id","rule"]).doUpdateSet({status:(X)=>X.ref("excluded.status"),since:(X)=>X.ref("excluded.since"),evaluated_at:(X)=>X.ref("excluded.evaluated_at"),verdict:(X)=>X.ref("excluded.verdict"),prev_status:(X)=>X.ref("excluded.prev_status")})).execute()}async setIncidentTask($,Z,Q,Y){await this.db.updateTable("order_monitor_state").set({task_board_item_id:Y}).where("organization_id","=",$).where("connection_id","=",Z).where("rule","=",Q).execute()}async listAggregatingAgents($,Z){if(Z.length===0)return[];return(await this.db.selectFrom("connection_aggregations as a").innerJoin("connections as p","p.id","a.parent_connection_id").select(["a.parent_connection_id","a.child_connection_id"]).where("p.organization_id","=",$).where("p.connection_type","=","VIRTUAL").where("p.status","=","active").where("a.child_connection_id","in",Z).orderBy("p.created_at").execute()).map((Y)=>({agentId:Y.parent_connection_id,childId:Y.child_connection_id}))}async listAgentRepositoryIds($,Z){let Q=this.db.selectFrom("connections").select("repository_id").distinct().where("organization_id","=",$).where("connection_type","=","VIRTUAL").where("repository_id","is not",null);if(Z)Q=Q.where("id","=",Z);return(await Q.execute()).flatMap((X)=>X.repository_id?[X.repository_id]:[])}async listOrgAdmins($){return(await this.db.selectFrom("member").select(["userId","role"]).where("organizationId","=",$).execute()).filter((Q)=>Q.role.split(",").some((Y)=>Y==="owner"||Y==="admin")).map((Q)=>Q.userId)}async setVerdictFlags($,Z,Q,Y){await this.db.updateTable("order_monitor_state").set({verdict:F05`verdict || ${JSON.stringify(Y)}::jsonb`}).where("organization_id","=",$).where("connection_id","=",Z).where("rule","=",Q).execute()}}var KP1=()=>{};function HP1($,Z){k6.emit($,{id:crypto.randomUUID(),type:u$8,source:"order-monitor",subject:Z,time:new Date().toISOString()})}var DK8=L(()=>{Lt();AO()});function Uf0($,Z){return{today:LK8($,0,Z),refs:NP1.map((Q)=>LK8($,Q,Z))}}function N05($,Z,Q){let Y=[];for(let W=Q;W>0;W-=CW){let K=Math.max(0,W-CW);Y.push({base:To(Z,K,W),today:NU($,K,W)})}let X=Y.reduce((W,K)=>W+K.base,0);if(X<EK8)return 1;let J=Y.filter((W)=>W.base>0).sort((W,K)=>W.today/W.base-K.today/K.base),G=0;for(let W of J)if(G+=W.base,G>=X/2)return Math.min(2,Math.max(0.5,W.today/W.base));return 1}function AK8($,Z,Q,Y,X){let J=To(Z,Q-CW,Y);return J>=EK8?NU($,Q-CW,Y)/J:X}function B05($,Z,Q,Y){let X=Math.max(UP1,PK8*Z),J=Math.max(UP1,zK8*Z);return{status:!Y?"low-volume":$>=J?"alert":$>=X?"warning":"ok",...Q,observed:$,expected:Z,warnAt:X,alertAt:J}}function TK8($){return $.firstEventDaysAgo!==null&&$.firstEventDaysAgo>NP1[NP1.length-1]}function LP1($){let Z=Uf0($,"placed"),Q=$.done+CW,Y=Q-CW,X=N05(Z.today,Z.refs,Y),J={from:Y-CW,to:Q-CW,level:X},G=($.dstBuckets??[]).some((O)=>O>=J.from&&O<J.to),W=X*To(Z.refs,Y,Q),K=NU(Z.today,Y,Q),H=OK8*W,F=wK8*W,U={status:G||W<jK8?"low-volume":K<F?"alert":K<H?"warning":"ok",...J,observed:K,expected:W,warnAt:H,alertAt:F},N=AK8(Z.today,Z.refs,Y,Q,X),B=!G&&TK8($),D=(O)=>{let w=Uf0($,O);return B05(NU(w.today,Y,Q),N*To(w.refs,Y,Q),J,B)};return{orders_drop:U,denied_spike:D("denied"),cancel_spike:D("canceled")}}function qK8($,Z){let Q=$.days[0],Y=Uf0($,"placed"),X=Uf0($,"canceled"),J=LP1($),G=J.orders_drop.level,W=TK8($),K=(P)=>[P*4+CW,P*4+4+CW],H=(P,T)=>To(P,...K(T)),F=(P,T)=>T*4<$.done?NU(P,T*4,Math.min(T*4+4,$.done)):null,U=(P)=>$.firstEventDaysAgo===null||P>$.firstEventDaysAgo,N=(P,T)=>(U(P)?$.approximate?.[P]?.[T]:void 0)??$.days[P][T],B=(P)=>({today:Mu.map((T)=>F(P(0),T)),d1:Mu.map((T)=>FP1(P(1),T)),w1:Mu.map((T)=>FP1(P(7),T)),y1:Mu.map((T)=>FP1(P(364),T))}),D=Mu.map((P)=>G*H(Y.refs,P)),O=(P,T)=>P<jK8?null:T*P,w=Mu.map((P)=>P*4+4<=$.done?AK8(Y.today,Y.refs,...K(P),G):G),j=(P)=>Mu.map((T)=>W?Math.max(UP1,P*w[T]*H(X.refs,T)):null),E=(P)=>({...P,timezone:$.timezone});return{at:Z.toISOString(),timezone:$.timezone,date:Z.toLocaleDateString("en-CA",{timeZone:$.timezone}),done:$.done,orders:{...B((P)=>$.days[P].placed),expected:D,warnAt:D.map((P)=>O(P,OK8)),alertAt:D.map((P)=>O(P,wK8))},cancellations:{canceled:B((P)=>N(P,"canceled")),denied:B((P)=>N(P,"denied")),approximate:{d1:U(1)&&!!$.approximate?.[1],w1:U(7)&&!!$.approximate?.[7],y1:U(364)&&!!$.approximate?.[364]},canceledWarnAt:j(PK8),canceledAlertAt:j(zK8)},headline:{projected:NU(Q.placed,0,$.done)+G*To(Y.refs,$.done+CW,nO+CW),d1:NU($.days[1].placed),w1:NU($.days[7].placed),y1:NU($.days[364].placed)},verdicts:{orders_drop:E(J.orders_drop),denied_spike:E(J.denied_spike),cancel_spike:E(J.cancel_spike)}}}var BP1,CW=4,nO=96,OK8=0.3,wK8=0.15,jK8=20,EK8=30,PK8=3,zK8=5,UP1=10,NP1,DP1,NU=($,Z=0,Q=$.length)=>$.slice(Math.max(0,Z),Q).reduce((Y,X)=>Y+X,0),U05=($)=>{let Z=[...$].sort((Y,X)=>Y-X),Q=Math.floor(Z.length/2);return Z.length%2?Z[Q]:(Z[Q-1]+Z[Q])/2},To=($,Z,Q)=>U05($.map((Y)=>NU(Y,Z,Q))),LK8=($,Z,Q)=>[...$.days[Z+1][Q].slice(-CW),...$.days[Z][Q]],Mu,FP1=($,Z)=>NU($,Z*4,Z*4+4);var w70=L(()=>{Lt();BP1={orders_drop:!1,denied_spike:!1,cancel_spike:!1},NP1=[1,7,14,21,28],DP1=[0,1,2,7,8,14,15,21,22,28,29,364];Mu=Array.from({length:24},($,Z)=>Z)});function P05($){return $.toISOString().replace("T"," ").replace("Z","")}function Vu($,Z){let Q=new Intl.DateTimeFormat("en-US",{timeZone:Z,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts($),Y=(X)=>Number(Q.find((J)=>J.type===X)?.value);return Y("hour")*60+Y("minute")}function Nf0($,Z){let Q=new Intl.DateTimeFormat("en-US",{timeZone:Z,timeZoneName:"longOffset"}).formatToParts($).find((X)=>X.type==="timeZoneName")?.value??"GMT",Y=/GMT([+-])(\d{2}):(\d{2})/.exec(Q);return Y?(Y[1]==="-"?-1:1)*(Number(Y[2])*60+Number(Y[3])):0}function MK8($,Z){let Q=$.getTime()%60000,Y=$.getTime()-Vu($,Z)*60000-Q,X=Nf0($,Z)-Nf0(new Date(Y),Z);return new Date(Y+X*60000)}function jP1($,Z,Q){let Y=$.getTime()%60000;return new Date($.getTime()-(Vu($,Z)-Q*15)*60000-Y)}function z05($,Z){let Y=$.getTime()-86400000-7200000;if(Nf0(new Date(Y),Z)===Nf0($,Z))return[];let X=(K)=>K.toLocaleDateString("en-CA",{timeZone:Z}),J=X($),G=Math.floor(Vu($,Z)/15),W=Array(nO).fill(0);for(let K=Y;K<$.getTime();K+=900000){let H=new Date(K);if(X(H)!==J)continue;let F=Math.floor(Vu(H,Z)/15);W[F]=(W[F]??0)+1}return W.flatMap((K,H)=>H<G&&K!==1?[H]:[])}function A05($,Z){let Q=Vu($,Z);return Math.max(0,Math.floor((Q-D05)/15))}function RK8(){let $=()=>Array(nO).fill(0);return Object.fromEntries(DP1.map((Z)=>[Z,{placed:$(),canceled:$(),denied:$()}]))}async function EP1($,Z){let[Q]=await G2($,E05,{conn:Z});return typeof Q?.timezone==="string"&&Q.timezone?Q.timezone:null}async function Df0($,Z,Q,Y={}){let X=await EP1($,Z);if(!X)return null;let J={conn:Z,tz:X,at:P05(Q)},[G,W,[K],H]=await Promise.all([G2($,L05,J),G2($,O05,J),G2($,j05,J),Y.approximate?G2($,w05,J):null]),F=RK8(),U=(B)=>{let D=F[Number(B.days_ago)],O=Number(B.bucket);return D&&O>=0&&O<nO?{day:D,b:O}:null};for(let B of G){let D=U(B);if(D)D.day.placed[D.b]=Number(B.placed)}for(let B of W){let D=U(B);if(!D)continue;D.day.canceled[D.b]=Number(B.canceled),D.day.denied[D.b]=Number(B.denied)}let N;if(H){let B=RK8();for(let D of H){let O=B[Number(D.days_ago)],w=Number(D.bucket);if(!O||w<0||w>=nO)continue;O.canceled[w]=Number(D.canceled),O.denied[w]=Number(D.denied)}N=B}return{timezone:X,done:A05(Q,X),days:F,dstBuckets:z05(Q,X),firstEventDaysAgo:K?.days_ago===null||K?.days_ago===void 0?null:Number(K.days_ago),approximate:N}}var D05=5,qo="{at:DateTime64(3, 'UTC')}",Bf0=($)=>`dateDiff('day', toDate(${$}, {tz:String}), toDate(${qo}, {tz:String}))`,OP1=($)=>`intDiv(toHour(${$}, {tz:String}) * 60 + toMinute(${$}, {tz:String}), 15)`,wP1=($)=>`${$} < ${qo}
4133
+ AND organization_id = ${Z})`);let G=await J.execute(),W=G.slice(0,Y),K=await this.db.selectFrom("notifications").select((F)=>F.fn.countAll().as("count")).where("user_id","=",$).where("organization_id","=",Z).where("read_at","is",null).executeTakeFirst(),H=W[W.length-1];return{nextCursor:G.length>Y&&H?H.id:null,notifications:W.map((F)=>({id:F.id,taskBoardItemId:F.task_board_item_id,type:F.type,data:Ot.parse(F.data),createdAt:ve6(F.created_at)})),unreadCount:Number(K?.count??0)}}async anchorExists($,Z,Q){return!!await this.db.selectFrom("notifications").select("id").where("id","=",$).where("user_id","=",Z).where("organization_id","=",Q).executeTakeFirst()}async markRead($,Z,Q){if(Q&&Q.length===0)return 0;let Y=this.db.updateTable("notifications").set({read_at:new Date}).where("user_id","=",$).where("organization_id","=",Z).where("read_at","is",null);if(Q)Y=Y.where("id","in",Q);let X=await Y.executeTakeFirst();return Number(X.numUpdatedRows??0n)}async setSubscribed($,Z,Q){await this.db.insertInto("notification_subscriptions").values({id:c8("nsub"),user_id:$,task_board_item_id:Z,subscribed:Q}).onConflict((Y)=>Y.columns(["user_id","task_board_item_id"]).doUpdateSet({subscribed:Q,updated_at:new Date})).execute()}async notify($){await gz({...$,db:this.db})}async notifyMentions($){await iW8({...$,db:this.db})}async listSubscribers($){return(await this.db.selectFrom("notification_subscriptions").select("user_id").where("task_board_item_id","=",$).where("subscribed","=",!0).execute()).map((Q)=>Q.user_id)}}var Se6=20,_e6=50,ve6=($)=>$ instanceof Date?$.toISOString():$;var nW8=L(()=>{JY();c_0();b90();pW8()});class aE1{db;constructor($){this.db=$}async create($,Z,Q){await this.deleteExpired(Z);let Y=crypto.randomUUID(),X=new Date(Date.now()+600000);return await this.db.insertInto("oauth_pkce_states").values({id:Y,organization_id:Z,user_id:Q,code_verifier:$,expires_at:X,created_at:new Date}).execute(),Y}async deleteExpired($){await this.db.deleteFrom("oauth_pkce_states").where("organization_id","=",$).where("expires_at","<",new Date).execute()}async consume($,Z,Q){let Y=await this.db.deleteFrom("oauth_pkce_states").where("id","=",$).where("organization_id","=",Z).where("user_id","=",Q).returningAll().executeTakeFirst();if(!Y)throw Error("Invalid or expired OAuth state token");if((Y.expires_at instanceof Date?Y.expires_at:new Date(Y.expires_at))<new Date)throw Error("OAuth state token has expired");return Y.code_verifier}}class Kf0{db;vault;table;constructor($,Z,Q="claude_subscriptions"){this.db=$;this.vault=Z;this.table=Q}async upsert($){let Z=await this.vault.encrypt($.accessToken),Q=$.expiresAt??null,Y=new Date;return await this.db.insertInto(this.table).values({user_id:$.userId,encrypted_access_token:Z,expires_at:Q,created_at:Y}).onConflict((X)=>X.column("user_id").doUpdateSet({encrypted_access_token:Z,expires_at:Q,created_at:Y})).execute(),{linkedAt:Y.toISOString(),expiresAt:Q?.toISOString()??null}}async find($){let Z=await this.db.selectFrom(this.table).select(["created_at","expires_at"]).where("user_id","=",$).executeTakeFirst();if(!Z)return null;return{linkedAt:new Date(Z.created_at).toISOString(),expiresAt:Z.expires_at?new Date(Z.expires_at).toISOString():null}}async findLiveToken($){let Z=await this.db.selectFrom(this.table).select(["encrypted_access_token","expires_at"]).where("user_id","=",$).executeTakeFirst();if(!Z)return null;if(Z.expires_at&&new Date(Z.expires_at).getTime()<=Date.now())return null;return this.vault.decrypt(Z.encrypted_access_token)}async delete($){await this.db.deleteFrom(this.table).where("user_id","=",$).execute()}}class eE1{db;constructor($){this.db=$}async share($,Z,Q){await this.db.insertInto("org_shared_plans").values({organization_id:$,provider_id:Z,user_id:Q,created_at:new Date}).onConflict((Y)=>Y.columns(["organization_id","provider_id","user_id"]).doNothing()).execute()}async unshare($,Z,Q){await this.db.deleteFrom("org_shared_plans").where("organization_id","=",$).where("provider_id","=",Z).where("user_id","=",Q).execute()}async unshareEverywhere($,Z){await this.db.deleteFrom("org_shared_plans").where("provider_id","=",$).where("user_id","=",Z).execute()}async list($){return(await this.db.selectFrom("org_shared_plans as s").innerJoin("member as m",(Q)=>Q.onRef("m.userId","=","s.user_id").onRef("m.organizationId","=","s.organization_id")).leftJoin("user as u","u.id","s.user_id").select(["s.provider_id as providerId","s.user_id as userId","u.name as userName","s.created_at as sharedAt"]).where("s.organization_id","=",$).orderBy("s.created_at","asc").execute()).map((Q)=>({...Q,userName:Q.userName??null,sharedAt:new Date(Q.sharedAt).toISOString()}))}}function be6($){return $.includes("/")?$.split("/").slice(1).join("/"):$}function xe6($){return typeof $.id==="string"&&!!$.architecture&&Array.isArray($.architecture.input_modalities)&&Array.isArray($.architecture.output_modalities)&&!!$.top_provider&&!!$.pricing}function fe6($){return{providerId:"openrouter",modelId:be6($.id),title:$.name,description:$.description||null,logo:null,capabilities:yd($.architecture.input_modalities,$.architecture.output_modalities,$.supported_parameters,$.supported_parameters?.includes("reasoning")?["reasoning"]:[]),limits:{contextWindow:$.context_length,maxOutputTokens:$.top_provider.max_completion_tokens||null},costs:{input:Number($.pricing.prompt)||0,output:Number($.pricing.completion)||0}}}function oW8($){let Z=new Map;for(let Q of $){let Y={description:Q.description,capabilities:Q.capabilities,limits:Q.limits,costs:Q.costs};Z.set(Q.modelId,Y);let X=Q.modelId.replace(/\./g,"-");if(X!==Q.modelId)Z.set(X,Y)}return Z}async function ye6($){if($){let Z=await $.get(tW8,"openrouter");if(Z)return oW8(Z)}try{let Z=await HN("OpenRouter enrichment index","https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!Z.ok)await JX("OpenRouter enrichment index",Z);let{data:Q}=await Z.json(),Y=Q.filter(xe6).map(fe6);if($)await $.set(tW8,"openrouter",Y);return oW8(Y)}catch{return new Map}}function ge6($){let Z=$.replace(/\./g,"-"),Q=$.replace(/-\d{8}$/,""),Y=Q.replace(/\./g,"-");return[...new Set([$,Z,Q,Y])]}function he6($){return $.providerId==="anthropic"||$.modelId.startsWith("anthropic/")}function rW8($,Z){if(he6(Z)&&$.includes("vision")&&!$.includes("file"))return[...$,"file"];return $}function ue6($,Z){return $.map((Q)=>{let X=ge6(Q.modelId).map((W)=>Z.get(W)).find(Boolean),J=Q.capabilities.length?Q.capabilities:X?.capabilities??[],G=rW8(J,Q);if(!X)return G===J?Q:{...Q,capabilities:G};return{...Q,description:Q.description??X.description??null,capabilities:G,limits:Q.limits??X.limits??null,costs:Q.costs??X.costs??null}})}class $P1{storage;cache;constructor($,Z){this.storage=$;this.cache=Z}async activate($,Z){let{keyInfo:Q,apiKey:Y}=await this.storage.resolve($,Z),X=R9()[Q.providerId];if(!X)throw Error(`Unknown provider: ${Q.providerId}`);return X.create(Y)}async listDecisionModels($,Z){let Q=await this.activate($,Z);if(!Q.decisions?.listModels)throw Error("Provider does not support decision model discovery");let Y=`${Q.info.id}:decisions`,X=await this.cache?.get(Z,Y);if(X)return X;let J=new Set,G=(await Q.decisions.listModels()).filter((W)=>{if(W.deprecated||!W.capabilities.includes("decisions")||J.has(W.modelId))return!1;return J.add(W.modelId),!0}).map((W)=>({...W,providerId:Q.info.id}));return await this.cache?.set(Z,Y,G),G}async listModels($,Z){let{keyInfo:Q,apiKey:Y}=await this.storage.resolve($,Z),X=Q.providerId,J=R9()[X];if(!J)throw Error(`Unknown provider: ${X}`);if(this.cache){let U=await this.cache.get(Z,X);if(U)return sW8(U,J.create(Y))}let G=J.create(Y),W=await G.listModels(),K=new Set,H=W.filter((U)=>{if(U.deprecated)return!1;if(K.has(U.modelId))return!1;return K.add(U.modelId),!0});if(X!=="openrouter"&&X!=="deco"){let U=await ye6(this.cache);H=ue6(H,U)}else H=H.map((U)=>({...U,capabilities:rW8(U.capabilities,U)}));let F=H.map((U)=>({...U,providerId:X}));if(this.cache)await this.cache.set(Z,X,F);return sW8(F,G)}}function sW8($,Z){let Q=Z.asyncResearch;if(!Q)return $;return $.map((Y)=>Q.canHandle(Y.modelId)?{...Y,asyncResearch:!0}:Y)}var tW8="_global";var aW8=L(()=>{VK();iT()});import{SpanStatusCode as eW8}from"@opentelemetry/api";function ce6($){if(!$)return;try{let Z=JSON.parse($);if(typeof Z!=="object"||Z===null||Array.isArray(Z))return;let Q={};for(let[Y,X]of Object.entries(Z)){if(Object.keys(Q).length>=le6)break;if(typeof X==="string"&&Y.length<=$K8&&X.length<=$K8)Q[Y]=X}return Object.keys(Q).length>0?Q:void 0}catch{return}}function me6($,Z){return Z?.connectionId??$?.headers.get("x-caller-id")??void 0}function de6($){try{let Z=new URL($.url).pathname.split("/").filter(Boolean);if(Z[0]==="api"&&Z[1])return decodeURIComponent(Z[1])}catch{}return}function YP1($){let{auth:Z,headers:Q,role:Y,permissions:X,userId:J,apiKeyId:G,organizationId:W,authMethod:K,db:H}=$,F=!!G,U=K==="mcpOAuth"||K==="studioJwt",N=Z.api.hasPermission;return{isApiKeyPrincipal:F,hasPermission:async(B,D)=>{if(F)return Yf0(X??{},B);let O=!!D?.organizationId&&!!W&&D.organizationId!==W,w=D?D.role:Y;if(kZ(w))return!0;if(X&&!O)return Yf0(X,B);let j=M38(D?.role,B,FE1());if(j!=="fallback")return j==="grant";if(H&&D?.role&&D.organizationId)try{return(await ie6(H,D.organizationId,D.role)).some((T)=>bW8(T,B))}catch(P){return console.error("[Auth] Role permission lookup failed:",P instanceof Error?P.message:String(P)),!1}if(!N)return console.error("[Auth] hasPermission API not available"),!1;let E=D?.organizationId?{organizationId:D.organizationId}:{};try{if((await N({headers:Q,body:{permission:B,...E}}))?.success===!0)return!0;let T=xZ$(B);return(await N({headers:Q,body:{permission:T,...E}}))?.success===!0}catch(P){let T=P?.statusCode;if(T!==401&&T!==403)console.error("[Auth] Permission check failed:",P instanceof Error?P.message:String(P));return!1}},organization:{create:async(B)=>{return Z.api.createOrganization({body:B})},update:async(B)=>{return Z.api.updateOrganization({headers:Q,body:B})},delete:async(B)=>{await Z.api.deleteOrganization({headers:Q,body:{organizationId:B}})},get:async(B)=>{if(U){let D=B??W;return D&&J?vZ$(Z,J,D):null}return Z.api.getFullOrganization({headers:Q,query:B?{organizationId:B}:void 0})},list:async()=>{return(U?J?await _Z$(Z,J):[]:await Z.api.listOrganizations({headers:Q})).filter((D)=>!l9(D))},addMember:async(B)=>{return Z.api.addMember({body:B})},removeMember:async(B)=>{return Z.api.removeMember({headers:Q,body:B})},updateMemberRole:async(B)=>{return Z.api.updateMemberRole({headers:Q,body:B})}},apiKey:{create:async(B)=>{return Z.api.createApiKey({body:{...B,userId:J}})},list:async()=>{return Z.api.listApiKeys({headers:Q})},update:async(B)=>{return Z.api.updateApiKey({body:{...B,userId:J}})},delete:async(B)=>{await Z.api.deleteApiKey({headers:Q,body:{keyId:B}})}}}}async function UP($,Z,Q){if(jT.includes(Q))return;let Y=await $.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",Z).where("role","=",Q).executeTakeFirst();if(!Y?.permission)return;try{return JSON.parse(Y.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${Q}`);return}}async function ie6($,Z,Q){let Y=FE1();return Promise.all(oj(Q).map(async(X)=>{if(jT.includes(X))return Y[X]??{};return await UP($,Z,X)??{}}))}function ne6($,Z,Q){rj($,Z,Q)}function te6($,Z,Q){aj($,Z,Q)}async function QK8($,Z,Q,Y){let X=ZP1.get(Q);if(X&&Date.now()-X.at<ZK8)return X.value;let J=await Z.measure(Y,()=>$.selectFrom("organization").select(["metadata"]).where("id","=",Q).executeTakeFirst()),G=l9(J);return ne6(ZP1,Q,G),te6(ZP1,pe6,ZK8),G}async function QP1($,Z,Q,Y,X){let J=X?.get(Q,Y);if(J)return J;let W=(await Z.measure("auth_query_membership",()=>$.selectFrom("member").select(["member.role"]).where("member.userId","=",Q).where("member.organizationId","=",Y).executeTakeFirst()))?.role;if(W)X?.set(Q,Y,W);return W}function oe6($,Z){if(!$)return!0;return Z===$}async function se6($,Z,Q,Y,X){let J=FK0($.headers,"token");if(!J)return;let G=await Q.measure("auth_verify_onbehalf_studio_jwt",()=>os0(J));if(!G?.sub)return;let W=G.metadata?.organizationId;if(!oe6(Y,W))return;let K=Y?await QP1(Z,Q,G.sub,Y,X):G.user?.role??void 0;return{id:G.sub,email:G.user?.email,name:G.user?.name,role:K}}async function re6($,Z,Q,Y=XK8,X){let J=$.headers.get("Authorization");try{let G=new Headers($.headers);G.set("X-MCP-Session-Auth","true");let W=await Y.measure("auth_get_mcp_session",()=>Z.api.getMcpSession({headers:G}));if(W){let K=W.userId,H=$.headers.get("x-org-id"),F=$.headers.get("x-org-slug"),U=de6($),N=await Y.measure("auth_query_membership",()=>{let w=Q.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","member.organizationId","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",K);if(U)return w.where("organization.slug","=",U).executeTakeFirst();if(H)return w.where("organization.id","=",H).executeTakeFirst();if(F)return w.where("organization.slug","=",F).executeTakeFirst();return w.orderBy("member.createdAt","asc").limit(2).execute().then((j)=>j.length===1?j[0]:void 0)});if(l9({metadata:N?.orgMetadata}))throw Error(WK0);let B=N?.role,D=N?{id:N.orgId,slug:N.orgSlug,name:N.orgName}:void 0;if(N&&B)X?.set(K,N.organizationId,B);let O;if(N&&B)O=await Y.measure("auth_fetch_role_permissions",()=>UP(Q,N.organizationId,B));return{method:"mcpOAuth",user:{id:K,role:B},role:B,permissions:O,organization:D}}}catch(G){console.error("[Auth] OAuth session check failed:",G)}if(J?.startsWith("Bearer ")){let G=J.replace("Bearer ","").trim();try{let W=await Y.measure("auth_verify_studio_token",()=>os0(G));if(W){let K,H=W.metadata?.organizationId;if(W.sub&&H)K=await QP1(Q,Y,W.sub,H,X);let F,U=W.metadata?.organizationId;if(U){let N=W.metadata?.organizationName,B=W.metadata?.organizationSlug;if(N||B){if(await QK8(Q,Y,U,"auth_query_org_archived_for_studio_token"))return{user:void 0};F={id:U,name:N,slug:B}}else{let D=await Y.measure("auth_query_org_for_studio_token",()=>Q.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",U).executeTakeFirst());if(l9(D))return{user:void 0};F=D?{id:D.id,slug:D.slug,name:D.name}:{id:U}}}return{method:"studioJwt",user:{id:W.sub,connectionId:W.metadata?.connectionId,role:K},role:K,permissions:W.permissions,tokenOrganizationId:H,organization:F}}}catch{}try{let W=await Y.measure("auth_verify_api_key",()=>Z.api.verifyApiKey({body:{key:G}}));if(W?.valid&&W.key){let K=W.key.metadata?.organization;if(K?.id&&await QK8(Q,Y,K.id,"auth_query_org_for_api_key"))return{user:void 0};let H=W.key.permissions,F,U=W.key.userId;if(U&&K?.id)F=await QP1(Q,Y,U,K.id,X);let N=await se6($,Q,Y,K?.id,X);return{method:"apiKey",apiKeyId:W.key.id,user:N??{id:W.key.userId,role:F},role:N?N.role:F,permissions:H,apiKey:{id:W.key.id,name:W.key.name??"",userId:W.key.userId,metadata:W.key.metadata},tokenOrganizationId:K?.id,organization:K?{id:K.id,slug:K.slug,name:K.name}:void 0}}}catch(W){let K=W;if(K.body?.code==="INVALID_API_KEY"||K.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL($.url).pathname,method:$.method,ua:$.headers.get("user-agent")??void 0,ip:$.headers.get("x-forwarded-for")??$.headers.get("x-real-ip")??void 0,tokenPrefix:G.slice(0,8)});else console.error("[Auth] API key check failed:",K)}}try{let G=new Headers($.headers);G.delete("Authorization");let W=await Y.measure("auth_get_session",()=>Z.api.getSession({headers:G}));if(W){let K,H,F=$.headers.get("x-org-id"),U=$.headers.get("x-org-slug");if(!F&&!U&&$.method.toUpperCase()==="GET")try{let N=new URL($.url).searchParams;F=N.get("x-org-id"),U=N.get("x-org-slug")}catch{}if(F||U){let N=await Y.measure("auth_query_membership_from_header",()=>{let B=Q.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",W.user.id);if(F)B=B.where("organization.id","=",F);else if(U)B=B.where("organization.slug","=",U);return B.executeTakeFirst()});if(l9({metadata:N?.orgMetadata}))throw Error(WK0);if(N)K={id:N.orgId,slug:N.orgSlug,name:N.orgName},H=N.role}else if(W.session.activeOrganizationId){let N=await Y.measure("auth_get_full_organization",()=>Z.api.getFullOrganization({headers:G}).catch(()=>null));if(N&&!l9(N))K={id:N.id,slug:N.slug,name:N.name},H=N.members?.find((D)=>D.userId===W.user.id)?.role;else if(!N)K={id:W.session.activeOrganizationId,slug:"",name:""}}return{method:"session",user:{id:W.user.id,email:W.user.email,emailVerified:!!W.user.emailVerified,name:W.user.name,image:W.user.image??void 0,role:H},role:H,organization:K}}}catch(G){let W=G;if(W.message===WK0)throw G;console.error("[Auth] Session check failed:",JSON.stringify({message:W.message,body:W.body,stack:W.stack},null,2))}return{user:void 0}}async function JK8($){let Z=new XJ($.encryption.key),Q=B0(),Y=Q.clickhouseUrl,X=!!Y,J=!X&&!!Q.monitoringS3Bucket,G=X?"clickhouse":"duckdb",{resolve:W}=await import("path"),K=W(qH()),H=W(JD()),F=(z)=>`read_ndjson('${K}/${z}/**/*.ndjson', auto_detect=true)`,U=(z)=>`read_ndjson('${H}/${z}/**/*.ndjson', auto_detect=true)`,N,B,D,O,w=!1;if($.monitoringEngines)N=$.monitoringEngines.monitoringEngine,B=$.monitoringEngines.metricEngine,D=F,O=U;else if(X){let z=Q.clickhouseMaxMemoryUsage?{maxMemoryUsage:String(Q.clickhouseMaxMemoryUsage)}:void 0;N=new F00(Y,z),B=new F00(Y,z),D=(A)=>"studio_monitoring_logs",O=(A)=>"studio_monitoring_logs"}else if(J){let z=Q.monitoringS3AccessKeyId??Q.s3AccessKeyId,A=Q.monitoringS3SecretAccessKey??Q.s3SecretAccessKey,R=Q.duckdbExtensionDirectory;if(!z||!A||!R)throw Error("MONITORING_S3_BUCKET is set but the GCS monitoring path is misconfigured: MONITORING_S3_ACCESS_KEY_ID/S3_ACCESS_KEY_ID, MONITORING_S3_SECRET_ACCESS_KEY/S3_SECRET_ACCESS_KEY, and DUCKDB_EXTENSION_DIRECTORY are all required.");let f={endpoint:Q.monitoringS3Endpoint??Q.s3Endpoint??"storage.googleapis.com",region:Q.monitoringS3Region??Q.s3Region,accessKeyId:z,secretAccessKey:A,extensionDirectory:R},S=new H00(f,{memoryLimit:Q.duckdbMemoryLimit,threads:Q.duckdbThreads});N=S,B=S;let V=Q.monitoringS3Bucket,v=Q.monitoringS3Prefix??"",b=(h,l)=>HZ$({bucket:V,prefix:v,range:l});D=b,O=b,w=!0}else{let{engine:z}=await de0({basePath:qH()}),{engine:A}=await de0({basePath:JD()});N=z,B=A,D=F,O=U}let j=new mc($.db),E=new O70($.db),P=new D00($.db),T={connections:new sa($.db,Z),connectionCredentialVault:new Ya0($.db),organizationSettings:new DT($.db),userModelPreferences:new pe0($.db),monitoring:new Ba0(N,D,B,O,G,w),virtualMcps:new tH($.db),users:new J01($.db),tags:new L00($.db),sprints:new $01($.db),projectSidebar:new Q01($.db),experiments:new Y01($.db),organizationBilling:new V3($.db),aiProviderKeys:new y10($.db,Z,$.providerKeyCache),subsidizedGatewayKeys:new cE1($.db,Z),secrets:new hH1($.db,Z),orgFileConfigs:new mE1($.db,Z),orgSites:new mU($.db),orgRepoSyncs:new fR($.db),gitProviderAccounts:new lq($.db),gitProviderAccountCredentials:new K40($.db,Z),gitProviderOAuthStates:new nE1($.db),githubConnectFlows:new iE1($.db),repositories:new H40($.db),jiraIntegrations:new pO($.db,Z),taskBoard:new DW($.db),taskBoardPrompts:new oE1($.db),taskBoardAnalytics:new dB1($.db),threadAnalytics:new AO1($.db),notifications:new rE1($.db),orgFsEntries:new Va($.db),oauthPkceStates:new aE1($.db),codexSubscriptions:new ts0($.db,Z),claudeSubscriptions:new Kf0($.db,Z),githubCopilotSubscriptions:new Kf0($.db,Z,"github_copilot_subscriptions"),orgSharedPlans:new eE1($.db),automations:nj($.db),triggerCallbackTokens:new B00($.db),orgSsoConfig:new se0($.db,Z),orgSsoSessions:new re0($.db),organizationDomains:new M3($.db),organizationJoinRequests:new cm($.db),kv:P,interests:new oe0(P)};return async(z,A)=>{let R=A?.timings??XK8,f=ex0(),S=z?await $.observability.tracer.startActiveSpan("studio.auth",async(r)=>{try{let $0=await re6(z,$.auth,$.db,R,$.memberRoleCache);return r.setStatus({code:eW8.OK}),$0}catch($0){throw r.setStatus({code:eW8.ERROR,message:$0.message}),r.recordException($0),$0}finally{r.end()}}):{user:void 0},V=me6(z,S.user),v=YP1({auth:$.auth,db:$.db,authMethod:S.method,headers:z?.headers??new Headers,role:S.role,permissions:S.permissions,userId:S.user?.id,apiKeyId:S.apiKeyId,organizationId:S.organization?.id}),b={user:S.user,tokenOrganizationId:S.tokenOrganizationId,permissions:S.permissions,permissionsOrganizationId:S.permissions?S.organization?.id:void 0};if(S.apiKey)b.apiKey=S.apiKey;let h=S.organization,l=z?B0().baseUrl??`${new URL(z.url).origin}`:h9(),d=new ET(b.user?.id,void 0,v,S.role,"self",void 0,h?.id),W0={...T,virtualMcps:M8$(T.virtualMcps),threads:new sr0(j,h?.id),asyncResearchJobs:new uE1(E,h?.id)},I0=new $P1(W0.aiProviderKeys,$.modelListCache),J0=QJ(),U0=!h?null:J0?P3(J0,h.id):new rW(h.id,l),o=h&&U0?new $K(U0,W0.orgFsEntries,h.id):null;JE1(W0,{objectStorage:U0,baseUrl:l,orgSlug:h?.slug});let t={timings:R,auth:b,connectionId:V,organization:h,storage:W0,vault:Z,authInstance:$.auth,boundAuth:v,access:d,db:$.db,tracer:$.observability.tracer,meter:$.observability.meter,baseUrl:l,objectStorage:U0,orgFs:o,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(ae6.map((r)=>[r,z?.headers.get(r)??null]).filter(([,r])=>r!==null)),userAgent:(z?FK0(z.headers,"client"):null)||z?.headers.get("User-Agent")||void 0,ipAddress:(z?.headers.get("CF-Connecting-IP")||z?.headers.get("X-Forwarded-For"))??void 0,properties:ce6(z?FK0(z.headers,"properties"):null)},aiProviders:I0,createMCPProxy:async(r)=>{return await _W8(r,t)},invalidateMemberRole:$.memberRoleCache?(r,$0)=>$.memberRoleCache.invalidate(r,$0):void 0,getOrCreateClient:f,pendingRevalidations:[]};return t}}function lz($,Z){$.storage.threads.setOrganizationId(Z.id),$.storage.asyncResearchJobs.setOrganizationId(Z.id);let Q=QJ();$.objectStorage=Q?P3(Q,Z.id):new rW(Z.id,$.baseUrl),$.orgFs=new $K($.objectStorage,$.storage.orgFsEntries,Z.id),JE1($.storage,{objectStorage:$.objectStorage,baseUrl:$.baseUrl,orgSlug:Z.slug??void 0})}var le6=50,$K8=500,ZK8=60000,pe6=1e4,ZP1,YK8,_Y,XK8,ae6;var dN=L(()=>{h1$();iH();Jj();u1();H9();$a0();ZW0();QW0();_8$();FZ$();uW();ie0();N00();ne0();ae0();TZ$();kZ$();CZ$();w00();GJ();bZ$();K01();cO1();ZX();xW8();UE1();oa();lE1();vE1();G41();x50();yW8();dc();MB0();Zp();pE1();mW8();Av0();TO1();TO();nW8();ls0();vU();aW8();$j();Ac();GE1();ZP1=new Map;_Y={set:($)=>{YK8=$},create:async($,Z)=>{return await YK8($,Z)}},XK8={measure:async($,Z)=>{return await Z()}},ae6=["x-hub-signature-256"]});import{DBOS as Hf0,SchedulerMode as ee6}from"@dbos-inc/dbos-sdk";function GK8($){JP1=$}function WK8(){if(!JP1)throw Error("[org-fs] org-repo-sync runtime not initialized \u2014 setOrgRepoSyncRuntime() must run before the workflow fires");return JP1}async function Z05($,Z){let Q=await $.selectFrom("organization").select(["id","slug","name"]).where("id","=",Z).executeTakeFirst();if(!Q)return null;let Y=await _Y.create();return Y.organization={id:Q.id,slug:Q.slug,name:Q.name},lz(Y,{id:Q.id,slug:Q.slug}),Y}async function Q05($){try{let{db:Z}=WK8(),Q=await Z05(Z,$.organizationId);if(!Q)return{id:$.id,volume:$.volume,error:"organization no longer exists"};let Y=await $w0(Q,$);return"error"in Y?{id:Y.id,volume:Y.volume,error:Y.error}:{id:Y.id,volume:Y.volume}}catch(Z){return{id:$.id,volume:$.volume,error:Z instanceof Error?Z.message:String(Z)}}}async function Y05($,Z){let Q=await Hf0.runStep(()=>new fR(WK8().db).listEnabled(),{name:"loadOrgRepoSyncConfigs"});for(let Y of Q){let X=await Hf0.runStep(()=>Q05(Y),{name:`syncOrgRepo:${Y.id}`});if(X.error)console.warn(`[org-fs] org repo sync ${X.id} (${X.volume}) failed: ${X.error}`)}}function KK8(){if(XP1)return;XP1=Hf0.registerWorkflow(Y05,{name:"orgRepoSyncWorkflow"}),Hf0.registerScheduled(XP1,{name:"orgRepoSyncWorkflow",crontab:$05,mode:ee6.ExactlyOncePerIntervalWhenActive})}var $05="7,17,27,37,47,57 * * * *",JP1=null,XP1=null;var HK8=L(()=>{dN();Zw0()});import{DBOS as Ff0,SchedulerMode as X05}from"@dbos-inc/dbos-sdk";function FK8($){WP1=$}function UK8(){if(!WP1)throw Error("[task-board-archive] runtime not initialized \u2014 setTaskBoardArchiveSweepRuntime() must run before the workflow fires");return WP1}async function K05($,Z){try{let Q=await hJ(UK8().db,$);if(!Q)return{organizationId:$,archived:0};let{archived:Y}=await Z88(Q,$,Z);return{organizationId:$,archived:Y}}catch(Q){return{organizationId:$,archived:0,error:Q instanceof Error?Q.message:String(Q)}}}async function H05($,Z){let Q=new Date($.getTime()-G05),Y=await Ff0.runStep(()=>new DW(UK8().db).listItemsAwaitingArchive(Q,W05),{name:"loadArchiveCandidates"});if(Y.length===0)return;let X=await Promise.all(n_0(Y).map(({organizationId:G,itemIds:W})=>Ff0.runStep(()=>K05(G,W),{name:`archiveMergedForOrg:${G}`})));for(let G of X)if(G.error)console.warn(`[task-board-archive] org ${G.organizationId} failed: ${G.error}`);let J=X.reduce((G,W)=>G+W.archived,0);if(J>0)console.log(`[task-board-archive] archived ${J} of ${Y.length} candidates`)}function NK8(){if(GP1)return;GP1=Ff0.registerWorkflow(H05,{name:"taskBoardArchiveSweepWorkflow"}),Ff0.registerScheduled(GP1,{name:"taskBoardArchiveSweepWorkflow",crontab:J05,mode:X05.ExactlyOncePerIntervalWhenActive})}var J05="23 * * * *",G05=432000000,W05=200,WP1=null,GP1=null;var BK8=L(()=>{TO();Et();uz()});import{sql as F05}from"kysely";class Ru{db;constructor($){this.db=$}async listIngestInstalls($){return(await this.db.selectFrom("connections").select(["id","organization_id","created_by"]).where("connection_url","=",$).where("status","=","active").orderBy("id").execute()).map((Q)=>({organizationId:Q.organization_id,connectionId:Q.id,createdBy:Q.created_by}))}async listOrgStores($,Z){return(await this.db.selectFrom("connections").select(["id","title"]).where("organization_id","=",$).where("connection_url","=",Z).where("status","=","active").orderBy("title").execute()).map((Y)=>({connectionId:Y.id,title:Y.title}))}async listStates($,Z){let Q=this.db.selectFrom("order_monitor_state as s").leftJoin("task_board_items as t",(X)=>X.onRef("t.id","=","s.task_board_item_id").onRef("t.organization_id","=","s.organization_id")).select(["s.connection_id","s.rule","s.status","s.since","s.evaluated_at","s.verdict","s.prev_status","t.id as task_id","t.key_seq as task_key_seq"]).where("s.organization_id","=",$);if(Z)Q=Q.where("s.connection_id","=",Z);return(await Q.execute()).map((X)=>({connectionId:X.connection_id,rule:X.rule,status:X.status,since:X.since,evaluatedAt:X.evaluated_at,verdict:X.verdict,prevStatus:X.prev_status,task:X.task_id&&X.task_key_seq!==null?{id:X.task_id,keySeq:X.task_key_seq}:null}))}async upsertStates($,Z,Q){if(Q.length===0)return;await this.db.insertInto("order_monitor_state").values(Q.map((Y)=>({organization_id:$,connection_id:Z,rule:Y.rule,status:Y.status,since:Y.since,evaluated_at:Y.evaluatedAt,verdict:JSON.stringify(Y.verdict),prev_status:Y.prevStatus??null}))).onConflict((Y)=>Y.columns(["organization_id","connection_id","rule"]).doUpdateSet({status:(X)=>X.ref("excluded.status"),since:(X)=>X.ref("excluded.since"),evaluated_at:(X)=>X.ref("excluded.evaluated_at"),verdict:(X)=>X.ref("excluded.verdict"),prev_status:(X)=>X.ref("excluded.prev_status")})).execute()}async setIncidentTask($,Z,Q,Y){await this.db.updateTable("order_monitor_state").set({task_board_item_id:Y}).where("organization_id","=",$).where("connection_id","=",Z).where("rule","=",Q).execute()}async listAggregatingAgents($,Z){if(Z.length===0)return[];return(await this.db.selectFrom("connection_aggregations as a").innerJoin("connections as p","p.id","a.parent_connection_id").select(["a.parent_connection_id","a.child_connection_id"]).where("p.organization_id","=",$).where("p.connection_type","=","VIRTUAL").where("p.status","=","active").where("a.child_connection_id","in",Z).orderBy("p.created_at").execute()).map((Y)=>({agentId:Y.parent_connection_id,childId:Y.child_connection_id}))}async listAgentRepositoryIds($,Z){let Q=this.db.selectFrom("connections").select("repository_id").distinct().where("organization_id","=",$).where("connection_type","=","VIRTUAL").where("repository_id","is not",null);if(Z)Q=Q.where("id","=",Z);return(await Q.execute()).flatMap((X)=>X.repository_id?[X.repository_id]:[])}async listOrgAdmins($){return(await this.db.selectFrom("member").select(["userId","role"]).where("organizationId","=",$).execute()).filter((Q)=>Q.role.split(",").some((Y)=>Y==="owner"||Y==="admin")).map((Q)=>Q.userId)}async setVerdictFlags($,Z,Q,Y){await this.db.updateTable("order_monitor_state").set({verdict:F05`verdict || ${JSON.stringify(Y)}::jsonb`}).where("organization_id","=",$).where("connection_id","=",Z).where("rule","=",Q).execute()}}var KP1=()=>{};function HP1($,Z){k6.emit($,{id:crypto.randomUUID(),type:u$8,source:"order-monitor",subject:Z,time:new Date().toISOString()})}var DK8=L(()=>{Lt();AO()});function Uf0($,Z){return{today:LK8($,0,Z),refs:NP1.map((Q)=>LK8($,Q,Z))}}function N05($,Z,Q){let Y=[];for(let W=Q;W>0;W-=CW){let K=Math.max(0,W-CW);Y.push({base:To(Z,K,W),today:NU($,K,W)})}let X=Y.reduce((W,K)=>W+K.base,0);if(X<EK8)return 1;let J=Y.filter((W)=>W.base>0).sort((W,K)=>W.today/W.base-K.today/K.base),G=0;for(let W of J)if(G+=W.base,G>=X/2)return Math.min(2,Math.max(0.5,W.today/W.base));return 1}function AK8($,Z,Q,Y,X){let J=To(Z,Q-CW,Y);return J>=EK8?NU($,Q-CW,Y)/J:X}function B05($,Z,Q,Y){let X=Math.max(UP1,PK8*Z),J=Math.max(UP1,zK8*Z);return{status:!Y?"low-volume":$>=J?"alert":$>=X?"warning":"ok",...Q,observed:$,expected:Z,warnAt:X,alertAt:J}}function TK8($){return $.firstEventDaysAgo!==null&&$.firstEventDaysAgo>NP1[NP1.length-1]}function LP1($){let Z=Uf0($,"placed"),Q=$.done+CW,Y=Q-CW,X=N05(Z.today,Z.refs,Y),J={from:Y-CW,to:Q-CW,level:X},G=($.dstBuckets??[]).some((O)=>O>=J.from&&O<J.to),W=X*To(Z.refs,Y,Q),K=NU(Z.today,Y,Q),H=OK8*W,F=wK8*W,U={status:G||W<jK8?"low-volume":K<F?"alert":K<H?"warning":"ok",...J,observed:K,expected:W,warnAt:H,alertAt:F},N=AK8(Z.today,Z.refs,Y,Q,X),B=!G&&TK8($),D=(O)=>{let w=Uf0($,O);return B05(NU(w.today,Y,Q),N*To(w.refs,Y,Q),J,B)};return{orders_drop:U,denied_spike:D("denied"),cancel_spike:D("canceled")}}function qK8($,Z){let Q=$.days[0],Y=Uf0($,"placed"),X=Uf0($,"canceled"),J=LP1($),G=J.orders_drop.level,W=TK8($),K=(P)=>[P*4+CW,P*4+4+CW],H=(P,T)=>To(P,...K(T)),F=(P,T)=>T*4<$.done?NU(P,T*4,Math.min(T*4+4,$.done)):null,U=(P)=>$.firstEventDaysAgo===null||P>$.firstEventDaysAgo,N=(P,T)=>(U(P)?$.approximate?.[P]?.[T]:void 0)??$.days[P][T],B=(P)=>({today:Mu.map((T)=>F(P(0),T)),d1:Mu.map((T)=>FP1(P(1),T)),w1:Mu.map((T)=>FP1(P(7),T)),y1:Mu.map((T)=>FP1(P(364),T))}),D=Mu.map((P)=>G*H(Y.refs,P)),O=(P,T)=>P<jK8?null:T*P,w=Mu.map((P)=>P*4+4<=$.done?AK8(Y.today,Y.refs,...K(P),G):G),j=(P)=>Mu.map((T)=>W?Math.max(UP1,P*w[T]*H(X.refs,T)):null),E=(P)=>({...P,timezone:$.timezone});return{at:Z.toISOString(),timezone:$.timezone,date:Z.toLocaleDateString("en-CA",{timeZone:$.timezone}),done:$.done,orders:{...B((P)=>$.days[P].placed),expected:D,warnAt:D.map((P)=>O(P,OK8)),alertAt:D.map((P)=>O(P,wK8))},cancellations:{canceled:B((P)=>N(P,"canceled")),denied:B((P)=>N(P,"denied")),approximate:{d1:U(1)&&!!$.approximate?.[1],w1:U(7)&&!!$.approximate?.[7],y1:U(364)&&!!$.approximate?.[364]},canceledWarnAt:j(PK8),canceledAlertAt:j(zK8)},headline:{projected:NU(Q.placed,0,$.done)+G*To(Y.refs,$.done+CW,nO+CW),d1:NU($.days[1].placed),w1:NU($.days[7].placed),y1:NU($.days[364].placed)},verdicts:{orders_drop:E(J.orders_drop),denied_spike:E(J.denied_spike),cancel_spike:E(J.cancel_spike)}}}var BP1,CW=4,nO=96,OK8=0.3,wK8=0.15,jK8=20,EK8=30,PK8=3,zK8=5,UP1=10,NP1,DP1,NU=($,Z=0,Q=$.length)=>$.slice(Math.max(0,Z),Q).reduce((Y,X)=>Y+X,0),U05=($)=>{let Z=[...$].sort((Y,X)=>Y-X),Q=Math.floor(Z.length/2);return Z.length%2?Z[Q]:(Z[Q-1]+Z[Q])/2},To=($,Z,Q)=>U05($.map((Y)=>NU(Y,Z,Q))),LK8=($,Z,Q)=>[...$.days[Z+1][Q].slice(-CW),...$.days[Z][Q]],Mu,FP1=($,Z)=>NU($,Z*4,Z*4+4);var w70=L(()=>{Lt();BP1={orders_drop:!1,denied_spike:!1,cancel_spike:!1},NP1=[1,7,14,21,28],DP1=[0,1,2,7,8,14,15,21,22,28,29,364];Mu=Array.from({length:24},($,Z)=>Z)});function P05($){return $.toISOString().replace("T"," ").replace("Z","")}function Vu($,Z){let Q=new Intl.DateTimeFormat("en-US",{timeZone:Z,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts($),Y=(X)=>Number(Q.find((J)=>J.type===X)?.value);return Y("hour")*60+Y("minute")}function Nf0($,Z){let Q=new Intl.DateTimeFormat("en-US",{timeZone:Z,timeZoneName:"longOffset"}).formatToParts($).find((X)=>X.type==="timeZoneName")?.value??"GMT",Y=/GMT([+-])(\d{2}):(\d{2})/.exec(Q);return Y?(Y[1]==="-"?-1:1)*(Number(Y[2])*60+Number(Y[3])):0}function MK8($,Z){let Q=$.getTime()%60000,Y=$.getTime()-Vu($,Z)*60000-Q,X=Nf0($,Z)-Nf0(new Date(Y),Z);return new Date(Y+X*60000)}function jP1($,Z,Q){let Y=$.getTime()%60000;return new Date($.getTime()-(Vu($,Z)-Q*15)*60000-Y)}function z05($,Z){let Y=$.getTime()-86400000-7200000;if(Nf0(new Date(Y),Z)===Nf0($,Z))return[];let X=(K)=>K.toLocaleDateString("en-CA",{timeZone:Z}),J=X($),G=Math.floor(Vu($,Z)/15),W=Array(nO).fill(0);for(let K=Y;K<$.getTime();K+=900000){let H=new Date(K);if(X(H)!==J)continue;let F=Math.floor(Vu(H,Z)/15);W[F]=(W[F]??0)+1}return W.flatMap((K,H)=>H<G&&K!==1?[H]:[])}function A05($,Z){let Q=Vu($,Z);return Math.max(0,Math.floor((Q-D05)/15))}function RK8(){let $=()=>Array(nO).fill(0);return Object.fromEntries(DP1.map((Z)=>[Z,{placed:$(),canceled:$(),denied:$()}]))}async function EP1($,Z){let[Q]=await G2($,E05,{conn:Z});return typeof Q?.timezone==="string"&&Q.timezone?Q.timezone:null}async function Df0($,Z,Q,Y={}){let X=await EP1($,Z);if(!X)return null;let J={conn:Z,tz:X,at:P05(Q)},[G,W,[K],H]=await Promise.all([G2($,L05,J),G2($,O05,J),G2($,j05,J),Y.approximate?G2($,w05,J):null]),F=RK8(),U=(B)=>{let D=F[Number(B.days_ago)],O=Number(B.bucket);return D&&O>=0&&O<nO?{day:D,b:O}:null};for(let B of G){let D=U(B);if(D)D.day.placed[D.b]=Number(B.placed)}for(let B of W){let D=U(B);if(!D)continue;D.day.canceled[D.b]=Number(B.canceled),D.day.denied[D.b]=Number(B.denied)}let N;if(H){let B=RK8();for(let D of H){let O=B[Number(D.days_ago)],w=Number(D.bucket);if(!O||w<0||w>=nO)continue;O.canceled[w]=Number(D.canceled),O.denied[w]=Number(D.denied)}N=B}return{timezone:X,done:A05(Q,X),days:F,dstBuckets:z05(Q,X),firstEventDaysAgo:K?.days_ago===null||K?.days_ago===void 0?null:Number(K.days_ago),approximate:N}}var D05=5,qo="{at:DateTime64(3, 'UTC')}",Bf0=($)=>`dateDiff('day', toDate(${$}, {tz:String}), toDate(${qo}, {tz:String}))`,OP1=($)=>`intDiv(toHour(${$}, {tz:String}) * 60 + toMinute(${$}, {tz:String}), 15)`,wP1=($)=>`${$} < ${qo}
4134
4134
  AND (${$} >= ${qo} - INTERVAL 30 DAY
4135
4135
  OR ${$} BETWEEN ${qo} - INTERVAL 365 DAY AND ${qo} - INTERVAL 363 DAY)
4136
4136
  AND days_ago IN (${DP1.join(", ")})`,L05,O05,w05,j05,E05=`
@@ -4406,7 +4406,7 @@ ${X}`:`${Y}
4406
4406
 
4407
4407
  ${X}
4408
4408
  ${J.slice(Y.length).trimStart()}`}function oO8($){return $?.match(bW5)?.[1]?.toLowerCase()??null}async function gW5($,Z,Q){let[Y,X]=await Promise.all([$.client.listDecofileEntries(Z,$.packagePath),$.client.listDecofileEntries(Q,$.packagePath)]),J=new Map(fK(Y,$.packagePath).map((H)=>[H.path,H.sha])),G=fK(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 tO8($,Z){try{return await PQ0($.client,$.packagePath,Z)}catch(Q){if(Q instanceof Bs)return null;throw Q}}async function sO8($,Z,Q){let Y=NP($.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([tO8($,Z),tO8($,Q)]);return G!==W}async function rO8($,Z){if(!KD0(Z))throw new cu;if(!await cA1($.store,$.site,Z))throw new cu}async function aO8($,Z){await rO8($,Z);let Q=await $9($.client,$.mainBranch);return sO8($,Q,Z)}async function eO8($,Z,Q={},Y={}){await rO8($,Z);let X=await $.client.readCommit(Z);if(!X)throw new cu;let J=await $9($.client,$.mainBranch),G=await gW5($,J,Z);if(G.changes.length===0)return{result:"up-to-date"};let W=await sO8($,J,Z);if(W)console.info("hosted reapply: schema differs",{site:$.site,target:Z,head:J});let K=await mA1($,J,G,yW5(X,Z,Q.coAuthor));return{result:"merged",sha:K,release:await pA1($,K,Y),schemaChanged:W}}var cu,AQ0="Reapply: ",_W5,vW5="Reapplied-From",bW5;var sA1=L(()=>{$n();T5();_F();rN();zQ0();$g0();cu=class cu extends Error{constructor(){super("This commit has no release");this.name="NotPublishedError"}};_W5=/^chore\(decofile\):/,bW5=/^Reapplied-From:\s*([0-9a-f]{40})\s*$/im});async function $w8($,Z,Q){let[Y,X,J]=await Promise.all([bO8($.store,$.site),Lq$($.store,$.site),Z.listCommits({ref:$.mainBranch,since:uW5,cursor:Q,limit:hW5})]),G=new Map(J.items.map((H)=>[H.sha,H.date])),W=J.items.map((H)=>oO8(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 Zw8($){let Z=await $9($.client,$.mainBranch),Q=await dA1($,Z),Y={revision:Z,schemaHash:Q,publishedAt:new Date().toISOString()};return await iA1($,Y),Y}var hW5=50,uW5="1970-01-01T00:00:00Z";var Qw8=L(()=>{T5();rN();zQ0();sA1()});function Yw8($){return`site-tokens:${$}`}function lW5($){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 Xw8($){return crypto.subtle.importKey("pkcs8",Buffer.from($,"base64"),{name:"Ed25519"},!1,["sign"])}async function cW5($,Z){let Q=(J)=>rA1(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}.${rA1(X)}`}function Jw8($){let Z=async(Q,Y)=>lW5(await $.kv.get(Q,Yw8(Y)));return{list:Z,async issue(Q,Y){let X=await Z(Q,Y),J={kid:rA1(crypto.getRandomValues(new Uint8Array(16))),iat:Math.floor(Date.now()/1000)},G=await cW5(await $.signingKey(),{site:Y,...J});return await $.kv.set(Q,Yw8(Y),{tokens:[...X,J]}),{token:G,record:J}}}}var rA1=($)=>Buffer.from($ instanceof Uint8Array?$:new Uint8Array($)).toString("base64url");function dW5(){let $=Dp();return $?{store:$,purge:ry0()}:null}async function Jg0($){let Z=$.var.delivery();if(!Z)return null;let Q=$.get("hostedProject"),Y=await $.var.repoClientFor($.var.studioContext,Q.organizationId,Q.repository);return{client:Y,packagePath:Q.packagePath,mainBranch:await Y.getDefaultBranch(),store:Z.store,purge:Z.purge,site:Q.site}}function Gw8($){let Z=B0().siteTokenSigningKey;if(!Z)return null;return Jw8({kv:$.var.studioContext.storage.kv,signingKey:()=>Xw8(Z)})}function ws($,Z){let Q=Z instanceof Error?Z.message:String(Z);if(Z instanceof Bs)return $.json({error:Q},409);if(Z instanceof Zg0)return console.error("hosted: latest.json update failed",{error:Q}),$.json({error:"latest-update-failed"},502);let Y=SG(Z);if(Y!==null)return $.json({error:Q},Y===404?404:502);return console.error("hosted: request failed",{error:Q}),$.json({error:Q},500)}function Ww8($={}){let Z=new Z1,Q=$.repoClientFor??vG,Y=$.insightsFor??CT$,X=$.delivery??dW5;return Z.use("*",async(J,G)=>{J.set("repoClientFor",Q),J.set("delivery",X),await G()}),Z.use("/:virtualMcpId/*",mW5),Z.get("/:virtualMcpId/releases",async(J)=>{try{let G=await Jg0(J);if(!G)return J.json(Xg0,503);let W=J.get("hostedProject"),K=await Y(J.var.studioContext,W.organizationId,W.repository);return J.json(await $w8(G,K,J.req.query("cursor")??null),200,{"Cache-Control":"no-store"})}catch(G){return ws(J,G)}}),Z.post("/:virtualMcpId/releases/retry",async(J)=>{try{let G=await Jg0(J);if(!G)return J.json(Xg0,503);return J.json({current:await Zw8(G)})}catch(G){return ws(J,G)}}),Z.get("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await Jg0(J);if(!G)return J.json(Xg0,503);return J.json({schemaChanged:await aO8(G,J.req.param("sha"))})}catch(G){if(G instanceof cu)return J.json({error:G.message},404);return ws(J,G)}}),Z.post("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await Jg0(J);if(!G)return J.json(Xg0,503);let W=await eO8(G,J.req.param("sha"),{coAuthor:oL(J.var.studioContext)});return J.json(W)}catch(G){if(G instanceof cu)return J.json({error:G.message},404);if(G instanceof Ds)return J.json({error:"main-moved"},409);return ws(J,G)}}),Z.get("/:virtualMcpId/site-tokens",async(J)=>{let G=J.get("hostedProject"),W=Gw8(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=Gw8(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 rq(K,G.packagePath,await K.getDefaultBranch());if(await wp(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 ws(J,K)}}),Z}var mW5,Xg0;var Kw8=L(()=>{IF();Y8();xy0();VG();kF();T5();rN();lA1();zQ0();$g0();Qw8();sA1();x60();aq();Op();u1();kR();mW5=eo(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 qQ(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(!VQ(await r7(Q),X))return $.json({error:"Virtual MCP not found"},404);let G=J.metadata??null,W=QW(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 ND0({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 ws($,H)}let K=await UD0(Q.storage.orgSites,X,Y.id);if(!K)return $.json(Lp,409);return $.set("hostedProject",{organizationId:Y.id,virtualMcpId:X,site:K,packagePath:aN(G),repository:W,metadata:G}),Z()}),Xg0={error:"hosted delivery not configured"}});var Hw8=($)=>{let Z=new Z1;if(Z.use("*",Io),Z.use("*",yF8),Z.route("/",xF8($.voiceSessions)),Z.route("/",df0()),Z.route("/",DU8()),Z.route("/",MU8()),Z.route("/",HU8()),Z.route("/",CD8()),Z.route("/",_D8()),Z.route("/",AD8()),Z.route("/",ID8()),Z.route("/",qD8()),Z.route("/",_y0()),Z.route("/tools",hD8()),Z.route("/",fD8()),Z.route("/",QD8({kvStorage:$.kvStorage})),Z.route("/",$D8()),Z.route("/fs",BD8({getConnection:$.getNatsConnection})),Z.route("/sandbox",DO8()),Z.route("/decofile",pO8()),Z.route("/hosted",Ww8()),Z.route("/",ED8()),Z.route("/",LD8()),Z.route("/deco-sites",pf0()),Z.route("/hosting",tF8()),Z.route("/monitor",ZU8()),Z.route("/order-monitor",JU8()),Z.route("/sso",gf0()),Z.route("/",vy0({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),Z.route("/webhooks",mF8()),$.mountDevAssets)Z.route("/dev-assets",sf0({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 t21)Z.use(`${Q}/:threadId`,$.mcpAuth);Z.route("/",WW8()),Z.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),Z.get("/mcp/.well-known/oauth-protected-resource",$.betterAuthProtectedResourceHandler);for(let Q of t21)Z.route(Q,wD8());return Z.route("/mcp",ub0()),Z.route("/mcp/self",Iy0()),Z.route("/mcp",mb0()),Z.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),Z.get("/watch",$.watchHandler),Z};var Fw8=L(()=>{Y8();fF8();gF8();Vf0();dF8();zz1();oF8();QU8();GU8();rf0();N2();Oz1();LU8();Vz1();ZD8();YD8();DD8();OD8();cZ0();Wz1();db0();n21();jD8();PD8();TD8();RD8();r21();SD8();vD8();yD8();a21();uD8();e21();lb0();LO8();nO8();Kw8()});import{z as mu}from"zod";class aA1{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 Bw8.Kvm(Gg0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Gg0.StorageType.Memory,ttl:Dw8.nanos(DO),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"?Nw8.parse(X.json()):null;if(J?.state==="ready")return J.agentId;if(J?.state==="creating"&&J.expiresAt>Date.now()){await J$(200);continue}let G=Uw8.encode(JSON.stringify({state:"creating",expiresAt:Date.now()+40000})),W;try{W=X&&J?await Z.update(Q,G,X.revision):await Z.create(Q,G)}catch{await J$(200);continue}try{let K=await $.ensureConversationAgent();return await Z.update(Q,Uw8.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"?Nw8.parse(G.json()):null;if(G&&W?.state==="ready"&&W.agentId===Q)await X.delete(J,{previousSeq:G.revision}).catch(()=>{});throw Y}}}var Gg0,Bw8,Dw8,Uw8,Nw8;var Lw8=L(()=>{NG();RB();n$();Gg0=_(_H(),1),Bw8=_(Vq(),1),Dw8=_(m2(),1),Uw8=new TextEncoder,Nw8=mu.discriminatedUnion("state",[mu.object({state:mu.literal("ready"),agentId:mu.string()}),mu.object({state:mu.literal("creating"),expiresAt:mu.number()})])});import{z as js}from"zod";function iW5($){return{model:$.model,instructions:`${Bt$}
4409
- Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class eA1{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:iW5({...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:js.object({session:js.object({id:js.string().min(1)}),transport:js.object({type:js.literal("webrtc"),sdp:js.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var Ow8=L(()=>{RB()});var ww8;var jw8=L(()=>{ww8=[{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 $T1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:Ut$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:ww8.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:DO/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 Ew8=L(()=>{RB();jw8()});import{z as iJ}from"zod";import{createHash as pW5,createHmac as nW5}from"crypto";class Wg0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=pW5("sha256").update(JSON.stringify($T1($))).digest("hex"),this.conversationKey=nW5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new Wg0({...this.config,conversationModel:$})}async request($,Z,Q){let Y=await fetch(`https://api.elevenlabs.io/v1${$}`,{method:Z===void 0?"GET":"POST",headers:{"xi-api-key":this.config.apiKey,"Content-Type":"application/json"},body:JSON.stringify(Z),signal:Q});if(!Y.ok)throw await Y.body?.cancel(),Error(`ElevenLabs request failed (${Y.status})`);return Y}async ensureConversationAgent(){let $=`Studio voice ${this.configurationKey.slice(0,24)}`,Z=await this.request(`/convai/agents?search=${encodeURIComponent($)}&page_size=100`,void 0,AbortSignal.timeout(15000)),{agents:Q}=iJ.object({agents:iJ.array(iJ.object({agent_id:iJ.string(),name:iJ.string()}))}).parse(await Z.json()),Y=Q.find((J)=>J.name===$);if(Y){let J=await this.request(`/convai/agents/${encodeURIComponent(Y.agent_id)}`,void 0,AbortSignal.timeout(15000));return iJ.object({platform_settings:iJ.object({auth:iJ.object({enable_auth:iJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...$T1(this.config)},AbortSignal.timeout(15000));return iJ.object({agent_id:iJ.string().min(1)}).parse(await X.json()).agent_id}async createConversationToken($){let Z=await this.request(`/convai/conversation/token?agent_id=${encodeURIComponent($)}`,void 0,AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await $.json()).token}synthesize($,Z){return this.request(`/text-to-speech/${encodeURIComponent(this.config.voiceId)}/stream?output_format=mp3_44100_128`,{text:$,model_id:this.config.model},AbortSignal.any([Z,AbortSignal.timeout(60000)]))}}var Pw8=L(()=>{Ew8()});import{createHmac as tW5,timingSafeEqual as oW5}from"crypto";import{z as Es}from"zod";function Aw8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return tW5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function Tw8($,Z){let Q=Buffer.from(JSON.stringify(zw8.parse($))).toString("base64url");return`${Q}.${Aw8(Q,Z)}`}function qw8($,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(Aw8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!oW5(W,G))return null;try{let K=zw8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+DO)return null;return K.data}catch{return null}}var zw8;var Rw8=L(()=>{RB();zw8=Es.object({sessionId:Es.string().uuid(),organizationId:Es.string().min(1).max(256),userId:Es.string().min(1).max(256),threadId:Es.string().min(1).max(256),expiresAt:Es.number().int().positive()})});import{z as ZT1}from"zod";function Mw8($,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 QT1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var QT1;var Vw8=L(()=>{QT1=ZT1.object({provider:ZT1.enum(["elevenlabs","openai"]),model:ZT1.string().trim().min(1).max(128)})});import{createHash as sW5}from"crypto";import{z as Ps}from"zod";function zs($){return`user.${sW5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class XT1{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 Iw8.Kvm(Hg0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Hg0.StorageType.Memory,ttl:kw8.nanos(DO),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=Mw8(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()+DO},W=Tw8(G,this.deps.secret),K=await this.kv(),H=zs(G),F=await K.get(H),U=F?.operation==="PUT"?Kg0.parse(F.json()):null,N=YT1.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:zs($)});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=qw8(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=zs(Q),J=await Y.get(X),G=J?.operation==="PUT"?Kg0.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,YT1.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=zs(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Kg0.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,YT1.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(zs($));if(Q?.operation==="PUT"&&Kg0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(zs($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var Hg0,Iw8,kw8,Kg0,YT1;var Cw8=L(()=>{NG();RB();Rw8();Vw8();Hg0=_(_H(),1),Iw8=_(Vq(),1),kw8=_(m2(),1),Kg0=Ps.object({sessionId:Ps.string().uuid(),expiresAt:Ps.number(),connected:Ps.boolean().optional(),conversation:QT1.optional(),characters:Ps.number().int().nonnegative(),requests:Ps.number().int().nonnegative()}),YT1=new TextEncoder});function rW5($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}var aW5=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},Sw8=()=>{let $=new Z1;return $.use("*",aW5),$.get("/",async(Z)=>{let Q=B0(),Y=Q.decoSupabaseUrl,X=Q.decoSupabaseServiceKey;if(!Y||!X)return Z.json({apps:[]});try{let J=await jX(Y,X,"apps?select=name,title,description,logo,category,vendors(alias,url)");return Z.json({apps:rW5(J)})}catch(J){return console.error("[deco-apps] GET error:",J),Z.json({error:"Failed to fetch apps"},502)}}),$};var _w8=L(()=>{Y8();u1();h60()});import{z as m1}from"zod";function sB($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function KK5($){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 HK5($,Z,Q){try{return JSON.parse($)}catch{throw new xw8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function FK5($){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:HK5(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 UK5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?PN(Q.function.parameters):PN({type:"object",properties:{}});return[Q.function.name,s$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function NK5($){if(!$)return;return{openai:{response_format:$}}}function BK5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function vw8($,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 bw8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var eW5=256,$K5,ZK5,QK5,YK5,XK5,JK5,GK5,WK5,xw8,fw8,yw8;var gw8=L(()=>{l4();Y8();ao();JU();$K5=m1.object({type:m1.literal("function"),function:m1.object({name:m1.string(),description:m1.string().optional(),parameters:m1.record(m1.string(),m1.unknown()).optional()})}),ZK5=m1.object({id:m1.string(),type:m1.literal("function"),function:m1.object({name:m1.string(),arguments:m1.string()})}),QK5=m1.discriminatedUnion("role",[m1.object({role:m1.literal("system"),content:m1.string(),name:m1.string().optional()}),m1.object({role:m1.literal("user"),content:m1.union([m1.string(),m1.array(m1.union([m1.object({type:m1.literal("text"),text:m1.string()}),m1.object({type:m1.literal("image_url"),image_url:m1.object({url:m1.string(),detail:m1.string().optional()})})]))]),name:m1.string().optional()}),m1.object({role:m1.literal("assistant"),content:m1.string().nullable().optional(),name:m1.string().optional(),tool_calls:m1.array(ZK5).optional()}),m1.object({role:m1.literal("tool"),content:m1.string(),tool_call_id:m1.string()})]),YK5=m1.object({type:m1.literal("text")}),XK5=m1.object({type:m1.literal("json_object")}),JK5=m1.object({type:m1.literal("json_schema"),json_schema:m1.object({name:m1.string(),description:m1.string().optional(),schema:m1.record(m1.string(),m1.unknown()),strict:m1.boolean().optional()})}),GK5=m1.union([YK5,XK5,JK5]),WK5=m1.object({model:m1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:m1.array(QK5),stream:m1.boolean().optional().default(!1),temperature:m1.number().min(0).max(2).optional(),max_tokens:m1.number().positive().optional(),top_p:m1.number().min(0).max(1).optional(),frequency_penalty:m1.number().min(-2).max(2).optional(),presence_penalty:m1.number().min(-2).max(2).optional(),stop:m1.union([m1.string(),m1.array(m1.string())]).optional(),tools:m1.array($K5).optional(),tool_choice:m1.union([m1.literal("auto"),m1.literal("none"),m1.literal("required"),m1.object({type:m1.literal("function"),function:m1.object({name:m1.string()})})]).optional(),response_format:GK5.optional(),user:m1.string().optional()});xw8=class xw8 extends Error{constructor($){super($);this.name="MessageConversionError"}};fw8=new Z1;fw8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(sB("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(sB("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(sB("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=WK5.safeParse(Y);if(!X.success){let w=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json(sB(`Invalid request: ${w.message}`,"invalid_request_error",w.path.length>0?w.path.join("."):null),400)}let J=X.data,G=KK5(J.model);if(!G)return $.json(sB("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 j=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((E)=>fA(E.providerId));if(!j)return $.json(sB("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=j.id}let H;try{H=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(sB(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=FK5(J.messages),N=J.tools?UK5(J.tools):void 0,B=NK5(J.response_format),D=BK5(),O=Math.floor(Date.now()/1000);if(J.stream)return Gw($,async(w)=>{let j=vw8(F,U,N,J,B,$.req.raw.signal);try{let E=Yt(j),P=!1,T=0,z="",A=async()=>{if(z.length===0)return;let R=z;z="",await w.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 w.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>=eW5)await A()}else if(R.type==="tool-call"){await A();let f=T++;await w.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 w.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:bw8(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 w.writeSSE({data:"[DONE]"})}catch(E){let P=E;console.error("[openai-compat:stream] Error:",P.message),await w.writeSSE({data:JSON.stringify({error:{message:P.message,type:"server_error"}})})}});else{let w=vw8(F,U,N,J,B,$.req.raw.signal),j=await jO(w),E={role:"assistant",content:j.text||null};if(j.toolCalls&&j.toolCalls.length>0)E.tool_calls=j.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:bw8(j.finishReason)}],usage:{prompt_tokens:j.usage?.inputTokens??0,completion_tokens:j.usage?.outputTokens??0,total_tokens:j.usage?.totalTokens??0}})}}catch(Y){let X=Y;if(X.name==="AbortError")return $.json(sB("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json(sB(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json(sB(X.message,"server_error"),500)}});yw8=fw8});function DK5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function hw8(){let $=new Z1;return $.use("*",async(Z,Q)=>{await Q(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let Q=Z.get("studioContext"),Y=_0(Q);if(!Y)return Z.json({error:"Authentication required"},401);let J=(Z.req.query("site")??"").trim().toLowerCase();if(!_5(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||l9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(lA(U)!==J)continue;if(!DK5(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 uw8=L(()=>{Y8();rY()});var Fg0;var JT1=L(()=>{Fg0={name:"decocms",version:"4.503.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run dev:server","dev:server":"NODE_ENV=development bun --env-file=.env --watch run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^4.0.58","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^3.1.0","@opentelemetry/core":"^2.6.0",kysely:"^0.28.12","posthog-node":"^5.0.0"},devDependencies:{"@ai-sdk/provider":"^4.0.17","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/blocks":"8.4.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 wK5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??OK5}}var lw8,OK5="https://ph.studio.decocms.com",cw8;var mw8=L(()=>{Y8();F10();rh();H9();u1();Ho();nP1();JT1();lw8=new Z1;lw8.get("/",($)=>{let Z={version:Fg0.version,theme:M3$(),...HF().logo&&{logo:HF().logo},...kO()&&{internalUrl:n1$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&J2(),plansEnabled:B0().plansEnabled,auth:VH8(),posthog:wK5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:PU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});cw8=lw8});import{z as R$}from"zod";var jK5,dw8;var iw8=L(()=>{jK5=R$.object({check_id:R$.string(),title:R$.string(),description:R$.string().optional(),impact:R$.string().optional(),why:R$.string().optional(),category:R$.string(),severity:R$.string(),value_band:R$.string().optional(),value_driver:R$.string().optional(),controllability:R$.string().optional(),pages:R$.array(R$.string()),tasks:R$.array(R$.string()),evidence:R$.string(),sample_scope:R$.string().optional(),sources:R$.array(R$.string())}),dw8=R$.object({domain:R$.string(),brand:R$.string(),favicon:R$.string().optional(),scanned_at:R$.string().nullable(),lang:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),totals:R$.object({measured:R$.number(),registry_total:R$.number(),passed:R$.number(),failed:R$.number(),blocked:R$.number()}),buckets:R$.array(R$.object({id:R$.enum(["critical","important","worth"]),label:R$.string(),items:R$.array(jK5)})),passing:R$.object({count:R$.number(),items:R$.array(R$.object({check_id:R$.string(),title:R$.string()}))}),not_measured:R$.object({count:R$.number(),groups:R$.array(R$.object({reason:R$.string(),label:R$.string(),count:R$.number(),checks:R$.array(R$.string())}))}),categories:R$.array(R$.object({key:R$.string(),label:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),pass:R$.number(),fail:R$.number()})),screenshots:R$.array(R$.object({url:R$.string(),page_type:R$.string().optional(),viewport:R$.enum(["desktop","mobile"]),image_url:R$.string()}))})});function pw8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${kK({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Ug0($,Z={}){let Q=await fetch(pw8($,"",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 dw8.parse(await Q.json())}async function nw8($,Z={}){let Q=await fetch(pw8($,".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 GT1=L(()=>{iw8();kL()});import{join as tw8}from"path";async function PK5($){try{let Z=await Ug0($,{signal:AbortSignal.timeout(EK5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||zj1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function Q3($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function zK5($,Z){let Q=Pu($),Y=Z?.brand?.trim()||zj1(Q),X=ZG8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=QG8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${Q3(W)}</title>`,`<meta name="description" content="${Q3(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="${Q3(W)}" />`,`<meta property="og:description" content="${Q3(K)}" />`,`<meta property="og:url" content="${Q3(G)}" />`,`<meta property="og:image" content="${Q3(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${Q3(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${Q3(W)}" />`,`<meta name="twitter:description" content="${Q3(K)}" />`,`<meta name="twitter:image" content="${Q3(H)}" />`,`<meta name="twitter:image:alt" content="${Q3(F)}" />`,`<link rel="canonical" href="${Q3(G)}" />`,`<link rel="alternate" type="text/markdown" href="${Q3(G)}.md" />`,`<link rel="icon" href="${Q3(X)}" sizes="any" />`].join(`
4409
+ Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class eA1{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:iW5({...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:js.object({session:js.object({id:js.string().min(1)}),transport:js.object({type:js.literal("webrtc"),sdp:js.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var Ow8=L(()=>{RB()});var ww8;var jw8=L(()=>{ww8=[{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 $T1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:Ut$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:ww8.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:DO/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 Ew8=L(()=>{RB();jw8()});import{z as iJ}from"zod";import{createHash as pW5,createHmac as nW5}from"crypto";class Wg0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=pW5("sha256").update(JSON.stringify($T1($))).digest("hex"),this.conversationKey=nW5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new Wg0({...this.config,conversationModel:$})}async request($,Z,Q){let Y=await fetch(`https://api.elevenlabs.io/v1${$}`,{method:Z===void 0?"GET":"POST",headers:{"xi-api-key":this.config.apiKey,"Content-Type":"application/json"},body:JSON.stringify(Z),signal:Q});if(!Y.ok)throw await Y.body?.cancel(),Error(`ElevenLabs request failed (${Y.status})`);return Y}async ensureConversationAgent(){let $=`Studio voice ${this.configurationKey.slice(0,24)}`,Z=await this.request(`/convai/agents?search=${encodeURIComponent($)}&page_size=100`,void 0,AbortSignal.timeout(15000)),{agents:Q}=iJ.object({agents:iJ.array(iJ.object({agent_id:iJ.string(),name:iJ.string()}))}).parse(await Z.json()),Y=Q.find((J)=>J.name===$);if(Y){let J=await this.request(`/convai/agents/${encodeURIComponent(Y.agent_id)}`,void 0,AbortSignal.timeout(15000));return iJ.object({platform_settings:iJ.object({auth:iJ.object({enable_auth:iJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...$T1(this.config)},AbortSignal.timeout(15000));return iJ.object({agent_id:iJ.string().min(1)}).parse(await X.json()).agent_id}async createConversationToken($){let Z=await this.request(`/convai/conversation/token?agent_id=${encodeURIComponent($)}`,void 0,AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return iJ.object({token:iJ.string().min(1)}).parse(await $.json()).token}synthesize($,Z){return this.request(`/text-to-speech/${encodeURIComponent(this.config.voiceId)}/stream?output_format=mp3_44100_128`,{text:$,model_id:this.config.model},AbortSignal.any([Z,AbortSignal.timeout(60000)]))}}var Pw8=L(()=>{Ew8()});import{createHmac as tW5,timingSafeEqual as oW5}from"crypto";import{z as Es}from"zod";function Aw8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return tW5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function Tw8($,Z){let Q=Buffer.from(JSON.stringify(zw8.parse($))).toString("base64url");return`${Q}.${Aw8(Q,Z)}`}function qw8($,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(Aw8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!oW5(W,G))return null;try{let K=zw8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+DO)return null;return K.data}catch{return null}}var zw8;var Rw8=L(()=>{RB();zw8=Es.object({sessionId:Es.string().uuid(),organizationId:Es.string().min(1).max(256),userId:Es.string().min(1).max(256),threadId:Es.string().min(1).max(256),expiresAt:Es.number().int().positive()})});import{z as ZT1}from"zod";function Mw8($,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 QT1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var QT1;var Vw8=L(()=>{QT1=ZT1.object({provider:ZT1.enum(["elevenlabs","openai"]),model:ZT1.string().trim().min(1).max(128)})});import{createHash as sW5}from"crypto";import{z as Ps}from"zod";function zs($){return`user.${sW5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class XT1{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 Iw8.Kvm(Hg0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:Hg0.StorageType.Memory,ttl:kw8.nanos(DO),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=Mw8(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()+DO},W=Tw8(G,this.deps.secret),K=await this.kv(),H=zs(G),F=await K.get(H),U=F?.operation==="PUT"?Kg0.parse(F.json()):null,N=YT1.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:zs($)});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=qw8(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=zs(Q),J=await Y.get(X),G=J?.operation==="PUT"?Kg0.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,YT1.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=zs(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Kg0.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,YT1.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(zs($));if(Q?.operation==="PUT"&&Kg0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(zs($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var Hg0,Iw8,kw8,Kg0,YT1;var Cw8=L(()=>{NG();RB();Rw8();Vw8();Hg0=_(_H(),1),Iw8=_(Vq(),1),kw8=_(m2(),1),Kg0=Ps.object({sessionId:Ps.string().uuid(),expiresAt:Ps.number(),connected:Ps.boolean().optional(),conversation:QT1.optional(),characters:Ps.number().int().nonnegative(),requests:Ps.number().int().nonnegative()}),YT1=new TextEncoder});function rW5($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}var aW5=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},Sw8=()=>{let $=new Z1;return $.use("*",aW5),$.get("/",async(Z)=>{let Q=B0(),Y=Q.decoSupabaseUrl,X=Q.decoSupabaseServiceKey;if(!Y||!X)return Z.json({apps:[]});try{let J=await jX(Y,X,"apps?select=name,title,description,logo,category,vendors(alias,url)");return Z.json({apps:rW5(J)})}catch(J){return console.error("[deco-apps] GET error:",J),Z.json({error:"Failed to fetch apps"},502)}}),$};var _w8=L(()=>{Y8();u1();h60()});import{z as m1}from"zod";function sB($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function KK5($){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 HK5($,Z,Q){try{return JSON.parse($)}catch{throw new xw8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function FK5($){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:HK5(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 UK5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?PN(Q.function.parameters):PN({type:"object",properties:{}});return[Q.function.name,s$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function NK5($){if(!$)return;return{openai:{response_format:$}}}function BK5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function vw8($,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 bw8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var eW5=256,$K5,ZK5,QK5,YK5,XK5,JK5,GK5,WK5,xw8,fw8,yw8;var gw8=L(()=>{l4();Y8();ao();JU();$K5=m1.object({type:m1.literal("function"),function:m1.object({name:m1.string(),description:m1.string().optional(),parameters:m1.record(m1.string(),m1.unknown()).optional()})}),ZK5=m1.object({id:m1.string(),type:m1.literal("function"),function:m1.object({name:m1.string(),arguments:m1.string()})}),QK5=m1.discriminatedUnion("role",[m1.object({role:m1.literal("system"),content:m1.string(),name:m1.string().optional()}),m1.object({role:m1.literal("user"),content:m1.union([m1.string(),m1.array(m1.union([m1.object({type:m1.literal("text"),text:m1.string()}),m1.object({type:m1.literal("image_url"),image_url:m1.object({url:m1.string(),detail:m1.string().optional()})})]))]),name:m1.string().optional()}),m1.object({role:m1.literal("assistant"),content:m1.string().nullable().optional(),name:m1.string().optional(),tool_calls:m1.array(ZK5).optional()}),m1.object({role:m1.literal("tool"),content:m1.string(),tool_call_id:m1.string()})]),YK5=m1.object({type:m1.literal("text")}),XK5=m1.object({type:m1.literal("json_object")}),JK5=m1.object({type:m1.literal("json_schema"),json_schema:m1.object({name:m1.string(),description:m1.string().optional(),schema:m1.record(m1.string(),m1.unknown()),strict:m1.boolean().optional()})}),GK5=m1.union([YK5,XK5,JK5]),WK5=m1.object({model:m1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:m1.array(QK5),stream:m1.boolean().optional().default(!1),temperature:m1.number().min(0).max(2).optional(),max_tokens:m1.number().positive().optional(),top_p:m1.number().min(0).max(1).optional(),frequency_penalty:m1.number().min(-2).max(2).optional(),presence_penalty:m1.number().min(-2).max(2).optional(),stop:m1.union([m1.string(),m1.array(m1.string())]).optional(),tools:m1.array($K5).optional(),tool_choice:m1.union([m1.literal("auto"),m1.literal("none"),m1.literal("required"),m1.object({type:m1.literal("function"),function:m1.object({name:m1.string()})})]).optional(),response_format:GK5.optional(),user:m1.string().optional()});xw8=class xw8 extends Error{constructor($){super($);this.name="MessageConversionError"}};fw8=new Z1;fw8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(sB("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(sB("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(sB("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=WK5.safeParse(Y);if(!X.success){let w=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json(sB(`Invalid request: ${w.message}`,"invalid_request_error",w.path.length>0?w.path.join("."):null),400)}let J=X.data,G=KK5(J.model);if(!G)return $.json(sB("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 j=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((E)=>fA(E.providerId));if(!j)return $.json(sB("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=j.id}let H;try{H=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(sB(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=FK5(J.messages),N=J.tools?UK5(J.tools):void 0,B=NK5(J.response_format),D=BK5(),O=Math.floor(Date.now()/1000);if(J.stream)return Gw($,async(w)=>{let j=vw8(F,U,N,J,B,$.req.raw.signal);try{let E=Yt(j),P=!1,T=0,z="",A=async()=>{if(z.length===0)return;let R=z;z="",await w.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 w.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>=eW5)await A()}else if(R.type==="tool-call"){await A();let f=T++;await w.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 w.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:bw8(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 w.writeSSE({data:"[DONE]"})}catch(E){let P=E;console.error("[openai-compat:stream] Error:",P.message),await w.writeSSE({data:JSON.stringify({error:{message:P.message,type:"server_error"}})})}});else{let w=vw8(F,U,N,J,B,$.req.raw.signal),j=await jO(w),E={role:"assistant",content:j.text||null};if(j.toolCalls&&j.toolCalls.length>0)E.tool_calls=j.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:bw8(j.finishReason)}],usage:{prompt_tokens:j.usage?.inputTokens??0,completion_tokens:j.usage?.outputTokens??0,total_tokens:j.usage?.totalTokens??0}})}}catch(Y){let X=Y;if(X.name==="AbortError")return $.json(sB("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json(sB(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json(sB(X.message,"server_error"),500)}});yw8=fw8});function DK5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function hw8(){let $=new Z1;return $.use("*",async(Z,Q)=>{await Q(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let Q=Z.get("studioContext"),Y=_0(Q);if(!Y)return Z.json({error:"Authentication required"},401);let J=(Z.req.query("site")??"").trim().toLowerCase();if(!_5(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||l9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(lA(U)!==J)continue;if(!DK5(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 uw8=L(()=>{Y8();rY()});var Fg0;var JT1=L(()=>{Fg0={name:"decocms",version:"4.503.2",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run 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.4.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 wK5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??OK5}}var lw8,OK5="https://ph.studio.decocms.com",cw8;var mw8=L(()=>{Y8();F10();rh();H9();u1();Ho();nP1();JT1();lw8=new Z1;lw8.get("/",($)=>{let Z={version:Fg0.version,theme:M3$(),...HF().logo&&{logo:HF().logo},...kO()&&{internalUrl:n1$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&J2(),plansEnabled:B0().plansEnabled,auth:VH8(),posthog:wK5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:PU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});cw8=lw8});import{z as R$}from"zod";var jK5,dw8;var iw8=L(()=>{jK5=R$.object({check_id:R$.string(),title:R$.string(),description:R$.string().optional(),impact:R$.string().optional(),why:R$.string().optional(),category:R$.string(),severity:R$.string(),value_band:R$.string().optional(),value_driver:R$.string().optional(),controllability:R$.string().optional(),pages:R$.array(R$.string()),tasks:R$.array(R$.string()),evidence:R$.string(),sample_scope:R$.string().optional(),sources:R$.array(R$.string())}),dw8=R$.object({domain:R$.string(),brand:R$.string(),favicon:R$.string().optional(),scanned_at:R$.string().nullable(),lang:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),totals:R$.object({measured:R$.number(),registry_total:R$.number(),passed:R$.number(),failed:R$.number(),blocked:R$.number()}),buckets:R$.array(R$.object({id:R$.enum(["critical","important","worth"]),label:R$.string(),items:R$.array(jK5)})),passing:R$.object({count:R$.number(),items:R$.array(R$.object({check_id:R$.string(),title:R$.string()}))}),not_measured:R$.object({count:R$.number(),groups:R$.array(R$.object({reason:R$.string(),label:R$.string(),count:R$.number(),checks:R$.array(R$.string())}))}),categories:R$.array(R$.object({key:R$.string(),label:R$.string(),score:R$.number().nullable(),band:R$.string().nullable(),pass:R$.number(),fail:R$.number()})),screenshots:R$.array(R$.object({url:R$.string(),page_type:R$.string().optional(),viewport:R$.enum(["desktop","mobile"]),image_url:R$.string()}))})});function pw8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${kK({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Ug0($,Z={}){let Q=await fetch(pw8($,"",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 dw8.parse(await Q.json())}async function nw8($,Z={}){let Q=await fetch(pw8($,".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 GT1=L(()=>{iw8();kL()});import{join as tw8}from"path";async function PK5($){try{let Z=await Ug0($,{signal:AbortSignal.timeout(EK5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||zj1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function Q3($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function zK5($,Z){let Q=Pu($),Y=Z?.brand?.trim()||zj1(Q),X=ZG8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=QG8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${Q3(W)}</title>`,`<meta name="description" content="${Q3(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="${Q3(W)}" />`,`<meta property="og:description" content="${Q3(K)}" />`,`<meta property="og:url" content="${Q3(G)}" />`,`<meta property="og:image" content="${Q3(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${Q3(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${Q3(W)}" />`,`<meta name="twitter:description" content="${Q3(K)}" />`,`<meta name="twitter:image" content="${Q3(H)}" />`,`<meta name="twitter:image:alt" content="${Q3(F)}" />`,`<link rel="canonical" href="${Q3(G)}" />`,`<link rel="alternate" type="text/markdown" href="${Q3(G)}.md" />`,`<link rel="icon" href="${Q3(X)}" sizes="any" />`].join(`
4410
4410
  `)}function AK5($,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}
4411
- </head>`)}function ow8($){let Z=new Z1;return Z.get("/:domain/og.png",async(Q)=>{let Y=Pu(Q.req.param("domain")),X=async()=>{let J=$?Bun.file(tw8($,"report-og-fallback.png")):null;if(!J||!await J.exists())return Q.notFound();return Q.body(new Uint8Array(await J.arrayBuffer()),200,{"Content-Type":"image/png","Cache-Control":"public, max-age=0, s-maxage=3600"})};try{let J=await fetch(`${kK({})}/api/v2/public/diagnostics/${encodeURIComponent(Y)}/og.png`,{signal:AbortSignal.timeout(TK5)}),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=Pu(Q.req.param("file").replace(/\.md$/,""));try{let X=await nw8(Y,{lang:Q.req.query("lang")?.trim()||void 0,signal:AbortSignal.timeout(qK5)});if(X===null)return Q.text("Deco Score not found",404);return Q.body(X,200,{"Content-Type":"text/markdown; charset=utf-8","Cache-Control":"public, max-age=600, stale-while-revalidate=3600","Access-Control-Allow-Origin":"*"})}catch{return Q.text("Deco Score unavailable",502)}}),Z.get("/:domain",async(Q)=>{let Y=Q.req.param("domain"),X=$?tw8($,"index.html"):null,J=X?Bun.file(X):null;if(!J||!await J.exists())return Q.notFound();let G=await J.text();try{let W=await PK5(Pu(Y)),K=zK5(Y,W);return Q.html(AK5(G,K),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return Q.html(G)}}),Z}var EK5=2500,TK5=1e4,qK5=1e4;var sw8=L(()=>{Y8();kL();GT1();u1()});function Ng0($,Z){return fetch(`${kK({})}${$}`,Z)}async function RK5($,Z){let Q=await Ug0($,{lang:Z});if(!Q)return{status:"not_found",report:null};return Q.scanned_at?{status:"ready",report:Q}:{status:"empty",report:null}}function VK5($){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 MK5,Kw,rw8=async($,Z)=>{if(!$.get("reportUser"))return $.json({error:"Authentication required"},401);await Z();return},aw8;var ew8=L(()=>{Y8();dK();kL();GT1();MK5=new Set(["complete","errored","terminated","unknown"]);Kw=new Z1;Kw.use("*",async($,Z)=>{let Q=await B4.api.getSession({headers:$.req.raw.headers});$.set("reportUser",Q?.user?.id?{email:Q.user.email}:void 0),await Z(),$.header("Cache-Control","private, no-store"),$.header("Vary","Cookie");return});Kw.use("/link-token/*",rw8);Kw.use("/suggest",rw8);Kw.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 RK5(Z,Q))}catch{return $.json({error:"report read failed"},502)}});Kw.post("/run",async($)=>{let Z=$.get("reportUser"),Q;try{Q=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let{domain:Y,distinctId:X}=VK5(Q);if(!Y)return $.json({error:"domain is required"},400);let J=Z?.email;try{let G=await Ng0("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${ZP({})}`},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)}});Kw.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let Q=await Ng0(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${ZP({})}`}});if(!Q.ok)return $.json({error:`status HTTP ${Q.status}`},502);let X=(await Q.json()).status??"unknown",J={done:MK5.has(X),status:X};return $.json(J)}catch{return $.json({error:"status failed"},502)}});Kw.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let Q=await Ng0(`/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)}});Kw.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let Q=await Ng0(`/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:[]})}});aw8=Kw});var IK5=1048576,WT1;var $j8=L(()=>{Y8();_W();u1();_P1();WT1=new Z1;WT1.post("/webhook",u6({maxSize:IK5,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(!uK8(Q,$.req.header("stripe-signature"),Z))return $.json({error:"invalid signature"},400);let X=lK8(Q);if(!X)return $.json({error:"invalid payload"},400);let J=await cK8(X);return console.log("stripe webhook",{eventId:X.id,type:X.type,livemode:X.livemode,...J}),$.json({received:!0})})});import{timingSafeEqual as kK5}from"crypto";function _K5($,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 kK5(Buffer.from(X),Buffer.from(Y))}function vK5($,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 Zj8($){let Z=new Z1;return Z.post("/webhook",u6({maxSize:CK5,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(!_K5(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"&&!SK5.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 b50().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=vK5(J??"",G);if(W.length===0)return Q.json({ok:!0,ignored:"no-pr"});let K=await bK5($,W);return Q.json({ok:!0,refreshed:K})}),Z}async function bK5($,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 b88(K,G.organizationId,G.taskBoardItemId)!==null)Q++}catch(W){console.error(`[github-webhook] pr card refresh failed for ${G.taskBoardItemId}:`,W)}}return Q}var CK5=5242880,SK5;var Qj8=L(()=>{Y8();_W();IX();yQ();SK5=new Set(["check_suite","issue_comment"])});import{DBOS as HT1,SchedulerMode as xK5}from"@dbos-inc/dbos-sdk";async function yK5(){try{return await gK5()}catch($){return console.warn(`[sandbox-credential-push] push failed: ${$ instanceof Error?$.message:String($)}`),null}}async function gK5(){if(!v50())return null;let[{RemoteSandboxProvider:$},{SandboxProviderRouter:Z}]=await Promise.all([Promise.resolve().then(() => (bH1(),vH1)),Promise.resolve().then(() => (_H1(),SH1))]),Q=await b50(),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=di$({sandboxes:J,pools:G,records:await ii$(X,J,G),legacyPools:bC0(process.env.STUDIO_SANDBOX_TENANT_POOLS),now:W}),{batches:H,failed:F}=await pi$(K,Yw0(X,new XJ(B0().encryptionKey)),{now:W,orgFsLifetimeMs:yC0}),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 hK5($,Z){let Q=await HT1.runStep(yK5,{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 Yj8(){if(KT1)return;if(!B0().agentSandboxEnabled||!v50())return;KT1=HT1.registerWorkflow(hK5,{name:"sandboxCredentialPushWorkflow"}),HT1.registerScheduled(KT1,{name:"sandboxCredentialPushWorkflow",crontab:fK5,mode:xK5.ExactlyOncePerIntervalWhenActive})}var fK5="1-59/10 * * * *",KT1=null;var Xj8=L(()=>{I3();Jj();P31();gC0();xC0();IX();u1()});function Jj8($){let Z=new pO($.db,new XJ($.encryptionKey)),Q=new Z1;return Q.get("/attachments/:token",async(Y)=>{let X=h18(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 QQ(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 Gj8=L(()=>{Y8();Jj();WN1();EO()});function Bg0(){try{return B0().jiraSettleSeconds*1000}catch{return nz}}function Wj8($,Z){let Q=Z.windowMs??nz,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=uK5($,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 uK5($,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 FT1=L(()=>{SO();u1()});function Kj8($){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 UT1($,Z,Q){if(!Z.enabled)return"disabled";let Y=Z.organizationId,X=new QQ(Z.siteUrl,Z.email,Z.apiToken),J=Wj8(await X.listStatusChanges(Q.issueId),{changeId:Q.changelogId,now:Q.now,windowMs:Bg0()});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:pz(N)})),H=V98(K)&&Z.boardId?M98(await X.getBoardColumnStatusIds(Z.boardId),W.id,G.toId):null,F=R98(K,W.name,H);if(!F)return"no_rule";if(!await $.storage.jiraIntegrations.claimTrigger(Y,Q.issueId,G.id))return"duplicate";return await ZH({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 NT1=L(()=>{YU();EO();ut();FT1()});import{DBOS as A2,SchedulerMode as lK5}from"@dbos-inc/dbos-sdk";function Hj8($){DT1=$}function OT1(){if(!DT1)throw Error("[jira-trigger] runtime not initialized \u2014 setJiraTriggerSweepRuntime() must run before the workflow fires");return DT1}function wT1(){let $=OT1();return new pO($.db,new XJ($.encryptionKey))}async function pK5($){try{let Z=await wT1().getById($);if(!Z?.enabled||!Z.boardId)return{integrationId:$,fired:0};let Q=await hJ(OT1().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 QQ(Z.siteUrl,Z.email,Z.apiToken),G=`(${await X.getBoardScopeJql(Z.boardId)}) AND status CHANGED AFTER "-${mK5}m"`,W=0,K;for(let H=0;H<dK5;H++){let F=await X.searchIssues({jql:G,nextPageToken:K});for(let U of F.issues)if(await UT1(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 nK5($,Z){let Q=await A2.runStep(()=>wT1().listEnabledIds(),{name:"loadJiraIntegrations"});if(Q.length===0)return;let Y=await Promise.all(Q.map((X)=>A2.runStep(()=>pK5(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 tK5($,Z){try{let Q=await wT1().getById($);if(!Q?.enabled)return"disabled";let Y=await hJ(OT1().db,Q.organizationId);if(!Y)return"disabled";let X=await UT1(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 oK5($,Z){await A2.sleep(Bg0()+iK5),await A2.runStep(()=>tK5($,Z),{name:"settleJiraMove"})}async function Fj8($,Z){if(!LT1)throw Error("[jira-trigger] settle workflow is not registered");await A2.startWorkflow(LT1,{workflowID:`jira-settle:${$}:${Z.changelogId}`})($,Z)}function Uj8(){if(BT1)return;LT1=A2.registerWorkflow(oK5,{name:"jiraSettleWorkflow"}),BT1=A2.registerWorkflow(nK5,{name:"jiraTriggerSweepWorkflow"}),A2.registerScheduled(BT1,{name:"jiraTriggerSweepWorkflow",crontab:cK5,mode:lK5.ExactlyOncePerIntervalWhenActive})}var cK5="*/5 * * * *",mK5=20,dK5=5,iK5=5000,DT1=null,LT1=null,BT1=null;var jT1=L(()=>{Jj();uz();EO();FT1();NT1()});function Nj8($){let Z=new pO($.db,new XJ($.encryptionKey)),Q=nj($.db);async function Y(J,G){let W=Kj8(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 Fj8(K.id,W)}let X=new Z1;return X.post("/webhook/:secret",u6({maxSize:sK5}),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 sK5=1048576;var Bj8=L(()=>{Y8();_W();Jj();jT1();NT1();N00()});function Dj8($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var Lj8,rK5,aK5,Oj8;var wj8=L(()=>{Y8();NG();Vt();ui();Lj8=new Z1,rK5=["range","if-none-match","if-modified-since"],aK5=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];Lj8.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),Q=Z.organization?.id;if(!Z.auth?.user?.id){if(Vo($))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 LZ0(Y,Z);if(!X)throw new R1(503,{message:"Object storage not configured"});if(X.startsWith("data:")&&_K()){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 Dj8(N,H),new Response(U,{status:200,headers:N})}let J=new Headers;for(let K of rK5){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 aK5){let H=G.headers.get(K);if(H)W.set(K,H)}return W.set("Cache-Control","private, max-age=86400"),Dj8(W,W.get("content-type")??""),new Response(G.body,{status:G.status,headers:W})});Oj8=Lj8});var TQ0=y((du)=>{var eK5=du&&du.__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]}),$H5=du&&du.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))eK5(Z,$,Q)};Object.defineProperty(du,"__esModule",{value:!0});$H5(F3(),du)});var Pj8=y((jj8)=>{Object.defineProperty(jj8,"__esModule",{value:!0});jj8.version=void 0;jj8.version="3.4.0"});var Tj8=y((rB)=>{var ZH5=rB&&rB.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(rB,"__esModule",{value:!0});rB.NodeTransport=rB.VERSION=void 0;rB.nodeResolveHost=WH5;var J9=TQ0(),QH5=V0("net"),ET1=V0("tls"),YH5=V0("path"),zj8=V0("fs"),XH5=ZH5(V0("dns")),JH5=Pj8();rB.VERSION=JH5.version;var GH5="nats.js";class Aj8{socket;version;lang;yields=[];signal=(0,J9.deferred)();closedNotification=(0,J9.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=GH5,this.version=rB.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:Q}=this.options,{handshakeFirst:Y}=Q||{};try{if(Y===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let X=await this.peekInfo();(0,J9.checkOptions)(X,Z);let{tls_required:J,tls_available:G}=X,W=G===!0&&Z.tls!==null;if(!Y&&(J||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(J&&this.socket.encrypted!==!0)throw J9.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(X){let J=X;if(!J)J=new J9.errors.ConnectionError("error connecting - node provided an undefined error");let{code:G}=J,W=G==="ECONNREFUSED"?new J9.errors.ConnectionError("connection refused",{cause:J}):J;throw this.socket?.destroy(),W}}dial($){let Z=(0,J9.deferred)(),Q,Y=(0,QH5.createConnection)($.port,$.hostname,()=>{Z.resolve(Y),Y.removeAllListeners()});return Y.on("error",(X)=>{Q=X}),Y.on("close",()=>{Y.removeAllListeners(),Z.reject(Q)}),Y.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,J9.deferred)(),Z;return this.socket.on("data",(Q)=>{this.yields.push(Q);let Y=J9.DataBuffer.concat(...this.yields),X=(0,J9.extractProtocolMessage)(Y);if(X!=="")try{let J=J9.INFO.exec(X);if(!J)throw Error("unexpected response from server");let G=JSON.parse(J[1]);$.resolve(G)}catch(J){$.reject(J)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(Q)=>{Z=Q}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,J9.deferred)();try{if($=(0,YH5.resolve)($),!(0,zj8.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,zj8.readFile)($,(Q,Y)=>{if(Q)return Z.reject(Q);Z.resolve(Y)})}catch(Q){Z.reject(Q)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:Q,caFile:Y,ca:X,keyFile:J,key:G}=this.options.tls;try{if(Z){let W=await this.loadFile(Z);if(W)$.cert=W}else if(Q)$.cert=Q;if(J){let W=await this.loadFile(J);if(W)$.key=W}else if(G)$.key=G;if(Y){let W=await this.loadFile(Y);if(W)$.ca=[W]}else if(X)$.ca=X;return Promise.resolve($)}catch(W){return Promise.reject(W)}}async tlsFirst($){let Z,Q={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)Q.socket=this.socket;if(typeof this.options.tls==="object")try{let X=await this.loadClientCerts()||{};Q=(0,J9.extend)(Q,this.options.tls,X)}catch(X){return Promise.reject(new J9.errors.ConnectionError(X.message,{cause:X}))}let Y=(0,J9.deferred)();try{let X=(0,ET1.connect)($.port,$.hostname,Q,()=>{X.removeAllListeners(),Y.resolve(X)});X.on("error",(J)=>{Z=J}),X.on("secureConnect",()=>{if(Q.rejectUnauthorized===!1)return;if(!X.authorized)throw X.authorizationError}),X.on("close",()=>{Y.reject(Z),X.removeAllListeners()}),X.setNoDelay(!0)}catch(X){Y.reject(new J9.errors.ConnectionError(X.message,{cause:X}))}return Y}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};Z=(0,J9.extend)(Z,this.options.tls,Y)}catch(Y){return Promise.reject(new J9.errors.ConnectionError(Y.message,{cause:Y}))}let Q=(0,J9.deferred)();try{let Y=(0,ET1.connect)(Z,()=>{Y.removeAllListeners(),Q.resolve(Y)});Y.on("error",(X)=>{$=X}),Y.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{Q.reject($),Y.removeAllListeners()})}catch(Y){Q.reject(new J9.errors.ConnectionError(Y.message,{cause:Y}))}return Q}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,J9.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,J9.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof ET1.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,J9.render)($)}`);let Z=(0,J9.deferred)();try{this.socket.write($,(Q)=>{if(Q){if(this.options.debug)console.error(`!!! ${(0,J9.render)($)}: ${Q}`);return Z.reject(Q)}return Z.resolve()})}catch(Q){if(this.options.debug)console.error(`!!! ${(0,J9.render)($)}: ${Q}`);Z.reject(Q)}return Z}send($){this._send($).catch((Q)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(Q){if(this.options.debug)console.log("transport close terminated with an error",Q)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(Q){console.log(Q)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}rB.NodeTransport=Aj8;function WH5($){let Z=(0,J9.deferred)();return XH5.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 Ij8=y((Vj8)=>{Object.defineProperty(Vj8,"__esModule",{value:!0});Vj8.connect=KH5;var qj8=Tj8(),Rj8=TQ0(),Mj8=TQ0();function KH5($={}){if((0,Mj8.hasWsProtocol)($))return Promise.reject(Mj8.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,Rj8.setTransportFactory)({factory:()=>{return new qj8.NodeTransport},dnsResolveFn:qj8.nodeResolveHost}),Rj8.NatsConnectionImpl.connect($)}});var kj8=y((Hw)=>{var FH5=Hw&&Hw.__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]}),UH5=Hw&&Hw.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))FH5(Z,$,Q)};Object.defineProperty(Hw,"__esModule",{value:!0});Hw.connect=void 0;var NH5=Ij8();Object.defineProperty(Hw,"connect",{enumerable:!0,get:function(){return NH5.connect}});UH5(TQ0(),Hw)});function _j8($){let Z=$?.connectFn??OH5,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:LH5,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(DH5,BH5,D-1,2,0.5);await J$(O)}}return{init(N,B){if(X)return;X=!0,J=!1;let D=B?.creds?Dg0.credsAuthenticator(new TextEncoder().encode(B.creds)):B?.user?Dg0.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=Sj8.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 OH5($){return Cj8.connect($)}var Dg0,Cj8,Sj8,BH5=100,DH5=3000,LH5=3000;var vj8=L(()=>{n$();Dg0=_(m2(),1),Cj8=_(kj8(),1),Sj8=_(_H(),1)});function Lg0($,Z){return`${$}.${Z}`}class PT1{cache;constructor($){this.cache=vP({ttlMs:$?.ttlMs??wH5,maxSize:$?.maxSize??jH5})}async get($,Z){return this.cache.get(Lg0($,Z))??null}async set($,Z,Q){this.cache.set(Lg0($,Z),Q)}async invalidate($,Z){this.cache.delete(Lg0($,Z)),this.cache.delete(Lg0($,`${Z}:decisions`))}teardown(){this.cache.clear()}}var wH5=600000,jH5=5000;var bj8=()=>{};function Og0($,Z){return`${$}:${Z}`}function zT1($){let Z=vP({ttlMs:$?.ttlMs??EH5,maxSize:$?.maxSize??PH5}),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(xj8,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(Og0(K,H))},set(K,H,F){Z.set(Og0(K,H),F)},invalidate(K,H){Z.delete(Og0(K,H)),W(K,H)},start(){if(G)return;let K=Q?.();if(!K)return;G=K.subscribe(xj8),(async()=>{for await(let H of G)try{let F=JSON.parse(J.decode(H.data));if(F.originId===Y)continue;Z.delete(Og0(F.organizationId,F.keyId))}catch{}})().catch(console.error)},teardown(){G?.unsubscribe(),G=null,Z.clear()}}}var xj8="studio.ai-provider-keys.invalidate",EH5=30000,PH5=5000;var fj8=()=>{};class AT1{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 yj8=($)=>{let Z;return()=>Z??=$()},TT1,qT1;var gj8=L(()=>{b6();TT1=yj8(()=>G$.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),qT1=yj8(()=>G$.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function VH5($=lj8){return{name:xB,subjects:[`${sD1}.>`],storage:wU.StorageType.File,max_age:TH5,max_bytes:RH5,max_msgs_per_subject:MH5,discard:wU.DiscardPolicy.Old,retention:wU.RetentionPolicy.Limits,duplicate_window:qH5,num_replicas:$}}class cj8{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 hj8($){let Z=uj8.headers();for(let[Q,Y]of Object.entries($))Z.set(Q,Y);return Z}function SH5($,Z){let Q=0;return{publish(Y,X,J,G){Y.publish(X,J,G?{headers:G}:void 0).catch((W)=>{if(Q++,AH5().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 _H5($,Z){return $.info?.cluster?Z:1}function vH5($){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 RT1{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=VH5(X);try{await Y.streams.info(xB),await Y.streams.update(xB,J)}catch(G){if(G instanceof Error&&G.message.includes("stream not found"))await Y.streams.add(J),await Y.streams.update(xB,J);else if(G instanceof Error&&/can ?not change.*storage|storage type/i.test(G.message))await Y.streams.delete(xB),await Y.streams.add(J);else throw G}},Q=await L8(async()=>{let Y=this.options.getJetStreamManager?await this.options.getJetStreamManager():await wU.jetstreamManager($),X=_H5($,lj8);try{await Z(Y,X)}catch(J){if(X<=1||!vH5(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:ht});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=SH5(Z,Y),G=!1,W=()=>{if(G)return;G=!0;let H=$98(Z);X.publish(H.subject,H.data).catch(()=>{})};Q.addEventListener("abort",W,{once:!0});let K=(H)=>{let F=performance.now(),U=aD1(H,{runId:Z}),N=performance.now()-F;TT1().record(N),qT1().add(1,{"org.id":Y??"unknown"}),CH5?.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?hj8(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(),kH5)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 L8(()=>$.publish(Z.subject,Z.data,{...Z.headers?{headers:hj8(Z.headers)}:{},...Z.msgId?{msgID:Z.msgId}:{}}),{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:ht}),!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=aD1(Z,{runId:$,dedup:Q});TT1().record(performance.now()-X),qT1().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=e58({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"?wU.DeliverPolicy.New:wU.DeliverPolicy.All,J=Q?.closeOnDone??!1,G=iz($),W;try{W=await L8(async()=>{return(await Y.consumers.get(xB,{filter_subjects:G,deliver_policy:X})).consume()},{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:ht})}catch(O){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",O?.message??O),null}let F=Xb0({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($b0()).pipeThrough(Zb0()).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:w,value:j}=await F.read();if(w){D(),O.close();return}let E=j;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(xB,{filter:iz($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var wU,uj8,zH5=($)=>{let Z;return()=>Z??=$()},AH5,TH5=86400000000000,qH5=120000000000,RH5=4294967296,lj8,MH5=500000,IH5,kH5,CH5;var mj8=L(()=>{n$();eD1();Jb0();Qb0();b6();gj8();wU=_(_H(),1),uj8=_(m2(),1),AH5=zH5(()=>G$.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"})),lj8=Math.max(1,Number(process.env.DECOPILOT_STREAM_REPLICAS??3)||3);IH5=process.env.STREAM_ENCODE_TRACE==="1",kH5=process.env.DECOPILOT_STREAM_TRACE==="1";CH5=IH5?new cj8:null});function wg0($,Z,Q,Y){if(!Y)return!1;return $.emit(Z,hU(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 dj8=L(()=>{q8()});class MT1{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 bH5($,Z,Q={}){let Y=$.startsWith("thread:")?tF($,Q):$;return[...new Set([Z,Y].filter((X)=>!!X))]}async function VT1($,Z){let Q=Z.organizationId;try{let Y=await $.storage.taskBoard.linkedThreadIds(Z.id,Q);for(let X of Y){let J=await TB($,X);if(!J?.owner||!J?.name)continue;let G=await $.storage.threads.get(X),W=await qB($,{threadId:X,runBranch:G?.branch}),K=await k40($,Q,oB0(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=bH5(W,await WS0($,X),{flat:Ah(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 LW(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 ij8=L(()=>{T5();fQ();yQ()});async function pj8($,Z,Q){let Y=Z.organizationId;if(!uJ(Z))return!1;if(!th(Q))return!1;if(!await vd($,Y,S10))return!1;if(await $.storage.taskBoard.hasHumanRejectedDone(Z.id,Y))return!1;let X=K1.shipped,J=await $.storage.taskBoard.update(Z.id,Y,{status:X},Z.updatedBy);return await Q9($,{taskBoardItemId:Z.id,action:"status_changed",actorId:null,data:{from:Z.status,to:X,reason:"pr_merged"}}),K8(Y,J),console.log(`[task-board-review-sweeper] ${Z.id}: linked PR already merged \u2014 moved to ${X}`),!0}var nj8=L(()=>{OG();u8();vX();Et();ZU();c5()});function lH5($){return $ instanceof AX}function tj8($,Z){return Z-$>=hH5}class IT1{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??xH5;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??yH5,Q=this.options.itemIntervalMs??fH5,Y=new Date(Date.now()-Q),X=await this.taskBoard.listItemsPendingReview(Z,this.cursor,Y),J=X.at(-1);this.cursor=X.length===Z&&J?{updatedAt:J.updatedAt,id:J.id}:null;for(let{id:G,organizationId:W}of X)try{if(await this.reconcileItem(G,W,Y))$++}catch(K){console.error(`[task-board-review-sweeper] ${G} failed`,K)}await this.reapNeverStartedThreads(Z),$+=await this.dispatchDueRetries(Z),await this.reactToUnhandledFailures(Z),$+=await this.settleFinishedRunsWithoutPr(Z,Y)}catch(Z){console.error("[task-board-review-sweeper] sweep failed",Z)}finally{this.running=!1}return $}async reapNeverStartedThreads($){try{let Z=await this.taskBoard.failNeverStartedLinkedThreads($,new Date(Date.now()-$N1),RB1);for(let Q of Z)console.warn(`[task-board-review-sweeper] failed never-started thread ${Q.threadId} on ${Q.itemId}`)}catch(Z){console.error("[task-board-review-sweeper] reaping failed",Z)}}async reactToUnhandledFailures($){let Z=await this.taskBoard.listItemsStuckAfterFailure($,new Date(Date.now()-uH5));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 TB1(this.taskBoard,X,Y),await qB1(this.taskBoard,this.billing,X,Y)}catch(J){console.error(`[task-board-review-sweeper] unhandled-failure reaction for ${Q} failed`,J)}}async settleFinishedRunsWithoutPr($,Z){let Q=0,Y=await this.taskBoard.listItemsFinishedWithoutPr($,Z);for(let{id:X,organizationId:J,finishedAt:G}of Y)try{if(!await this.taskBoard.claimSweep(X,J,Z))continue;let W=await this.taskBoard.getById(X,J);if(!W||W.status!==K1.progress||uJ(W)||W.assigneeId!==o$)continue;let K=await this.contextFactory(J,W.assignedBy??W.createdBy);if(!K)continue;if(await VT1(K,W)){if(await this.taskBoard.clearSweepBudget(X,J),await this.reconcileItem(X,J,Z))Q++;continue}if(!tj8(G.getTime(),Date.now()))continue;let H="the run finished without opening a pull request \u2014 there is "+"nothing for a reviewer to review",F=await this.taskBoard.advanceFromProgress(X,J,K1.review,W.updatedBy);if(!F)continue;await this.taskBoard.recordActivity({taskBoardItemId:X,action:"status_changed",actorId:null,data:{from:K1.progress,to:K1.review,reason:H}}).catch(()=>{}),K8(J,F),await QU(K,F,H)}catch(W){console.error(`[task-board-review-sweeper] settling finished run on ${X} failed`,W)}return Q}async dispatchDueRetries($){let Z=0,Q=await this.taskBoard.listItemsDueForRetry($,new Date);for(let{id:Y,organizationId:X,attempts:J}of Q)try{if(!await this.taskBoard.claimDueRetry(Y,X,new Date))continue;let G=await this.taskBoard.getById(Y,X);if(!G||G.status!==K1.progress||G.assigneeId!==o$)continue;let W=await this.contextFactory(X,G.assignedBy??G.createdBy);if(!W)continue;await RO(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),lH5(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()+gH5)).catch((W)=>console.error(`[task-board-review-sweeper] re-arming ${Y} failed`,W))}return Z}async returnToBacklog($,Z,Q){try{let Y=await this.taskBoard.getById($,Z);if(!Y||Y.status!==K1.progress)return;let X=await this.taskBoard.returnToBacklogAfterFailure($,Z,Y.updatedBy);if(!X)return;await this.taskBoard.recordActivity({taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:K1.progress,to:K1.intake,reason:Q,retriesSpent:Y.retryAttempts}}).catch(()=>{}),K8(Z,X)}catch(Y){console.error(`[task-board-review-sweeper] returning ${$} to backlog failed`,Y)}}async handOffReviewWithoutPr($,Z){let Q=await this.taskBoard.listActivity(Z.id,Z.organizationId);if(!tj8(WL(Q,Z.reviewCycleStartedAt),Date.now()))return;await QU($,Z,"no pull request is linked to this task \u2014 there is nothing for a "+"reviewer to review")}async reconcileItem($,Z,Q){if(!await this.taskBoard.claimSweep($,Z,Q))return!1;let Y=await this.taskBoard.getById($,Z);if(!Y)return!1;if(!uJ(Y))return!1;let X=Y.assigneeId===o$,J=await this.taskBoard.listPrs($,Z),G=await this.contextFactory(Z,Y.assignedBy??Y.createdBy);if(!G)return!1;if(J.length===0){if(await VT1(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 At(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 pj8(G,Y,W))return!0;if(!X)return!1;if(await s88(G,Y))return!0;if(!EB1(W))return!1;return await zt(G,Y,{previewMatchesHead:PB1(W)}),!0}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}var xH5=60000,fH5=300000,yH5=50,gH5=60000,hH5=900000,uH5=120000;var oj8=L(()=>{u8();$v0();ij8();MO();Mt();ZU();nj8();c5();XW();MB1();yQ();u90()});async function sj8($,Z,Q=nz){return await aj8($,Z,Q,{})}async function rj8($,Z,Q,Y=nz){return await aj8($,Q,Y,{activityId:Z})}async function aj8($,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-cH5),settledBefore:new Date(Z-Q),limit:mH5,...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 dH5($.taskBoard,K,Q);for(let U of H){if(!k98(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 dH5($,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?C98(X,Q):Z.from}var cH5=1800000,mH5=200;var ej8=L(()=>{SO()});import{DBOS as T2,DBOSClient as iH5,SchedulerMode as pH5}from"@dbos-inc/dbos-sdk";function $E8($){Fw=$}async function oH5($){if(!Fw)return 0;try{return await rj8(Fw,$,Date.now(),Fw.settleMs)}catch(Z){return console.error(`[automations] settling board move ${$} failed`,Z),0}}async function sH5(){if(!Fw)return 0;try{return await sj8(Fw,Date.now(),Fw.settleMs)}catch($){return console.error("[automations] board transition sweep failed",$),0}}async function rH5($){await T2.sleep((Fw?.settleMs??nz)+tH5),await T2.runStep(()=>oH5($),{name:"settleBoardMove"})}async function aH5($,Z){let Q=await T2.runStep(()=>sH5(),{name:"sweepBoardMoves"});if(Q>0)console.log(`[automations] board transition sweep fired ${Q} trigger(s) the settle wait missed`)}async function QE8($){let Z=Fw;if(!Z||!CT1)return;if(!await Z.automations.hasActiveBoardColumnTrigger($.taskBoardItemId,$.to))return;let Q=`board-settle:${$.activityId}`;if(!T2.isWithinWorkflow()){await T2.startWorkflow(CT1,{workflowID:Q,queueName:C2})($.activityId);return}let Y=await iH5.create({systemDatabaseUrl:Z.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:1});try{await Y.enqueue({workflowName:ZE8,queueName:C2,workflowID:Q},$.activityId)}finally{await Y.destroy()}}function YE8(){if(kT1)return;CT1=T2.registerWorkflow(rH5,{name:ZE8}),kT1=T2.registerWorkflow(aH5,{name:"boardTransitionSweepWorkflow"}),T2.registerScheduled(kT1,{name:"boardTransitionSweepWorkflow",crontab:nH5,mode:pH5.ExactlyOncePerIntervalWhenActive})}var nH5="*/5 * * * *",tH5=2000,Fw=null,ZE8="boardTransitionSettleWorkflow",CT1=null,kT1=null;var XE8=L(()=>{SO();ej8()});import{readdir as eH5,rm as jg0}from"fs/promises";import{join as Eg0}from"path";async function Pg0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-$F5),Z.setUTCHours(0,0,0,0);let Q=0;try{let Y=await iu($);for(let X of Y)if(/^\d{4}$/.test(X))Q+=await JE8($,X,Z);else if(!X.startsWith(".")){let J=Eg0($,X),G=await iu(J);for(let K of G){if(!/^\d{4}$/.test(K))continue;Q+=await JE8(J,K,Z)}if((await iu(J)).length===0)await jg0(J,{recursive:!0,force:!0})}}catch(Y){console.warn("monitoring retention cleanup failed:",Y)}return Q}async function JE8($,Z,Q){let Y=0,X=Eg0($,Z),J=await iu(X);for(let W of J){if(!/^\d{2}$/.test(W))continue;let K=Eg0(X,W),H=await iu(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=Eg0(K,U);await jg0(B,{recursive:!0,force:!0}),Y++}}if((await iu(K)).length===0)await jg0(K,{recursive:!0,force:!0})}if((await iu(X)).length===0)await jg0(X,{recursive:!0,force:!0});return Y}async function iu($){try{return(await eH5($)).filter((Q)=>!Q.startsWith("."))}catch{return[]}}var $F5=30;var ST1=()=>{};import{DBOS as _T1,SchedulerMode as ZF5}from"@dbos-inc/dbos-sdk";async function YF5(){let $=[qH(),$l(),JD()],Z=0;for(let Q of $)try{Z+=await Pg0(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 XF5($,Z){await _T1.runStep(()=>YF5(),{name:"monitoringRetention"})}function WE8(){if(GE8)return;GE8=!0;let $=_T1.registerWorkflow(XF5,{name:"monitoringRetentionWorkflow"});_T1.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:QF5,mode:ZF5.ExactlyOncePerIntervalWhenActive})}var QF5="23 4 * * *",GE8=!1;var KE8=L(()=>{uW();ST1()});function HE8($){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 _Y.create();X.auth.user={id:Q,role:Y.role},X.organization={id:Y.orgId,slug:Y.orgSlug,name:Y.orgName};let J=await UP($.db,Z,Y.role);return X.boundAuth=YP1({auth:X.authInstance,headers:new Headers,role:Y.role,permissions:J,userId:Q}),X.access=new ET(Q,void 0,X.boundAuth,Y.role,"self"),lz(X,{id:Y.orgId,slug:Y.orgSlug}),X}}var FE8=L(()=>{GJ();dN()});function UE8(){return async($,Z)=>{let Q=Date.now(),Y=$.req.method,X=$.req.path;if(X==="/api/auth/get-session"||X.includes("favicon")){await Z();return}let J="",G=!1;if(X.startsWith("/mcp")&&Y==="POST"){G=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let N=await $.req.raw.clone().json();if(N.method==="tools/call"&&N.params?.name){let B=qQ0(N.params.name),D=N.params.arguments||{},O=Object.keys(D).map((j)=>qQ0(j)),w=O.length>0?O.slice(0,3).join(",")+(O.length>3?"\u2026":""):"";J=`${O9.tool}${B}${O9.dim}(${w})${O9.reset}`}else if(N.method)J=`${O9.dim}${qQ0(N.method)}${O9.reset}`}}catch{}}let W=qQ0(X);if(X.startsWith("/mcp/conn_")){let F=X.split("/")[2]??"";W=`/mcp/${O9.mcp}${qQ0(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=GF5(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=JF5(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,JF5=($)=>{if($>=500)return O9.serverError;if($>=400)return O9.clientError;if($>=300)return O9.redirect;return O9.ok},GF5=($)=>{return O9[$]||O9.reset},qQ0=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var NE8=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 OE8}from"crypto";import{mkdir as WF5,readdir as KF5,rm as BE8,stat as wE8}from"fs/promises";import{join as bT1,relative as HF5}from"path";import{z as J8}from"zod";function EE8($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return bT1(FF5,Z)}function PE8($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function vT1($,Z){let Q=EE8($),Y=PE8(Z);return bT1(Q,Y)}function UF5($,Z,Q,Y){let X=B0().encryptionKey||"dev-secret",J=`${$}:${Z}:${Q}:${Y}`;return OE8("sha256",X).update(J).digest("hex")}function LE8($,Z,Q,Y,X){let J=Math.floor(Date.now()/1000)+Y,G=UF5(Z,Q,J,X),W=new URL(`/api/dev-assets/${Z}/${PE8(Q)}`,$);return W.searchParams.set("expires",J.toString()),W.searchParams.set("signature",G),W.searchParams.set("method",X),W.toString()}function zE8($,Z,Q){let Y=`${$}:${Z.getTime()}:${Q}`;return`"${OE8("md5","etag").update(Y).digest("hex")}"`}async function AE8($,Z,Q,Y,X){try{let J=await KF5($,{withFileTypes:!0});for(let G of J){let W=bT1($,G.name),H=HF5(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 AE8(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 wE8(W);X.objects.push({key:H,size:F.size,lastModified:F.mtime.toISOString(),etag:zE8(W,F.mtime,F.size)})}catch{}}}}catch{}}function TE8($,Z){let Y=Q0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:J8.object({prefix:J8.string().optional(),maxKeys:J8.number().optional().default(1000),continuationToken:J8.string().optional(),delimiter:J8.string().optional()}),outputSchema:J8.object({objects:J8.array(J8.object({key:J8.string(),size:J8.number(),lastModified:J8.string(),etag:J8.string()})),nextContinuationToken:J8.string().optional(),isTruncated:J8.boolean(),commonPrefixes:J8.array(J8.string()).optional()}),handler:async(X)=>{let J=X,G=J.prefix||"",W=J.maxKeys??1000,K=J.delimiter,H=J.continuationToken,F=EE8(Y);await WF5(F,{recursive:!0});let U={objects:[],commonPrefixes:new Set};await AE8(F,F,G,K,U),U.objects.sort((w,j)=>w.key.localeCompare(j.key));let N=0;if(H){if(N=U.objects.findIndex((w)=>w.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:J8.object({key:J8.string()}),outputSchema:J8.object({contentType:J8.string().optional(),contentLength:J8.number(),lastModified:J8.string(),etag:J8.string(),metadata:J8.record(J8.string(),J8.string()).optional()}),handler:async(X)=>{let J=X,G=vT1(Y,J.key),W=await wE8(G);return{contentType:Rz1(J.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:zE8(G,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:J8.object({key:J8.string(),expiresIn:J8.number().optional()}),outputSchema:J8.object({url:J8.string(),expiresIn:J8.number()}),handler:async(X)=>{let J=X,G=hO(J.expiresIn,DE8);return{url:LE8(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:J8.object({key:J8.string(),expiresIn:J8.number().optional(),contentType:J8.string().optional()}),outputSchema:J8.object({url:J8.string(),expiresIn:J8.number()}),handler:async(X)=>{let J=X,G=hO(J.expiresIn,DE8);return{url:LE8(Z,Y,J.key,G,"PUT"),expiresIn:G}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:J8.object({key:J8.string()}),outputSchema:J8.object({success:J8.boolean(),key:J8.string()}),handler:async(X)=>{let J=X,G=vT1(Y,J.key);try{return await BE8(G),{success:!0,key:J.key}}catch{return{success:!1,key:J.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:J8.object({keys:J8.array(J8.string()).max(1000)}),outputSchema:J8.object({deleted:J8.array(J8.string()),errors:J8.array(J8.object({key:J8.string(),message:J8.string()}))}),handler:async(X)=>{let J=X,G=[],W=[];return await Promise.all(J.keys.map(async(K)=>{let H=vT1(Y,K);try{await BE8(H),G.push(K)}catch(F){W.push({key:K,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:G,errors:W}}}]}async function xT1($,Z,Q){let Y=TE8(Z,Q),X=new KE({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:QZ});for(let G of Y){let W="shape"in G.inputSchema?G.inputSchema.shape:J8.object({}).shape,K=G.outputSchema&&"shape"in G.outputSchema?G.outputSchema.shape:J8.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 zW({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await X.connect(J),FH(X,J,$,"mcp:dev-assets")}async function qE8($,Z,Q,Y){let J=TE8(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 FF5="./data/assets",DE8=3600,jE8,RE8;var ME8=L(()=>{u1();st();Y8();NH0();ot();UJ();uO();rf0();jE8=new Z1;jE8.all("/",async($)=>{let Z=$.get("studioContext"),Q=new URL($.req.url),Y=`${Q.protocol}//${Q.host}`;return xT1($.req.raw,Z,Y)});RE8=jE8});var VE8={};O6(VE8,{mountDevRoutes:()=>NF5});function NF5($,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 xT1(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 qE8(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",RE8);let Q=new Z1;Q.use("*",BU({mountPath:"/api/dev-assets"})),Q.route("/",sf0({orgFromPath:!1})),$.route("/api/dev-assets",Q)}var IE8=L(()=>{Y8();wz1();rf0();ME8()});var gE8={};O6(gE8,{watchHandler:()=>yE8,resolveVoiceSigningSecret:()=>bE8,resolveCorsOrigin:()=>xE8,isSsoExemptPath:()=>vE8,isAllowedOAuthRedirectUri:()=>fE8,createApp:()=>TF5});import{readFileSync as BF5}from"fs";import{randomBytes as DF5}from"crypto";import{PrometheusSerializer as LF5}from"@opentelemetry/exporter-prometheus";import{DBOS as aB}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as jF5,oAuthProtectedResourceMetadata as EF5}from"better-auth/plugins";async function OF5($){let Z=$.connect(),Q;try{Q=await Promise.race([Z,CE8(kE8)])}catch{return Z.then((Y)=>Y.release(!0)).catch(()=>{}),!1}try{return await Promise.race([Q.query("SELECT 1"),CE8(kE8)]),Q.release(),!0}catch{return Q.release(!0),!1}}function CE8($){return new Promise((Z,Q)=>setTimeout(()=>Q(Error("pg health-check timeout")),$))}function vE8($){return $.startsWith("/api/org-sso/")||/^\/api\/[^/]+\/sso\//.test($)||$.startsWith("/api/auth/")||$.startsWith("/api/tools/management")||$.startsWith("/oauth-proxy/")||/^\/api\/[^/]+\/oauth-proxy\//.test($)||$.startsWith(`${xf0}/`)||$.startsWith(`${kf0}/`)}function bE8($){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)"),DF5(32).toString("base64")}function xE8($,{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 fE8($,Z){return $.origin===new URL(Z).origin||$.hostname==="localhost"}async function TF5($={}){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 PT1,K,H,F,U=null;if($.disableNats)K=zT1(),Y={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},X=null,J=null,G=new lZ0,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=_j8();let F0=B0().natsCredsPath,G0;if(F0)try{G0=BF5(F0,"utf8")}catch(N8){console.error(`[app] failed to read NATS_CREDS at ${F0}; connecting anonymously`,N8)}U.init(B0().natsUrls,{creds:G0,user:B0().natsUser,password:B0().natsPassword});let P0=MZ1()?new FZ1({getJetStream:()=>U.getJetStream(),selfListVersion:Fg0.version}):null;P0?.init().catch(()=>{}),Y=P0;let z0=new sZ1({getJetStream:()=>U.getJetStream()});z0.init().catch(()=>{}),X=z0;let w1=new oh(BB1,{getJetStream:()=>U.getJetStream()}),b$=new oh(l90,{getJetStream:()=>U.getJetStream()});w1.init().catch(()=>{}),b$.init().catch(()=>{}),J={reads:w1,cards:b$};let r$=new fO1({getJetStream:()=>U.getJetStream()});r$.init().catch(()=>{}),G=r$,K=zT1({getConnection:()=>U.getConnection()}),H=new AT1({getConnection:()=>U.getConnection()}),F=new RT1({getConnection:()=>U.getConnection(),getJetStream:()=>U.getJetStream()}),KH8(U),U.onReady(()=>{P0?.init().catch((N8)=>{console.error("[McpListCache] Deferred init failed:",N8)}),z0.init().catch((N8)=>{console.error("[SkillCatalogCache] Deferred init failed:",N8)}),w1.init().catch((N8)=>{console.error("[PrReadCache] Deferred init failed:",N8)}),b$.init().catch((N8)=>{console.error("[PrCardCache] Deferred init failed:",N8)}),r$.init().catch((N8)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",N8)}),K.start(),B2$(()=>U.getConnection()),F.init().catch((N8)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",N8)})})}if(q2)await q2();UZ1(Y),aZ1(X),$71(()=>U?.getConnection()??null),DB1(J),yO1(G);let B={storage:new mc(Z.db),sseHub:k6,onThreadFinished:async(F0,G0)=>qt(new DW(Z.db),F0,G0,new V3(Z.db))},D=new wD1(B),O=new O70(Z.db),w=new MT1(O);w.start(),y98(H),H.start((F0)=>{dv0(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 j=()=>U?.getConnection()??null;Uz1(j),U?.onReady(()=>Uz1(j)),ww1(j),U?.onReady(()=>ww1(j)),F.init().catch((F0)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",F0)}),q2=async()=>{await D.stopAll(),D.dispose(),w.dispose(),H.stop().catch(()=>{}),RF8(),F.teardown(),Y?.teardown(),X?.teardown(),J?.reads.teardown(),J?.cards.teardown(),W.teardown(),K.teardown(),D2$(),G.teardown(),UZ1(null),aZ1(null),$71(null),DB1(null),yO1(null)};let E=new Z1;if(E.use("*",vO1({enabled:(F0)=>Mo(F0,"debug")==="1"})),E.use("*",cg0),E.use("/*",YH8({origin:(F0,G0)=>xE8(F0,{baseUrl:B0().baseUrl,requestOrigin:new URL(G0.req.url).origin}),credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),E.use("*",async(F0,G0)=>{if(await G0(),F0.req.path.includes("/files/"))return;if(F0.req.path.includes("/fs/")&&F0.req.path.endsWith("/read"))return;F0.header("X-Frame-Options","DENY"),F0.header("Content-Security-Policy","frame-ancestors 'none'")}),B0().nodeEnv==="development")E.use("*",UE8());E.use("*",async(F0,G0)=>{if(await G0(),Ss(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(pX.HEALTH,(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);return F0.json({status:"ok"})}),E.get(pX.HEALTH_LIVE,(F0)=>{return F0.json({status:"ok"})}),E.get(pX.HEALTH_READY,async(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);let G0={};if(G0.postgres={status:await OF5(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(pX.METRICS,async(F0)=>{try{let G0=await pg0.collect(),P0=wF5.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(`${pX.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(F0)=>{let G0=F0.req.param("queueName");if(!PF5.has(G0))return F0.json({error:`Unknown queue: ${G0}`},404);let[P0,z0]=await Promise.all([aB.listQueuedWorkflows({queueName:G0,status:"ENQUEUED",loadInput:!1,loadOutput:!1}),aB.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",cw8),E.route("/api/_reports",aw8),E.route("/api/_stripe",WT1),E.route("/api/_github",Zj8({taskBoard:()=>l,contextFactory:()=>b})),E.route("/api/_git",bo);let T={db:Z.db,encryptionKey:B0().encryptionKey};E.route("/api/_jira",Nj8(T)),E.route("/api/_jira",Jj8(T)),E.route("/report",ow8($.clientDir)),E.route("/api/auth/custom",IH8),E.all("/api/auth/admin/*",NF8),E.all("/api/auth/*",async(F0)=>{return await B4.handler(F0.req.raw)});let z=GW8();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",C70),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",C70),E.route("/",z),E.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",B70),E.route("/",UW8()),E.use("/oauth-proxy/:connectionId/*",C70),E.all("/oauth-proxy/:connectionId/*",SE8);let A=async(F0)=>{let P0=await zF5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",C70),E.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",A);let R=async(F0)=>{let P0=await AF5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",R);let f=JH8({ttlMs:120000}),S=await JK8({db:Z.db,auth:B4,encryption:{key:B0().encryptionKey},observability:{tracer:jw,meter:G$},modelListCache:W,providerKeyCache:K,memberRoleCache:f});_Y.set(S),b1$({db:Z.db,baseUrl:B5()}),GK8({db:Z.db}),FK8({db:Z.db}),xK8({db:Z.db}),mK8({db:Z.db}),Hj8({db:Z.db,encryptionKey:B0().encryptionKey}),m$8({db:Z.db}),oK8({db:Z.db}),P88({db:Z.db});let V=nj(Z.db),v=new B00(Z.db),b=HE8({db:Z.db});IL1({storage:V,studioContextFactory:b,orgContextFactory:(F0)=>hJ(Z.db,F0),systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl)}),UL1({systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl),studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:k6}}),JL1({dispatchRunFn:p58,studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:k6}});let h=new mc(Z.db),l=new DW(Z.db),d=new V3(Z.db),W0=new IT1(l,b,d);if(B0().taskBoardReviewSweeperEnabled){W0.start();let F0=q2;q2=async()=>{await F0?.(),W0.dispose()}}$E8({automations:V,taskBoard:l,fire:ZH,systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl),settleMs:B0().boardTransitionSettleSeconds*1000}),a$8(QE8),B98({getJetStream:()=>U?.getJetStream()??null,getJetStreamManager:async()=>{let F0=U?.getConnection();return F0?await _E8.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(wg0(k6,G0,F0,P0),P0)await qt(l,F0,G0,d);return P0},markRunRequiresAction:async(F0,G0)=>{let P0=await h.requiresActionIfInProgress(F0,G0);return wg0(k6,G0,F0,P0),P0},markRunFailed:async(F0,G0,P0,z0)=>{let w1=await h.markRunFailed(F0,G0,P0,z0);if(wg0(k6,G0,F0,w1),w1)await qt(l,F0,G0,d);return w1},clearSynthesizedError:async(F0,G0)=>{await h.messageParts().replaceMessageParts(F0,dz(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,hU(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})=>{c1.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:w1})=>{c1.capture({distinctId:P0,event:"chat_message_failed",groups:{organization:G0},properties:{organization_id:G0,thread_id:F0,transport:"projector",error_category:w1,error_message:z0}})},purgeRun:async(F0)=>{F.purge(F0)}}),L58({studioContextFactory:b,systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl),streamBuffer:F}),WE8(),x1$(),KK8(),NK8(),yK8(),iK8(),Uj8(),YE8(),t$8(),rK8(),z88(),Yj8();let I0=async(F0,G0,P0)=>{let z0=await V.findById(F0,G0);if(!z0)throw Error("Automation not found");return vL1({automationId:z0.id,organizationId:z0.organization_id,triggerId:null})},J0=new _o(V,({automation:F0,trigger:G0,contextMessages:P0,idempotencyKey:z0})=>ZH({automationId:F0.id,organizationId:F0.organization_id,triggerId:G0.id,contextMessages:P0},{idempotencyKey:z0})),U0=[qH(),$l(),JD()];for(let F0 of U0)Pg0(F0).then(()=>{}).catch((G0)=>console.error("[monitoring] Retention cleanup failed:",G0));let o=()=>B4.api.deleteAllExpiredApiKeys().catch((F0)=>console.error("[auth] Expired API key cleanup failed:",F0));o(),setInterval(o,86400000).unref(),E.use("*",async(F0,G0)=>{if(ug0(F0.req.path))return G0();let P0={measure:async(w1,b$)=>{HH(F0,w1);try{return await b$()}finally{AW(F0,w1)}}},z0=await _Y.create(F0.req.raw,{timings:P0});z0.automationRunner=I0,F0.set("studioContext",z0);try{await G0()}finally{let w1=z0.pendingRevalidations;if(w1.length>0)Promise.race([Promise.allSettled(w1),J$(30000)]).catch((r$)=>console.error("[studio] revalidation cleanup error:",r$))}}),E.use("/api/:org/decopilot/*",Io),E.use("/api/:org/v1/*",Io),E.use("/api/:org/files/*",Io),E.use("*",async(F0,G0)=>{if(vE8(F0.req.path))return G0();let P0=F0.get("studioContext");if(!P0?.organization?.id||!P0?.auth?.user?.id)return G0();if(!(await P0.storage.orgSsoConfig.getByOrgId(P0.organization.id))?.enforced)return G0();if(!await P0.storage.orgSsoSessions.isValid(P0.auth.user.id,P0.organization.id))return F0.json({error:"SSO authentication required for this organization"},403);return G0()});let t=new Z1;t.use("*",BU({mountPath:"/api/org-sso"})),t.route("/",gf0()),E.route("/api/org-sso",t),E.get("/api/tools/management",(F0)=>{return F0.json({tools:j00,grouped:wT()})}),E.use("/mcp/*",async(F0,G0)=>{HH(F0,"mcp");try{return await G0()}finally{AW(F0,"mcp")}});let r=async(F0,G0)=>{let P0=F0.var.studioContext;if(!P0.auth.user?.id&&!P0.auth.apiKey?.id){let z0=new URL(F0.req.url),w1=F0.req.header("x-forwarded-proto")?.split(",")[0]?.trim(),b$=w1?`${w1}://${z0.host}`:z0.origin;return F0.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${b$}${z0.pathname}/.well-known/oauth-protected-resource"`}})}return await G0()};if(E.use("/mcp/:connectionId?",r),E.use("/mcp/gateway/:virtualMcpId?",r),E.use("/mcp/virtual-mcp/:virtualMcpId?",r),E.use("/mcp/self",r),_K()){let{mountDevRoutes:F0}=(IE8(),Ig0(VE8));F0(E,r)}let $0=new Z1;$0.use("*",BU({mountPath:"/mcp"})),$0.route("/",ub0()),E.route("/mcp",$0);let X0=new Z1;X0.use("*",BU({mountPath:"/mcp/self"})),X0.route("/",Iy0()),E.route("/mcp/self",X0);let h0=new Z1;h0.use("*",BU({mountPath:"/mcp"})),h0.route("/",mb0()),E.route("/mcp",h0),E.use("/api/:org/models/*",async(F0,G0)=>{HH(F0,"llm_models");try{return await G0()}finally{AW(F0,"llm_models")}});let C0=SF8({cancelBroadcast:H,streamBuffer:F,runRegistry:D});E.route("/api",C0),E.route("/api",Oj8);let H1=new Z1;H1.use("*",BU({mountPath:"/api"})),H1.route("/",_y0()),E.route("/api",H1),E.route("/api",yw8);let c0=new Z1;c0.use("*",BU({mountPath:"/api"})),c0.route("/",vy0({tokenStorage:v,automationEventDispatcher:J0})),E.route("/api",c0);let w0=new D00(Z.db),E0=new Z1;E0.use("*",BU({mountPath:"/api"})),E0.route("/",df0()),E.route("/api",E0),E.route("/api/deco-sites",pF8()),E.route("/api/deco-apps",Sw8());let n0=new Z1;n0.use("*",BU({mountPath:"/api/deco-sites"})),n0.route("/",pf0()),E.route("/api/deco-sites",n0),E.route(xf0,BF8()),E.route(MD8,kD8()),E.route("/api/_editor-resolve",hw8()),E.route(SH8,_H8()),E.route(kf0,nH8());let O1=B0(),o0=O1.elevenlabsApiKey?new Wg0({apiKey:O1.elevenlabsApiKey,model:O1.elevenlabsVoiceModel,conversationModel:O1.elevenlabsConversationModel,voiceId:O1.elevenlabsVoiceId}):null,b0={openai:O1.openaiLiveApiKey?new eA1({apiKey:O1.openaiLiveApiKey,voice:O1.openaiLiveVoice}):null,elevenlabs:o0?new aA1(o0,()=>U?.getConnection()??null):null},d0=new XT1({adapter:o0,conversationAdapters:b0,defaults:O1,secret:bE8(O1),getConnection:()=>U?.getConnection()??null}),i0=Hw8({voiceSessions:d0,kvStorage:w0,runRegistry:D,streamBuffer:F,sseHub:k6,cancelBroadcast:H,tokenStorage:v,automationEventDispatcher:J0,mountDevAssets:_K(),mcpAuth:r,oauthProxyHandler:SE8,watchHandler:yE8,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(vF8),Object.assign(E,{markShuttingDown:()=>{Q=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([k6.stop(),q2?Promise.resolve(q2()).finally(()=>{q2=null}):Promise.resolve()]),U)await U.drain().catch((F0)=>console.error("[shutdown] NATS drain error:",F0));console.log("[shutdown] Flushing telemetry..."),await nJ().catch((F0)=>console.error("[shutdown] Telemetry flush error:",F0)),console.log("[shutdown] Closing database..."),await cK$(Z).catch((F0)=>console.error("[shutdown] Database close error:",F0)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await aB.registerQueue(G3,{partitionQueue:!0,concurrency:RL1,minPollingIntervalMs:ML1}),await aB.registerQueue(gW,{partitionQueue:!0,concurrency:HL1,priorityEnabled:!0}),await aB.registerQueue(YD,{workerConcurrency:B0().decopilotMaxConcurrentHostedRuns,priorityEnabled:!0}),await aB.registerQueue(XD,{workerConcurrency:B0().sandboxMaxConcurrentHostedRuns,priorityEnabled:!0}),await aB.registerQueue(ww,{partitionQueue:!0,concurrency:D58}),await aB.registerQueue(k2,E88),await aB.registerQueue(C2),await jz1(V),await Promise.allSettled(["automations-gate","automations-global","jira-push"].map((F0)=>aB.deleteQueue(F0))),await VL1(Z.pool),AN$().catch((F0)=>{console.error("[studio-pack-backfill] failed:",F0)}),_d(Z.db).catch((F0)=>{console.error("[automations] built-in seed failed:",F0)}),f1$().catch((F0)=>{console.error("[org-fs] public-sets boot sync kick failed:",F0)})}})}var _E8,kE8=5000,q2=null,SE8=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 _Y.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 Po(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=ME1(await W.json());if(!K)K=H.origin;let N=await D70(K);if(!N.ok)return $.json({error:"Failed to get auth server metadata"},502);let B=await N.json(),D;if(Y==="authorize")D=B.authorization_endpoint;else if(Y==="token")D=B.token_endpoint;else if(Y==="register")D=B.registration_endpoint;if(!D)return $.json({error:`Unknown OAuth endpoint: ${Y}`},404);let O=FW8(D);if(O)return O;let w=new URL(D),j=new URL($.req.url);if(w.search=j.search,Y==="authorize"){let v=w.searchParams.get("redirect_uri");if(v){let b=B0().baseUrl??j.origin;try{if(!fE8(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)}w.searchParams.set("redirect_uri",v)}if(w.searchParams.has("resource"))w.searchParams.set("resource",U);if(eK8(G.connection_url))w.searchParams.set("auto_personal","true"),w.searchParams.set("force_new","true");return $.redirect(w.toString(),302)}let E={Accept:$.req.header("Accept")||"application/json"},P=$.req.header("Content-Type");if(P)E["Content-Type"]=P;let T=$.req.header("Authorization");if(T)E.Authorization=T;let z,A=null,R=null;if($.req.method!=="GET"&&$.req.method!=="HEAD")if(Y==="token"&&P?.includes("application/x-www-form-urlencoded")){if(T?.toLowerCase().startsWith("basic "))try{let d=atob(T.slice(6).trim()),W0=d.indexOf(":");if(W0!==-1){let I0=decodeURIComponent(d.slice(0,W0)),J0=decodeURIComponent(d.slice(W0+1));A=I0||null,R=J0||null}}catch{}let v=await $.req.formData();if(v.has("resource"))v.set("resource",U);let b=v.get("client_id"),h=v.get("client_secret");if(typeof b==="string"&&b)A=b;if(typeof h==="string"&&h)R=h;let l=new URLSearchParams;for(let[d,W0]of v.entries())l.append(d,W0.toString());z=l.toString()}else if(Y==="register"&&P?.toLowerCase().includes("application/json")){let v=await X.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",G.organization_id).executeTakeFirst(),b=await $.req.text(),h={};try{h=b?JSON.parse(b):{}}catch{z=b}let l=typeof h==="object"&&h!==null&&!Array.isArray(h);if(z===void 0&&!l)z=b;if(z===void 0){let d=h,W0=d.metadata&&typeof d.metadata==="object"?d.metadata:{};d.metadata={...W0,organization_id:G.organization_id,...v?.slug?{organization_slug:v.slug}:{},...v?.name?{organization_name:v.name}:{}},z=JSON.stringify(d),E["Content-Type"]="application/json"}}else z=$.req.raw.body??void 0;let f=await fetch(w.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 H2(G.connection_url)??D}catch{l=D}let d={connectionId:Z,accessToken:b.access_token,refreshToken:typeof b.refresh_token==="string"?b.refresh_token:null,scope:typeof b.scope==="string"?b.scope:null,expiresAt:h,clientId:A,clientSecret:R,tokenEndpoint:l};await new e5(X.db,X.vault).upsert(d)}}catch(b){console.error("[oauth-proxy] failed to persist downstream token:",b)}return new Response(v,{status:f.status,statusText:f.statusText,headers:S})}return new Response(f.body,{status:f.status,statusText:f.statusText,headers:S})},yE8=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&&(!SB(Y)||!await _B(Z)))return $.json({error:"forbidden"},403);let W=G?u_0:Y;if(G)qO({action:"watch_all_orgs",actorUserId:Q,actorOrgId:Y,targetOrgId:"all"});let K=crypto.randomUUID();return Gw($,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()})})})},wF5,PF5,zF5=()=>EF5(B4),AF5=()=>jF5(B4);var hE8=L(()=>{n$();u1();y1$();HK8();BK8();gK8();pK8();tZ0();nN1();aK8();u90();H9();ui();q8();Y8();Rf0();XH8();bO1();dK();dN();uP1();I3();b6();Q6();nP1();vH8();tH8();aP1();DF8();Wz1();Lz1();Oz1();vK();L70();wz1();bF8();Vf0();Fw8();Lw8();Ow8();Pw8();Cw8();zz1();_w8();lb0();cZ0();gw8();db0();e21();uw8();r21();mw8();sw8();ew8();$j8();Qj8();Xj8();Gj8();Bj8();jT1();Vz1();wj8();a21();n21();hQ0();vj8();JT1();AJ();EB0();r80();OB1();i80();n80();hO1();bj8();fj8();Nz1();mj8();vv0();dj8();oa();w00();TO();c5();lE1();oj8();XE8();OG();uz();KE8();hF0();ST1();uW();Ez1();zO();YL1();hF0();AZ0();N00();ne0();FE8();tj();NE8();ao();uP1();wt();ft();iv0();_E8=_(_H(),1);wF5=new LF5,PF5=new Set([G3,gW,YD,XD,ww,k2])});var mE8={};O6(mE8,{resolveClientDir:()=>CF5,resolveAssetPathWithTraversalCheck:()=>cE8,isPathWithinDirectory:()=>lE8,createAssetHandler:()=>SF5});import{resolve as RQ0,dirname as qF5,join as RF5,extname as MF5,basename as VF5,sep as uE8}from"path";function IF5($,Z){if($===Z||VF5($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${uE8}assets${uE8}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function lE8($,Z){let Q=RQ0(Z),Y=RQ0($);return Y===Q||Y.startsWith(Q+"/")}function cE8({requestPath:$,clientDir:Z}){let Q=$.startsWith("/")?$.slice(1):$,Y=RQ0(Z,Q);if(!lE8(Y,Z))return null;return Y}function CF5($,Z="../client"){let Q=new URL($),Y=qF5(Q.pathname);return RQ0(Y,Z)}function SF5($={}){let{env:Z="production",clientDir:Q=kF5,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=cE8({requestPath:W,clientDir:Q});if(!K)return null;let H=RF5(K,"index.html"),F=RQ0(Q,"index.html"),U=J.headers.get("accept"),B=U?.includes("text/html")||U?.includes("*/*")&&["",".html"].includes(MF5(K))?[H,F]:[];for(let D of[K,...B])try{let O=Bun.file(D);if(await O.exists())return new Response(O,{headers:IF5(D,F)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var kF5="./dist/client";var dE8=()=>{};var iE8={};O6(iE8,{tryUpgradePreviewWs:()=>gF5,tryHandlePreviewHttp:()=>yF5,previewWebSocketHandler:()=>hF5,parsePreviewBaseDomain:()=>fF5,isPreviewWsData:()=>zg0,extractHandleFromHost:()=>fT1});function bF5($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function xF5(){return new Response(vF5,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function fF5($){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 fT1($,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 yF5($,Z){let Q=fT1($.headers.get("host"),Z.baseDomain);if(!Q)return null;let Y=await Z.getRunner();if(!Y)return VQ0(503,"preview proxy not configured");let X=await Y.proxyPreviewRequest(Q,$);if(X.headers.get(Rn)&&bF5($))return xF5();return X.headers.delete(Rn),X}function VQ0($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function zg0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function gF5($,Z,Q){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let Y=fT1($.headers.get("host"),Q.baseDomain);if(!Y)return null;let X=await Q.getRunner();if(!X)return VQ0(503,"preview proxy not configured");let J=await X.resolvePreviewUpstreamUrl(Y);if(!J)return VQ0(404,"sandbox not found");let G=new URL($.url);if(G.pathname.startsWith("/_sandbox"))return VQ0(404,"not found");let W=`${J.replace(/^http/,"ws")}${G.pathname}${G.search}`,K=$.headers.get("sec-websocket-protocol"),H=K?K.split(",").map((N)=>N.trim()).filter(Boolean):[],F={kind:"preview",upstreamUrl:W,upstreamProtocols:H,pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:F}))return VQ0(426,"upgrade failed");return}function MQ0($,Z,Q,Y){if(Z.closed)return;Z.closed=!0;try{$.close(Q,Y)}catch{}try{Z.upstream?.close()}catch{}}var _F5=256,vF5='<!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>',hF5;var pE8=L(()=>{M50();hF5={open($){let Z=$.data;if(!zg0(Z))return;let Q;try{Q=Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(Y){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${Y instanceof Error?Y.message:String(Y)}`),MQ0($,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)=>{MQ0($,Z,Y.code||1000,Y.reason||"")}),Q.addEventListener("error",()=>{MQ0($,Z,1011,"upstream error")})},message($,Z){let Q=$.data;if(!zg0(Q))return;let Y=Q.upstream;if(Y&&Y.readyState===WebSocket.OPEN){Y.send(Z);return}if(Q.pending.length>=_F5){MQ0($,Q,1011,"preview ws backlog overflow");return}Q.pending.push(Z)},close($){let Z=$.data;if(!zg0(Z))return;MQ0($,Z,1000,"")}}});n$();var oT1="14";function sT1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:oT1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}n$();import FP8 from"pg";var rT1=8314027461559302n,UP8=600000,NP8=500;async function aT1($,Z){let{databaseUrl:Q,lockTimeoutMs:Y=UP8}=$,X=$.log??((K)=>console.log(K)),J=new FP8.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",[rT1.toString()])).rows[0]?.locked===!0,W)break;if(Date.now()-G>=Y)throw Error(`Timed out after ${Y}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await J$(NP8)}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)",[rT1.toString()])}catch{}await J.end().catch(()=>{})}}u1();_g0();b6();function Fz8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function og0($,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 bq1(){let $=Fz8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:og0($,"--cpu-prof-dir")??process.cwd(),name:og0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(og0($,"--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.'}))}ag0();var cQ0;function mq1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=v2();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(()=>{}),cQ0=setInterval(()=>void Z().catch(()=>{}),$),cQ0.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(cQ0)clearInterval(cQ0)}}import*as Bz8 from"bun:jsc";var{startSamplingProfiler:Dz8,samplingProfilerStackTraces:Lz8}=Bz8;function dq1(){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{Dz8()}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=Lz8()?.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 iq1(){bq1();let $=[mq1(),cq1(),dq1()];return()=>{for(let Z of $)Z()}}import{existsSync as nF5}from"fs";var fW=B0();Sq1();var{DBOS:IQ0,DBOSClient:uF5}=await import("@dbos-inc/dbos-sdk");function cT1($,Z){if(!Z)return $;let Q=new URL($);if(!Q.searchParams.has("sslmode"))Q.searchParams.set("sslmode","verify-full");return Q.toString()}var lF5=[G3,gW,YD,XD,ww,k2,C2],cF5=fW.dispatchRole==="worker"?lF5:fW.dispatchRole==="api"?[]:void 0;IQ0.setConfig(sT1({systemDatabaseUrl:cT1(fW.databaseUrl,fW.databasePgSsl),poolSize:fW.dbosPoolSize,executorID:fW.podName,listenQueues:cF5}));var{createApp:mF5}=await Promise.resolve().then(() => (hE8(),gE8)),{isServerPath:dF5}=await Promise.resolve().then(() => (hQ0(),Dq1)),{createAssetHandler:iF5,resolveClientDir:rE8}=await Promise.resolve().then(() => (dE8(),mE8)),pF5=fW.port,nE8=rE8(import.meta.url,"../client"),aE8=nF5(nE8)?nE8:rE8(import.meta.url,"../dist/client"),tF5=iF5({clientDir:aE8,isServerPath:dF5}),oF5={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function sF5($){let Z=new Headers($.headers);for(let[Q,Y]of Object.entries(oF5))Z.set(Q,Y);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:rF5,tryHandlePreviewHttp:aF5,tryUpgradePreviewWs:eF5,previewWebSocketHandler:yT1,isPreviewWsData:gT1}=await Promise.resolve().then(() => (pE8(),iE8)),{getOrInitSharedRunner:eE8}=await Promise.resolve().then(() => (IX(),Gn$)),$P8=rF5(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),tE8={baseDomain:$P8??"",getRunner:eE8};if(process.env.STUDIO_SANDBOX_TENANT_POOLS?.trim())eE8().catch(($)=>{console.warn("[lifecycle] eager sandbox provider init for tenant pools failed:",$ instanceof Error?$.message:String($))});var Ag0=await mF5({clientDir:aE8}),hT1=process.env.DBOS_CONDUCTOR_KEY?.trim(),oE8=process.env.DBOS_CONDUCTOR_URL?.trim();await aT1({databaseUrl:cT1(fW.databaseUrl,fW.databasePgSsl)},()=>IQ0.launch({...hT1?{conductorKey:hT1}:{},...hT1&&oE8?{conductorURL:oE8}:{}}));console.log(`[dbos] application version: ${IQ0.applicationVersion}`);var uT1=5,lT1=0;await L8(async()=>{lT1++;try{return await Ag0.initDbos()}catch($){let Z=lT1>=uT1?"giving up":"retrying";throw console.warn(`[dbos] initDbos attempt ${lT1}/${uT1} failed, ${Z}`,$),$}},{maxAttempts:uT1,minTimeout:1000,maxTimeout:1e4,jitter:0.5});var $U5=Bun.serve({idleTimeout:0,port:pF5,hostname:"0.0.0.0",fetch:async($,Z)=>{if($P8){let Y=await eF5($,Z,tE8);if(Y===void 0)return;if(Y)return Y;let X=await aF5($,tE8);if(X)return X}let Q=await tF5($);if(Q)return sF5(Q);return Ag0.fetch($,{server:Z})},websocket:{open($){if(gT1($.data))yT1.open($)},message($,Z){if(gT1($.data))yT1.message($,Z)},close($){if(gT1($.data))yT1.close($)}},development:!1}),ZU5=iq1();if(fW.localMode)Promise.resolve().then(() => (rh(),Mv0)).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(() => (rh(),Mv0));Z()}catch{}});var sE8=!1;async function QU5($){let Z;try{Z=await uF5.create({systemDatabaseUrl:cT1(fW.databaseUrl,fW.databasePgSsl),systemDatabaseSchemaName:"dbos"});let Q=await Z.listWorkflows({status:"PENDING",queueName:gW,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:gW}),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 Tg0($){if(sE8)return;sE8=!0,console.log(`
4411
+ </head>`)}function ow8($){let Z=new Z1;return Z.get("/:domain/og.png",async(Q)=>{let Y=Pu(Q.req.param("domain")),X=async()=>{let J=$?Bun.file(tw8($,"report-og-fallback.png")):null;if(!J||!await J.exists())return Q.notFound();return Q.body(new Uint8Array(await J.arrayBuffer()),200,{"Content-Type":"image/png","Cache-Control":"public, max-age=0, s-maxage=3600"})};try{let J=await fetch(`${kK({})}/api/v2/public/diagnostics/${encodeURIComponent(Y)}/og.png`,{signal:AbortSignal.timeout(TK5)}),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=Pu(Q.req.param("file").replace(/\.md$/,""));try{let X=await nw8(Y,{lang:Q.req.query("lang")?.trim()||void 0,signal:AbortSignal.timeout(qK5)});if(X===null)return Q.text("Deco Score not found",404);return Q.body(X,200,{"Content-Type":"text/markdown; charset=utf-8","Cache-Control":"public, max-age=600, stale-while-revalidate=3600","Access-Control-Allow-Origin":"*"})}catch{return Q.text("Deco Score unavailable",502)}}),Z.get("/:domain",async(Q)=>{let Y=Q.req.param("domain"),X=$?tw8($,"index.html"):null,J=X?Bun.file(X):null;if(!J||!await J.exists())return Q.notFound();let G=await J.text();try{let W=await PK5(Pu(Y)),K=zK5(Y,W);return Q.html(AK5(G,K),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return Q.html(G)}}),Z}var EK5=2500,TK5=1e4,qK5=1e4;var sw8=L(()=>{Y8();kL();GT1();u1()});function Ng0($,Z){return fetch(`${kK({})}${$}`,Z)}async function RK5($,Z){let Q=await Ug0($,{lang:Z});if(!Q)return{status:"not_found",report:null};return Q.scanned_at?{status:"ready",report:Q}:{status:"empty",report:null}}function VK5($){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 MK5,Kw,rw8=async($,Z)=>{if(!$.get("reportUser"))return $.json({error:"Authentication required"},401);await Z();return},aw8;var ew8=L(()=>{Y8();dK();kL();GT1();MK5=new Set(["complete","errored","terminated","unknown"]);Kw=new Z1;Kw.use("*",async($,Z)=>{let Q=await B4.api.getSession({headers:$.req.raw.headers});$.set("reportUser",Q?.user?.id?{email:Q.user.email}:void 0),await Z(),$.header("Cache-Control","private, no-store"),$.header("Vary","Cookie");return});Kw.use("/link-token/*",rw8);Kw.use("/suggest",rw8);Kw.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 RK5(Z,Q))}catch{return $.json({error:"report read failed"},502)}});Kw.post("/run",async($)=>{let Z=$.get("reportUser"),Q;try{Q=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let{domain:Y,distinctId:X}=VK5(Q);if(!Y)return $.json({error:"domain is required"},400);let J=Z?.email;try{let G=await Ng0("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${ZP({})}`},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)}});Kw.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let Q=await Ng0(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${ZP({})}`}});if(!Q.ok)return $.json({error:`status HTTP ${Q.status}`},502);let X=(await Q.json()).status??"unknown",J={done:MK5.has(X),status:X};return $.json(J)}catch{return $.json({error:"status failed"},502)}});Kw.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let Q=await Ng0(`/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)}});Kw.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let Q=await Ng0(`/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:[]})}});aw8=Kw});var IK5=1048576,WT1;var $j8=L(()=>{Y8();_W();u1();_P1();WT1=new Z1;WT1.post("/webhook",u6({maxSize:IK5,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(!uK8(Q,$.req.header("stripe-signature"),Z))return $.json({error:"invalid signature"},400);let X=lK8(Q);if(!X)return $.json({error:"invalid payload"},400);let J=await cK8(X);return console.log("stripe webhook",{eventId:X.id,type:X.type,livemode:X.livemode,...J}),$.json({received:!0})})});import{timingSafeEqual as kK5}from"crypto";function _K5($,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 kK5(Buffer.from(X),Buffer.from(Y))}function vK5($,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 Zj8($){let Z=new Z1;return Z.post("/webhook",u6({maxSize:CK5,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(!_K5(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"&&!SK5.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 b50().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=vK5(J??"",G);if(W.length===0)return Q.json({ok:!0,ignored:"no-pr"});let K=await bK5($,W);return Q.json({ok:!0,refreshed:K})}),Z}async function bK5($,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 b88(K,G.organizationId,G.taskBoardItemId)!==null)Q++}catch(W){console.error(`[github-webhook] pr card refresh failed for ${G.taskBoardItemId}:`,W)}}return Q}var CK5=5242880,SK5;var Qj8=L(()=>{Y8();_W();IX();yQ();SK5=new Set(["check_suite","issue_comment"])});import{DBOS as HT1,SchedulerMode as xK5}from"@dbos-inc/dbos-sdk";async function yK5(){try{return await gK5()}catch($){return console.warn(`[sandbox-credential-push] push failed: ${$ instanceof Error?$.message:String($)}`),null}}async function gK5(){if(!v50())return null;let[{RemoteSandboxProvider:$},{SandboxProviderRouter:Z}]=await Promise.all([Promise.resolve().then(() => (bH1(),vH1)),Promise.resolve().then(() => (_H1(),SH1))]),Q=await b50(),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=di$({sandboxes:J,pools:G,records:await ii$(X,J,G),legacyPools:bC0(process.env.STUDIO_SANDBOX_TENANT_POOLS),now:W}),{batches:H,failed:F}=await pi$(K,Yw0(X,new XJ(B0().encryptionKey)),{now:W,orgFsLifetimeMs:yC0}),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 hK5($,Z){let Q=await HT1.runStep(yK5,{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 Yj8(){if(KT1)return;if(!B0().agentSandboxEnabled||!v50())return;KT1=HT1.registerWorkflow(hK5,{name:"sandboxCredentialPushWorkflow"}),HT1.registerScheduled(KT1,{name:"sandboxCredentialPushWorkflow",crontab:fK5,mode:xK5.ExactlyOncePerIntervalWhenActive})}var fK5="1,11,21,31,41,51 * * * *",KT1=null;var Xj8=L(()=>{I3();Jj();P31();gC0();xC0();IX();u1()});function Jj8($){let Z=new pO($.db,new XJ($.encryptionKey)),Q=new Z1;return Q.get("/attachments/:token",async(Y)=>{let X=h18(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 QQ(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 Gj8=L(()=>{Y8();Jj();WN1();EO()});function Bg0(){try{return B0().jiraSettleSeconds*1000}catch{return nz}}function Wj8($,Z){let Q=Z.windowMs??nz,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=uK5($,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 uK5($,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 FT1=L(()=>{SO();u1()});function Kj8($){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 UT1($,Z,Q){if(!Z.enabled)return"disabled";let Y=Z.organizationId,X=new QQ(Z.siteUrl,Z.email,Z.apiToken),J=Wj8(await X.listStatusChanges(Q.issueId),{changeId:Q.changelogId,now:Q.now,windowMs:Bg0()});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:pz(N)})),H=V98(K)&&Z.boardId?M98(await X.getBoardColumnStatusIds(Z.boardId),W.id,G.toId):null,F=R98(K,W.name,H);if(!F)return"no_rule";if(!await $.storage.jiraIntegrations.claimTrigger(Y,Q.issueId,G.id))return"duplicate";return await ZH({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 NT1=L(()=>{YU();EO();ut();FT1()});import{DBOS as A2,SchedulerMode as lK5}from"@dbos-inc/dbos-sdk";function Hj8($){DT1=$}function OT1(){if(!DT1)throw Error("[jira-trigger] runtime not initialized \u2014 setJiraTriggerSweepRuntime() must run before the workflow fires");return DT1}function wT1(){let $=OT1();return new pO($.db,new XJ($.encryptionKey))}async function pK5($){try{let Z=await wT1().getById($);if(!Z?.enabled||!Z.boardId)return{integrationId:$,fired:0};let Q=await hJ(OT1().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 QQ(Z.siteUrl,Z.email,Z.apiToken),G=`(${await X.getBoardScopeJql(Z.boardId)}) AND status CHANGED AFTER "-${mK5}m"`,W=0,K;for(let H=0;H<dK5;H++){let F=await X.searchIssues({jql:G,nextPageToken:K});for(let U of F.issues)if(await UT1(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 nK5($,Z){let Q=await A2.runStep(()=>wT1().listEnabledIds(),{name:"loadJiraIntegrations"});if(Q.length===0)return;let Y=await Promise.all(Q.map((X)=>A2.runStep(()=>pK5(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 tK5($,Z){try{let Q=await wT1().getById($);if(!Q?.enabled)return"disabled";let Y=await hJ(OT1().db,Q.organizationId);if(!Y)return"disabled";let X=await UT1(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 oK5($,Z){await A2.sleep(Bg0()+iK5),await A2.runStep(()=>tK5($,Z),{name:"settleJiraMove"})}async function Fj8($,Z){if(!LT1)throw Error("[jira-trigger] settle workflow is not registered");await A2.startWorkflow(LT1,{workflowID:`jira-settle:${$}:${Z.changelogId}`})($,Z)}function Uj8(){if(BT1)return;LT1=A2.registerWorkflow(oK5,{name:"jiraSettleWorkflow"}),BT1=A2.registerWorkflow(nK5,{name:"jiraTriggerSweepWorkflow"}),A2.registerScheduled(BT1,{name:"jiraTriggerSweepWorkflow",crontab:cK5,mode:lK5.ExactlyOncePerIntervalWhenActive})}var cK5="*/5 * * * *",mK5=20,dK5=5,iK5=5000,DT1=null,LT1=null,BT1=null;var jT1=L(()=>{Jj();uz();EO();FT1();NT1()});function Nj8($){let Z=new pO($.db,new XJ($.encryptionKey)),Q=nj($.db);async function Y(J,G){let W=Kj8(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 Fj8(K.id,W)}let X=new Z1;return X.post("/webhook/:secret",u6({maxSize:sK5}),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 sK5=1048576;var Bj8=L(()=>{Y8();_W();Jj();jT1();NT1();N00()});function Dj8($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var Lj8,rK5,aK5,Oj8;var wj8=L(()=>{Y8();NG();Vt();ui();Lj8=new Z1,rK5=["range","if-none-match","if-modified-since"],aK5=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];Lj8.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),Q=Z.organization?.id;if(!Z.auth?.user?.id){if(Vo($))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 LZ0(Y,Z);if(!X)throw new R1(503,{message:"Object storage not configured"});if(X.startsWith("data:")&&_K()){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 Dj8(N,H),new Response(U,{status:200,headers:N})}let J=new Headers;for(let K of rK5){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 aK5){let H=G.headers.get(K);if(H)W.set(K,H)}return W.set("Cache-Control","private, max-age=86400"),Dj8(W,W.get("content-type")??""),new Response(G.body,{status:G.status,headers:W})});Oj8=Lj8});var TQ0=y((du)=>{var eK5=du&&du.__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]}),$H5=du&&du.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))eK5(Z,$,Q)};Object.defineProperty(du,"__esModule",{value:!0});$H5(F3(),du)});var Pj8=y((jj8)=>{Object.defineProperty(jj8,"__esModule",{value:!0});jj8.version=void 0;jj8.version="3.4.0"});var Tj8=y((rB)=>{var ZH5=rB&&rB.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(rB,"__esModule",{value:!0});rB.NodeTransport=rB.VERSION=void 0;rB.nodeResolveHost=WH5;var J9=TQ0(),QH5=V0("net"),ET1=V0("tls"),YH5=V0("path"),zj8=V0("fs"),XH5=ZH5(V0("dns")),JH5=Pj8();rB.VERSION=JH5.version;var GH5="nats.js";class Aj8{socket;version;lang;yields=[];signal=(0,J9.deferred)();closedNotification=(0,J9.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=GH5,this.version=rB.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:Q}=this.options,{handshakeFirst:Y}=Q||{};try{if(Y===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let X=await this.peekInfo();(0,J9.checkOptions)(X,Z);let{tls_required:J,tls_available:G}=X,W=G===!0&&Z.tls!==null;if(!Y&&(J||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(J&&this.socket.encrypted!==!0)throw J9.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(X){let J=X;if(!J)J=new J9.errors.ConnectionError("error connecting - node provided an undefined error");let{code:G}=J,W=G==="ECONNREFUSED"?new J9.errors.ConnectionError("connection refused",{cause:J}):J;throw this.socket?.destroy(),W}}dial($){let Z=(0,J9.deferred)(),Q,Y=(0,QH5.createConnection)($.port,$.hostname,()=>{Z.resolve(Y),Y.removeAllListeners()});return Y.on("error",(X)=>{Q=X}),Y.on("close",()=>{Y.removeAllListeners(),Z.reject(Q)}),Y.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,J9.deferred)(),Z;return this.socket.on("data",(Q)=>{this.yields.push(Q);let Y=J9.DataBuffer.concat(...this.yields),X=(0,J9.extractProtocolMessage)(Y);if(X!=="")try{let J=J9.INFO.exec(X);if(!J)throw Error("unexpected response from server");let G=JSON.parse(J[1]);$.resolve(G)}catch(J){$.reject(J)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(Q)=>{Z=Q}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,J9.deferred)();try{if($=(0,YH5.resolve)($),!(0,zj8.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,zj8.readFile)($,(Q,Y)=>{if(Q)return Z.reject(Q);Z.resolve(Y)})}catch(Q){Z.reject(Q)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:Q,caFile:Y,ca:X,keyFile:J,key:G}=this.options.tls;try{if(Z){let W=await this.loadFile(Z);if(W)$.cert=W}else if(Q)$.cert=Q;if(J){let W=await this.loadFile(J);if(W)$.key=W}else if(G)$.key=G;if(Y){let W=await this.loadFile(Y);if(W)$.ca=[W]}else if(X)$.ca=X;return Promise.resolve($)}catch(W){return Promise.reject(W)}}async tlsFirst($){let Z,Q={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)Q.socket=this.socket;if(typeof this.options.tls==="object")try{let X=await this.loadClientCerts()||{};Q=(0,J9.extend)(Q,this.options.tls,X)}catch(X){return Promise.reject(new J9.errors.ConnectionError(X.message,{cause:X}))}let Y=(0,J9.deferred)();try{let X=(0,ET1.connect)($.port,$.hostname,Q,()=>{X.removeAllListeners(),Y.resolve(X)});X.on("error",(J)=>{Z=J}),X.on("secureConnect",()=>{if(Q.rejectUnauthorized===!1)return;if(!X.authorized)throw X.authorizationError}),X.on("close",()=>{Y.reject(Z),X.removeAllListeners()}),X.setNoDelay(!0)}catch(X){Y.reject(new J9.errors.ConnectionError(X.message,{cause:X}))}return Y}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};Z=(0,J9.extend)(Z,this.options.tls,Y)}catch(Y){return Promise.reject(new J9.errors.ConnectionError(Y.message,{cause:Y}))}let Q=(0,J9.deferred)();try{let Y=(0,ET1.connect)(Z,()=>{Y.removeAllListeners(),Q.resolve(Y)});Y.on("error",(X)=>{$=X}),Y.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{Q.reject($),Y.removeAllListeners()})}catch(Y){Q.reject(new J9.errors.ConnectionError(Y.message,{cause:Y}))}return Q}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,J9.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,J9.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof ET1.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,J9.render)($)}`);let Z=(0,J9.deferred)();try{this.socket.write($,(Q)=>{if(Q){if(this.options.debug)console.error(`!!! ${(0,J9.render)($)}: ${Q}`);return Z.reject(Q)}return Z.resolve()})}catch(Q){if(this.options.debug)console.error(`!!! ${(0,J9.render)($)}: ${Q}`);Z.reject(Q)}return Z}send($){this._send($).catch((Q)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(Q){if(this.options.debug)console.log("transport close terminated with an error",Q)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(Q){console.log(Q)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}rB.NodeTransport=Aj8;function WH5($){let Z=(0,J9.deferred)();return XH5.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 Ij8=y((Vj8)=>{Object.defineProperty(Vj8,"__esModule",{value:!0});Vj8.connect=KH5;var qj8=Tj8(),Rj8=TQ0(),Mj8=TQ0();function KH5($={}){if((0,Mj8.hasWsProtocol)($))return Promise.reject(Mj8.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,Rj8.setTransportFactory)({factory:()=>{return new qj8.NodeTransport},dnsResolveFn:qj8.nodeResolveHost}),Rj8.NatsConnectionImpl.connect($)}});var kj8=y((Hw)=>{var FH5=Hw&&Hw.__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]}),UH5=Hw&&Hw.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))FH5(Z,$,Q)};Object.defineProperty(Hw,"__esModule",{value:!0});Hw.connect=void 0;var NH5=Ij8();Object.defineProperty(Hw,"connect",{enumerable:!0,get:function(){return NH5.connect}});UH5(TQ0(),Hw)});function _j8($){let Z=$?.connectFn??OH5,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:LH5,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(DH5,BH5,D-1,2,0.5);await J$(O)}}return{init(N,B){if(X)return;X=!0,J=!1;let D=B?.creds?Dg0.credsAuthenticator(new TextEncoder().encode(B.creds)):B?.user?Dg0.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=Sj8.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 OH5($){return Cj8.connect($)}var Dg0,Cj8,Sj8,BH5=100,DH5=3000,LH5=3000;var vj8=L(()=>{n$();Dg0=_(m2(),1),Cj8=_(kj8(),1),Sj8=_(_H(),1)});function Lg0($,Z){return`${$}.${Z}`}class PT1{cache;constructor($){this.cache=vP({ttlMs:$?.ttlMs??wH5,maxSize:$?.maxSize??jH5})}async get($,Z){return this.cache.get(Lg0($,Z))??null}async set($,Z,Q){this.cache.set(Lg0($,Z),Q)}async invalidate($,Z){this.cache.delete(Lg0($,Z)),this.cache.delete(Lg0($,`${Z}:decisions`))}teardown(){this.cache.clear()}}var wH5=600000,jH5=5000;var bj8=()=>{};function Og0($,Z){return`${$}:${Z}`}function zT1($){let Z=vP({ttlMs:$?.ttlMs??EH5,maxSize:$?.maxSize??PH5}),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(xj8,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(Og0(K,H))},set(K,H,F){Z.set(Og0(K,H),F)},invalidate(K,H){Z.delete(Og0(K,H)),W(K,H)},start(){if(G)return;let K=Q?.();if(!K)return;G=K.subscribe(xj8),(async()=>{for await(let H of G)try{let F=JSON.parse(J.decode(H.data));if(F.originId===Y)continue;Z.delete(Og0(F.organizationId,F.keyId))}catch{}})().catch(console.error)},teardown(){G?.unsubscribe(),G=null,Z.clear()}}}var xj8="studio.ai-provider-keys.invalidate",EH5=30000,PH5=5000;var fj8=()=>{};class AT1{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 yj8=($)=>{let Z;return()=>Z??=$()},TT1,qT1;var gj8=L(()=>{b6();TT1=yj8(()=>G$.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),qT1=yj8(()=>G$.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function VH5($=lj8){return{name:xB,subjects:[`${sD1}.>`],storage:wU.StorageType.File,max_age:TH5,max_bytes:RH5,max_msgs_per_subject:MH5,discard:wU.DiscardPolicy.Old,retention:wU.RetentionPolicy.Limits,duplicate_window:qH5,num_replicas:$}}class cj8{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 hj8($){let Z=uj8.headers();for(let[Q,Y]of Object.entries($))Z.set(Q,Y);return Z}function SH5($,Z){let Q=0;return{publish(Y,X,J,G){Y.publish(X,J,G?{headers:G}:void 0).catch((W)=>{if(Q++,AH5().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 _H5($,Z){return $.info?.cluster?Z:1}function vH5($){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 RT1{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=VH5(X);try{await Y.streams.info(xB),await Y.streams.update(xB,J)}catch(G){if(G instanceof Error&&G.message.includes("stream not found"))await Y.streams.add(J),await Y.streams.update(xB,J);else if(G instanceof Error&&/can ?not change.*storage|storage type/i.test(G.message))await Y.streams.delete(xB),await Y.streams.add(J);else throw G}},Q=await L8(async()=>{let Y=this.options.getJetStreamManager?await this.options.getJetStreamManager():await wU.jetstreamManager($),X=_H5($,lj8);try{await Z(Y,X)}catch(J){if(X<=1||!vH5(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:ht});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=SH5(Z,Y),G=!1,W=()=>{if(G)return;G=!0;let H=$98(Z);X.publish(H.subject,H.data).catch(()=>{})};Q.addEventListener("abort",W,{once:!0});let K=(H)=>{let F=performance.now(),U=aD1(H,{runId:Z}),N=performance.now()-F;TT1().record(N),qT1().add(1,{"org.id":Y??"unknown"}),CH5?.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?hj8(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(),kH5)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 L8(()=>$.publish(Z.subject,Z.data,{...Z.headers?{headers:hj8(Z.headers)}:{},...Z.msgId?{msgID:Z.msgId}:{}}),{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:ht}),!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=aD1(Z,{runId:$,dedup:Q});TT1().record(performance.now()-X),qT1().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=e58({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"?wU.DeliverPolicy.New:wU.DeliverPolicy.All,J=Q?.closeOnDone??!1,G=iz($),W;try{W=await L8(async()=>{return(await Y.consumers.get(xB,{filter_subjects:G,deliver_policy:X})).consume()},{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:ht})}catch(O){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",O?.message??O),null}let F=Xb0({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($b0()).pipeThrough(Zb0()).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:w,value:j}=await F.read();if(w){D(),O.close();return}let E=j;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(xB,{filter:iz($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var wU,uj8,zH5=($)=>{let Z;return()=>Z??=$()},AH5,TH5=86400000000000,qH5=120000000000,RH5=4294967296,lj8,MH5=500000,IH5,kH5,CH5;var mj8=L(()=>{n$();eD1();Jb0();Qb0();b6();gj8();wU=_(_H(),1),uj8=_(m2(),1),AH5=zH5(()=>G$.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"})),lj8=Math.max(1,Number(process.env.DECOPILOT_STREAM_REPLICAS??3)||3);IH5=process.env.STREAM_ENCODE_TRACE==="1",kH5=process.env.DECOPILOT_STREAM_TRACE==="1";CH5=IH5?new cj8:null});function wg0($,Z,Q,Y){if(!Y)return!1;return $.emit(Z,hU(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 dj8=L(()=>{q8()});class MT1{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 bH5($,Z,Q={}){let Y=$.startsWith("thread:")?tF($,Q):$;return[...new Set([Z,Y].filter((X)=>!!X))]}async function VT1($,Z){let Q=Z.organizationId;try{let Y=await $.storage.taskBoard.linkedThreadIds(Z.id,Q);for(let X of Y){let J=await TB($,X);if(!J?.owner||!J?.name)continue;let G=await $.storage.threads.get(X),W=await qB($,{threadId:X,runBranch:G?.branch}),K=await k40($,Q,oB0(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=bH5(W,await WS0($,X),{flat:Ah(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 LW(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 ij8=L(()=>{T5();fQ();yQ()});async function pj8($,Z,Q){let Y=Z.organizationId;if(!uJ(Z))return!1;if(!th(Q))return!1;if(!await vd($,Y,S10))return!1;if(await $.storage.taskBoard.hasHumanRejectedDone(Z.id,Y))return!1;let X=K1.shipped,J=await $.storage.taskBoard.update(Z.id,Y,{status:X},Z.updatedBy);return await Q9($,{taskBoardItemId:Z.id,action:"status_changed",actorId:null,data:{from:Z.status,to:X,reason:"pr_merged"}}),K8(Y,J),console.log(`[task-board-review-sweeper] ${Z.id}: linked PR already merged \u2014 moved to ${X}`),!0}var nj8=L(()=>{OG();u8();vX();Et();ZU();c5()});function lH5($){return $ instanceof AX}function tj8($,Z){return Z-$>=hH5}class IT1{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??xH5;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??yH5,Q=this.options.itemIntervalMs??fH5,Y=new Date(Date.now()-Q),X=await this.taskBoard.listItemsPendingReview(Z,this.cursor,Y),J=X.at(-1);this.cursor=X.length===Z&&J?{updatedAt:J.updatedAt,id:J.id}:null;for(let{id:G,organizationId:W}of X)try{if(await this.reconcileItem(G,W,Y))$++}catch(K){console.error(`[task-board-review-sweeper] ${G} failed`,K)}await this.reapNeverStartedThreads(Z),$+=await this.dispatchDueRetries(Z),await this.reactToUnhandledFailures(Z),$+=await this.settleFinishedRunsWithoutPr(Z,Y)}catch(Z){console.error("[task-board-review-sweeper] sweep failed",Z)}finally{this.running=!1}return $}async reapNeverStartedThreads($){try{let Z=await this.taskBoard.failNeverStartedLinkedThreads($,new Date(Date.now()-$N1),RB1);for(let Q of Z)console.warn(`[task-board-review-sweeper] failed never-started thread ${Q.threadId} on ${Q.itemId}`)}catch(Z){console.error("[task-board-review-sweeper] reaping failed",Z)}}async reactToUnhandledFailures($){let Z=await this.taskBoard.listItemsStuckAfterFailure($,new Date(Date.now()-uH5));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 TB1(this.taskBoard,X,Y),await qB1(this.taskBoard,this.billing,X,Y)}catch(J){console.error(`[task-board-review-sweeper] unhandled-failure reaction for ${Q} failed`,J)}}async settleFinishedRunsWithoutPr($,Z){let Q=0,Y=await this.taskBoard.listItemsFinishedWithoutPr($,Z);for(let{id:X,organizationId:J,finishedAt:G}of Y)try{if(!await this.taskBoard.claimSweep(X,J,Z))continue;let W=await this.taskBoard.getById(X,J);if(!W||W.status!==K1.progress||uJ(W)||W.assigneeId!==o$)continue;let K=await this.contextFactory(J,W.assignedBy??W.createdBy);if(!K)continue;if(await VT1(K,W)){if(await this.taskBoard.clearSweepBudget(X,J),await this.reconcileItem(X,J,Z))Q++;continue}if(!tj8(G.getTime(),Date.now()))continue;let H="the run finished without opening a pull request \u2014 there is "+"nothing for a reviewer to review",F=await this.taskBoard.advanceFromProgress(X,J,K1.review,W.updatedBy);if(!F)continue;await this.taskBoard.recordActivity({taskBoardItemId:X,action:"status_changed",actorId:null,data:{from:K1.progress,to:K1.review,reason:H}}).catch(()=>{}),K8(J,F),await QU(K,F,H)}catch(W){console.error(`[task-board-review-sweeper] settling finished run on ${X} failed`,W)}return Q}async dispatchDueRetries($){let Z=0,Q=await this.taskBoard.listItemsDueForRetry($,new Date);for(let{id:Y,organizationId:X,attempts:J}of Q)try{if(!await this.taskBoard.claimDueRetry(Y,X,new Date))continue;let G=await this.taskBoard.getById(Y,X);if(!G||G.status!==K1.progress||G.assigneeId!==o$)continue;let W=await this.contextFactory(X,G.assignedBy??G.createdBy);if(!W)continue;await RO(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),lH5(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()+gH5)).catch((W)=>console.error(`[task-board-review-sweeper] re-arming ${Y} failed`,W))}return Z}async returnToBacklog($,Z,Q){try{let Y=await this.taskBoard.getById($,Z);if(!Y||Y.status!==K1.progress)return;let X=await this.taskBoard.returnToBacklogAfterFailure($,Z,Y.updatedBy);if(!X)return;await this.taskBoard.recordActivity({taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:K1.progress,to:K1.intake,reason:Q,retriesSpent:Y.retryAttempts}}).catch(()=>{}),K8(Z,X)}catch(Y){console.error(`[task-board-review-sweeper] returning ${$} to backlog failed`,Y)}}async handOffReviewWithoutPr($,Z){let Q=await this.taskBoard.listActivity(Z.id,Z.organizationId);if(!tj8(WL(Q,Z.reviewCycleStartedAt),Date.now()))return;await QU($,Z,"no pull request is linked to this task \u2014 there is nothing for a "+"reviewer to review")}async reconcileItem($,Z,Q){if(!await this.taskBoard.claimSweep($,Z,Q))return!1;let Y=await this.taskBoard.getById($,Z);if(!Y)return!1;if(!uJ(Y))return!1;let X=Y.assigneeId===o$,J=await this.taskBoard.listPrs($,Z),G=await this.contextFactory(Z,Y.assignedBy??Y.createdBy);if(!G)return!1;if(J.length===0){if(await VT1(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 At(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 pj8(G,Y,W))return!0;if(!X)return!1;if(await s88(G,Y))return!0;if(!EB1(W))return!1;return await zt(G,Y,{previewMatchesHead:PB1(W)}),!0}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}var xH5=60000,fH5=300000,yH5=50,gH5=60000,hH5=900000,uH5=120000;var oj8=L(()=>{u8();$v0();ij8();MO();Mt();ZU();nj8();c5();XW();MB1();yQ();u90()});async function sj8($,Z,Q=nz){return await aj8($,Z,Q,{})}async function rj8($,Z,Q,Y=nz){return await aj8($,Q,Y,{activityId:Z})}async function aj8($,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-cH5),settledBefore:new Date(Z-Q),limit:mH5,...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 dH5($.taskBoard,K,Q);for(let U of H){if(!k98(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 dH5($,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?C98(X,Q):Z.from}var cH5=1800000,mH5=200;var ej8=L(()=>{SO()});import{DBOS as T2,DBOSClient as iH5,SchedulerMode as pH5}from"@dbos-inc/dbos-sdk";function $E8($){Fw=$}async function oH5($){if(!Fw)return 0;try{return await rj8(Fw,$,Date.now(),Fw.settleMs)}catch(Z){return console.error(`[automations] settling board move ${$} failed`,Z),0}}async function sH5(){if(!Fw)return 0;try{return await sj8(Fw,Date.now(),Fw.settleMs)}catch($){return console.error("[automations] board transition sweep failed",$),0}}async function rH5($){await T2.sleep((Fw?.settleMs??nz)+tH5),await T2.runStep(()=>oH5($),{name:"settleBoardMove"})}async function aH5($,Z){let Q=await T2.runStep(()=>sH5(),{name:"sweepBoardMoves"});if(Q>0)console.log(`[automations] board transition sweep fired ${Q} trigger(s) the settle wait missed`)}async function QE8($){let Z=Fw;if(!Z||!CT1)return;if(!await Z.automations.hasActiveBoardColumnTrigger($.taskBoardItemId,$.to))return;let Q=`board-settle:${$.activityId}`;if(!T2.isWithinWorkflow()){await T2.startWorkflow(CT1,{workflowID:Q,queueName:C2})($.activityId);return}let Y=await iH5.create({systemDatabaseUrl:Z.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:1});try{await Y.enqueue({workflowName:ZE8,queueName:C2,workflowID:Q},$.activityId)}finally{await Y.destroy()}}function YE8(){if(kT1)return;CT1=T2.registerWorkflow(rH5,{name:ZE8}),kT1=T2.registerWorkflow(aH5,{name:"boardTransitionSweepWorkflow"}),T2.registerScheduled(kT1,{name:"boardTransitionSweepWorkflow",crontab:nH5,mode:pH5.ExactlyOncePerIntervalWhenActive})}var nH5="*/5 * * * *",tH5=2000,Fw=null,ZE8="boardTransitionSettleWorkflow",CT1=null,kT1=null;var XE8=L(()=>{SO();ej8()});import{readdir as eH5,rm as jg0}from"fs/promises";import{join as Eg0}from"path";async function Pg0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-$F5),Z.setUTCHours(0,0,0,0);let Q=0;try{let Y=await iu($);for(let X of Y)if(/^\d{4}$/.test(X))Q+=await JE8($,X,Z);else if(!X.startsWith(".")){let J=Eg0($,X),G=await iu(J);for(let K of G){if(!/^\d{4}$/.test(K))continue;Q+=await JE8(J,K,Z)}if((await iu(J)).length===0)await jg0(J,{recursive:!0,force:!0})}}catch(Y){console.warn("monitoring retention cleanup failed:",Y)}return Q}async function JE8($,Z,Q){let Y=0,X=Eg0($,Z),J=await iu(X);for(let W of J){if(!/^\d{2}$/.test(W))continue;let K=Eg0(X,W),H=await iu(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=Eg0(K,U);await jg0(B,{recursive:!0,force:!0}),Y++}}if((await iu(K)).length===0)await jg0(K,{recursive:!0,force:!0})}if((await iu(X)).length===0)await jg0(X,{recursive:!0,force:!0});return Y}async function iu($){try{return(await eH5($)).filter((Q)=>!Q.startsWith("."))}catch{return[]}}var $F5=30;var ST1=()=>{};import{DBOS as _T1,SchedulerMode as ZF5}from"@dbos-inc/dbos-sdk";async function YF5(){let $=[qH(),$l(),JD()],Z=0;for(let Q of $)try{Z+=await Pg0(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 XF5($,Z){await _T1.runStep(()=>YF5(),{name:"monitoringRetention"})}function WE8(){if(GE8)return;GE8=!0;let $=_T1.registerWorkflow(XF5,{name:"monitoringRetentionWorkflow"});_T1.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:QF5,mode:ZF5.ExactlyOncePerIntervalWhenActive})}var QF5="23 4 * * *",GE8=!1;var KE8=L(()=>{uW();ST1()});function HE8($){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 _Y.create();X.auth.user={id:Q,role:Y.role},X.organization={id:Y.orgId,slug:Y.orgSlug,name:Y.orgName};let J=await UP($.db,Z,Y.role);return X.boundAuth=YP1({auth:X.authInstance,headers:new Headers,role:Y.role,permissions:J,userId:Q}),X.access=new ET(Q,void 0,X.boundAuth,Y.role,"self"),lz(X,{id:Y.orgId,slug:Y.orgSlug}),X}}var FE8=L(()=>{GJ();dN()});function UE8(){return async($,Z)=>{let Q=Date.now(),Y=$.req.method,X=$.req.path;if(X==="/api/auth/get-session"||X.includes("favicon")){await Z();return}let J="",G=!1;if(X.startsWith("/mcp")&&Y==="POST"){G=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let N=await $.req.raw.clone().json();if(N.method==="tools/call"&&N.params?.name){let B=qQ0(N.params.name),D=N.params.arguments||{},O=Object.keys(D).map((j)=>qQ0(j)),w=O.length>0?O.slice(0,3).join(",")+(O.length>3?"\u2026":""):"";J=`${O9.tool}${B}${O9.dim}(${w})${O9.reset}`}else if(N.method)J=`${O9.dim}${qQ0(N.method)}${O9.reset}`}}catch{}}let W=qQ0(X);if(X.startsWith("/mcp/conn_")){let F=X.split("/")[2]??"";W=`/mcp/${O9.mcp}${qQ0(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=GF5(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=JF5(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,JF5=($)=>{if($>=500)return O9.serverError;if($>=400)return O9.clientError;if($>=300)return O9.redirect;return O9.ok},GF5=($)=>{return O9[$]||O9.reset},qQ0=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var NE8=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 OE8}from"crypto";import{mkdir as WF5,readdir as KF5,rm as BE8,stat as wE8}from"fs/promises";import{join as bT1,relative as HF5}from"path";import{z as J8}from"zod";function EE8($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return bT1(FF5,Z)}function PE8($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function vT1($,Z){let Q=EE8($),Y=PE8(Z);return bT1(Q,Y)}function UF5($,Z,Q,Y){let X=B0().encryptionKey||"dev-secret",J=`${$}:${Z}:${Q}:${Y}`;return OE8("sha256",X).update(J).digest("hex")}function LE8($,Z,Q,Y,X){let J=Math.floor(Date.now()/1000)+Y,G=UF5(Z,Q,J,X),W=new URL(`/api/dev-assets/${Z}/${PE8(Q)}`,$);return W.searchParams.set("expires",J.toString()),W.searchParams.set("signature",G),W.searchParams.set("method",X),W.toString()}function zE8($,Z,Q){let Y=`${$}:${Z.getTime()}:${Q}`;return`"${OE8("md5","etag").update(Y).digest("hex")}"`}async function AE8($,Z,Q,Y,X){try{let J=await KF5($,{withFileTypes:!0});for(let G of J){let W=bT1($,G.name),H=HF5(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 AE8(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 wE8(W);X.objects.push({key:H,size:F.size,lastModified:F.mtime.toISOString(),etag:zE8(W,F.mtime,F.size)})}catch{}}}}catch{}}function TE8($,Z){let Y=Q0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:J8.object({prefix:J8.string().optional(),maxKeys:J8.number().optional().default(1000),continuationToken:J8.string().optional(),delimiter:J8.string().optional()}),outputSchema:J8.object({objects:J8.array(J8.object({key:J8.string(),size:J8.number(),lastModified:J8.string(),etag:J8.string()})),nextContinuationToken:J8.string().optional(),isTruncated:J8.boolean(),commonPrefixes:J8.array(J8.string()).optional()}),handler:async(X)=>{let J=X,G=J.prefix||"",W=J.maxKeys??1000,K=J.delimiter,H=J.continuationToken,F=EE8(Y);await WF5(F,{recursive:!0});let U={objects:[],commonPrefixes:new Set};await AE8(F,F,G,K,U),U.objects.sort((w,j)=>w.key.localeCompare(j.key));let N=0;if(H){if(N=U.objects.findIndex((w)=>w.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:J8.object({key:J8.string()}),outputSchema:J8.object({contentType:J8.string().optional(),contentLength:J8.number(),lastModified:J8.string(),etag:J8.string(),metadata:J8.record(J8.string(),J8.string()).optional()}),handler:async(X)=>{let J=X,G=vT1(Y,J.key),W=await wE8(G);return{contentType:Rz1(J.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:zE8(G,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:J8.object({key:J8.string(),expiresIn:J8.number().optional()}),outputSchema:J8.object({url:J8.string(),expiresIn:J8.number()}),handler:async(X)=>{let J=X,G=hO(J.expiresIn,DE8);return{url:LE8(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:J8.object({key:J8.string(),expiresIn:J8.number().optional(),contentType:J8.string().optional()}),outputSchema:J8.object({url:J8.string(),expiresIn:J8.number()}),handler:async(X)=>{let J=X,G=hO(J.expiresIn,DE8);return{url:LE8(Z,Y,J.key,G,"PUT"),expiresIn:G}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:J8.object({key:J8.string()}),outputSchema:J8.object({success:J8.boolean(),key:J8.string()}),handler:async(X)=>{let J=X,G=vT1(Y,J.key);try{return await BE8(G),{success:!0,key:J.key}}catch{return{success:!1,key:J.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:J8.object({keys:J8.array(J8.string()).max(1000)}),outputSchema:J8.object({deleted:J8.array(J8.string()),errors:J8.array(J8.object({key:J8.string(),message:J8.string()}))}),handler:async(X)=>{let J=X,G=[],W=[];return await Promise.all(J.keys.map(async(K)=>{let H=vT1(Y,K);try{await BE8(H),G.push(K)}catch(F){W.push({key:K,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:G,errors:W}}}]}async function xT1($,Z,Q){let Y=TE8(Z,Q),X=new KE({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:QZ});for(let G of Y){let W="shape"in G.inputSchema?G.inputSchema.shape:J8.object({}).shape,K=G.outputSchema&&"shape"in G.outputSchema?G.outputSchema.shape:J8.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 zW({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await X.connect(J),FH(X,J,$,"mcp:dev-assets")}async function qE8($,Z,Q,Y){let J=TE8(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 FF5="./data/assets",DE8=3600,jE8,RE8;var ME8=L(()=>{u1();st();Y8();NH0();ot();UJ();uO();rf0();jE8=new Z1;jE8.all("/",async($)=>{let Z=$.get("studioContext"),Q=new URL($.req.url),Y=`${Q.protocol}//${Q.host}`;return xT1($.req.raw,Z,Y)});RE8=jE8});var VE8={};O6(VE8,{mountDevRoutes:()=>NF5});function NF5($,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 xT1(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 qE8(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",RE8);let Q=new Z1;Q.use("*",BU({mountPath:"/api/dev-assets"})),Q.route("/",sf0({orgFromPath:!1})),$.route("/api/dev-assets",Q)}var IE8=L(()=>{Y8();wz1();rf0();ME8()});var gE8={};O6(gE8,{watchHandler:()=>yE8,resolveVoiceSigningSecret:()=>bE8,resolveCorsOrigin:()=>xE8,isSsoExemptPath:()=>vE8,isAllowedOAuthRedirectUri:()=>fE8,createApp:()=>TF5});import{readFileSync as BF5}from"fs";import{randomBytes as DF5}from"crypto";import{PrometheusSerializer as LF5}from"@opentelemetry/exporter-prometheus";import{DBOS as aB}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as jF5,oAuthProtectedResourceMetadata as EF5}from"better-auth/plugins";async function OF5($){let Z=$.connect(),Q;try{Q=await Promise.race([Z,CE8(kE8)])}catch{return Z.then((Y)=>Y.release(!0)).catch(()=>{}),!1}try{return await Promise.race([Q.query("SELECT 1"),CE8(kE8)]),Q.release(),!0}catch{return Q.release(!0),!1}}function CE8($){return new Promise((Z,Q)=>setTimeout(()=>Q(Error("pg health-check timeout")),$))}function vE8($){return $.startsWith("/api/org-sso/")||/^\/api\/[^/]+\/sso\//.test($)||$.startsWith("/api/auth/")||$.startsWith("/api/tools/management")||$.startsWith("/oauth-proxy/")||/^\/api\/[^/]+\/oauth-proxy\//.test($)||$.startsWith(`${xf0}/`)||$.startsWith(`${kf0}/`)}function bE8($){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)"),DF5(32).toString("base64")}function xE8($,{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 fE8($,Z){return $.origin===new URL(Z).origin||$.hostname==="localhost"}async function TF5($={}){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 PT1,K,H,F,U=null;if($.disableNats)K=zT1(),Y={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},X=null,J=null,G=new lZ0,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=_j8();let F0=B0().natsCredsPath,G0;if(F0)try{G0=BF5(F0,"utf8")}catch(N8){console.error(`[app] failed to read NATS_CREDS at ${F0}; connecting anonymously`,N8)}U.init(B0().natsUrls,{creds:G0,user:B0().natsUser,password:B0().natsPassword});let P0=MZ1()?new FZ1({getJetStream:()=>U.getJetStream(),selfListVersion:Fg0.version}):null;P0?.init().catch(()=>{}),Y=P0;let z0=new sZ1({getJetStream:()=>U.getJetStream()});z0.init().catch(()=>{}),X=z0;let w1=new oh(BB1,{getJetStream:()=>U.getJetStream()}),b$=new oh(l90,{getJetStream:()=>U.getJetStream()});w1.init().catch(()=>{}),b$.init().catch(()=>{}),J={reads:w1,cards:b$};let r$=new fO1({getJetStream:()=>U.getJetStream()});r$.init().catch(()=>{}),G=r$,K=zT1({getConnection:()=>U.getConnection()}),H=new AT1({getConnection:()=>U.getConnection()}),F=new RT1({getConnection:()=>U.getConnection(),getJetStream:()=>U.getJetStream()}),KH8(U),U.onReady(()=>{P0?.init().catch((N8)=>{console.error("[McpListCache] Deferred init failed:",N8)}),z0.init().catch((N8)=>{console.error("[SkillCatalogCache] Deferred init failed:",N8)}),w1.init().catch((N8)=>{console.error("[PrReadCache] Deferred init failed:",N8)}),b$.init().catch((N8)=>{console.error("[PrCardCache] Deferred init failed:",N8)}),r$.init().catch((N8)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",N8)}),K.start(),B2$(()=>U.getConnection()),F.init().catch((N8)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",N8)})})}if(q2)await q2();UZ1(Y),aZ1(X),$71(()=>U?.getConnection()??null),DB1(J),yO1(G);let B={storage:new mc(Z.db),sseHub:k6,onThreadFinished:async(F0,G0)=>qt(new DW(Z.db),F0,G0,new V3(Z.db))},D=new wD1(B),O=new O70(Z.db),w=new MT1(O);w.start(),y98(H),H.start((F0)=>{dv0(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 j=()=>U?.getConnection()??null;Uz1(j),U?.onReady(()=>Uz1(j)),ww1(j),U?.onReady(()=>ww1(j)),F.init().catch((F0)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",F0)}),q2=async()=>{await D.stopAll(),D.dispose(),w.dispose(),H.stop().catch(()=>{}),RF8(),F.teardown(),Y?.teardown(),X?.teardown(),J?.reads.teardown(),J?.cards.teardown(),W.teardown(),K.teardown(),D2$(),G.teardown(),UZ1(null),aZ1(null),$71(null),DB1(null),yO1(null)};let E=new Z1;if(E.use("*",vO1({enabled:(F0)=>Mo(F0,"debug")==="1"})),E.use("*",cg0),E.use("/*",YH8({origin:(F0,G0)=>xE8(F0,{baseUrl:B0().baseUrl,requestOrigin:new URL(G0.req.url).origin}),credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),E.use("*",async(F0,G0)=>{if(await G0(),F0.req.path.includes("/files/"))return;if(F0.req.path.includes("/fs/")&&F0.req.path.endsWith("/read"))return;F0.header("X-Frame-Options","DENY"),F0.header("Content-Security-Policy","frame-ancestors 'none'")}),B0().nodeEnv==="development")E.use("*",UE8());E.use("*",async(F0,G0)=>{if(await G0(),Ss(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(pX.HEALTH,(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);return F0.json({status:"ok"})}),E.get(pX.HEALTH_LIVE,(F0)=>{return F0.json({status:"ok"})}),E.get(pX.HEALTH_READY,async(F0)=>{if(Q)return F0.json({status:"shutting_down"},503);let G0={};if(G0.postgres={status:await OF5(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(pX.METRICS,async(F0)=>{try{let G0=await pg0.collect(),P0=wF5.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(`${pX.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(F0)=>{let G0=F0.req.param("queueName");if(!PF5.has(G0))return F0.json({error:`Unknown queue: ${G0}`},404);let[P0,z0]=await Promise.all([aB.listQueuedWorkflows({queueName:G0,status:"ENQUEUED",loadInput:!1,loadOutput:!1}),aB.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",cw8),E.route("/api/_reports",aw8),E.route("/api/_stripe",WT1),E.route("/api/_github",Zj8({taskBoard:()=>l,contextFactory:()=>b})),E.route("/api/_git",bo);let T={db:Z.db,encryptionKey:B0().encryptionKey};E.route("/api/_jira",Nj8(T)),E.route("/api/_jira",Jj8(T)),E.route("/report",ow8($.clientDir)),E.route("/api/auth/custom",IH8),E.all("/api/auth/admin/*",NF8),E.all("/api/auth/*",async(F0)=>{return await B4.handler(F0.req.raw)});let z=GW8();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",C70),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",C70),E.route("/",z),E.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",B70),E.route("/",UW8()),E.use("/oauth-proxy/:connectionId/*",C70),E.all("/oauth-proxy/:connectionId/*",SE8);let A=async(F0)=>{let P0=await zF5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",C70),E.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",A);let R=async(F0)=>{let P0=await AF5()(F0.req.raw),z0=await P0.json();return Response.json(z0,P0)};E.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",R);let f=JH8({ttlMs:120000}),S=await JK8({db:Z.db,auth:B4,encryption:{key:B0().encryptionKey},observability:{tracer:jw,meter:G$},modelListCache:W,providerKeyCache:K,memberRoleCache:f});_Y.set(S),b1$({db:Z.db,baseUrl:B5()}),GK8({db:Z.db}),FK8({db:Z.db}),xK8({db:Z.db}),mK8({db:Z.db}),Hj8({db:Z.db,encryptionKey:B0().encryptionKey}),m$8({db:Z.db}),oK8({db:Z.db}),P88({db:Z.db});let V=nj(Z.db),v=new B00(Z.db),b=HE8({db:Z.db});IL1({storage:V,studioContextFactory:b,orgContextFactory:(F0)=>hJ(Z.db,F0),systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl)}),UL1({systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl),studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:k6}}),JL1({dispatchRunFn:p58,studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:k6}});let h=new mc(Z.db),l=new DW(Z.db),d=new V3(Z.db),W0=new IT1(l,b,d);if(B0().taskBoardReviewSweeperEnabled){W0.start();let F0=q2;q2=async()=>{await F0?.(),W0.dispose()}}$E8({automations:V,taskBoard:l,fire:ZH,systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl),settleMs:B0().boardTransitionSettleSeconds*1000}),a$8(QE8),B98({getJetStream:()=>U?.getJetStream()??null,getJetStreamManager:async()=>{let F0=U?.getConnection();return F0?await _E8.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(wg0(k6,G0,F0,P0),P0)await qt(l,F0,G0,d);return P0},markRunRequiresAction:async(F0,G0)=>{let P0=await h.requiresActionIfInProgress(F0,G0);return wg0(k6,G0,F0,P0),P0},markRunFailed:async(F0,G0,P0,z0)=>{let w1=await h.markRunFailed(F0,G0,P0,z0);if(wg0(k6,G0,F0,w1),w1)await qt(l,F0,G0,d);return w1},clearSynthesizedError:async(F0,G0)=>{await h.messageParts().replaceMessageParts(F0,dz(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,hU(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})=>{c1.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:w1})=>{c1.capture({distinctId:P0,event:"chat_message_failed",groups:{organization:G0},properties:{organization_id:G0,thread_id:F0,transport:"projector",error_category:w1,error_message:z0}})},purgeRun:async(F0)=>{F.purge(F0)}}),L58({studioContextFactory:b,systemDatabaseUrl:T10(B0().databaseUrl,B0().databasePgSsl),streamBuffer:F}),WE8(),x1$(),KK8(),NK8(),yK8(),iK8(),Uj8(),YE8(),t$8(),rK8(),z88(),Yj8();let I0=async(F0,G0,P0)=>{let z0=await V.findById(F0,G0);if(!z0)throw Error("Automation not found");return vL1({automationId:z0.id,organizationId:z0.organization_id,triggerId:null})},J0=new _o(V,({automation:F0,trigger:G0,contextMessages:P0,idempotencyKey:z0})=>ZH({automationId:F0.id,organizationId:F0.organization_id,triggerId:G0.id,contextMessages:P0},{idempotencyKey:z0})),U0=[qH(),$l(),JD()];for(let F0 of U0)Pg0(F0).then(()=>{}).catch((G0)=>console.error("[monitoring] Retention cleanup failed:",G0));let o=()=>B4.api.deleteAllExpiredApiKeys().catch((F0)=>console.error("[auth] Expired API key cleanup failed:",F0));o(),setInterval(o,86400000).unref(),E.use("*",async(F0,G0)=>{if(ug0(F0.req.path))return G0();let P0={measure:async(w1,b$)=>{HH(F0,w1);try{return await b$()}finally{AW(F0,w1)}}},z0=await _Y.create(F0.req.raw,{timings:P0});z0.automationRunner=I0,F0.set("studioContext",z0);try{await G0()}finally{let w1=z0.pendingRevalidations;if(w1.length>0)Promise.race([Promise.allSettled(w1),J$(30000)]).catch((r$)=>console.error("[studio] revalidation cleanup error:",r$))}}),E.use("/api/:org/decopilot/*",Io),E.use("/api/:org/v1/*",Io),E.use("/api/:org/files/*",Io),E.use("*",async(F0,G0)=>{if(vE8(F0.req.path))return G0();let P0=F0.get("studioContext");if(!P0?.organization?.id||!P0?.auth?.user?.id)return G0();if(!(await P0.storage.orgSsoConfig.getByOrgId(P0.organization.id))?.enforced)return G0();if(!await P0.storage.orgSsoSessions.isValid(P0.auth.user.id,P0.organization.id))return F0.json({error:"SSO authentication required for this organization"},403);return G0()});let t=new Z1;t.use("*",BU({mountPath:"/api/org-sso"})),t.route("/",gf0()),E.route("/api/org-sso",t),E.get("/api/tools/management",(F0)=>{return F0.json({tools:j00,grouped:wT()})}),E.use("/mcp/*",async(F0,G0)=>{HH(F0,"mcp");try{return await G0()}finally{AW(F0,"mcp")}});let r=async(F0,G0)=>{let P0=F0.var.studioContext;if(!P0.auth.user?.id&&!P0.auth.apiKey?.id){let z0=new URL(F0.req.url),w1=F0.req.header("x-forwarded-proto")?.split(",")[0]?.trim(),b$=w1?`${w1}://${z0.host}`:z0.origin;return F0.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${b$}${z0.pathname}/.well-known/oauth-protected-resource"`}})}return await G0()};if(E.use("/mcp/:connectionId?",r),E.use("/mcp/gateway/:virtualMcpId?",r),E.use("/mcp/virtual-mcp/:virtualMcpId?",r),E.use("/mcp/self",r),_K()){let{mountDevRoutes:F0}=(IE8(),Ig0(VE8));F0(E,r)}let $0=new Z1;$0.use("*",BU({mountPath:"/mcp"})),$0.route("/",ub0()),E.route("/mcp",$0);let X0=new Z1;X0.use("*",BU({mountPath:"/mcp/self"})),X0.route("/",Iy0()),E.route("/mcp/self",X0);let h0=new Z1;h0.use("*",BU({mountPath:"/mcp"})),h0.route("/",mb0()),E.route("/mcp",h0),E.use("/api/:org/models/*",async(F0,G0)=>{HH(F0,"llm_models");try{return await G0()}finally{AW(F0,"llm_models")}});let C0=SF8({cancelBroadcast:H,streamBuffer:F,runRegistry:D});E.route("/api",C0),E.route("/api",Oj8);let H1=new Z1;H1.use("*",BU({mountPath:"/api"})),H1.route("/",_y0()),E.route("/api",H1),E.route("/api",yw8);let c0=new Z1;c0.use("*",BU({mountPath:"/api"})),c0.route("/",vy0({tokenStorage:v,automationEventDispatcher:J0})),E.route("/api",c0);let w0=new D00(Z.db),E0=new Z1;E0.use("*",BU({mountPath:"/api"})),E0.route("/",df0()),E.route("/api",E0),E.route("/api/deco-sites",pF8()),E.route("/api/deco-apps",Sw8());let n0=new Z1;n0.use("*",BU({mountPath:"/api/deco-sites"})),n0.route("/",pf0()),E.route("/api/deco-sites",n0),E.route(xf0,BF8()),E.route(MD8,kD8()),E.route("/api/_editor-resolve",hw8()),E.route(SH8,_H8()),E.route(kf0,nH8());let O1=B0(),o0=O1.elevenlabsApiKey?new Wg0({apiKey:O1.elevenlabsApiKey,model:O1.elevenlabsVoiceModel,conversationModel:O1.elevenlabsConversationModel,voiceId:O1.elevenlabsVoiceId}):null,b0={openai:O1.openaiLiveApiKey?new eA1({apiKey:O1.openaiLiveApiKey,voice:O1.openaiLiveVoice}):null,elevenlabs:o0?new aA1(o0,()=>U?.getConnection()??null):null},d0=new XT1({adapter:o0,conversationAdapters:b0,defaults:O1,secret:bE8(O1),getConnection:()=>U?.getConnection()??null}),i0=Hw8({voiceSessions:d0,kvStorage:w0,runRegistry:D,streamBuffer:F,sseHub:k6,cancelBroadcast:H,tokenStorage:v,automationEventDispatcher:J0,mountDevAssets:_K(),mcpAuth:r,oauthProxyHandler:SE8,watchHandler:yE8,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(vF8),Object.assign(E,{markShuttingDown:()=>{Q=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([k6.stop(),q2?Promise.resolve(q2()).finally(()=>{q2=null}):Promise.resolve()]),U)await U.drain().catch((F0)=>console.error("[shutdown] NATS drain error:",F0));console.log("[shutdown] Flushing telemetry..."),await nJ().catch((F0)=>console.error("[shutdown] Telemetry flush error:",F0)),console.log("[shutdown] Closing database..."),await cK$(Z).catch((F0)=>console.error("[shutdown] Database close error:",F0)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await aB.registerQueue(G3,{partitionQueue:!0,concurrency:RL1,minPollingIntervalMs:ML1}),await aB.registerQueue(gW,{partitionQueue:!0,concurrency:HL1,priorityEnabled:!0}),await aB.registerQueue(YD,{workerConcurrency:B0().decopilotMaxConcurrentHostedRuns,priorityEnabled:!0}),await aB.registerQueue(XD,{workerConcurrency:B0().sandboxMaxConcurrentHostedRuns,priorityEnabled:!0}),await aB.registerQueue(ww,{partitionQueue:!0,concurrency:D58}),await aB.registerQueue(k2,E88),await aB.registerQueue(C2),await jz1(V),await Promise.allSettled(["automations-gate","automations-global","jira-push"].map((F0)=>aB.deleteQueue(F0))),await VL1(Z.pool),AN$().catch((F0)=>{console.error("[studio-pack-backfill] failed:",F0)}),_d(Z.db).catch((F0)=>{console.error("[automations] built-in seed failed:",F0)}),f1$().catch((F0)=>{console.error("[org-fs] public-sets boot sync kick failed:",F0)})}})}var _E8,kE8=5000,q2=null,SE8=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 _Y.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 Po(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=ME1(await W.json());if(!K)K=H.origin;let N=await D70(K);if(!N.ok)return $.json({error:"Failed to get auth server metadata"},502);let B=await N.json(),D;if(Y==="authorize")D=B.authorization_endpoint;else if(Y==="token")D=B.token_endpoint;else if(Y==="register")D=B.registration_endpoint;if(!D)return $.json({error:`Unknown OAuth endpoint: ${Y}`},404);let O=FW8(D);if(O)return O;let w=new URL(D),j=new URL($.req.url);if(w.search=j.search,Y==="authorize"){let v=w.searchParams.get("redirect_uri");if(v){let b=B0().baseUrl??j.origin;try{if(!fE8(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)}w.searchParams.set("redirect_uri",v)}if(w.searchParams.has("resource"))w.searchParams.set("resource",U);if(eK8(G.connection_url))w.searchParams.set("auto_personal","true"),w.searchParams.set("force_new","true");return $.redirect(w.toString(),302)}let E={Accept:$.req.header("Accept")||"application/json"},P=$.req.header("Content-Type");if(P)E["Content-Type"]=P;let T=$.req.header("Authorization");if(T)E.Authorization=T;let z,A=null,R=null;if($.req.method!=="GET"&&$.req.method!=="HEAD")if(Y==="token"&&P?.includes("application/x-www-form-urlencoded")){if(T?.toLowerCase().startsWith("basic "))try{let d=atob(T.slice(6).trim()),W0=d.indexOf(":");if(W0!==-1){let I0=decodeURIComponent(d.slice(0,W0)),J0=decodeURIComponent(d.slice(W0+1));A=I0||null,R=J0||null}}catch{}let v=await $.req.formData();if(v.has("resource"))v.set("resource",U);let b=v.get("client_id"),h=v.get("client_secret");if(typeof b==="string"&&b)A=b;if(typeof h==="string"&&h)R=h;let l=new URLSearchParams;for(let[d,W0]of v.entries())l.append(d,W0.toString());z=l.toString()}else if(Y==="register"&&P?.toLowerCase().includes("application/json")){let v=await X.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",G.organization_id).executeTakeFirst(),b=await $.req.text(),h={};try{h=b?JSON.parse(b):{}}catch{z=b}let l=typeof h==="object"&&h!==null&&!Array.isArray(h);if(z===void 0&&!l)z=b;if(z===void 0){let d=h,W0=d.metadata&&typeof d.metadata==="object"?d.metadata:{};d.metadata={...W0,organization_id:G.organization_id,...v?.slug?{organization_slug:v.slug}:{},...v?.name?{organization_name:v.name}:{}},z=JSON.stringify(d),E["Content-Type"]="application/json"}}else z=$.req.raw.body??void 0;let f=await fetch(w.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 H2(G.connection_url)??D}catch{l=D}let d={connectionId:Z,accessToken:b.access_token,refreshToken:typeof b.refresh_token==="string"?b.refresh_token:null,scope:typeof b.scope==="string"?b.scope:null,expiresAt:h,clientId:A,clientSecret:R,tokenEndpoint:l};await new e5(X.db,X.vault).upsert(d)}}catch(b){console.error("[oauth-proxy] failed to persist downstream token:",b)}return new Response(v,{status:f.status,statusText:f.statusText,headers:S})}return new Response(f.body,{status:f.status,statusText:f.statusText,headers:S})},yE8=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&&(!SB(Y)||!await _B(Z)))return $.json({error:"forbidden"},403);let W=G?u_0:Y;if(G)qO({action:"watch_all_orgs",actorUserId:Q,actorOrgId:Y,targetOrgId:"all"});let K=crypto.randomUUID();return Gw($,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()})})})},wF5,PF5,zF5=()=>EF5(B4),AF5=()=>jF5(B4);var hE8=L(()=>{n$();u1();y1$();HK8();BK8();gK8();pK8();tZ0();nN1();aK8();u90();H9();ui();q8();Y8();Rf0();XH8();bO1();dK();dN();uP1();I3();b6();Q6();nP1();vH8();tH8();aP1();DF8();Wz1();Lz1();Oz1();vK();L70();wz1();bF8();Vf0();Fw8();Lw8();Ow8();Pw8();Cw8();zz1();_w8();lb0();cZ0();gw8();db0();e21();uw8();r21();mw8();sw8();ew8();$j8();Qj8();Xj8();Gj8();Bj8();jT1();Vz1();wj8();a21();n21();hQ0();vj8();JT1();AJ();EB0();r80();OB1();i80();n80();hO1();bj8();fj8();Nz1();mj8();vv0();dj8();oa();w00();TO();c5();lE1();oj8();XE8();OG();uz();KE8();hF0();ST1();uW();Ez1();zO();YL1();hF0();AZ0();N00();ne0();FE8();tj();NE8();ao();uP1();wt();ft();iv0();_E8=_(_H(),1);wF5=new LF5,PF5=new Set([G3,gW,YD,XD,ww,k2])});var mE8={};O6(mE8,{resolveClientDir:()=>CF5,resolveAssetPathWithTraversalCheck:()=>cE8,isPathWithinDirectory:()=>lE8,createAssetHandler:()=>SF5});import{resolve as RQ0,dirname as qF5,join as RF5,extname as MF5,basename as VF5,sep as uE8}from"path";function IF5($,Z){if($===Z||VF5($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${uE8}assets${uE8}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function lE8($,Z){let Q=RQ0(Z),Y=RQ0($);return Y===Q||Y.startsWith(Q+"/")}function cE8({requestPath:$,clientDir:Z}){let Q=$.startsWith("/")?$.slice(1):$,Y=RQ0(Z,Q);if(!lE8(Y,Z))return null;return Y}function CF5($,Z="../client"){let Q=new URL($),Y=qF5(Q.pathname);return RQ0(Y,Z)}function SF5($={}){let{env:Z="production",clientDir:Q=kF5,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=cE8({requestPath:W,clientDir:Q});if(!K)return null;let H=RF5(K,"index.html"),F=RQ0(Q,"index.html"),U=J.headers.get("accept"),B=U?.includes("text/html")||U?.includes("*/*")&&["",".html"].includes(MF5(K))?[H,F]:[];for(let D of[K,...B])try{let O=Bun.file(D);if(await O.exists())return new Response(O,{headers:IF5(D,F)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var kF5="./dist/client";var dE8=()=>{};var iE8={};O6(iE8,{tryUpgradePreviewWs:()=>gF5,tryHandlePreviewHttp:()=>yF5,previewWebSocketHandler:()=>hF5,parsePreviewBaseDomain:()=>fF5,isPreviewWsData:()=>zg0,extractHandleFromHost:()=>fT1});function bF5($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function xF5(){return new Response(vF5,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function fF5($){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 fT1($,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 yF5($,Z){let Q=fT1($.headers.get("host"),Z.baseDomain);if(!Q)return null;let Y=await Z.getRunner();if(!Y)return VQ0(503,"preview proxy not configured");let X=await Y.proxyPreviewRequest(Q,$);if(X.headers.get(Rn)&&bF5($))return xF5();return X.headers.delete(Rn),X}function VQ0($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function zg0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function gF5($,Z,Q){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let Y=fT1($.headers.get("host"),Q.baseDomain);if(!Y)return null;let X=await Q.getRunner();if(!X)return VQ0(503,"preview proxy not configured");let J=await X.resolvePreviewUpstreamUrl(Y);if(!J)return VQ0(404,"sandbox not found");let G=new URL($.url);if(G.pathname.startsWith("/_sandbox"))return VQ0(404,"not found");let W=`${J.replace(/^http/,"ws")}${G.pathname}${G.search}`,K=$.headers.get("sec-websocket-protocol"),H=K?K.split(",").map((N)=>N.trim()).filter(Boolean):[],F={kind:"preview",upstreamUrl:W,upstreamProtocols:H,pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:F}))return VQ0(426,"upgrade failed");return}function MQ0($,Z,Q,Y){if(Z.closed)return;Z.closed=!0;try{$.close(Q,Y)}catch{}try{Z.upstream?.close()}catch{}}var _F5=256,vF5='<!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>',hF5;var pE8=L(()=>{M50();hF5={open($){let Z=$.data;if(!zg0(Z))return;let Q;try{Q=Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(Y){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${Y instanceof Error?Y.message:String(Y)}`),MQ0($,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)=>{MQ0($,Z,Y.code||1000,Y.reason||"")}),Q.addEventListener("error",()=>{MQ0($,Z,1011,"upstream error")})},message($,Z){let Q=$.data;if(!zg0(Q))return;let Y=Q.upstream;if(Y&&Y.readyState===WebSocket.OPEN){Y.send(Z);return}if(Q.pending.length>=_F5){MQ0($,Q,1011,"preview ws backlog overflow");return}Q.pending.push(Z)},close($){let Z=$.data;if(!zg0(Z))return;MQ0($,Z,1000,"")}}});n$();var oT1="14";function sT1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:oT1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}n$();import FP8 from"pg";var rT1=8314027461559302n,UP8=600000,NP8=500;async function aT1($,Z){let{databaseUrl:Q,lockTimeoutMs:Y=UP8}=$,X=$.log??((K)=>console.log(K)),J=new FP8.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",[rT1.toString()])).rows[0]?.locked===!0,W)break;if(Date.now()-G>=Y)throw Error(`Timed out after ${Y}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await J$(NP8)}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)",[rT1.toString()])}catch{}await J.end().catch(()=>{})}}u1();_g0();b6();function Fz8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function og0($,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 bq1(){let $=Fz8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:og0($,"--cpu-prof-dir")??process.cwd(),name:og0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(og0($,"--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.'}))}ag0();var cQ0;function mq1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=v2();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(()=>{}),cQ0=setInterval(()=>void Z().catch(()=>{}),$),cQ0.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(cQ0)clearInterval(cQ0)}}import*as Bz8 from"bun:jsc";var{startSamplingProfiler:Dz8,samplingProfilerStackTraces:Lz8}=Bz8;function dq1(){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{Dz8()}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=Lz8()?.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 iq1(){bq1();let $=[mq1(),cq1(),dq1()];return()=>{for(let Z of $)Z()}}import{existsSync as nF5}from"fs";var fW=B0();Sq1();var{DBOS:IQ0,DBOSClient:uF5}=await import("@dbos-inc/dbos-sdk");function cT1($,Z){if(!Z)return $;let Q=new URL($);if(!Q.searchParams.has("sslmode"))Q.searchParams.set("sslmode","verify-full");return Q.toString()}var lF5=[G3,gW,YD,XD,ww,k2,C2],cF5=fW.dispatchRole==="worker"?lF5:fW.dispatchRole==="api"?[]:void 0;IQ0.setConfig(sT1({systemDatabaseUrl:cT1(fW.databaseUrl,fW.databasePgSsl),poolSize:fW.dbosPoolSize,executorID:fW.podName,listenQueues:cF5}));var{createApp:mF5}=await Promise.resolve().then(() => (hE8(),gE8)),{isServerPath:dF5}=await Promise.resolve().then(() => (hQ0(),Dq1)),{createAssetHandler:iF5,resolveClientDir:rE8}=await Promise.resolve().then(() => (dE8(),mE8)),pF5=fW.port,nE8=rE8(import.meta.url,"../client"),aE8=nF5(nE8)?nE8:rE8(import.meta.url,"../dist/client"),tF5=iF5({clientDir:aE8,isServerPath:dF5}),oF5={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function sF5($){let Z=new Headers($.headers);for(let[Q,Y]of Object.entries(oF5))Z.set(Q,Y);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:rF5,tryHandlePreviewHttp:aF5,tryUpgradePreviewWs:eF5,previewWebSocketHandler:yT1,isPreviewWsData:gT1}=await Promise.resolve().then(() => (pE8(),iE8)),{getOrInitSharedRunner:eE8}=await Promise.resolve().then(() => (IX(),Gn$)),$P8=rF5(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),tE8={baseDomain:$P8??"",getRunner:eE8};if(process.env.STUDIO_SANDBOX_TENANT_POOLS?.trim())eE8().catch(($)=>{console.warn("[lifecycle] eager sandbox provider init for tenant pools failed:",$ instanceof Error?$.message:String($))});var Ag0=await mF5({clientDir:aE8}),hT1=process.env.DBOS_CONDUCTOR_KEY?.trim(),oE8=process.env.DBOS_CONDUCTOR_URL?.trim();await aT1({databaseUrl:cT1(fW.databaseUrl,fW.databasePgSsl)},()=>IQ0.launch({...hT1?{conductorKey:hT1}:{},...hT1&&oE8?{conductorURL:oE8}:{}}));console.log(`[dbos] application version: ${IQ0.applicationVersion}`);var uT1=5,lT1=0;await L8(async()=>{lT1++;try{return await Ag0.initDbos()}catch($){let Z=lT1>=uT1?"giving up":"retrying";throw console.warn(`[dbos] initDbos attempt ${lT1}/${uT1} failed, ${Z}`,$),$}},{maxAttempts:uT1,minTimeout:1000,maxTimeout:1e4,jitter:0.5});var $U5=Bun.serve({idleTimeout:0,port:pF5,hostname:"0.0.0.0",fetch:async($,Z)=>{if($P8){let Y=await eF5($,Z,tE8);if(Y===void 0)return;if(Y)return Y;let X=await aF5($,tE8);if(X)return X}let Q=await tF5($);if(Q)return sF5(Q);return Ag0.fetch($,{server:Z})},websocket:{open($){if(gT1($.data))yT1.open($)},message($,Z){if(gT1($.data))yT1.message($,Z)},close($){if(gT1($.data))yT1.close($)}},development:!1}),ZU5=iq1();if(fW.localMode)Promise.resolve().then(() => (rh(),Mv0)).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(() => (rh(),Mv0));Z()}catch{}});var sE8=!1;async function QU5($){let Z;try{Z=await uF5.create({systemDatabaseUrl:cT1(fW.databaseUrl,fW.databasePgSsl),systemDatabaseSchemaName:"dbos"});let Q=await Z.listWorkflows({status:"PENDING",queueName:gW,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:gW}),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 Tg0($){if(sE8)return;sE8=!0,console.log(`
4412
4412
  [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{ZU5(),Ag0.markShuttingDown();let J=eT1(fW.dispatchRole,Q,process.env.SHUTDOWN_DRAIN_MS);await J$(J),await $U5.stop(!0);let G=IQ0.executorID;await IQ0.shutdown(),await QU5(G),await Ag0.shutdown()}catch(J){console.error("[shutdown] Error during shutdown:",J),X=1}clearTimeout(Y),process.exit(X)}process.on("SIGTERM",()=>Tg0("SIGTERM"));process.on("SIGINT",()=>Tg0("SIGINT"));process.on("SIGHUP",()=>Tg0("SIGHUP"));process.on("unhandledRejection",($)=>{console.error("[process] Unhandled rejection:",$)});process.on("uncaughtException",($)=>{console.error("[process] Uncaught exception:",$),Tg0("uncaughtException")});